@maycombhq/atticus 2.0.0-beta.22 → 2.0.0-beta.24

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 (289) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-J2JAKCIW.js → chunk-25CUJJTP.js} +511 -291
  3. package/dist/chunk-26AB2WNW.js +62 -0
  4. package/dist/{chunk-VBTP56CE.js → chunk-2ITYURTR.js} +9 -8
  5. package/dist/{chunk-6ZJ5A7AF.js → chunk-2JHE75RW.js} +13 -11
  6. package/dist/{chunk-QFWA2DPH.js → chunk-37UTWGU4.js} +8 -6
  7. package/dist/{chunk-VW62D6QE.js → chunk-3BEGKSDW.js} +14 -12
  8. package/dist/{chunk-3RM4UK6W.js → chunk-3FGQFDS4.js} +20 -18
  9. package/dist/{chunk-23XVSEV5.js → chunk-3NS4RS3C.js} +20 -18
  10. package/dist/{chunk-FSMSFDLD.js → chunk-3TGX4SJ3.js} +10 -7
  11. package/dist/{chunk-7JITZFJC.js → chunk-3UMKLB6P.js} +7 -5
  12. package/dist/chunk-3VS7RNEB.js +96 -0
  13. package/dist/{chunk-AJYXNTNZ.js → chunk-3XCCT2GR.js} +167 -42
  14. package/dist/{chunk-XERYFDB5.js → chunk-3XZRYQWU.js} +38 -34
  15. package/dist/{chunk-FUJM6RTF.js → chunk-432FGEVB.js} +9 -7
  16. package/dist/{chunk-SFUP7TTO.js → chunk-44QUCNPH.js} +7 -5
  17. package/dist/{chunk-O5PXQR67.js → chunk-4CS3PMIM.js} +15 -13
  18. package/dist/{chunk-RGERPOIV.js → chunk-4DCIUKIE.js} +22 -12
  19. package/dist/{chunk-RLDGWLQ7.js → chunk-4DX4DIND.js} +9 -7
  20. package/dist/chunk-4MNMOUU7.js +108 -0
  21. package/dist/{chunk-SLXZOMA6.js → chunk-4RKIOUPA.js} +9 -7
  22. package/dist/{chunk-AJQ72EBM.js → chunk-532HDXMM.js} +9 -7
  23. package/dist/{chunk-CADWLE2T.js → chunk-5EIKOU7L.js} +6 -4
  24. package/dist/{chunk-CQDGOPGH.js → chunk-5FPAKAGE.js} +7 -5
  25. package/dist/{chunk-IVBOQAGB.js → chunk-5FUFVNXB.js} +27 -3
  26. package/dist/{chunk-UUU4CLJG.js → chunk-5MKV4TV6.js} +5 -1
  27. package/dist/{chunk-ZQXZ2SES.js → chunk-5ORLKITZ.js} +23 -21
  28. package/dist/{chunk-OHVTTOPS.js → chunk-5PSKLTBR.js} +3 -3
  29. package/dist/{chunk-RUGXBPWI.js → chunk-5QF5W5P2.js} +10 -10
  30. package/dist/{chunk-BPK5P77O.js → chunk-5Z7L2TSR.js} +3 -3
  31. package/dist/{chunk-L27SV425.js → chunk-66DWUSNY.js} +22 -20
  32. package/dist/{chunk-JAVI7JSP.js → chunk-6FIYEB7M.js} +25 -22
  33. package/dist/{chunk-VY72R2XZ.js → chunk-6OZAQPU5.js} +532 -358
  34. package/dist/{chunk-AFWUDXEM.js → chunk-6TNQO76I.js} +34 -17
  35. package/dist/{chunk-WF7B67YE.js → chunk-6UTD5RQH.js} +18 -16
  36. package/dist/{chunk-HNM2YQT2.js → chunk-775FMPUB.js} +7 -7
  37. package/dist/{chunk-7ASNL4Q4.js → chunk-77AZRGWE.js} +19 -16
  38. package/dist/{chunk-WKUJ3KPV.js → chunk-7HWCEDPX.js} +7 -5
  39. package/dist/{chunk-G6X77UJZ.js → chunk-7U46TCRZ.js} +25 -22
  40. package/dist/{chunk-O45HFTFS.js → chunk-A3NUZJFI.js} +4 -2
  41. package/dist/{chunk-UPOY4YSQ.js → chunk-A4VDFIMR.js} +14 -12
  42. package/dist/{chunk-EMRIQUND.js → chunk-A53IYUCR.js} +87 -29
  43. package/dist/{chunk-S4PMJU6H.js → chunk-A6ZG3UOS.js} +108 -50
  44. package/dist/{chunk-PMUAJGLI.js → chunk-AAY6VPPO.js} +18 -16
  45. package/dist/{chunk-MG4ZL5RW.js → chunk-ABDE5IRC.js} +18 -16
  46. package/dist/{chunk-T6DQR5TV.js → chunk-AM7PYKVP.js} +15 -13
  47. package/dist/{chunk-SFSPGFCV.js → chunk-ANUMIPF6.js} +22 -20
  48. package/dist/{chunk-VTZMAJ3W.js → chunk-ASFRT33J.js} +11 -9
  49. package/dist/{chunk-7FTTA3HD.js → chunk-AWDCVZYO.js} +9 -7
  50. package/dist/{chunk-KFAVQZSX.js → chunk-B63NWU3P.js} +14 -12
  51. package/dist/{chunk-YYY3AZFE.js → chunk-BBZ6UKN3.js} +16 -5
  52. package/dist/{chunk-Q4K5WB2W.js → chunk-BFQ5IKQA.js} +12 -10
  53. package/dist/{chunk-ZFL7NY4F.js → chunk-BLVFHN3C.js} +73 -42
  54. package/dist/{chunk-MO6P2JZH.js → chunk-BQXAHIZ6.js} +10 -8
  55. package/dist/{chunk-Y2EQNWKV.js → chunk-BTS56NV7.js} +91 -41
  56. package/dist/{chunk-UGUP3ZM6.js → chunk-BWYW533C.js} +18 -16
  57. package/dist/{chunk-O7FDLW7L.js → chunk-BYKWWSXL.js} +14 -12
  58. package/dist/chunk-C7BB6IQT.js +147 -0
  59. package/dist/{chunk-JLUCKAEL.js → chunk-CCQWQFOT.js} +19 -17
  60. package/dist/{chunk-SYV5LHML.js → chunk-CCQZN6W3.js} +35 -33
  61. package/dist/{chunk-UCROWG2D.js → chunk-CFSBBLDD.js} +28 -25
  62. package/dist/{chunk-EIPTLPFC.js → chunk-CFSHLQPK.js} +26 -24
  63. package/dist/{chunk-2IIMFOPM.js → chunk-CI4D6VSU.js} +20 -18
  64. package/dist/{chunk-66PPNOON.js → chunk-CKRPMRFQ.js} +28 -25
  65. package/dist/{chunk-IUPG3UKI.js → chunk-CNF2EZ6S.js} +191 -125
  66. package/dist/chunk-CTJHEG6A.js +97 -0
  67. package/dist/{chunk-DOBQKHIF.js → chunk-CU7ZK7KP.js} +30 -29
  68. package/dist/{chunk-745DAZ4L.js → chunk-CZ75S2EZ.js} +886 -313
  69. package/dist/{chunk-LGFL54FP.js → chunk-D5CJEKZI.js} +11 -4
  70. package/dist/{chunk-PBPBMP2B.js → chunk-D5ZC7IMC.js} +5 -3
  71. package/dist/{chunk-LZ7NUC62.js → chunk-D63NU53X.js} +20 -18
  72. package/dist/{chunk-BO4KX37X.js → chunk-DCQSPSXU.js} +28 -23
  73. package/dist/{chunk-WXFLMQSR.js → chunk-DCRZ3OQ7.js} +8 -6
  74. package/dist/chunk-DD2AXECF.js +41 -0
  75. package/dist/{chunk-4EURQWQD.js → chunk-DF6DPCW2.js} +16 -14
  76. package/dist/{chunk-53T4O55J.js → chunk-DH3EQMIA.js} +5 -3
  77. package/dist/{chunk-ZX57KSEQ.js → chunk-DIXA74N7.js} +5 -3
  78. package/dist/{chunk-6ZGLAACW.js → chunk-DIYNRYXW.js} +2 -2
  79. package/dist/chunk-DYDNW4O6.js +52 -0
  80. package/dist/{chunk-P2V7QW4D.js → chunk-E7YDJH6B.js} +16 -14
  81. package/dist/chunk-EEKQI3U4.js +45 -0
  82. package/dist/{chunk-GZY6RUZ6.js → chunk-EHF2MBGR.js} +9 -4
  83. package/dist/chunk-EHXDB3SA.js +25 -0
  84. package/dist/{chunk-PJSJPMJI.js → chunk-ENZ3PI7L.js} +3 -3
  85. package/dist/{chunk-E3ISYXO3.js → chunk-EPQQ2XVM.js} +16 -14
  86. package/dist/{chunk-7IGKHZ4Z.js → chunk-ESJALLOK.js} +222 -213
  87. package/dist/chunk-ETQSQ2EC.js +33 -0
  88. package/dist/{chunk-MFR5OPBD.js → chunk-EUMXLSW5.js} +14 -6
  89. package/dist/{chunk-BTY3HZBO.js → chunk-F63F4NKT.js} +18 -16
  90. package/dist/{chunk-ZFFYNRIO.js → chunk-FDL2JOLB.js} +26 -22
  91. package/dist/{chunk-5SJZW52K.js → chunk-FFDVAV56.js} +24 -22
  92. package/dist/chunk-FFYOZ7PF.js +27 -0
  93. package/dist/{chunk-RXPJMEOW.js → chunk-FGW5TLGM.js} +24 -19
  94. package/dist/{chunk-UPS2DGFC.js → chunk-FL53R4SW.js} +1 -1
  95. package/dist/chunk-FYWLB7PO.js +38 -0
  96. package/dist/{chunk-FFLNS6VP.js → chunk-G3W7GNEP.js} +24 -18
  97. package/dist/chunk-G3ZFEHCX.js +925 -0
  98. package/dist/{chunk-YHCMZC2J.js → chunk-G67GOK4S.js} +10 -8
  99. package/dist/{chunk-2F4CYZKJ.js → chunk-GCMDDVIE.js} +14 -9
  100. package/dist/{chunk-QKUJMING.js → chunk-GFYVVTKH.js} +10 -8
  101. package/dist/chunk-GJVCBTSO.js +20722 -0
  102. package/dist/{chunk-VCTWPLAO.js → chunk-GKZDHXC2.js} +8 -8
  103. package/dist/{chunk-5BD2KYLE.js → chunk-GQFUEUC7.js} +18 -16
  104. package/dist/chunk-GQPP4P2E.js +33 -0
  105. package/dist/{chunk-42SIDKEU.js → chunk-GS7N3RFG.js} +51 -32
  106. package/dist/{chunk-LJXMYKZJ.js → chunk-GXQYEIYM.js} +7 -5
  107. package/dist/{chunk-VNU26RCO.js → chunk-H5EQOSTC.js} +43 -33
  108. package/dist/{chunk-W7VWI2YH.js → chunk-H7KERB6Q.js} +7 -5
  109. package/dist/{chunk-OUBGGKDU.js → chunk-HGDBM3A5.js} +5 -3
  110. package/dist/{chunk-JENSEMXF.js → chunk-HI7ADE4E.js} +1 -1
  111. package/dist/{chunk-CXJ6FUKN.js → chunk-HNPKCRCE.js} +1010 -330
  112. package/dist/{chunk-FPJPLKDW.js → chunk-HRHXTLUM.js} +40 -16
  113. package/dist/{chunk-57TDNMI3.js → chunk-HRYI22QU.js} +17 -15
  114. package/dist/{chunk-LO6P2VYG.js → chunk-HWNFFCGB.js} +5 -3
  115. package/dist/{chunk-XI2LCCYQ.js → chunk-HXFZX2BI.js} +12 -8
  116. package/dist/{chunk-H7KM7LZE.js → chunk-HYHV2P3G.js} +16 -13
  117. package/dist/{chunk-X3WY6MN3.js → chunk-IB66ZLDN.js} +10 -8
  118. package/dist/{chunk-3NFFJL5D.js → chunk-IJQHBK76.js} +1 -1
  119. package/dist/{chunk-LQJPN536.js → chunk-IK6LHW3E.js} +6 -4
  120. package/dist/{chunk-DCZWQLYT.js → chunk-IOHRX4KF.js} +26 -21
  121. package/dist/{chunk-2GF7OLF3.js → chunk-IRXZKKCG.js} +21 -15
  122. package/dist/{chunk-Z5IA3WDR.js → chunk-IUBBEU6O.js} +160 -81
  123. package/dist/{chunk-W62H2XSO.js → chunk-IWPO5AUT.js} +29 -26
  124. package/dist/{chunk-BEVTIBRH.js → chunk-J4K4C4T5.js} +31 -15
  125. package/dist/{chunk-WERM6KPJ.js → chunk-JCEYOSST.js} +14 -6
  126. package/dist/{chunk-HYU5VLGA.js → chunk-JCG2EBNB.js} +1 -1
  127. package/dist/{chunk-UNAGJYET.js → chunk-JFBVIMGY.js} +14 -12
  128. package/dist/chunk-JJ4SCGRJ.js +43 -0
  129. package/dist/{chunk-2Q5EDGEO.js → chunk-JLYH2QOE.js} +7 -5
  130. package/dist/{chunk-X4CXA2IL.js → chunk-JMH6TCZJ.js} +23 -21
  131. package/dist/{chunk-6PPOWY5E.js → chunk-JUHZBZPZ.js} +17 -13
  132. package/dist/{chunk-GUX3PTYM.js → chunk-JVMNEI7B.js} +3 -3
  133. package/dist/chunk-JYJMIAFS.js +44 -0
  134. package/dist/{chunk-34S2WGOB.js → chunk-KIY2WCN7.js} +7 -3
  135. package/dist/chunk-KVVNAUIG.js +66 -0
  136. package/dist/{chunk-M32BLWDH.js → chunk-KYO5HT4G.js} +14 -12
  137. package/dist/chunk-L27KUL5B.js +38 -0
  138. package/dist/chunk-L3PIN47C.js +18 -0
  139. package/dist/{chunk-IH2XURVQ.js → chunk-L6Z6TMIK.js} +5 -5
  140. package/dist/{chunk-E6ZIEVOI.js → chunk-LAGZBQHK.js} +16 -13
  141. package/dist/chunk-LBG4GMOR.js +68 -0
  142. package/dist/{chunk-UF4GLFBX.js → chunk-LDKP7OWQ.js} +33 -24
  143. package/dist/{chunk-ZQ7SKESZ.js → chunk-LELM7X5H.js} +13 -11
  144. package/dist/{chunk-INQHESFB.js → chunk-LIB6AUZS.js} +6 -4
  145. package/dist/{chunk-H5HBGNXU.js → chunk-LIQWFDOZ.js} +6 -4
  146. package/dist/{chunk-TYQBFTBR.js → chunk-LKUTBQ2Y.js} +8 -6
  147. package/dist/{chunk-7BR7IPOH.js → chunk-LOCJHNZI.js} +10 -8
  148. package/dist/{chunk-SQV37XO2.js → chunk-LTIXFLYE.js} +6 -6
  149. package/dist/{chunk-3NWDLGG6.js → chunk-M3RWF7MC.js} +33 -29
  150. package/dist/chunk-MA6UK7GX.js +42 -0
  151. package/dist/{chunk-ISUAAMGS.js → chunk-MCE74XMF.js} +25 -16
  152. package/dist/{chunk-EGQRREQH.js → chunk-MDTAZ6NE.js} +37 -24
  153. package/dist/{chunk-ZZK56BLP.js → chunk-MMOMKHAX.js} +6 -4
  154. package/dist/{chunk-P32RUW3B.js → chunk-MOWUP33K.js} +49 -15
  155. package/dist/{chunk-UOR2DTHH.js → chunk-MPATOMY5.js} +18 -14
  156. package/dist/{chunk-LNBQOP7D.js → chunk-MQFSEGTU.js} +23 -21
  157. package/dist/{chunk-2Q56PQPS.js → chunk-MT3FNSXO.js} +4 -4
  158. package/dist/{chunk-FZOJFH7Q.js → chunk-MUY5MAGM.js} +15 -12
  159. package/dist/{chunk-7DOR27HL.js → chunk-MVXMISNA.js} +9 -7
  160. package/dist/{chunk-CX4RZ2KS.js → chunk-MWN7CBVL.js} +5 -3
  161. package/dist/{chunk-BXYMYEJ4.js → chunk-MZWM73S2.js} +18 -17
  162. package/dist/chunk-NBZ7RKX3.js +46 -0
  163. package/dist/{chunk-EPCJQQWD.js → chunk-NC56V6KQ.js} +6 -4
  164. package/dist/{chunk-7UOMVMFG.js → chunk-NN6AXKFX.js} +17 -15
  165. package/dist/{chunk-BIGDQDHD.js → chunk-NOU5IBLM.js} +6 -4
  166. package/dist/{chunk-LFGTYX5U.js → chunk-NQDHRT2H.js} +20 -18
  167. package/dist/{chunk-KDNTAPLX.js → chunk-NTEPBOAF.js} +6 -4
  168. package/dist/{chunk-LYBNHMVZ.js → chunk-NTOPAOBY.js} +3 -3
  169. package/dist/{chunk-R44CYFPV.js → chunk-NX5IPHI3.js} +19 -16
  170. package/dist/{chunk-GCWRWSU7.js → chunk-O4ZWZZZT.js} +6 -4
  171. package/dist/chunk-OCU5S2XG.js +36 -0
  172. package/dist/{chunk-SU74NDMQ.js → chunk-OKSRK2LJ.js} +19 -17
  173. package/dist/{chunk-XD75VZIH.js → chunk-OSWOIFRQ.js} +9 -7
  174. package/dist/{chunk-PKBHS4AA.js → chunk-OSZTENIA.js} +54 -21
  175. package/dist/{chunk-NDCF4R6S.js → chunk-OTUBMKSG.js} +10 -8
  176. package/dist/{chunk-THDMSZ3R.js → chunk-OYKNPZCV.js} +2837 -693
  177. package/dist/{chunk-ZQ3ON2VQ.js → chunk-OYTSRNSZ.js} +8 -6
  178. package/dist/chunk-OYZ64UMQ.js +67 -0
  179. package/dist/{chunk-UF4AZOZB.js → chunk-PB3NCPRF.js} +10 -8
  180. package/dist/chunk-PIPJZIJE.js +47 -0
  181. package/dist/{chunk-2RLKFUUL.js → chunk-PIPYJTIL.js} +27 -24
  182. package/dist/{chunk-MZCGSXVR.js → chunk-PUMNCWHJ.js} +15 -13
  183. package/dist/{chunk-X5F3Q5LV.js → chunk-PZBNDFZ7.js} +35 -25
  184. package/dist/chunk-Q2ULHBCJ.js +59 -0
  185. package/dist/{chunk-ZJFRMSJT.js → chunk-Q5QSWV2R.js} +14 -12
  186. package/dist/{chunk-Q2TECDIT.js → chunk-QFDPX6C4.js} +2886 -20703
  187. package/dist/{chunk-WG5U3F5V.js → chunk-QGBS4GMS.js} +14 -12
  188. package/dist/{chunk-BTGPE6CR.js → chunk-QIDSEHJA.js} +17 -15
  189. package/dist/{chunk-Q6DFNVRJ.js → chunk-QJ3AYXVO.js} +14 -12
  190. package/dist/{chunk-EBL2R3YG.js → chunk-QK6CGRKK.js} +6 -4
  191. package/dist/{chunk-S7FCV7S5.js → chunk-QOC3Q4UU.js} +1 -1
  192. package/dist/{chunk-JJF6HALY.js → chunk-QPLNB2BM.js} +5 -3
  193. package/dist/chunk-QVF4KYIO.js +71 -0
  194. package/dist/{chunk-6OJQOPUN.js → chunk-QXXEO4TF.js} +5 -3
  195. package/dist/{chunk-F3P7N7SF.js → chunk-QYFNVQLK.js} +1 -1
  196. package/dist/{chunk-6MUGR4LS.js → chunk-R6CJOMPC.js} +106 -29
  197. package/dist/{chunk-BDKC6H5P.js → chunk-ROWZYQOI.js} +9 -7
  198. package/dist/{chunk-2MMCFP5C.js → chunk-RQAMZVWW.js} +10 -8
  199. package/dist/chunk-RQSUFGU2.js +55 -0
  200. package/dist/{chunk-SDKLKB6I.js → chunk-RRKM3GJA.js} +38 -28
  201. package/dist/{chunk-OHNCWBKF.js → chunk-RSHVSXPJ.js} +7 -5
  202. package/dist/chunk-RSKMV3VC.js +22 -0
  203. package/dist/{chunk-U76OWS3Q.js → chunk-RU5W7JJQ.js} +25 -23
  204. package/dist/{chunk-63YRMR6J.js → chunk-RYY554OA.js} +7 -5
  205. package/dist/{chunk-5NMKONLP.js → chunk-SGYQORAD.js} +7 -3
  206. package/dist/{chunk-JA5FI3QV.js → chunk-SLGUSFOD.js} +3 -3
  207. package/dist/{chunk-M3NANSDZ.js → chunk-SUAHNYNQ.js} +17 -15
  208. package/dist/{chunk-QAXW2N3B.js → chunk-SUYC5NP6.js} +34 -34
  209. package/dist/{chunk-FFTRTL6R.js → chunk-SWSGRRNO.js} +6 -4
  210. package/dist/{chunk-UWOJLHFT.js → chunk-SYLXQNPC.js} +38 -24
  211. package/dist/chunk-T24TBI7F.js +54 -0
  212. package/dist/chunk-T2HXLDY3.js +55 -0
  213. package/dist/{chunk-O4GXGGBX.js → chunk-T5NH5L7A.js} +16 -13
  214. package/dist/{chunk-KXITGYLF.js → chunk-TAR6T2RE.js} +4 -2
  215. package/dist/chunk-TBQHBOFF.js +324 -0
  216. package/dist/{chunk-LKOR5UET.js → chunk-TKE6ZJMM.js} +26 -24
  217. package/dist/chunk-TKEXS74L.js +52 -0
  218. package/dist/{chunk-J3IOLXWM.js → chunk-TXYMNKGM.js} +16 -14
  219. package/dist/{chunk-IDKCWSM5.js → chunk-U2JTTRKS.js} +401 -115
  220. package/dist/{chunk-TNR75OXT.js → chunk-U37ZOYJJ.js} +11 -8
  221. package/dist/{chunk-7MJSQTL5.js → chunk-U57VLY6X.js} +23 -21
  222. package/dist/{chunk-BHT7QK4G.js → chunk-U66RQUFC.js} +6 -4
  223. package/dist/chunk-UCFNHK5L.js +50 -0
  224. package/dist/{chunk-IFKEI4SA.js → chunk-UI6KNLSO.js} +31 -11
  225. package/dist/{chunk-7GJS6DNX.js → chunk-UKRJ2ISN.js} +13 -3
  226. package/dist/chunk-UWJOM457.js +232 -0
  227. package/dist/{chunk-D73UEXYW.js → chunk-UXO25YBN.js} +3 -3
  228. package/dist/chunk-VE2T5URA.js +51 -0
  229. package/dist/{chunk-C3RY6KU6.js → chunk-W4EG25TI.js} +513 -172
  230. package/dist/{chunk-O66DM6DJ.js → chunk-WAAPMZWO.js} +6 -4
  231. package/dist/{chunk-R7NYHMUU.js → chunk-WECCLSYY.js} +4884 -3669
  232. package/dist/chunk-WQDJGNJQ.js +45 -0
  233. package/dist/{chunk-UWMJKX5U.js → chunk-WWSCJBF6.js} +14 -12
  234. package/dist/{chunk-N3XIYPU3.js → chunk-X7HFXXTZ.js} +16 -13
  235. package/dist/chunk-X7XVMYIL.js +5 -0
  236. package/dist/{chunk-NR2UJWOC.js → chunk-XERIHPBF.js} +12 -9
  237. package/dist/{chunk-JRBFANFE.js → chunk-XKNISZ6N.js} +21 -18
  238. package/dist/{chunk-PPD7HTDP.js → chunk-XNH5ZWIA.js} +20 -18
  239. package/dist/{chunk-7IOWA5D5.js → chunk-XNW3EDCY.js} +13 -3
  240. package/dist/{chunk-2LGRMVCA.js → chunk-XPXOKHNZ.js} +13 -11
  241. package/dist/{chunk-ZJXLNDH4.js → chunk-XXRBAJ36.js} +14 -12
  242. package/dist/{chunk-EHA7RMZ3.js → chunk-YA2IJJ6N.js} +8 -6
  243. package/dist/{chunk-LGBMTVNT.js → chunk-YB5AKYVQ.js} +7 -5
  244. package/dist/{chunk-JB5LINEM.js → chunk-YDDLVBQ4.js} +3 -3
  245. package/dist/{chunk-PAQ2AS5E.js → chunk-YF6N45QN.js} +1 -1
  246. package/dist/{chunk-WMTRHUI5.js → chunk-YHWX5LPT.js} +23 -21
  247. package/dist/{chunk-KQGURXFU.js → chunk-YLZNTVZR.js} +36 -13
  248. package/dist/{chunk-NY2XSR5K.js → chunk-YUJTOALL.js} +118 -18
  249. package/dist/{chunk-VZALIKIF.js → chunk-Z5YDTIWQ.js} +19 -16
  250. package/dist/{chunk-LDLL7LB3.js → chunk-ZCU2UY47.js} +24 -22
  251. package/dist/{chunk-OWNCM4ZN.js → chunk-ZIAYNHHE.js} +197 -17
  252. package/dist/{chunk-WJF2CS6M.js → chunk-ZJ2W2RDE.js} +7 -5
  253. package/dist/{chunk-REWWDVQB.js → chunk-ZRQHSMPK.js} +6 -4
  254. package/dist/{chunk-O7XLYEFA.js → chunk-ZSD75FYI.js} +57 -23
  255. package/dist/chunk-ZSNNF26J.js +220 -0
  256. package/dist/{chunk-BQ4SQQC6.js → chunk-ZX6RAGE6.js} +11 -9
  257. package/dist/files.json +583 -515
  258. package/dist/packages/sdk/npm/index.js +6428 -4882
  259. package/dist/packages/ui/dist/assets/{elk-api-CIf-0gz5.js → elk-api--rH6Kdl4.js} +2 -2
  260. package/dist/packages/ui/dist/assets/index-Bf2immpE.css +1 -0
  261. package/dist/packages/ui/dist/assets/index-CH4nGIW3.js +62 -0
  262. package/dist/packages/ui/dist/index.html +2 -2
  263. package/package.json +6 -6
  264. package/dist/chunk-2SKB4O2E.js +0 -59
  265. package/dist/chunk-4U276ICE.js +0 -39
  266. package/dist/chunk-6H3Z5JHH.js +0 -64
  267. package/dist/chunk-AFZ3QA6W.js +0 -47
  268. package/dist/chunk-AVTBS4OW.js +0 -49
  269. package/dist/chunk-C4R4JLHE.js +0 -40
  270. package/dist/chunk-CBGGOQWU.js +0 -82
  271. package/dist/chunk-CMDXGQTS.js +0 -47
  272. package/dist/chunk-DLOBCJL6.js +0 -48
  273. package/dist/chunk-GIW4ZVDB.js +0 -39
  274. package/dist/chunk-IP74LCOQ.js +0 -57
  275. package/dist/chunk-IPHHDDC6.js +0 -45
  276. package/dist/chunk-KJXD4PNL.js +0 -50
  277. package/dist/chunk-KN5BXMWN.js +0 -44
  278. package/dist/chunk-MFHL5URL.js +0 -31
  279. package/dist/chunk-NXJ5URP6.js +0 -51
  280. package/dist/chunk-OMI6FPPN.js +0 -43
  281. package/dist/chunk-ONUPY3H6.js +0 -53
  282. package/dist/chunk-OTLDSZDV.js +0 -69
  283. package/dist/chunk-PSOFBQWB.js +0 -42
  284. package/dist/chunk-T4YPZIQN.js +0 -36
  285. package/dist/chunk-TUULXQRW.js +0 -420
  286. package/dist/chunk-WNKPRSGI.js +0 -36
  287. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +0 -47
  288. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  289. package/dist/{chunk-24XLDU72.js → chunk-PXMV2LLY.js} +3 -3
@@ -10,17 +10,17 @@ import {
10
10
  parseHeader,
11
11
  renderAssistantFiles,
12
12
  writeAssistantFiles
13
- } from "./chunk-BEVTIBRH.js";
13
+ } from "./chunk-J4K4C4T5.js";
14
14
  import {
15
15
  BUILT_IN_CHECKS,
16
16
  STARTER_REVIEW_PATH,
17
17
  starterReviewText
18
- } from "./chunk-S4PMJU6H.js";
18
+ } from "./chunk-A6ZG3UOS.js";
19
19
  import {
20
20
  changeFootprint,
21
21
  changeStore,
22
22
  loadChangeContext
23
- } from "./chunk-IDKCWSM5.js";
23
+ } from "./chunk-U2JTTRKS.js";
24
24
  import {
25
25
  ORG_FLOW,
26
26
  createOpenSpec,
@@ -28,25 +28,33 @@ import {
28
28
  storeIdOf,
29
29
  writeOrgFlowSchema,
30
30
  writeStoreMarker
31
- } from "./chunk-UUU4CLJG.js";
31
+ } from "./chunk-5MKV4TV6.js";
32
32
  import {
33
33
  readCatalog
34
- } from "./chunk-J2JAKCIW.js";
34
+ } from "./chunk-25CUJJTP.js";
35
35
  import {
36
36
  componentExtractor
37
- } from "./chunk-CQDGOPGH.js";
37
+ } from "./chunk-5FPAKAGE.js";
38
38
  import {
39
39
  DEFAULT_IGNORES,
40
40
  fsRepo,
41
41
  memoryRepo,
42
42
  runExtractor
43
- } from "./chunk-3NFFJL5D.js";
43
+ } from "./chunk-IJQHBK76.js";
44
44
  import {
45
+ cloneUrlKey,
45
46
  createGit,
46
47
  ensureGitignore
47
- } from "./chunk-PKBHS4AA.js";
48
+ } from "./chunk-OSZTENIA.js";
48
49
  import {
49
50
  ChangeLifecycle,
51
+ eolOf,
52
+ inEol
53
+ } from "./chunk-GJVCBTSO.js";
54
+ import {
55
+ LOCAL_ONLY
56
+ } from "./chunk-G3ZFEHCX.js";
57
+ import {
50
58
  ChecklistPack,
51
59
  ChecklistRule,
52
60
  DEFAULT_CHANGE_TYPES,
@@ -59,11 +67,9 @@ import {
59
67
  SOURCES_SCHEMA_VERSION,
60
68
  SkillMeta,
61
69
  Sources,
70
+ WORKSPACE_SCHEMA_VERSION,
62
71
  loadOrgPack
63
- } from "./chunk-Q2TECDIT.js";
64
- import {
65
- LOCAL_ONLY
66
- } from "./chunk-TUULXQRW.js";
72
+ } from "./chunk-QFDPX6C4.js";
67
73
  import {
68
74
  require_dist
69
75
  } from "./chunk-BQGDB6ZL.js";
@@ -407,7 +413,7 @@ async function detectRepoType(repo, o = {}) {
407
413
 
408
414
  // packages/adopt/dist/discover.js
409
415
  var import_yaml2 = __toESM(require_dist(), 1);
410
- import { readdir as readdir2, realpath } from "node:fs/promises";
416
+ import { readdir as readdir2, readFile as readFile2, realpath } from "node:fs/promises";
411
417
  import { basename, isAbsolute, join as join3, relative as relative2, resolve } from "node:path";
412
418
  var UNASSIGNED = "unassigned";
413
419
  var MockRepoListing = class {
@@ -430,12 +436,15 @@ var MockRepoListing = class {
430
436
  throw new Error(`no repo ${repo.name} on the mock Git host`);
431
437
  }
432
438
  };
433
- async function originUrl(dir) {
434
- const cfg = await readText(join3(dir, ".git", "config"));
435
- if (!cfg)
439
+ function withoutCredentials(url) {
440
+ return url.replace(/^(https?:\/\/)[^/@]*@/i, "$1");
441
+ }
442
+ async function originUrl(dir, git) {
443
+ if (!await exists(join3(dir, ".git")))
436
444
  return void 0;
437
- const m = /\[remote "origin"\][^[]*?url\s*=\s*(\S+)/.exec(cfg);
438
- return m?.[1]?.replace(/^([a-z][a-z0-9+.-]*:\/\/)[^/@]+@/i, "$1");
445
+ const asked = await isDir(join3(dir, ".git")) ? ["config", "--file", join3(dir, ".git", "config"), "--get", "remote.origin.url"] : ["config", "--get", "remote.origin.url"];
446
+ const url = await git(asked, dir).then((r) => r.stdout.replace(/\r?\n$/, ""), () => "");
447
+ return url ? withoutCredentials(url) : void 0;
439
448
  }
440
449
  async function headBranch(dir) {
441
450
  const head = await readText(join3(dir, ".git", "HEAD"));
@@ -600,27 +609,41 @@ function questionsFor(entry, det) {
600
609
  return q;
601
610
  }
602
611
  async function existingManifest(path) {
603
- const text2 = await readText(path);
612
+ const text2 = await readFile2(path, "utf8").catch(() => void 0);
604
613
  if (text2 === void 0)
605
614
  return void 0;
606
615
  try {
607
616
  const r = RepoManifest.safeParse((0, import_yaml2.parse)(text2));
608
- return r.success ? r.data.repos : null;
617
+ return { text: text2, repos: r.success ? r.data.repos : null };
609
618
  } catch {
610
- return null;
619
+ return { text: text2, repos: null };
611
620
  }
612
621
  }
622
+ var unset = (k, v) => v === void 0 || Array.isArray(v) && v.length === 0 || k === "archived" && v === false;
623
+ function entryOut(r) {
624
+ const out = {};
625
+ for (const [k, v] of Object.entries(r)) {
626
+ if (unset(k, v))
627
+ continue;
628
+ out[k] = k === "modules" ? v.map((m) => Object.fromEntries(Object.entries(m).filter(([mk, mv]) => !unset(mk, mv)))) : v;
629
+ }
630
+ return out;
631
+ }
632
+ function sameRepo(a, b) {
633
+ const ka = cloneUrlKey(a.url);
634
+ const kb = cloneUrlKey(b.url);
635
+ return ka !== void 0 && kb !== void 0 ? ka === kb : a.url.trim() === b.url.trim();
636
+ }
613
637
  var HEADER = "# Proposed by atticus repos discover. Types come from each repo's files; owners marked\n# `unassigned` and missing systems are questions (see QUESTIONS.md). Review before use.\n";
614
638
  async function reposDiscover(root, source, o = {}, paths) {
615
639
  const p = paths ?? await resolveMetarepo(root);
640
+ const git = o.git ?? createGit({ timeoutMs: 15e3 });
616
641
  let platform = o.platform;
617
642
  if (!platform) {
618
- try {
619
- const profiles = (await readdir2(join3(p.orgPackDir, "profiles"), { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => d.name);
620
- platform = profiles.length === 1 ? profiles[0] : "default";
621
- } catch {
622
- platform = "default";
623
- }
643
+ const profiles = (await readdir2(join3(p.orgPackDir, "profiles"), { withFileTypes: true }).catch(() => [])).filter((d) => d.isDirectory()).map((d) => d.name).sort();
644
+ if (profiles.length > 1)
645
+ throw new AdoptError("usage", `There are ${profiles.length} platform profiles (${profiles.join(", ")}): say which the repos belong to with --platform.`);
646
+ platform = profiles[0] ?? "default";
624
647
  }
625
648
  const found = [];
626
649
  let skipped = [];
@@ -639,7 +662,7 @@ async function reposDiscover(root, source, o = {}, paths) {
639
662
  const det = await detectRepoType(repo);
640
663
  const rel = toPosix(relative2(root, dir));
641
664
  const inside = !rel.startsWith("..") && !isAbsolute(rel);
642
- const url = o.inPlace && inside ? rel === "" ? "." : `./${rel}` : await originUrl(dir) ?? toPosix(resolve(dir));
665
+ const url = o.inPlace && inside ? rel === "" ? "." : `./${rel}` : await originUrl(dir, git) ?? toPosix(resolve(dir));
643
666
  const entry = {
644
667
  id: uniqueId(dir === source.dir ? basename(resolve(dir)) : basename(dir)),
645
668
  url,
@@ -679,45 +702,67 @@ async function reposDiscover(root, source, o = {}, paths) {
679
702
  });
680
703
  }
681
704
  }
682
- const questions = found.flatMap((f) => questionsFor(f.entry, f.detection));
683
705
  const manifestPath = join3(p.orgPackDir, "profiles", platform, "repos.manifest.yaml");
684
706
  const current = await existingManifest(manifestPath);
685
- const result = { platform, repos: found, skipped, questions, wrote: "nothing" };
707
+ const kept = current?.repos ?? [];
708
+ const renamed = [];
709
+ const taken = /* @__PURE__ */ new Set([...kept.map((r) => r.id), ...found.map((f) => f.entry.id)]);
710
+ const added = [];
711
+ for (const f of found) {
712
+ if (kept.some((k) => sameRepo(k, f.entry)))
713
+ continue;
714
+ if (kept.some((k) => k.id === f.entry.id)) {
715
+ let id = f.entry.id;
716
+ for (let n = 2; taken.has(id); n++)
717
+ id = `${f.entry.id}-${n}`;
718
+ taken.add(id);
719
+ renamed.push({
720
+ from: f.entry.id,
721
+ to: id,
722
+ why: `the manifest lists ${f.entry.id} already, with another clone URL`
723
+ });
724
+ f.entry = { ...f.entry, id };
725
+ }
726
+ added.push(f);
727
+ }
728
+ const questions = found.flatMap((f) => questionsFor(f.entry, f.detection));
729
+ const result = {
730
+ platform,
731
+ repos: found,
732
+ skipped,
733
+ questions,
734
+ renamed,
735
+ wrote: "nothing"
736
+ };
686
737
  if (o.dryRun)
687
738
  return result;
688
- const doc = (repos) => (0, import_yaml2.stringify)({
689
- schemaVersion: 1,
690
- platform,
691
- repos: repos.map((r) => ({
692
- id: r.id,
693
- url: r.url,
694
- defaultBranch: r.defaultBranch,
695
- ...r.branches.length ? { branches: r.branches } : {},
696
- type: r.type,
697
- owner: r.owner,
698
- ...r.system ? { system: r.system } : {},
699
- ...r.component ? { component: r.component } : {},
700
- ...r.archived ? { archived: true } : {},
701
- ...r.modules.length ? {
702
- modules: r.modules.map((m) => ({
703
- path: m.path,
704
- component: m.component,
705
- ...m.hosts.length ? { hosts: m.hosts } : {}
706
- }))
707
- } : {}
708
- }))
709
- }, { lineWidth: 0 });
739
+ const fresh = (repos) => (0, import_yaml2.stringify)({ schemaVersion: WORKSPACE_SCHEMA_VERSION, platform, repos: repos.map(entryOut) }, { lineWidth: 0 });
740
+ const appended = (text2, repos) => {
741
+ const doc = (0, import_yaml2.parseDocument)(text2.replace(/\r\n/g, "\n"));
742
+ let list = doc.get("repos");
743
+ if (!(0, import_yaml2.isSeq)(list)) {
744
+ doc.set("repos", doc.createNode([]));
745
+ list = doc.get("repos");
746
+ }
747
+ if (!(0, import_yaml2.isSeq)(list))
748
+ return fresh(repos);
749
+ if (!list.items.length)
750
+ list.flow = false;
751
+ for (const r of repos)
752
+ list.add(doc.createNode(entryOut(r)));
753
+ return inEol(doc.toString({ lineWidth: 0, flowCollectionPadding: /\[ \S/.test(text2) }), eolOf(text2));
754
+ };
710
755
  const proposalDir = join3(p.proposalsDir, "repos", platform);
711
- if (current === void 0 || current !== null && current.length === 0) {
712
- await writeNew(manifestPath, HEADER + doc(found.map((f) => f.entry)), false);
756
+ if (current === void 0 || current.repos !== null && current.repos.length === 0) {
757
+ const entries = found.map((f) => f.entry);
758
+ await writeNew(manifestPath, current ? inEol((current.text.includes(HEADER) ? "" : HEADER) + appended(current.text, entries), eolOf(current.text)) : HEADER + fresh(entries), false);
713
759
  result.wrote = "manifest";
714
760
  result.file = toPosix(relative2(root, manifestPath));
761
+ await writeNew(join3(p.orgPackDir, "profiles", platform, "profile.yaml"), (0, import_yaml2.stringify)({ schemaVersion: 1, platform, name: platform, systems: [] }, { lineWidth: 0 }));
715
762
  } else {
716
- const kept = current ?? [];
717
- const have = new Set(kept.flatMap((r) => [r.id, r.url]));
718
- const added = found.filter((f) => !have.has(f.entry.id) && !have.has(f.entry.url));
719
763
  const file = join3(proposalDir, "repos.manifest.yaml");
720
- await writeNew(file, HEADER + doc([...kept, ...added.map((a) => a.entry)]), false);
764
+ const entries = added.map((a) => a.entry);
765
+ await writeNew(file, current.repos === null ? HEADER + fresh(entries) : inEol(HEADER + appended(current.text, entries), eolOf(current.text)), false);
721
766
  result.wrote = "proposal";
722
767
  result.file = toPosix(relative2(root, file));
723
768
  }
@@ -764,6 +809,18 @@ var FOLDER_READMES = [
764
809
  "# Service-desk templates\n\nOne YAML file per request template. `atticus templates draft` proposes them from wikis and past tickets.\n"
765
810
  ]
766
811
  ];
812
+ function runtimeText(gitHost) {
813
+ if (!gitHost)
814
+ return yaml(DEFAULT_RUNTIME, DEFAULT_HEADER);
815
+ const doc = new import_yaml3.Document(DEFAULT_RUNTIME);
816
+ const host = gitHost.metarepo ? doc.createNode({ type: "manual", settings: { metarepo: gitHost.metarepo } }) : doc.createNode("manual");
817
+ doc.setIn(["adapters", "gitHost"], host);
818
+ const adapters = doc.get("adapters");
819
+ if ((0, import_yaml3.isMap)(adapters))
820
+ adapters.flow = false;
821
+ return `# ${DEFAULT_HEADER}
822
+ ${doc.toString({ lineWidth: 0 })}`;
823
+ }
767
824
  async function writeStartingPack(dir, p) {
768
825
  const files = [
769
826
  [
@@ -782,13 +839,14 @@ async function writeStartingPack(dir, p) {
782
839
  ],
783
840
  [
784
841
  `profiles/${p.platform}/repos.manifest.yaml`,
785
- yaml({ schemaVersion: 1, platform: p.platform, repos: [] })
842
+ // Round 50: at the current version, so a new metarepo has no manifest step to upgrade.
843
+ yaml({ schemaVersion: WORKSPACE_SCHEMA_VERSION, platform: p.platform, repos: [] })
786
844
  ],
787
845
  ["checklists/README.md", p.defaults ? STARTER_CHECKLISTS_README : CHECKLISTS_README],
788
846
  ...FOLDER_READMES
789
847
  ];
790
848
  if (p.defaults)
791
- files.push([STARTER_REVIEW_PATH, await starterReviewText()], ["change-types.yaml", yaml(DEFAULT_CHANGE_TYPES, DEFAULT_HEADER)], ["gates.yaml", yaml(DEFAULT_GATES, DEFAULT_HEADER)], ["runtime.yaml", yaml(DEFAULT_RUNTIME, DEFAULT_HEADER)], ["test-strategy.yaml", yaml(DEFAULT_TEST_STRATEGY, DEFAULT_HEADER)]);
849
+ files.push([STARTER_REVIEW_PATH, await starterReviewText()], ["change-types.yaml", yaml(DEFAULT_CHANGE_TYPES, DEFAULT_HEADER)], ["gates.yaml", yaml(DEFAULT_GATES, DEFAULT_HEADER)], ["runtime.yaml", runtimeText(p.gitHost)], ["test-strategy.yaml", yaml(DEFAULT_TEST_STRATEGY, DEFAULT_HEADER)]);
792
850
  const written = [];
793
851
  for (const [rel, text2] of files)
794
852
  if (await writeNew(join4(dir, ...rel.split("/")), text2))
@@ -797,9 +855,25 @@ async function writeStartingPack(dir, p) {
797
855
  }
798
856
 
799
857
  // packages/adopt/dist/init.js
800
- import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile2 } from "node:fs/promises";
858
+ import { mkdir as mkdir2, readFile as readFile3, writeFile as writeFile2 } from "node:fs/promises";
801
859
  import { dirname as dirname2, join as join5, resolve as resolve2 } from "node:path";
802
860
  var ATTICUS_FOLDER_IGNORE = ["/.atticus/*", "!/.atticus/metarepo.yaml"];
861
+ function metarepoIdFromUrl(url) {
862
+ const u = url.trim().replace(/^([a-z][a-z0-9+.-]*:\/\/[^?#]*)[?#].*$/i, "$1").replace(/[/\\]+$/, "").replace(/\.git$/i, "");
863
+ if (!u)
864
+ return void 0;
865
+ const underGit = /\/_git\/([^/]+)/.exec(u);
866
+ if (underGit)
867
+ return decodeURIComponent(underGit[1]);
868
+ const scheme = /^[a-z][a-z0-9+.-]*:\/\/[^/]+\/(.+)$/i.exec(u);
869
+ const scp = /^[^/\\@\s]+@[^:/\\]+:(.+)$/.exec(u);
870
+ const path = scheme?.[1] ?? scp?.[1];
871
+ if (path) {
872
+ const parts = path.split("/").filter(Boolean).map(decodeURIComponent);
873
+ return parts.slice(-2).join("/") || void 0;
874
+ }
875
+ return u.split(/[/\\]/).pop() || void 0;
876
+ }
803
877
  async function insideRepo(dir) {
804
878
  for (let d = resolve2(dir); ; d = dirname2(d)) {
805
879
  if (await exists(join5(d, ".git")))
@@ -866,12 +940,14 @@ async function init(dir, o) {
866
940
  defaults: false
867
941
  });
868
942
  } else {
943
+ const origin = o.metarepo ?? (gitState !== "inside" ? void 0 : await (o.git ?? createGit())(["config", "--get", "remote.origin.url"], dir).then((r) => metarepoIdFromUrl(r.stdout), () => void 0));
869
944
  await writeStartingPack(orgPack, {
870
945
  name: o.name,
871
946
  platform: o.platform,
872
947
  owner,
873
948
  sources: { schemaVersion: SOURCES_SCHEMA_VERSION },
874
- defaults: true
949
+ defaults: true,
950
+ gitHost: origin ? { metarepo: origin } : {}
875
951
  });
876
952
  }
877
953
  let mode = "folders";
@@ -908,11 +984,10 @@ async function init(dir, o) {
908
984
  await writeNew(join5(dir, "README.md"), README(o.name, o.platform));
909
985
  await ensureGitignore(dir);
910
986
  const gi = join5(dir, ".gitignore");
911
- const text2 = await readFile2(gi, "utf8");
912
- if (!/^\/?\.atticus(\/\*?)?$/m.test(text2))
913
- await writeFile2(gi, `${text2.endsWith("\n") ? text2 : `${text2}
914
- `}${ATTICUS_FOLDER_IGNORE.join("\n")}
915
- `, "utf8");
987
+ const text2 = await readFile3(gi, "utf8");
988
+ const eol = text2.includes("\r\n") ? "\r\n" : "\n";
989
+ if (!/^\/?\.atticus(\/\*?)?\r?$/m.test(text2))
990
+ await writeFile2(gi, `${text2.endsWith("\n") ? text2 : `${text2}${eol}`}${ATTICUS_FOLDER_IGNORE.join(eol)}${eol}`, "utf8");
916
991
  const op = await loadOrgPack(orgPack);
917
992
  let assistantFiles = 0;
918
993
  try {
@@ -1013,6 +1088,8 @@ var GITIGNORE = `# Atticus local state in an adopted repo: never committed.
1013
1088
  ${STATE_FOLDERS.map((f) => `/${f}/`).join("\n")}
1014
1089
  /executors.yaml
1015
1090
  /inputs/inbox/
1091
+ # This machine's own files: never committed.
1092
+ ${LOCAL_ONLY.join("\n")}
1016
1093
  `;
1017
1094
  var README2 = `# .atticus
1018
1095
 
@@ -1105,7 +1182,7 @@ async function adopt(path, o = {}) {
1105
1182
  }
1106
1183
 
1107
1184
  // packages/adopt/dist/unadopt.js
1108
- import { readFile as readFile3, rm, rmdir, writeFile as writeFile4 } from "node:fs/promises";
1185
+ import { readFile as readFile4, rm, rmdir, writeFile as writeFile4 } from "node:fs/promises";
1109
1186
  import { join as join7, resolve as resolve4 } from "node:path";
1110
1187
  var ROOT_STATE = ["workspace", ".index", ".runs"];
1111
1188
  var CHANGE_OWNED = /* @__PURE__ */ new Set(["change.yaml", "brief.md", "repos.yaml", "ux.md"]);
@@ -1157,7 +1234,7 @@ async function unadopt(path) {
1157
1234
  const layout = await readLayout(join7(a, "org-pack"));
1158
1235
  let snap;
1159
1236
  try {
1160
- snap = JSON.parse(await readFile3(join7(root, SNAPSHOT_FILE), "utf8"));
1237
+ snap = JSON.parse(await readFile4(join7(root, SNAPSHOT_FILE), "utf8"));
1161
1238
  } catch {
1162
1239
  snap = void 0;
1163
1240
  }
@@ -1195,7 +1272,7 @@ async function unadopt(path) {
1195
1272
  for (const f of files) {
1196
1273
  const full = join7(root, f);
1197
1274
  if (existed(f)) {
1198
- const now = sha256(await readFile3(full));
1275
+ const now = sha256(await readFile4(full));
1199
1276
  if (now === before[f])
1200
1277
  continue;
1201
1278
  const text2 = await readText(full) ?? "";
@@ -1874,7 +1951,7 @@ async function openSource(source, o) {
1874
1951
 
1875
1952
  // packages/adopt/dist/absorb/absorb.js
1876
1953
  var import_yaml7 = __toESM(require_dist(), 1);
1877
- import { mkdir as mkdir5, readFile as readFile4, rm as rm3, writeFile as writeFile5 } from "node:fs/promises";
1954
+ import { mkdir as mkdir5, readFile as readFile5, rm as rm3, writeFile as writeFile5 } from "node:fs/promises";
1878
1955
  import { dirname as dirname4, join as join9 } from "node:path";
1879
1956
  var DOC = /(^|\/)(README|LICENSE|LICENCE|CHANGELOG|CONTRIBUTING|CODE_OF_CONDUCT|SECURITY|NOTICE|CODEOWNERS)(\.(md|txt|rst|adoc))?$/i;
1880
1957
  var CODE = /\.(java|kt|scala|groovy|ts|tsx|js|jsx|mjs|cjs|vue|py|go|cs|fs|rb|php|rs|c|h|cpp|swift|sql|sh|ps1|bat|cbl|cob|jcl|cpy|tf|hcl|gradle|xml|properties|toml|lock|csproj|sln|dockerfile|ini|cfg)$|(^|\/)(Dockerfile|Makefile|tspconfig\.ya?ml|go\.mod|go\.sum|package\.json|package-lock\.json|pnpm-lock\.yaml|yarn\.lock|requirements\.txt|\.gitignore|\.gitattributes|\.editorconfig|\.npmrc|\.nvmrc)$/i;
@@ -1910,7 +1987,7 @@ async function absorb(root, source, o, paths) {
1910
1987
  fmt.openspec = theirs.sources.layout.openspec;
1911
1988
  }
1912
1989
  const files = (await listFiles(dir, { skipNames: /* @__PURE__ */ new Set([".git", "node_modules"]) })).filter((f) => !isLocalState(f, fmt.format === "atticus"));
1913
- const read = async (f) => (await readFile4(join9(dir, f), "utf8")).replace(/\r\n/g, "\n");
1990
+ const read = async (f) => (await readFile5(join9(dir, f), "utf8")).replace(/\r\n/g, "\n");
1914
1991
  const items = [];
1915
1992
  const problems = [];
1916
1993
  const claimed = /* @__PURE__ */ new Set();
@@ -2443,7 +2520,7 @@ async function absorb(root, source, o, paths) {
2443
2520
  files: [],
2444
2521
  problems,
2445
2522
  ms: 0,
2446
- sourceFiles: Object.fromEntries(await Promise.all(files.map(async (f) => [f, sha256(await readFile4(join9(dir, f)))])))
2523
+ sourceFiles: Object.fromEntries(await Promise.all(files.map(async (f) => [f, sha256(await readFile5(join9(dir, f)))])))
2447
2524
  };
2448
2525
  if (!o.dryRun) {
2449
2526
  const out = join9(p.proposalsDir, "absorb", o.id);
@@ -2559,21 +2636,21 @@ function prMd(r) {
2559
2636
  }
2560
2637
 
2561
2638
  // packages/adopt/dist/absorb/refresh.js
2562
- import { readFile as readFile5 } from "node:fs/promises";
2639
+ import { readFile as readFile6 } from "node:fs/promises";
2563
2640
  import { join as join10 } from "node:path";
2564
2641
  var META = /* @__PURE__ */ new Set(["SUMMARY.md", "PR.md", "inventory.json"]);
2565
2642
  async function snapshot(dir) {
2566
2643
  const out = /* @__PURE__ */ new Map();
2567
2644
  for (const f of await listFiles(dir))
2568
2645
  if (!META.has(f))
2569
- out.set(f, sha256(await readFile5(join10(dir, f))));
2646
+ out.set(f, sha256(await readFile6(join10(dir, f))));
2570
2647
  return out;
2571
2648
  }
2572
2649
  async function refreshAbsorbed(root, id, o = {}) {
2573
2650
  const p = await resolveMetarepo(root);
2574
2651
  const listed = (await loadOrgPack(p.orgPackDir)).sources.absorbed.find((a) => a.id === id);
2575
2652
  const proposal = join10(p.proposalsDir, "absorb", id);
2576
- const inventory = JSON.parse(await readFile5(join10(proposal, "inventory.json"), "utf8").catch(() => "{}"));
2653
+ const inventory = JSON.parse(await readFile6(join10(proposal, "inventory.json"), "utf8").catch(() => "{}"));
2577
2654
  const entry = listed ?? inventory.entry;
2578
2655
  if (!entry)
2579
2656
  throw new AdoptError("not-found", `There is no absorbed source ${id}: absorb it first with atticus absorb <git-url|path> --id ${id}.`);
@@ -2620,7 +2697,7 @@ async function refreshAllAbsorbed(root, o = {}) {
2620
2697
 
2621
2698
  // packages/adopt/dist/absorb/accept.js
2622
2699
  var import_yaml8 = __toESM(require_dist(), 1);
2623
- import { copyFile, mkdir as mkdir6, readFile as readFile6, writeFile as writeFile6 } from "node:fs/promises";
2700
+ import { copyFile, mkdir as mkdir6, readFile as readFile7, writeFile as writeFile6 } from "node:fs/promises";
2624
2701
  import { dirname as dirname5, join as join11, relative as relative3 } from "node:path";
2625
2702
  function targetOf(p, file) {
2626
2703
  const [head, ...rest] = file.split("/");
@@ -2653,8 +2730,8 @@ async function acceptAbsorbed(root, id, o = {}, paths) {
2653
2730
  if (!to)
2654
2731
  continue;
2655
2732
  const from = join11(dir, ...f.split("/"));
2656
- const theirs = await readFile6(from);
2657
- const ours = await readFile6(to).catch(() => void 0);
2733
+ const theirs = await readFile7(from);
2734
+ const ours = await readFile7(to).catch(() => void 0);
2658
2735
  if (ours && ours.equals(theirs)) {
2659
2736
  out.same.push(rel(to));
2660
2737
  continue;
@@ -2696,7 +2773,7 @@ async function acceptAbsorbed(root, id, o = {}, paths) {
2696
2773
 
2697
2774
  // packages/adopt/dist/federation.js
2698
2775
  var import_yaml9 = __toESM(require_dist(), 1);
2699
- import { readdir as readdir4, readFile as readFile7 } from "node:fs/promises";
2776
+ import { readdir as readdir4, readFile as readFile8 } from "node:fs/promises";
2700
2777
  import { isAbsolute as isAbsolute3, join as join12, resolve as resolve6 } from "node:path";
2701
2778
  import { fileURLToPath as fileURLToPath2 } from "node:url";
2702
2779
  var REMOTE2 = /^[a-z][a-z0-9+.-]*:\/\//i;
@@ -2732,7 +2809,7 @@ async function federatedChanges(sources) {
2732
2809
  for (const n of names) {
2733
2810
  let text2;
2734
2811
  try {
2735
- text2 = await readFile7(join12(changes, n, "change.yaml"), "utf8");
2812
+ text2 = await readFile8(join12(changes, n, "change.yaml"), "utf8");
2736
2813
  } catch {
2737
2814
  continue;
2738
2815
  }
@@ -2863,11 +2940,13 @@ export {
2863
2940
  detectRepoType,
2864
2941
  UNASSIGNED,
2865
2942
  MockRepoListing,
2943
+ withoutCredentials,
2866
2944
  reposDiscover,
2867
2945
  CHECKLISTS_README,
2868
2946
  STARTER_CHECKLISTS_README,
2869
2947
  writeStartingPack,
2870
2948
  ATTICUS_FOLDER_IGNORE,
2949
+ metarepoIdFromUrl,
2871
2950
  init,
2872
2951
  SNAPSHOT_FILE,
2873
2952
  ADOPTED_FILE,
@@ -5,46 +5,45 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  matchedRepoType
8
- } from "./chunk-4EURQWQD.js";
8
+ } from "./chunk-DF6DPCW2.js";
9
9
  import {
10
10
  loadCatalog
11
- } from "./chunk-OHNCWBKF.js";
11
+ } from "./chunk-RSHVSXPJ.js";
12
12
  import {
13
13
  repoFor
14
- } from "./chunk-LO6P2VYG.js";
14
+ } from "./chunk-HWNFFCGB.js";
15
15
  import {
16
16
  draftSpec
17
- } from "./chunk-O7FDLW7L.js";
18
- import "./chunk-PJSJPMJI.js";
17
+ } from "./chunk-BYKWWSXL.js";
18
+ import "./chunk-ENZ3PI7L.js";
19
19
  import {
20
20
  stepJudges
21
- } from "./chunk-R7NYHMUU.js";
22
- import "./chunk-IVBOQAGB.js";
23
- import "./chunk-ISUAAMGS.js";
24
- import "./chunk-S4PMJU6H.js";
25
- import "./chunk-IDKCWSM5.js";
26
- import "./chunk-UUU4CLJG.js";
27
- import "./chunk-7IGKHZ4Z.js";
21
+ } from "./chunk-WECCLSYY.js";
22
+ import "./chunk-5FUFVNXB.js";
23
+ import "./chunk-A6ZG3UOS.js";
24
+ import "./chunk-U2JTTRKS.js";
25
+ import "./chunk-5MKV4TV6.js";
26
+ import "./chunk-ESJALLOK.js";
27
+ import "./chunk-MCE74XMF.js";
28
28
  import {
29
29
  checkSpec,
30
30
  citedFileHashes,
31
31
  staleFlows
32
- } from "./chunk-J2JAKCIW.js";
33
- import "./chunk-745DAZ4L.js";
34
- import "./chunk-CXJ6FUKN.js";
35
- import "./chunk-QKUJMING.js";
36
- import "./chunk-6ZGLAACW.js";
37
- import "./chunk-CQDGOPGH.js";
32
+ } from "./chunk-25CUJJTP.js";
33
+ import "./chunk-HNPKCRCE.js";
34
+ import "./chunk-CZ75S2EZ.js";
35
+ import "./chunk-GFYVVTKH.js";
36
+ import "./chunk-DIYNRYXW.js";
37
+ import "./chunk-5FPAKAGE.js";
38
38
  import {
39
39
  fsRepo
40
- } from "./chunk-3NFFJL5D.js";
41
- import "./chunk-PKBHS4AA.js";
42
- import "./chunk-P32RUW3B.js";
40
+ } from "./chunk-IJQHBK76.js";
41
+ import "./chunk-MOWUP33K.js";
43
42
  import "./chunk-QA4O2GGC.js";
43
+ import "./chunk-OSZTENIA.js";
44
44
  import {
45
45
  askedByStep,
46
46
  listQuestions,
47
- loadOrgPack,
48
47
  orgPackDirOf,
49
48
  questionsRelOf,
50
49
  raiseQuestions,
@@ -54,13 +53,17 @@ import {
54
53
  serializeRecord,
55
54
  specFindingFingerprint,
56
55
  specRelOf,
57
- specTemplateFor,
58
- templateRef,
59
56
  writeFlow,
60
57
  writeSpecFindings,
61
58
  writeSpecHeader
62
- } from "./chunk-Q2TECDIT.js";
63
- import "./chunk-TUULXQRW.js";
59
+ } from "./chunk-GJVCBTSO.js";
60
+ import "./chunk-G3ZFEHCX.js";
61
+ import {
62
+ loadOrgPack,
63
+ specTemplateFor,
64
+ templateRef
65
+ } from "./chunk-QFDPX6C4.js";
66
+ import "./chunk-CTJHEG6A.js";
64
67
  import "./chunk-BQGDB6ZL.js";
65
68
  import "./chunk-TV45EUGM.js";
66
69