@maycombhq/atticus 2.0.0-beta.26 → 2.0.0-beta.27

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 (325) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/chunk-22A2K555.js +653 -0
  3. package/dist/{chunk-UTZMF5CV.js → chunk-23TTURB2.js} +1 -1
  4. package/dist/{chunk-XIGVTH24.js → chunk-2666BPJE.js} +19 -19
  5. package/dist/{chunk-KFZ5IXEZ.js → chunk-2ALBHI4Q.js} +28 -27
  6. package/dist/chunk-2ANBMA74.js +107 -0
  7. package/dist/{chunk-UIYPX2BA.js → chunk-2HCW6HXK.js} +27 -26
  8. package/dist/{chunk-DJBXXYYA.js → chunk-2ISR6MWD.js} +15 -15
  9. package/dist/{chunk-ZDA72732.js → chunk-2MRYL45Z.js} +50 -9
  10. package/dist/{chunk-DB3NWAU3.js → chunk-3GNUHLAN.js} +4 -4
  11. package/dist/chunk-3GURU22K.js +44 -0
  12. package/dist/{chunk-UFIQ5FWY.js → chunk-3M3MDBOG.js} +1 -1
  13. package/dist/{chunk-DHQXCP2X.js → chunk-3PBIZBWN.js} +1 -1
  14. package/dist/{chunk-7IWMRZRI.js → chunk-3PWXVBCB.js} +83 -40
  15. package/dist/chunk-3W2QX6TT.js +58 -0
  16. package/dist/{chunk-H7CSCA73.js → chunk-3Z7ATALI.js} +5 -5
  17. package/dist/{chunk-ZGULQAPZ.js → chunk-44SWXDD7.js} +8 -5
  18. package/dist/{chunk-IEIHVMM6.js → chunk-46N5O5H7.js} +5 -5
  19. package/dist/{chunk-4DHYXODN.js → chunk-4D4DNTFE.js} +4 -4
  20. package/dist/{chunk-B3JHERXM.js → chunk-4EAT7HOX.js} +7 -5
  21. package/dist/{chunk-OH2OHNB5.js → chunk-4FLIW5PJ.js} +4 -4
  22. package/dist/{chunk-PGDVJWCI.js → chunk-4LWA5VMJ.js} +52 -37
  23. package/dist/{chunk-YWQZ7CCW.js → chunk-4ODVHNA6.js} +18 -17
  24. package/dist/{chunk-IH6BYFMH.js → chunk-4POSAXNC.js} +6 -6
  25. package/dist/{chunk-D5H3RZNE.js → chunk-4PQ4KDOA.js} +16 -15
  26. package/dist/{chunk-RQM5Y3HJ.js → chunk-4UVTNHA6.js} +1 -1
  27. package/dist/{chunk-KVVNAUIG.js → chunk-4XK3HLOH.js} +1 -0
  28. package/dist/{chunk-ZQGFZJH5.js → chunk-523NRKHF.js} +4 -4
  29. package/dist/{chunk-GJSLO2E2.js → chunk-5GCCG3GJ.js} +11 -5
  30. package/dist/{chunk-VGGSHDQU.js → chunk-5XW6RUDV.js} +8 -8
  31. package/dist/{chunk-K35VNKJH.js → chunk-5YEUAZZE.js} +8 -8
  32. package/dist/{chunk-YEHSJY6B.js → chunk-62LD7CSY.js} +13 -13
  33. package/dist/{chunk-DB6TDJ4T.js → chunk-67Y2J55V.js} +22 -21
  34. package/dist/{chunk-KL7UHAOR.js → chunk-6DSZ4CL7.js} +36 -21
  35. package/dist/{chunk-WM4EMP7T.js → chunk-6G67LSBG.js} +283 -61
  36. package/dist/{chunk-TLBPTUFU.js → chunk-6OEB4FTC.js} +20 -19
  37. package/dist/{chunk-GXJ2PSDW.js → chunk-6OTGCKYH.js} +9 -9
  38. package/dist/{chunk-EQMNMG6X.js → chunk-6XLCMDIP.js} +13 -13
  39. package/dist/chunk-76DZJTU7.js +190 -0
  40. package/dist/chunk-7764GVJK.js +37 -0
  41. package/dist/{chunk-KS2IQYTZ.js → chunk-7BOGXFZ3.js} +11 -11
  42. package/dist/{chunk-ZA2PWNR3.js → chunk-7CVHKNAF.js} +16 -15
  43. package/dist/{chunk-LBBI5P5G.js → chunk-7FEIS3KV.js} +25 -24
  44. package/dist/{chunk-OXCHO2QS.js → chunk-7GXM45T5.js} +26 -23
  45. package/dist/{chunk-YLXPJWNO.js → chunk-7YMAMNMT.js} +17 -16
  46. package/dist/chunk-7YWS47SE.js +56 -0
  47. package/dist/{chunk-LZFKJ2BR.js → chunk-A3LVMCA5.js} +1 -1
  48. package/dist/{chunk-PXDAGXQN.js → chunk-A7ZJKLFC.js} +11 -11
  49. package/dist/chunk-AANQC5QP.js +47 -0
  50. package/dist/{chunk-HV6PXXK7.js → chunk-AIQLTDC3.js} +3 -3
  51. package/dist/{chunk-PFWP624T.js → chunk-AKZTCZ6F.js} +4 -4
  52. package/dist/{chunk-KAWWXCPI.js → chunk-ALCSTVWQ.js} +3 -3
  53. package/dist/{chunk-7ZBYRMWK.js → chunk-ALUHO7SE.js} +26 -25
  54. package/dist/{chunk-3KP7OOJ4.js → chunk-AMZ4XMES.js} +8 -8
  55. package/dist/{chunk-V5ZKGBYL.js → chunk-AOQG37K4.js} +8 -6
  56. package/dist/{chunk-CNT6T2JM.js → chunk-ARXZTHEI.js} +16 -15
  57. package/dist/{chunk-KFJMQUSK.js → chunk-AS4CTARY.js} +16 -15
  58. package/dist/{chunk-MM7JSMLW.js → chunk-AVUPW23W.js} +18 -17
  59. package/dist/{chunk-NQDVD2YR.js → chunk-B56FCIEJ.js} +12 -12
  60. package/dist/{chunk-CPE7HLIK.js → chunk-BABATPOZ.js} +18 -17
  61. package/dist/{chunk-63572EFC.js → chunk-BIOKDLLX.js} +21 -19
  62. package/dist/{chunk-D4TW3PUO.js → chunk-BUBKKEUV.js} +5 -5
  63. package/dist/{chunk-FOOU5OJE.js → chunk-CDC6VECU.js} +3 -3
  64. package/dist/chunk-CHEFUNZ4.js +425 -0
  65. package/dist/{chunk-IL7PVMUO.js → chunk-CIFR3DPV.js} +6 -6
  66. package/dist/{chunk-DS5M2J2H.js → chunk-CLBVKD4P.js} +16 -15
  67. package/dist/{chunk-2FTHLB2H.js → chunk-CLM5Z3R5.js} +5 -5
  68. package/dist/{chunk-CFK6CFXM.js → chunk-CLYV5MB6.js} +9 -9
  69. package/dist/{chunk-KZ4I5M2X.js → chunk-CRYIBCGP.js} +37 -19
  70. package/dist/{chunk-PLSCWC2V.js → chunk-D3L5SO27.js} +5 -5
  71. package/dist/chunk-DAZM2INZ.js +34 -0
  72. package/dist/{chunk-I72PEROE.js → chunk-DF4BXBB2.js} +6 -6
  73. package/dist/{chunk-PZFZPHCT.js → chunk-E7Q52EOO.js} +11 -11
  74. package/dist/{chunk-R2FUFBHW.js → chunk-EFDUC35B.js} +3 -3
  75. package/dist/{chunk-43OWNS5N.js → chunk-EHXEJFHD.js} +5 -5
  76. package/dist/{chunk-HQMLY2R6.js → chunk-ELJ5Q4J2.js} +2 -2
  77. package/dist/{chunk-F4EGHECF.js → chunk-EM6DKBTJ.js} +3 -3
  78. package/dist/{chunk-UZBLVNW6.js → chunk-EMC46SU4.js} +38 -17
  79. package/dist/{chunk-F6GRBF5L.js → chunk-EQEDIWFQ.js} +25 -24
  80. package/dist/chunk-EW574EZI.js +57 -0
  81. package/dist/{chunk-HSJKYDHI.js → chunk-EYINWNXL.js} +5 -5
  82. package/dist/{chunk-KUEG2Y7M.js → chunk-EYVYHYCA.js} +8 -8
  83. package/dist/{chunk-ELR7DEQM.js → chunk-F66542M6.js} +34 -9
  84. package/dist/{chunk-RCLBIJRN.js → chunk-F74OMLNU.js} +6 -6
  85. package/dist/{chunk-PBDIVTFL.js → chunk-FADIWOA5.js} +3 -3
  86. package/dist/{chunk-LHN5UCXD.js → chunk-FC3ZVD3O.js} +3 -3
  87. package/dist/{chunk-DXLWZ3BJ.js → chunk-FG65LXED.js} +8 -8
  88. package/dist/{chunk-V5FT3MZG.js → chunk-FKAUBC4Y.js} +8 -8
  89. package/dist/{chunk-RBO4A7TC.js → chunk-FM3EEDS2.js} +15 -15
  90. package/dist/{chunk-TYN5SG5H.js → chunk-FS4E7F6O.js} +403 -148
  91. package/dist/{chunk-HVWPN2RY.js → chunk-FSYJPYLE.js} +16 -15
  92. package/dist/{chunk-IBIIKUC7.js → chunk-G33UIUG3.js} +46 -20
  93. package/dist/{chunk-4NWE2KY3.js → chunk-G3F4BYML.js} +15 -14
  94. package/dist/{chunk-2GT47PWU.js → chunk-GBJRFFDW.js} +5 -5
  95. package/dist/{chunk-NMURRF5F.js → chunk-GF6GBHFN.js} +13 -11
  96. package/dist/{chunk-C3TBDX7Y.js → chunk-GLHOUT5E.js} +26 -25
  97. package/dist/{chunk-ZWMHL346.js → chunk-GM6GXO2A.js} +20 -19
  98. package/dist/{chunk-MKUBDKE2.js → chunk-GSJ2RXE7.js} +29 -28
  99. package/dist/{chunk-YJBD5NDV.js → chunk-GT72FDER.js} +6 -6
  100. package/dist/{chunk-BEEHCL5O.js → chunk-GW6ZH77P.js} +37 -36
  101. package/dist/{chunk-BABRMZET.js → chunk-GZILYRGC.js} +3 -3
  102. package/dist/{chunk-5JGRF53S.js → chunk-GZSOZYEP.js} +3 -3
  103. package/dist/{chunk-IP6ARMZU.js → chunk-H25QNDKK.js} +58 -36
  104. package/dist/{chunk-BIAQ6NQS.js → chunk-H3RKW4RF.js} +7 -7
  105. package/dist/chunk-H7M7ZH6H.js +52 -0
  106. package/dist/chunk-H7NRWSMP.js +55 -0
  107. package/dist/{chunk-2JT4QV3Q.js → chunk-HDWVR5KD.js} +4 -4
  108. package/dist/{chunk-UAYU6K24.js → chunk-HG24EF5S.js} +16 -15
  109. package/dist/chunk-HPNYSY5M.js +1068 -0
  110. package/dist/{chunk-JJEXMHNZ.js → chunk-HUMM4S5I.js} +6 -6
  111. package/dist/{chunk-DARX3ATP.js → chunk-HVPS2YCW.js} +11 -11
  112. package/dist/{chunk-IGOE6KPG.js → chunk-I34CXV2C.js} +185 -11
  113. package/dist/{chunk-6U65YB54.js → chunk-I57IH5X6.js} +360 -271
  114. package/dist/{chunk-WYO4L4NU.js → chunk-I5X4WU7U.js} +6 -6
  115. package/dist/chunk-IAVVJ34R.js +55 -0
  116. package/dist/chunk-IBJE2E2S.js +51 -0
  117. package/dist/{chunk-HNNMT5L2.js → chunk-IF3X6FMO.js} +1 -1
  118. package/dist/{chunk-CUTMM4NY.js → chunk-IJHJIL6T.js} +154 -25
  119. package/dist/chunk-IM435QAM.js +72 -0
  120. package/dist/{chunk-MQ6HP2TU.js → chunk-IMBJ7WAO.js} +6 -6
  121. package/dist/{chunk-5A4RHEEL.js → chunk-INCFIDCB.js} +2 -2
  122. package/dist/{chunk-RTCZKKG7.js → chunk-IPMPLTEG.js} +3 -3
  123. package/dist/{chunk-QAFQLILX.js → chunk-IPSZDVLI.js} +12 -12
  124. package/dist/{chunk-JLTJAOO4.js → chunk-IX2EOYOU.js} +50 -13
  125. package/dist/{chunk-DOU52XFZ.js → chunk-IXNMGPF7.js} +61 -28
  126. package/dist/{chunk-XT3ZW7C7.js → chunk-J6GO3K7G.js} +19 -18
  127. package/dist/chunk-JBLM6IUA.js +42 -0
  128. package/dist/{chunk-CSHJZFOE.js → chunk-JL2VOYSL.js} +91 -93
  129. package/dist/{chunk-ACY3U2RD.js → chunk-JRXFZB6J.js} +8 -8
  130. package/dist/{chunk-P6EJNPFF.js → chunk-JTOLBS7R.js} +951 -409
  131. package/dist/{chunk-FYCN2Y5P.js → chunk-K73BHPTQ.js} +19 -18
  132. package/dist/{chunk-EVKDWJ5Y.js → chunk-KF7KVUNJ.js} +5 -5
  133. package/dist/{chunk-SRB54QGX.js → chunk-KKUCBKJE.js} +20 -19
  134. package/dist/{chunk-LTOBNBJ6.js → chunk-KLFFHBWG.js} +27 -26
  135. package/dist/{chunk-DXBXZNKV.js → chunk-KMYB2XO7.js} +21 -13
  136. package/dist/chunk-KNYQUWFN.js +52 -0
  137. package/dist/{chunk-6EMJ4XFC.js → chunk-KOAJPMU2.js} +31 -20
  138. package/dist/chunk-KRTSE73S.js +55 -0
  139. package/dist/{chunk-GAJBMPWC.js → chunk-L3AM5YRP.js} +28 -9
  140. package/dist/{chunk-YYV276DM.js → chunk-LCIIFAID.js} +22 -21
  141. package/dist/{chunk-SZDOBIWE.js → chunk-LCQIRCOT.js} +55 -10
  142. package/dist/{chunk-OI32KTDM.js → chunk-LFHBAWIM.js} +13 -13
  143. package/dist/chunk-LIHEMWIT.js +39 -0
  144. package/dist/{chunk-CG6MG7SE.js → chunk-LJLYWILK.js} +14 -14
  145. package/dist/{chunk-6SIGGA37.js → chunk-LNJKDS5C.js} +26 -25
  146. package/dist/{chunk-3GEAUW62.js → chunk-LTHY7E2P.js} +16 -15
  147. package/dist/{chunk-RO6BE7ZS.js → chunk-LTVOQJKT.js} +7 -7
  148. package/dist/{chunk-BD7HBZLP.js → chunk-LZO3JABE.js} +6 -6
  149. package/dist/{chunk-PXMV2LLY.js → chunk-M65AZ4ZE.js} +3 -5
  150. package/dist/chunk-MPNTEWNY.js +492 -0
  151. package/dist/chunk-MQGQ3AWK.js +58 -0
  152. package/dist/{chunk-ZNYSBQIA.js → chunk-MUXYUIBV.js} +6 -6
  153. package/dist/{chunk-CNEOKSTO.js → chunk-MWRRJDXQ.js} +34 -31
  154. package/dist/{chunk-VJO7M34N.js → chunk-MZDHFWTN.js} +2 -2
  155. package/dist/chunk-N2XCT5OX.js +68 -0
  156. package/dist/{chunk-2IO6XH37.js → chunk-N3JGYAMD.js} +15 -15
  157. package/dist/{chunk-K3QKOVZN.js → chunk-N5DLB74D.js} +367 -71
  158. package/dist/{chunk-H5BIVULF.js → chunk-NC3Q7RIB.js} +10 -10
  159. package/dist/{chunk-HVOE7ZW2.js → chunk-NCNLX4DL.js} +19 -18
  160. package/dist/{chunk-3D74UADA.js → chunk-NGSGJLKW.js} +2 -2
  161. package/dist/{chunk-B7KGNEFI.js → chunk-NN7K2LLN.js} +25 -24
  162. package/dist/{chunk-76AHTJVY.js → chunk-NNURP7VO.js} +15 -15
  163. package/dist/chunk-NSQB24WR.js +56 -0
  164. package/dist/{chunk-GFFTVQ7R.js → chunk-NV5S63YK.js} +7 -7
  165. package/dist/{chunk-CTJHEG6A.js → chunk-NWMFVPEP.js} +2 -0
  166. package/dist/{chunk-7JZONWAA.js → chunk-NYT6QGZA.js} +22 -18
  167. package/dist/chunk-OB2DAIJX.js +62 -0
  168. package/dist/{chunk-IZIGZ7KY.js → chunk-OC3OXDTG.js} +13 -8
  169. package/dist/{chunk-2XIIUXGX.js → chunk-OD6RNYMQ.js} +16 -16
  170. package/dist/{chunk-723OQZ3N.js → chunk-OFYBRMRG.js} +6 -6
  171. package/dist/chunk-OGTELPDN.js +43 -0
  172. package/dist/{chunk-E5NHFHGC.js → chunk-OQ7SBQ2Z.js} +7 -7
  173. package/dist/{chunk-6TZ4YRGJ.js → chunk-OUDGBJC2.js} +16 -9
  174. package/dist/{chunk-W4SMKUAK.js → chunk-OUGTAOGA.js} +2 -2
  175. package/dist/chunk-OWP5FCYM.js +60 -0
  176. package/dist/{chunk-ET7SPOBA.js → chunk-P36PTWBM.js} +8 -8
  177. package/dist/{chunk-64LSDT3D.js → chunk-P6Y2J2QY.js} +12 -12
  178. package/dist/{chunk-ANFBBJEV.js → chunk-PDJL2HO5.js} +24 -22
  179. package/dist/{chunk-UXVKFOMC.js → chunk-PPKH6ULR.js} +152 -20
  180. package/dist/{chunk-WLA2JZ2K.js → chunk-Q4PFF2ZE.js} +8 -8
  181. package/dist/chunk-Q7EUPQEG.js +5 -0
  182. package/dist/{chunk-2HDNOUJU.js → chunk-QC6GSNIK.js} +7055 -3456
  183. package/dist/chunk-QCRQNYGI.js +211 -0
  184. package/dist/chunk-QDF533AW.js +90 -0
  185. package/dist/chunk-QDGNDNBG.js +50 -0
  186. package/dist/{chunk-HWPX3T55.js → chunk-QGMD3PYL.js} +31 -24
  187. package/dist/{chunk-VCXFMXMX.js → chunk-QLT3WYTD.js} +6 -6
  188. package/dist/{chunk-ZFLBWL2G.js → chunk-QNDMAKQS.js} +11 -3
  189. package/dist/{chunk-UWBPC5XH.js → chunk-QNXMVJMA.js} +8 -8
  190. package/dist/{chunk-XDLMQL5A.js → chunk-QPAANKUR.js} +7 -7
  191. package/dist/{chunk-BGOAJFPB.js → chunk-QS4VX3HZ.js} +1 -1
  192. package/dist/{chunk-YIOYKA4V.js → chunk-QSM4K6LI.js} +7 -7
  193. package/dist/{chunk-TPKJD42W.js → chunk-QUFZDWPC.js} +8 -8
  194. package/dist/{chunk-QXCGRQGO.js → chunk-QXXEOH3A.js} +18 -6
  195. package/dist/{chunk-QA4O2GGC.js → chunk-R4TUWD4C.js} +17 -1
  196. package/dist/{chunk-UJ5ZJS4B.js → chunk-ROI64BAI.js} +22 -21
  197. package/dist/{chunk-LCRQPWTC.js → chunk-RPVL3RTX.js} +19 -18
  198. package/dist/{chunk-QQAWI5LD.js → chunk-RUNHVUCW.js} +16 -15
  199. package/dist/{chunk-7AEB74KW.js → chunk-RWYPLODE.js} +9 -9
  200. package/dist/{chunk-VTR4AC2U.js → chunk-RZYRUXSU.js} +4 -4
  201. package/dist/{chunk-CWLXVRFH.js → chunk-S6TLXRBR.js} +7 -7
  202. package/dist/{chunk-Z33UNTHI.js → chunk-SCOP3J6X.js} +7 -7
  203. package/dist/{chunk-XEWFVHOT.js → chunk-SCP24MJX.js} +24 -23
  204. package/dist/{chunk-MCORC2LG.js → chunk-SF3HXNXR.js} +6 -6
  205. package/dist/{chunk-BSZII65X.js → chunk-SFCFL7Y5.js} +1 -1
  206. package/dist/{chunk-LY7DOYX2.js → chunk-SHFY73RI.js} +53 -112
  207. package/dist/{chunk-IERXBWQU.js → chunk-SHIARIEZ.js} +20 -19
  208. package/dist/chunk-SMFFUFMN.js +1876 -0
  209. package/dist/{chunk-WH3ZFLXT.js → chunk-SVOGRJO6.js} +197 -124
  210. package/dist/chunk-SVZAAOHJ.js +46 -0
  211. package/dist/{chunk-NCZS2BN2.js → chunk-SZOU32VF.js} +21 -20
  212. package/dist/{chunk-MTIRNHRJ.js → chunk-T2MN24LZ.js} +1 -1
  213. package/dist/{chunk-KZH5YV6J.js → chunk-TD5WWJLN.js} +6 -6
  214. package/dist/{chunk-UBEFT3MQ.js → chunk-TFN2N227.js} +6 -6
  215. package/dist/{chunk-BIKMME4S.js → chunk-TFXNOQEU.js} +28 -27
  216. package/dist/{chunk-6P67IUET.js → chunk-TMETWJFO.js} +11 -11
  217. package/dist/chunk-TNSAIISO.js +50 -0
  218. package/dist/{chunk-SDHGFMES.js → chunk-TRJO2I4S.js} +3 -3
  219. package/dist/{chunk-NVVEVP5O.js → chunk-TRSNIJNM.js} +7 -7
  220. package/dist/{chunk-VIQHZA53.js → chunk-U3Z2QZE3.js} +6 -6
  221. package/dist/{chunk-TQG2DDWH.js → chunk-U7L3ORPK.js} +22 -21
  222. package/dist/{chunk-3KIMLBGZ.js → chunk-UDM6HGF4.js} +6 -6
  223. package/dist/{chunk-NMCPIYTF.js → chunk-UDM7LXNJ.js} +7 -7
  224. package/dist/chunk-UDTO3U6E.js +35 -0
  225. package/dist/{chunk-ZFEOIYK5.js → chunk-UEUPEUZX.js} +3 -3
  226. package/dist/chunk-UWBODTY7.js +514 -0
  227. package/dist/{chunk-BIWNRS5I.js → chunk-UYYYQTPD.js} +78 -47
  228. package/dist/{chunk-IDRCBMJF.js → chunk-V34N6JAN.js} +32 -31
  229. package/dist/{chunk-EY3OVHNC.js → chunk-V3Y5P7OS.js} +24 -23
  230. package/dist/chunk-V6MLVGTP.js +89 -0
  231. package/dist/{chunk-EECFUQP3.js → chunk-VC2XHC7P.js} +184 -46
  232. package/dist/{chunk-H26T2LQL.js → chunk-VCYE4MUD.js} +29 -28
  233. package/dist/{chunk-EUTZTJIO.js → chunk-VN2VJ6BV.js} +19 -15
  234. package/dist/{chunk-P6DM2EFI.js → chunk-VVLWEM2Y.js} +6 -6
  235. package/dist/{chunk-YXKCE5BA.js → chunk-VWCNMDMZ.js} +5 -5
  236. package/dist/{chunk-BV2BZIUF.js → chunk-W2A4NHQD.js} +25 -24
  237. package/dist/{chunk-VPQUFIE7.js → chunk-W6OY2PMB.js} +10 -10
  238. package/dist/{chunk-FIZ5LYL2.js → chunk-WC6DHBVG.js} +16 -15
  239. package/dist/{chunk-GHST3KAB.js → chunk-WCA3WIGG.js} +5 -5
  240. package/dist/{chunk-6ZDAEUKB.js → chunk-WJWSB65O.js} +1602 -452
  241. package/dist/{chunk-IFQJ3YQE.js → chunk-WNPGLGCJ.js} +5 -5
  242. package/dist/chunk-WTOVWEY3.js +67 -0
  243. package/dist/{chunk-XIJBQM45.js → chunk-X5B7KYPD.js} +507 -20
  244. package/dist/{chunk-ZLBUFK7L.js → chunk-X73WLHSN.js} +7 -7
  245. package/dist/{chunk-GNFZ227W.js → chunk-XIIT4PVT.js} +3 -3
  246. package/dist/{chunk-U3JXMY56.js → chunk-XLTT5QCX.js} +28 -25
  247. package/dist/{chunk-5UIGGXA5.js → chunk-XMIS25ZJ.js} +21 -20
  248. package/dist/{chunk-IYEET4VM.js → chunk-XPDQ4T6G.js} +27 -26
  249. package/dist/{chunk-WT6EXYEY.js → chunk-XRWUYOX3.js} +138 -22
  250. package/dist/{chunk-I2EWY3MG.js → chunk-XZY4GTCX.js} +14 -9
  251. package/dist/{chunk-2SCZZQNQ.js → chunk-Y2TVTI4P.js} +121 -15
  252. package/dist/{chunk-Q3RKXK5Z.js → chunk-Y2U4CSCA.js} +28 -27
  253. package/dist/chunk-Y2U63JKE.js +41 -0
  254. package/dist/{chunk-V3M4VFUB.js → chunk-Y6S7VCYN.js} +6 -6
  255. package/dist/{chunk-SAPX3PVK.js → chunk-YAPMGK7E.js} +11 -11
  256. package/dist/{chunk-MY3LDBMR.js → chunk-YAPVAYZN.js} +3 -3
  257. package/dist/{chunk-ZYLGEWTC.js → chunk-YCBDNWX3.js} +78 -57
  258. package/dist/{chunk-RK5P2DWD.js → chunk-YIGSUTW2.js} +1329 -92
  259. package/dist/{chunk-XI3GPYP4.js → chunk-YJTBE6AJ.js} +5 -5
  260. package/dist/chunk-YQ3IXQIH.js +185 -0
  261. package/dist/{chunk-MZXDSAKW.js → chunk-YRHKEXTP.js} +11 -11
  262. package/dist/{chunk-DPH4BS3F.js → chunk-YSSFS3YC.js} +17 -17
  263. package/dist/{chunk-ISCX25D7.js → chunk-YXG2VQJJ.js} +200 -56
  264. package/dist/{chunk-VUSYN4R4.js → chunk-Z4GLFTEH.js} +8 -8
  265. package/dist/{chunk-NP3PG6OI.js → chunk-Z65FWO6A.js} +157 -89
  266. package/dist/{chunk-KJD4DLRZ.js → chunk-ZDG637ZT.js} +22 -21
  267. package/dist/{chunk-DASVVML7.js → chunk-ZIAMPN7N.js} +6 -6
  268. package/dist/chunk-ZIIBQHCX.js +53 -0
  269. package/dist/{chunk-IJN5PSDU.js → chunk-ZJJMYPGZ.js} +57 -27
  270. package/dist/{chunk-NECDBPFP.js → chunk-ZOAX7W5S.js} +11 -11
  271. package/dist/chunk-ZSSR5GGB.js +48 -0
  272. package/dist/files.json +657 -553
  273. package/dist/fixtures/forge/expected/crosscheck.json +726 -0
  274. package/dist/fixtures/forge/slots/README.md +13 -0
  275. package/dist/fixtures/forge/slots/build.json +2686 -0
  276. package/dist/fixtures/forge/slots/crosscheck/forge-ledger.crosscheck.yaml +8 -0
  277. package/dist/fixtures/forge/slots/facts/forge-ledger.jsonl +17 -0
  278. package/dist/fixtures/forge/slots/facts/forge-ledger.meta.json +9 -0
  279. package/dist/fixtures/forge/slots/legacy/joins.json +113 -0
  280. package/dist/fixtures/forge/slots/readers/forge-events.json +306 -0
  281. package/dist/fixtures/forge/slots/readers/forge-gateway.json +238 -0
  282. package/dist/fixtures/forge/slots/readers/forge-infra.json +264 -0
  283. package/dist/fixtures/forge/slots/readers/forge-ledger.json +756 -0
  284. package/dist/fixtures/forge/slots/readers/forge-portal-bff.json +349 -0
  285. package/dist/fixtures/forge/slots/readers/forge-portal-ui.json +214 -0
  286. package/dist/fixtures/forge/slots/readers/forge-reports-job.json +258 -0
  287. package/dist/packages/sdk/npm/index.js +3788 -2939
  288. package/dist/packages/ui/dist/assets/{elk-api-BdXSPeBO.js → elk-api-CPE6PVL8.js} +2 -2
  289. package/dist/packages/ui/dist/assets/index-BYcVqj0l.js +65 -0
  290. package/dist/packages/ui/dist/assets/index-DF52Ejvz.css +1 -0
  291. package/dist/packages/ui/dist/index.html +2 -2
  292. package/package.json +4 -4
  293. package/dist/chunk-24OXGB3P.js +0 -82
  294. package/dist/chunk-3FFIDQQB.js +0 -42
  295. package/dist/chunk-4N5W7LYW.js +0 -41
  296. package/dist/chunk-7NVLGPER.js +0 -45
  297. package/dist/chunk-A6LGX56J.js +0 -52
  298. package/dist/chunk-AHACUPGL.js +0 -46
  299. package/dist/chunk-DG7KYZAL.js +0 -40
  300. package/dist/chunk-DWD6BKHG.js +0 -52
  301. package/dist/chunk-EEVSFGIU.js +0 -50
  302. package/dist/chunk-EN3N6LNU.js +0 -52
  303. package/dist/chunk-FWQDH5NK.js +0 -55
  304. package/dist/chunk-GHCFWIUW.js +0 -38
  305. package/dist/chunk-GSIJWDXH.js +0 -43
  306. package/dist/chunk-HCC5547C.js +0 -232
  307. package/dist/chunk-HLDUWEO7.js +0 -36
  308. package/dist/chunk-K2NQTROJ.js +0 -170
  309. package/dist/chunk-LH4WAJLC.js +0 -45
  310. package/dist/chunk-M5IQUWJR.js +0 -59
  311. package/dist/chunk-MEMEO7YO.js +0 -988
  312. package/dist/chunk-MGNO4Q6V.js +0 -51
  313. package/dist/chunk-MZ6GOFRF.js +0 -55
  314. package/dist/chunk-N2AW2DHF.js +0 -51
  315. package/dist/chunk-N35Y5HZO.js +0 -47
  316. package/dist/chunk-NHFMLMLN.js +0 -257
  317. package/dist/chunk-PR6Z5L7W.js +0 -67
  318. package/dist/chunk-STBJ6SVJ.js +0 -50
  319. package/dist/chunk-U3RGBYXE.js +0 -62
  320. package/dist/chunk-URZKIL37.js +0 -42
  321. package/dist/chunk-W7HNZDHB.js +0 -71
  322. package/dist/chunk-YYZWSVIS.js +0 -33
  323. package/dist/chunk-ZAMSF2DF.js +0 -54
  324. package/dist/packages/ui/dist/assets/index-DRSUhpFi.css +0 -1
  325. package/dist/packages/ui/dist/assets/index-RZe5iotJ.js +0 -63
@@ -5,27 +5,41 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  askHosts
8
- } from "./chunk-E5NHFHGC.js";
8
+ } from "./chunk-OQ7SBQ2Z.js";
9
9
  import {
10
10
  driftAfterScan
11
- } from "./chunk-DPH4BS3F.js";
11
+ } from "./chunk-YSSFS3YC.js";
12
12
  import {
13
+ buildPlanOf,
14
+ pageChanged,
15
+ refusalPlanOf
16
+ } from "./chunk-QCRQNYGI.js";
17
+ import {
18
+ buildAndWrite,
19
+ buildLines,
13
20
  diffCatalogs,
14
21
  diffIsEmpty,
15
22
  readCatalog,
16
23
  scanEstate,
17
- writeCatalog
18
- } from "./chunk-2HDNOUJU.js";
24
+ writeRefusedReport
25
+ } from "./chunk-QC6GSNIK.js";
26
+ import {
27
+ readersSlotPath,
28
+ serializeReadersSlot,
29
+ sourcesRelOf,
30
+ writeReadersSlots
31
+ } from "./chunk-UWBODTY7.js";
19
32
  import {
20
33
  loadRepos
21
- } from "./chunk-XIJBQM45.js";
34
+ } from "./chunk-X5B7KYPD.js";
22
35
  import {
23
- catalogDirOf
24
- } from "./chunk-6ZDAEUKB.js";
36
+ catalogDirOf,
37
+ throwIfCancelled
38
+ } from "./chunk-WJWSB65O.js";
25
39
  import {
26
40
  LockHeldError,
27
41
  acquireLock
28
- } from "./chunk-MEMEO7YO.js";
42
+ } from "./chunk-SMFFUFMN.js";
29
43
 
30
44
  // packages/cli/dist/scan-commands.js
31
45
  import { join } from "node:path";
@@ -40,7 +54,6 @@ function diffLines(d) {
40
54
  ];
41
55
  return lines;
42
56
  }
43
- var FACTS_PATH = "Scan every repo (atticus scan, after atticus workspace sync), or put one repo's read in the catalog from its facts: atticus verify <repo> --write.";
44
57
  function unreadMessage(u) {
45
58
  switch (u.why) {
46
59
  case "not-cloned":
@@ -53,36 +66,96 @@ function unreadMessage(u) {
53
66
  return "left out by --repos";
54
67
  }
55
68
  }
56
- var fromCode = (r) => r.evidence.some((e) => !!e.repo);
57
- function scanRefusal(scan, before) {
69
+ function scanRefusal(scan) {
70
+ if (scan.observations.some((o) => o.full))
71
+ return void 0;
58
72
  const unread = scan.unread;
59
- if (unread.length) {
60
- const asked = unread.filter((u) => u.why === "not-asked");
61
- const lines = unread.filter((u) => u.why !== "not-asked").map((u) => `${u.repo}: ${unreadMessage(u)}`);
62
- if (asked.length)
63
- lines.push(`${asked.map((u) => u.repo).join(", ")}: left out by --repos; a scan of only some repos would replace the catalog with them alone, so it isn't written`);
73
+ const lines = unread.map((u) => `${u.repo}: ${unreadMessage(u)}`);
74
+ for (const o of scan.observations)
75
+ if (!o.full && !unread.some((u) => u.repo === o.repo))
76
+ lines.push(`${o.repo}: ${keptWhy({ reason: o.why, ...o.detail ? { detail: o.detail } : {} })}`);
77
+ return {
78
+ reasons: ["nothing-read"],
79
+ repos: unread.map((u) => ({
80
+ repo: u.repo,
81
+ why: u.why,
82
+ message: unreadMessage(u),
83
+ ...u.runs ? { runs: u.runs } : {}
84
+ })),
85
+ message: [
86
+ "Nothing written: the scan read no repo in full, so every slot and catalog/generated are as they were:",
87
+ ...lines.map((l) => ` ${l}`),
88
+ "Clone the repos (atticus workspace sync) or fix what stopped their read, then scan again."
89
+ ].join("\n")
90
+ };
91
+ }
92
+ function scanSources(scan, slots) {
93
+ return scan.observations.map((o) => {
94
+ const s = slots.find((x) => x.repo === o.repo);
95
+ const built = scan.build?.sources.find((x) => x.repo === o.repo);
64
96
  return {
65
- repos: unread.map((u) => ({
66
- repo: u.repo,
67
- why: u.why,
68
- message: unreadMessage(u),
69
- ...u.runs ? { runs: u.runs } : {}
70
- })),
71
- message: [
72
- `Nothing written: catalog/generated is as it was. A scan replaces the whole catalog, so it writes only when it has read every repo in full, and it didn't read ${unread.length === 1 ? "this one" : `these ${unread.length}`}:`,
73
- ...lines.map((l) => ` ${l}`),
74
- FACTS_PATH
75
- ].join("\n")
97
+ repo: o.repo,
98
+ source: built?.source ?? "none",
99
+ ...built?.commit ? { sourceCommit: built.commit } : {},
100
+ slot: s?.slot ?? "none",
101
+ ...s?.commit ? { commit: s.commit } : {},
102
+ ...s?.reason ? { reason: s.reason } : {},
103
+ ...s?.detail ? { detail: s.detail } : {},
104
+ ...o.factsStale ? { factsStale: o.factsStale } : {}
76
105
  };
106
+ });
107
+ }
108
+ var short = (c) => /^[0-9a-f]{8,}$/.test(c) ? c.slice(0, 7) : c;
109
+ function keptWhy(s) {
110
+ switch (s.reason) {
111
+ case "not-cloned":
112
+ return "it isn't cloned here";
113
+ case "unreadable":
114
+ return "its clone can't be read";
115
+ case "not-asked":
116
+ return "--repos left it out";
117
+ case "run-failed":
118
+ return `a run failed (${s.detail ?? "a reader"})`;
119
+ case "plugin-refused":
120
+ return `a plugin that applies to it isn't used (${s.detail ?? "a plugin"})`;
121
+ case "readers-off":
122
+ return "the readers are switched off (ATTICUS_HELPERS_OFF=readers)";
123
+ case "dirty":
124
+ return "its clone has changes not committed (commit or stash them, then scan again)";
125
+ case "refused":
126
+ return "the scan wrote nothing";
127
+ case "dry-run":
128
+ return "a dry run writes nothing";
129
+ default:
130
+ return "it wasn't read in full";
77
131
  }
78
- const had = before.filter(fromCode).length;
79
- if (had > 0 && !scan.records.some(fromCode))
80
- return {
81
- repos: [],
82
- empty: { before: had },
83
- message: `Nothing written: the scan found no records in any repo's code, and catalog/generated has ${had}, so it is left as it was. Check that the manifests list the repos to read (an archived repo or a prototype isn't read), then scan again.`
84
- };
85
- return void 0;
132
+ }
133
+ function sourceLines(rel, sources, wrote) {
134
+ const out = [];
135
+ if (wrote) {
136
+ const n = (k) => sources.filter((s) => s.slot === k).length;
137
+ out.push(`${rel}/readers: ${n("written")} written, ${n("unchanged")} unchanged`);
138
+ for (const s of sources)
139
+ if (s.reason && s.reason !== "refused" && s.reason !== "dry-run")
140
+ out.push(s.slot === "kept-last-good" ? `${s.repo}: its readers slot keeps its last good read${s.commit ? ` (commit ${short(s.commit)})` : ""}: ${keptWhy(s)}.` : `${s.repo}: no readers slot written: ${keptWhy(s)}.`);
141
+ }
142
+ for (const s of sources) {
143
+ const f = s.factsStale;
144
+ if (!f)
145
+ continue;
146
+ const at = `${rel}/facts/${s.repo}.jsonl`;
147
+ if (f.unusable)
148
+ out.push(`${s.repo}: its facts snapshot (${at}) ${f.unusable}, so it isn't used; write it again: ${f.command}`);
149
+ else if (f.notComparable)
150
+ out.push(`${s.repo}: its facts snapshot (${at}) is of commit ${short(f.commit)}, which can't be compared with ${short(f.head)} here; the snapshot stays as it is; refresh it: ${f.command}`);
151
+ else {
152
+ const shown = f.files.slice(0, 5).map((x) => `${x.path} ${x.how}${x.to ? ` to ${x.to}` : ""}: ${x.facts.slice(0, 5).join(", ")}${x.facts.length > 5 ? ` and ${x.facts.length - 5} more` : ""}`);
153
+ if (f.files.length > 5)
154
+ shown.push(`${f.files.length - 5} more files`);
155
+ out.push(`${s.repo}: its facts snapshot (${at}, commit ${short(f.commit)}) is stale at ${short(f.head)}: ${f.facts} ${f.facts === 1 ? "fact cites" : "facts cite"} files changed since (${shown.join("; ")}). The snapshot stays as it is; refresh it: ${f.command}`);
156
+ }
157
+ }
158
+ return out;
86
159
  }
87
160
  function saidByRefusal(p, refused) {
88
161
  const r = refused?.repos.find((x) => x.repo === p.repo);
@@ -122,6 +195,8 @@ function scanSummaryLines(report) {
122
195
  const w = Array.isArray(report.warnings) ? report.warnings.length : 0;
123
196
  if (w)
124
197
  out.push(`${n(w, "warning")}: atticus scan --warnings lists ${w === 1 ? "it" : "them"}`);
198
+ if (Array.isArray(report.sources))
199
+ out.push(...sourceLines(typeof report.sourcesDir === "string" ? report.sourcesDir : "catalog/sources", report.sources, report.written === true));
125
200
  if (typeof refusal?.message === "string")
126
201
  out.push(...refusal.message.split("\n"));
127
202
  return out;
@@ -160,11 +235,14 @@ async function scanCommand(root, o, io) {
160
235
  }
161
236
  try {
162
237
  if (o.ref) {
163
- const { scanBranch } = await import("./chunk-7IWMRZRI.js");
238
+ const { scanBranch } = await import("./chunk-3PWXVBCB.js");
164
239
  return await scanBranch(root, o.ref, {
165
240
  ...o.repos ? { repos: o.repos } : {},
166
241
  ...o.full ? { full: true } : {},
167
- ...o.json ? { json: true } : {}
242
+ ...o.json ? { json: true } : {},
243
+ ...o.allowRemovals !== void 0 ? { allowRemovals: o.allowRemovals } : {},
244
+ ...o.discardEdits !== void 0 ? { discardEdits: o.discardEdits } : {},
245
+ ...o.plan !== void 0 ? { plan: o.plan } : {}
168
246
  }, io);
169
247
  }
170
248
  return await scanLocked(root, o, io);
@@ -174,16 +252,60 @@ async function scanCommand(root, o, io) {
174
252
  }
175
253
  async function scanLocked(root, o, io) {
176
254
  const out = join(catalogDirOf(root), "generated");
177
- const before = await readCatalog(out, { cacheRoot: root });
255
+ const before = await readCatalog(out, { cacheRoot: root, fresh: true });
178
256
  const started = Date.now();
179
257
  const scan = await scanEstate({
180
258
  root,
181
259
  ...o.repos ? { repos: o.repos } : {},
182
260
  ...o.full ? { cache: null } : {}
183
261
  });
184
- const refused = scanRefusal(scan, before.records);
262
+ throwIfCancelled();
263
+ const command = `atticus scan${o.repos?.length ? ` --repos ${o.repos.join(",")}` : ""}`;
264
+ const unreadAll = scanRefusal(scan);
265
+ if (unreadAll && !o.dryRun)
266
+ await writeRefusedReport(root, command, {
267
+ reasons: ["nothing-read"],
268
+ message: unreadAll.message,
269
+ unread: unreadAll.repos.map((r) => ({ repo: r.repo, why: r.message }))
270
+ });
271
+ const slotWrites = scan.observations.flatMap((x) => x.full ? [{ path: readersSlotPath(root, x.repo), text: serializeReadersSlot(x.slot) }] : []);
272
+ const planned = await writeReadersSlots(root, scan.observations, { hold: "dry-run" });
273
+ const built = unreadAll ? void 0 : await buildAndWrite(root, {
274
+ command,
275
+ build: scan.build,
276
+ slots: slotWrites,
277
+ ...o.dryRun ? { check: true } : {},
278
+ ...o.allowRemovals !== void 0 ? { allowRemovals: o.allowRemovals } : {},
279
+ ...o.discardEdits !== void 0 ? { discardEdits: o.discardEdits } : {},
280
+ // The app's confirm: the list worked out again under the lock (the review of beta.27).
281
+ ...o.plan !== void 0 && !o.dryRun ? { expect: (listed) => buildPlanOf(listed) === o.plan } : {}
282
+ });
283
+ const guardRefused = built && !o.dryRun ? built.guard.refused : void 0;
284
+ const changed = built?.changed ? pageChanged("what the build would remove or discard") : void 0;
285
+ const refused = unreadAll ?? (changed && !guardRefused ? { reasons: [], repos: [], message: changed } : void 0) ?? (guardRefused ? {
286
+ reasons: guardRefused.reasons,
287
+ repos: [],
288
+ message: changed ? `${changed}
289
+ ${guardRefused.message}` : guardRefused.message,
290
+ ...guardRefused.removals ? { removals: guardRefused.removals } : {},
291
+ ...guardRefused.unexplained ? { unexplained: guardRefused.unexplained } : {},
292
+ ...guardRefused.allowRemovals !== void 0 ? { allowRemovals: guardRefused.allowRemovals } : {},
293
+ ...guardRefused.edits ? { edits: guardRefused.edits } : {},
294
+ ...guardRefused.discardEdits !== void 0 ? { discardEdits: guardRefused.discardEdits } : {},
295
+ plan: refusalPlanOf(guardRefused)
296
+ } : void 0);
297
+ const w = built?.write;
185
298
  const diff = refused ? { added: [], removed: [], changed: [], evidenceOnly: [] } : diffCatalogs(before.records, scan.records);
186
- const write = o.dryRun || refused ? void 0 : await writeCatalog(out, scan.records);
299
+ const slots = planned.map((x) => {
300
+ if (x.reason !== "dry-run")
301
+ return x;
302
+ const obs = scan.observations.find((y) => y.repo === x.repo);
303
+ if (w && obs?.full)
304
+ return { repo: x.repo, slot: "written", commit: obs.slot.commit };
305
+ return { ...x, reason: o.dryRun ? "dry-run" : "refused" };
306
+ });
307
+ const sources = scanSources(scan, slots);
308
+ const write = w ? { written: w.written, unchanged: w.unchanged, removed: w.removed } : void 0;
187
309
  const drift = write && !o.noDrift ? await driftAfterScan(root) : [];
188
310
  const hosts = write ? await askHosts(root, scan.records, {
189
311
  command: "atticus scan",
@@ -194,8 +316,8 @@ async function scanLocked(root, o, io) {
194
316
  ...scan.problems
195
317
  ];
196
318
  const seen = /* @__PURE__ */ new Set();
197
- const warnings = scan.repos.flatMap((r) => r.warnings.map((w) => ({ repo: r.repo, ...w })).filter((w) => {
198
- const k = `${w.repo}\0${w.path ?? ""}\0${w.message}`;
319
+ const warnings = scan.repos.flatMap((r) => r.warnings.map((w2) => ({ repo: r.repo, ...w2 })).filter((w2) => {
320
+ const k = `${w2.repo}\0${w2.path ?? ""}\0${w2.message}`;
199
321
  if (seen.has(k))
200
322
  return false;
201
323
  seen.add(k);
@@ -212,6 +334,17 @@ async function scanLocked(root, o, io) {
212
334
  notes: scan.notes,
213
335
  written: write !== void 0,
214
336
  files: write ?? null,
337
+ sources,
338
+ sourcesDir: sourcesRelOf(root),
339
+ removed: (w?.removals ?? []).map((x) => ({
340
+ kind: x.kind,
341
+ id: x.id,
342
+ repos: x.repos,
343
+ explainedBy: x.explainedBy,
344
+ reasons: x.reasons
345
+ })),
346
+ retired: scan.build.retired,
347
+ ...w?.undo !== void 0 ? { undo: w.undo } : {},
215
348
  drift,
216
349
  questions: [...hosts.raised, ...hosts.open].map((q) => q.id),
217
350
  ...refused ? { refused } : {}
@@ -241,10 +374,13 @@ async function scanLocked(root, o, io) {
241
374
  if (!refused)
242
375
  for (const l of diffLines(diff))
243
376
  io.out(l);
244
- if (write)
245
- io.out(`catalog/generated: ${write.written} written, ${write.unchanged} unchanged, ${write.removed} removed`);
377
+ if (built && w)
378
+ for (const l of buildLines(root, built))
379
+ io.out(l);
246
380
  else if (!refused)
247
381
  io.out("Dry run: nothing written.");
382
+ for (const l of sourceLines(sourcesRelOf(root), sources, write !== void 0))
383
+ io.out(l);
248
384
  for (const d of drift)
249
385
  io.out(driftLine(d));
250
386
  for (const l of hosts.lines)
@@ -252,8 +388,8 @@ async function scanLocked(root, o, io) {
252
388
  for (const n of scan.notes)
253
389
  io.out(`note: ${n}`);
254
390
  if (o.warnings)
255
- for (const w of warnings)
256
- io.out(`warning: ${w.repo}: ${w.path ? `${w.path}: ` : ""}${w.message}`);
391
+ for (const w2 of warnings)
392
+ io.out(`warning: ${w2.repo}: ${w2.path ? `${w2.path}: ` : ""}${w2.message}`);
257
393
  else if (warnings.length)
258
394
  io.out(`${warnings.length} warning${warnings.length === 1 ? "" : "s"}: atticus scan --warnings lists ${warnings.length === 1 ? "it" : "them"}`);
259
395
  for (const p of problems.filter((x) => !saidByRefusal(x, refused)))
@@ -280,6 +416,8 @@ async function catalogDiff(a, b, json, io) {
280
416
  export {
281
417
  diffLines,
282
418
  scanRefusal,
419
+ scanSources,
420
+ sourceLines,
283
421
  scanSummaryLines,
284
422
  scanCommand,
285
423
  catalogDiff
@@ -17,36 +17,37 @@ import {
17
17
  rulesTryCommand,
18
18
  scopeFile,
19
19
  tryDiff
20
- } from "./chunk-DARX3ATP.js";
21
- import "./chunk-DXBXZNKV.js";
22
- import "./chunk-DOU52XFZ.js";
23
- import "./chunk-BABRMZET.js";
24
- import "./chunk-BSZII65X.js";
20
+ } from "./chunk-HVPS2YCW.js";
21
+ import "./chunk-KMYB2XO7.js";
22
+ import "./chunk-IXNMGPF7.js";
23
+ import "./chunk-CLM5Z3R5.js";
24
+ import "./chunk-GZILYRGC.js";
25
+ import "./chunk-SFCFL7Y5.js";
25
26
  import "./chunk-EHXDB3SA.js";
26
- import "./chunk-W4SMKUAK.js";
27
- import "./chunk-MY3LDBMR.js";
28
- import "./chunk-2FTHLB2H.js";
29
- import "./chunk-V5FT3MZG.js";
30
- import "./chunk-P6DM2EFI.js";
31
- import "./chunk-XDLMQL5A.js";
32
- import "./chunk-PBDIVTFL.js";
33
- import "./chunk-IBIIKUC7.js";
34
- import "./chunk-2HDNOUJU.js";
35
- import "./chunk-RK5P2DWD.js";
36
- import "./chunk-K3QKOVZN.js";
37
- import "./chunk-QAFQLILX.js";
38
- import "./chunk-HQMLY2R6.js";
39
- import "./chunk-I2EWY3MG.js";
40
- import "./chunk-UFIQ5FWY.js";
41
- import "./chunk-MTIRNHRJ.js";
42
- import "./chunk-ZDA72732.js";
43
- import "./chunk-QA4O2GGC.js";
44
- import "./chunk-XIJBQM45.js";
45
- import "./chunk-6ZDAEUKB.js";
46
- import "./chunk-MEMEO7YO.js";
47
- import "./chunk-LZFKJ2BR.js";
48
- import "./chunk-CTJHEG6A.js";
27
+ import "./chunk-OUGTAOGA.js";
28
+ import "./chunk-YAPVAYZN.js";
29
+ import "./chunk-FKAUBC4Y.js";
30
+ import "./chunk-VVLWEM2Y.js";
31
+ import "./chunk-QPAANKUR.js";
32
+ import "./chunk-FADIWOA5.js";
33
+ import "./chunk-G33UIUG3.js";
34
+ import "./chunk-QC6GSNIK.js";
35
+ import "./chunk-YIGSUTW2.js";
36
+ import "./chunk-N5DLB74D.js";
37
+ import "./chunk-UWBODTY7.js";
38
+ import "./chunk-X5B7KYPD.js";
39
+ import "./chunk-IPSZDVLI.js";
40
+ import "./chunk-2MRYL45Z.js";
41
+ import "./chunk-ELJ5Q4J2.js";
42
+ import "./chunk-XZY4GTCX.js";
43
+ import "./chunk-3M3MDBOG.js";
44
+ import "./chunk-T2MN24LZ.js";
45
+ import "./chunk-WJWSB65O.js";
46
+ import "./chunk-SMFFUFMN.js";
47
+ import "./chunk-A3LVMCA5.js";
48
+ import "./chunk-NWMFVPEP.js";
49
49
  import "./chunk-BQGDB6ZL.js";
50
+ import "./chunk-R4TUWD4C.js";
50
51
  import "./chunk-TV45EUGM.js";
51
52
  export {
52
53
  READS_AS_RULE,
@@ -5,25 +5,24 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  contractCheckOf
8
- } from "./chunk-RBO4A7TC.js";
8
+ } from "./chunk-FM3EEDS2.js";
9
9
  import {
10
10
  HttpError,
11
11
  badRequest,
12
12
  conflict,
13
13
  notFound
14
- } from "./chunk-2SCZZQNQ.js";
14
+ } from "./chunk-Y2TVTI4P.js";
15
15
  import {
16
16
  readCatalog
17
- } from "./chunk-2HDNOUJU.js";
17
+ } from "./chunk-QC6GSNIK.js";
18
18
  import {
19
19
  frameworkFacts,
20
- frameworkGaps,
21
- keyIsSecret
22
- } from "./chunk-RK5P2DWD.js";
20
+ frameworkGaps
21
+ } from "./chunk-YIGSUTW2.js";
23
22
  import {
24
23
  baseClonePath,
25
24
  loadRepos
26
- } from "./chunk-XIJBQM45.js";
25
+ } from "./chunk-X5B7KYPD.js";
27
26
  import {
28
27
  ProfileEditError,
29
28
  QuestionError,
@@ -39,13 +38,14 @@ import {
39
38
  listQuestions,
40
39
  parseAuditFile,
41
40
  parseFacts
42
- } from "./chunk-6ZDAEUKB.js";
41
+ } from "./chunk-WJWSB65O.js";
43
42
  import {
44
- FileChangedError
45
- } from "./chunk-MEMEO7YO.js";
43
+ FileChangedError,
44
+ keyIsSecret
45
+ } from "./chunk-SMFFUFMN.js";
46
46
  import {
47
47
  keptParse
48
- } from "./chunk-CTJHEG6A.js";
48
+ } from "./chunk-NWMFVPEP.js";
49
49
  import {
50
50
  require_dist
51
51
  } from "./chunk-BQGDB6ZL.js";
@@ -385,7 +385,7 @@ async function trustView(root) {
385
385
  });
386
386
  }
387
387
  const contracts = await contractCheckOf(root).then((c) => c.result.counts.compared ? c.result.counts : void 0, () => void 0);
388
- const { answerBoxesOf } = await import("./chunk-PFWP624T.js");
388
+ const { answerBoxesOf } = await import("./chunk-AKZTCZ6F.js");
389
389
  const answerBoxes = await answerBoxesOf(root).catch(() => []);
390
390
  return {
391
391
  factsDir: factsRel,
@@ -455,8 +455,12 @@ function uiTrustRoutes(r, ctx) {
455
455
  return r.add("GET", "/api/trust", async () => ({
456
456
  status: 200,
457
457
  body: await keptAnswer(ctx.root, "trust", () => trustView(ctx.root), () => checkoutsStamp(ctx.root))
458
- })).add("POST", "/api/trust/answer-boxes/ignore", ({ body }) => answerBoxRoute(ctx, body, false)).add("POST", "/api/trust/answer-boxes/rename", ({ body }) => answerBoxRoute(ctx, body, true)).add("GET", "/api/trust/fresh", async () => {
459
- const { estateFreshness } = await import("./chunk-MZ6GOFRF.js");
458
+ })).add("POST", "/api/trust/answer-boxes/ignore", ({ body }) => answerBoxRoute(ctx, body, false)).add("POST", "/api/trust/answer-boxes/rename", ({ body }) => answerBoxRoute(ctx, body, true)).add("GET", "/api/trust/canaries", async () => {
459
+ const { canaryView } = await import("./chunk-HPNYSY5M.js");
460
+ const body = await canaryView(ctx.root);
461
+ return { status: 200, body };
462
+ }).add("GET", "/api/trust/fresh", async () => {
463
+ const { estateFreshness } = await import("./chunk-7YWS47SE.js");
460
464
  const v = await estateFreshness(ctx.root);
461
465
  const body = {
462
466
  ...v,
@@ -474,7 +478,7 @@ async function answerBoxRoute(ctx, body, rename) {
474
478
  const b = api_exports.AnswerBoxRequest.safeParse(body ?? {});
475
479
  if (!b.success || rename && !b.data.name)
476
480
  throw badRequest(rename ? "Say which box and its real name: { id, name, preview }." : "Say which box: { id, preview }.");
477
- const { AnswerBoxError, ignoreAnswerBox, renameAnswerBox } = await import("./chunk-PFWP624T.js");
481
+ const { AnswerBoxError, ignoreAnswerBox, renameAnswerBox } = await import("./chunk-AKZTCZ6F.js");
478
482
  const o = {
479
483
  by: ctx.user,
480
484
  at: (/* @__PURE__ */ new Date()).toISOString(),
@@ -5,25 +5,25 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  readReviewed
8
- } from "./chunk-XDLMQL5A.js";
8
+ } from "./chunk-QPAANKUR.js";
9
9
  import {
10
10
  lineRangeOf
11
- } from "./chunk-RK5P2DWD.js";
11
+ } from "./chunk-YIGSUTW2.js";
12
12
  import {
13
13
  globToRegExp
14
- } from "./chunk-UFIQ5FWY.js";
14
+ } from "./chunk-3M3MDBOG.js";
15
15
  import {
16
16
  citedFiles,
17
17
  factsDirOf,
18
18
  factsRelOf,
19
19
  parseFacts
20
- } from "./chunk-6ZDAEUKB.js";
20
+ } from "./chunk-WJWSB65O.js";
21
21
  import {
22
22
  writeFileAtomic
23
- } from "./chunk-MEMEO7YO.js";
23
+ } from "./chunk-SMFFUFMN.js";
24
24
  import {
25
25
  external_exports
26
- } from "./chunk-LZFKJ2BR.js";
26
+ } from "./chunk-A3LVMCA5.js";
27
27
  import {
28
28
  require_dist
29
29
  } from "./chunk-BQGDB6ZL.js";
@@ -9,11 +9,11 @@ import {
9
9
  reExecForMemory,
10
10
  roomGuard,
11
11
  streamFacts
12
- } from "./chunk-DHQXCP2X.js";
13
- import "./chunk-6ZDAEUKB.js";
14
- import "./chunk-MEMEO7YO.js";
15
- import "./chunk-LZFKJ2BR.js";
16
- import "./chunk-CTJHEG6A.js";
12
+ } from "./chunk-3PBIZBWN.js";
13
+ import "./chunk-WJWSB65O.js";
14
+ import "./chunk-SMFFUFMN.js";
15
+ import "./chunk-A3LVMCA5.js";
16
+ import "./chunk-NWMFVPEP.js";
17
17
  import "./chunk-BQGDB6ZL.js";
18
18
  import "./chunk-TV45EUGM.js";
19
19
  export {
@@ -7,46 +7,47 @@ import {
7
7
  contextFlags,
8
8
  contextLines
9
9
  } from "./chunk-R6RY4Q5T.js";
10
- import {
11
- table
12
- } from "./chunk-VOGCSYOI.js";
13
10
  import {
14
11
  findNeeds,
15
12
  markNeed,
16
13
  readNeeds
17
- } from "./chunk-CSHJZFOE.js";
18
- import "./chunk-5A4RHEEL.js";
19
- import "./chunk-VIQHZA53.js";
20
- import "./chunk-WH3ZFLXT.js";
21
- import "./chunk-UTZMF5CV.js";
22
- import "./chunk-6U65YB54.js";
23
- import "./chunk-SZDOBIWE.js";
24
- import "./chunk-2HDNOUJU.js";
25
- import "./chunk-RK5P2DWD.js";
14
+ } from "./chunk-JL2VOYSL.js";
15
+ import "./chunk-INCFIDCB.js";
16
+ import {
17
+ table
18
+ } from "./chunk-VOGCSYOI.js";
19
+ import "./chunk-U3Z2QZE3.js";
20
+ import "./chunk-SVOGRJO6.js";
21
+ import "./chunk-23TTURB2.js";
22
+ import "./chunk-QC6GSNIK.js";
23
+ import "./chunk-YIGSUTW2.js";
26
24
  import {
27
25
  readKnowledge
28
- } from "./chunk-K3QKOVZN.js";
29
- import "./chunk-QAFQLILX.js";
30
- import "./chunk-HQMLY2R6.js";
31
- import "./chunk-I2EWY3MG.js";
32
- import "./chunk-UFIQ5FWY.js";
26
+ } from "./chunk-N5DLB74D.js";
27
+ import "./chunk-UWBODTY7.js";
28
+ import "./chunk-I57IH5X6.js";
29
+ import "./chunk-LCQIRCOT.js";
30
+ import "./chunk-X5B7KYPD.js";
31
+ import "./chunk-IPSZDVLI.js";
33
32
  import {
34
33
  RuntimeConfigError,
35
34
  runtimeForCli
36
- } from "./chunk-ZDA72732.js";
37
- import "./chunk-QA4O2GGC.js";
38
- import "./chunk-XIJBQM45.js";
35
+ } from "./chunk-2MRYL45Z.js";
36
+ import "./chunk-ELJ5Q4J2.js";
37
+ import "./chunk-XZY4GTCX.js";
38
+ import "./chunk-3M3MDBOG.js";
39
39
  import {
40
40
  changesDirOf,
41
41
  changesRelOf,
42
42
  orgPackDirOf
43
- } from "./chunk-6ZDAEUKB.js";
44
- import "./chunk-MEMEO7YO.js";
43
+ } from "./chunk-WJWSB65O.js";
44
+ import "./chunk-SMFFUFMN.js";
45
45
  import {
46
46
  loadOrgPack
47
- } from "./chunk-LZFKJ2BR.js";
48
- import "./chunk-CTJHEG6A.js";
47
+ } from "./chunk-A3LVMCA5.js";
48
+ import "./chunk-NWMFVPEP.js";
49
49
  import "./chunk-BQGDB6ZL.js";
50
+ import "./chunk-R4TUWD4C.js";
50
51
  import "./chunk-TV45EUGM.js";
51
52
 
52
53
  // packages/cli/dist/needs-commands.js
@@ -62,17 +62,17 @@ import {
62
62
  specEndpointIds,
63
63
  specFormatOf,
64
64
  vendorImpact
65
- } from "./chunk-QAFQLILX.js";
66
- import "./chunk-HQMLY2R6.js";
67
- import "./chunk-I2EWY3MG.js";
68
- import "./chunk-UFIQ5FWY.js";
69
- import "./chunk-ZDA72732.js";
70
- import "./chunk-QA4O2GGC.js";
71
- import "./chunk-6ZDAEUKB.js";
72
- import "./chunk-MEMEO7YO.js";
73
- import "./chunk-LZFKJ2BR.js";
74
- import "./chunk-CTJHEG6A.js";
65
+ } from "./chunk-IPSZDVLI.js";
66
+ import "./chunk-2MRYL45Z.js";
67
+ import "./chunk-ELJ5Q4J2.js";
68
+ import "./chunk-XZY4GTCX.js";
69
+ import "./chunk-3M3MDBOG.js";
70
+ import "./chunk-WJWSB65O.js";
71
+ import "./chunk-SMFFUFMN.js";
72
+ import "./chunk-A3LVMCA5.js";
73
+ import "./chunk-NWMFVPEP.js";
75
74
  import "./chunk-BQGDB6ZL.js";
75
+ import "./chunk-R4TUWD4C.js";
76
76
  import "./chunk-TV45EUGM.js";
77
77
  export {
78
78
  CHANGE_INPUTS_SCHEMA_VERSION,