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

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 (279) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-LYBNHMVZ.js → chunk-27AJAKX7.js} +3 -3
  3. package/dist/{chunk-KXITGYLF.js → chunk-2QPJ4E4Z.js} +2 -2
  4. package/dist/{chunk-EIPTLPFC.js → chunk-2UMSHYCB.js} +24 -24
  5. package/dist/{chunk-6PPOWY5E.js → chunk-2WUTCPPJ.js} +6 -6
  6. package/dist/{chunk-VNU26RCO.js → chunk-2YSD6E6V.js} +33 -32
  7. package/dist/{chunk-P32RUW3B.js → chunk-3424TLIJ.js} +39 -7
  8. package/dist/{chunk-2MMCFP5C.js → chunk-3ASYYMOX.js} +8 -8
  9. package/dist/{chunk-PKBHS4AA.js → chunk-3EWKO457.js} +48 -17
  10. package/dist/{chunk-J3IOLXWM.js → chunk-3EX5HCZD.js} +5 -5
  11. package/dist/{chunk-BDKC6H5P.js → chunk-3MYBT62N.js} +5 -5
  12. package/dist/{chunk-ZFL7NY4F.js → chunk-3UHV76UD.js} +69 -41
  13. package/dist/{chunk-Q4K5WB2W.js → chunk-3ZA3AK2D.js} +10 -10
  14. package/dist/{chunk-O7FDLW7L.js → chunk-4ETO2FXE.js} +5 -5
  15. package/dist/{chunk-AFWUDXEM.js → chunk-4FLNCK6Q.js} +26 -11
  16. package/dist/{chunk-745DAZ4L.js → chunk-4GAB5ZOZ.js} +901 -332
  17. package/dist/{chunk-3RM4UK6W.js → chunk-4MYHETJ3.js} +18 -18
  18. package/dist/chunk-4R3TO4VL.js +94 -0
  19. package/dist/chunk-5MYE42AP.js +43 -0
  20. package/dist/chunk-5O7U67UA.js +57 -0
  21. package/dist/{chunk-Y2EQNWKV.js → chunk-5OXKCH4Z.js} +31 -31
  22. package/dist/{chunk-O45HFTFS.js → chunk-5VTIWEWP.js} +2 -2
  23. package/dist/{chunk-UNAGJYET.js → chunk-63NFFAGI.js} +12 -12
  24. package/dist/{chunk-6ZJ5A7AF.js → chunk-66AQ2JIU.js} +9 -9
  25. package/dist/chunk-6JVPBGQG.js +50 -0
  26. package/dist/{chunk-VY72R2XZ.js → chunk-6NCPLIIP.js} +124 -2
  27. package/dist/{chunk-D73UEXYW.js → chunk-6NN36LVK.js} +3 -3
  28. package/dist/{chunk-7FTTA3HD.js → chunk-6R5VHR3N.js} +5 -5
  29. package/dist/{chunk-CADWLE2T.js → chunk-6RQOINER.js} +4 -4
  30. package/dist/{chunk-WG5U3F5V.js → chunk-6RYB3EET.js} +12 -12
  31. package/dist/{chunk-RXPJMEOW.js → chunk-6SNTHK43.js} +10 -10
  32. package/dist/{chunk-ZFFYNRIO.js → chunk-6Y4FXOMI.js} +24 -22
  33. package/dist/{chunk-SQV37XO2.js → chunk-6ZFF7XSL.js} +6 -6
  34. package/dist/{chunk-JA5FI3QV.js → chunk-6ZSYLZ7O.js} +3 -3
  35. package/dist/{chunk-JENSEMXF.js → chunk-73CC73I4.js} +1 -1
  36. package/dist/{chunk-2F4CYZKJ.js → chunk-73GFVW2L.js} +5 -5
  37. package/dist/{chunk-M3NANSDZ.js → chunk-73V2OONC.js} +15 -15
  38. package/dist/{chunk-WKUJ3KPV.js → chunk-75OMRKY2.js} +4 -4
  39. package/dist/{chunk-7BR7IPOH.js → chunk-7IFTSAHP.js} +8 -8
  40. package/dist/{chunk-OWNCM4ZN.js → chunk-7K5OH45X.js} +136 -16
  41. package/dist/{chunk-VCTWPLAO.js → chunk-7NQAGYK4.js} +8 -8
  42. package/dist/{chunk-O4GXGGBX.js → chunk-7XWJ6ED2.js} +12 -12
  43. package/dist/{chunk-MFR5OPBD.js → chunk-7XYLNQFO.js} +5 -5
  44. package/dist/{chunk-GCWRWSU7.js → chunk-7YQBDE5W.js} +4 -4
  45. package/dist/{chunk-QKUJMING.js → chunk-A4JXVO5O.js} +5 -5
  46. package/dist/{chunk-LKOR5UET.js → chunk-AFBCNZRZ.js} +24 -24
  47. package/dist/{chunk-BXYMYEJ4.js → chunk-AGOLEMHK.js} +13 -14
  48. package/dist/{chunk-AVTBS4OW.js → chunk-AHFQHPFF.js} +22 -22
  49. package/dist/{chunk-NY2XSR5K.js → chunk-APDN6UOR.js} +116 -18
  50. package/dist/chunk-AQRUQNFB.js +322 -0
  51. package/dist/{chunk-5NMKONLP.js → chunk-AVMWESFZ.js} +3 -2
  52. package/dist/chunk-B4AEL3RF.js +1011 -0
  53. package/dist/{chunk-H7KM7LZE.js → chunk-BAY4K55I.js} +11 -11
  54. package/dist/{chunk-XD75VZIH.js → chunk-BFL4PO64.js} +7 -7
  55. package/dist/{chunk-34S2WGOB.js → chunk-BFMTGNAQ.js} +5 -3
  56. package/dist/{chunk-SLXZOMA6.js → chunk-BP33TBLI.js} +4 -4
  57. package/dist/{chunk-IFKEI4SA.js → chunk-BUUJ7N4O.js} +11 -11
  58. package/dist/{chunk-EGQRREQH.js → chunk-BYBU2EIB.js} +26 -15
  59. package/dist/{chunk-SFUP7TTO.js → chunk-C6ORPLCN.js} +4 -4
  60. package/dist/{chunk-IVBOQAGB.js → chunk-CA3DKO4D.js} +24 -2
  61. package/dist/{chunk-57TDNMI3.js → chunk-CFUDAW3R.js} +15 -15
  62. package/dist/{chunk-FFTRTL6R.js → chunk-CJEBRJBS.js} +4 -4
  63. package/dist/{chunk-EPCJQQWD.js → chunk-CKVBDVIW.js} +4 -4
  64. package/dist/{chunk-FPJPLKDW.js → chunk-CMB7FXHJ.js} +38 -16
  65. package/dist/{chunk-INQHESFB.js → chunk-CQ7RF4QN.js} +4 -4
  66. package/dist/{chunk-63YRMR6J.js → chunk-CS4BMJLL.js} +5 -5
  67. package/dist/{chunk-BPK5P77O.js → chunk-CT6NINGR.js} +3 -3
  68. package/dist/chunk-CXTG6AWM.js +40 -0
  69. package/dist/{chunk-CXJ6FUKN.js → chunk-CZ2ZS7AT.js} +9 -4
  70. package/dist/{chunk-S4PMJU6H.js → chunk-D6BVLTDV.js} +85 -29
  71. package/dist/{chunk-M32BLWDH.js → chunk-DCRYOMTM.js} +12 -12
  72. package/dist/{chunk-REWWDVQB.js → chunk-DHKDH464.js} +4 -4
  73. package/dist/{chunk-2LGRMVCA.js → chunk-DSHRA72L.js} +10 -10
  74. package/dist/{chunk-THDMSZ3R.js → chunk-E3PDCQRH.js} +2765 -665
  75. package/dist/chunk-EHXDB3SA.js +25 -0
  76. package/dist/{chunk-BTGPE6CR.js → chunk-EMVZIOOD.js} +7 -7
  77. package/dist/{chunk-DOBQKHIF.js → chunk-ENH6Z4TY.js} +28 -27
  78. package/dist/{chunk-LGFL54FP.js → chunk-EVTI22PQ.js} +6 -2
  79. package/dist/{chunk-7MJSQTL5.js → chunk-EXJZBL5N.js} +20 -20
  80. package/dist/{chunk-N3XIYPU3.js → chunk-FBCVC2GJ.js} +12 -12
  81. package/dist/{chunk-UWOJLHFT.js → chunk-FJVUHQPS.js} +34 -23
  82. package/dist/{chunk-7IGKHZ4Z.js → chunk-FL344WQD.js} +218 -211
  83. package/dist/{chunk-IH2XURVQ.js → chunk-FMJYKLDY.js} +5 -5
  84. package/dist/chunk-FMR2D3AZ.js +41 -0
  85. package/dist/{chunk-Q2TECDIT.js → chunk-FPBUTZI5.js} +2201 -326
  86. package/dist/{chunk-PJSJPMJI.js → chunk-FQVSLBTV.js} +3 -3
  87. package/dist/{chunk-NXJ5URP6.js → chunk-FRAEQVYN.js} +23 -22
  88. package/dist/{chunk-RLDGWLQ7.js → chunk-FRCOKUU4.js} +7 -7
  89. package/dist/{chunk-DCZWQLYT.js → chunk-FSN6JFXB.js} +18 -15
  90. package/dist/{chunk-W7VWI2YH.js → chunk-FTLYXMHA.js} +5 -5
  91. package/dist/{chunk-7GJS6DNX.js → chunk-FVYZ4Y52.js} +11 -3
  92. package/dist/{chunk-CQDGOPGH.js → chunk-G6EFXTUO.js} +2 -2
  93. package/dist/{chunk-JB5LINEM.js → chunk-G7VBMOZH.js} +3 -3
  94. package/dist/{chunk-7ASNL4Q4.js → chunk-GM4EFHUX.js} +15 -15
  95. package/dist/chunk-GOZLTLRY.js +232 -0
  96. package/dist/chunk-GPNMSX5H.js +36 -0
  97. package/dist/{chunk-BQ4SQQC6.js → chunk-GUGQSIQM.js} +9 -9
  98. package/dist/{chunk-E3ISYXO3.js → chunk-HJQVUOUL.js} +12 -12
  99. package/dist/{chunk-MFHL5URL.js → chunk-HMWJWYE2.js} +16 -16
  100. package/dist/{chunk-YYY3AZFE.js → chunk-HMZ2DRBC.js} +2 -2
  101. package/dist/{chunk-C3RY6KU6.js → chunk-HRS5O7VV.js} +500 -163
  102. package/dist/{chunk-AJQ72EBM.js → chunk-HUGQZQ2K.js} +6 -6
  103. package/dist/{chunk-AJYXNTNZ.js → chunk-ICBGVVRI.js} +10 -10
  104. package/dist/{chunk-J2JAKCIW.js → chunk-IKAW2KJU.js} +17 -17
  105. package/dist/{chunk-OUBGGKDU.js → chunk-IMZFOMVX.js} +1 -1
  106. package/dist/{chunk-LDLL7LB3.js → chunk-ISG547IS.js} +22 -22
  107. package/dist/{chunk-GZY6RUZ6.js → chunk-IYNCSYU4.js} +5 -2
  108. package/dist/{chunk-H5HBGNXU.js → chunk-J25YOUIZ.js} +4 -4
  109. package/dist/chunk-J2CDBSFP.js +69 -0
  110. package/dist/chunk-J2H7YG3K.js +34 -0
  111. package/dist/{chunk-SFSPGFCV.js → chunk-J32IPTVQ.js} +20 -20
  112. package/dist/{chunk-BEVTIBRH.js → chunk-J4CPHJUL.js} +5 -5
  113. package/dist/{chunk-F3P7N7SF.js → chunk-JFFKHIM6.js} +1 -1
  114. package/dist/{chunk-RUGXBPWI.js → chunk-JMEWJPF2.js} +8 -8
  115. package/dist/{chunk-WERM6KPJ.js → chunk-JSP73CDW.js} +9 -4
  116. package/dist/{chunk-66PPNOON.js → chunk-JXAKYP45.js} +26 -25
  117. package/dist/{chunk-7JITZFJC.js → chunk-K4OXYSGS.js} +4 -4
  118. package/dist/{chunk-EHA7RMZ3.js → chunk-K4RNVDR4.js} +4 -4
  119. package/dist/{chunk-R44CYFPV.js → chunk-K757G7AD.js} +12 -12
  120. package/dist/{chunk-FUJM6RTF.js → chunk-KDJ2YKAZ.js} +7 -7
  121. package/dist/{chunk-QAXW2N3B.js → chunk-KT6Q44CA.js} +28 -30
  122. package/dist/{chunk-EBL2R3YG.js → chunk-KTNOBTV5.js} +4 -4
  123. package/dist/chunk-KVVNAUIG.js +66 -0
  124. package/dist/{chunk-X5F3Q5LV.js → chunk-L3RCQWVQ.js} +21 -18
  125. package/dist/{chunk-7IOWA5D5.js → chunk-LHH5KG5A.js} +13 -3
  126. package/dist/{chunk-TNR75OXT.js → chunk-LM45GMMB.js} +11 -8
  127. package/dist/{chunk-FSMSFDLD.js → chunk-LO6Y7OTG.js} +4 -4
  128. package/dist/{chunk-WF7B67YE.js → chunk-LPDTDFKA.js} +10 -10
  129. package/dist/{chunk-SU74NDMQ.js → chunk-LSHSDC6S.js} +17 -17
  130. package/dist/{chunk-LJXMYKZJ.js → chunk-LZVHP7CT.js} +5 -5
  131. package/dist/{chunk-3NWDLGG6.js → chunk-M3EOFSPY.js} +26 -26
  132. package/dist/chunk-MBYYQHPM.js +31 -0
  133. package/dist/{chunk-KQGURXFU.js → chunk-MEJ63LDG.js} +32 -11
  134. package/dist/{chunk-FZOJFH7Q.js → chunk-MH2ZK67S.js} +11 -11
  135. package/dist/{chunk-R7NYHMUU.js → chunk-MLGWSBF4.js} +5108 -3895
  136. package/dist/{chunk-WJF2CS6M.js → chunk-MNIPPBCT.js} +5 -5
  137. package/dist/{chunk-XERYFDB5.js → chunk-MWF4PXQR.js} +32 -31
  138. package/dist/{chunk-BO4KX37X.js → chunk-N2YX6JMY.js} +18 -18
  139. package/dist/{chunk-GUX3PTYM.js → chunk-NAPHHWW2.js} +3 -3
  140. package/dist/{chunk-UUU4CLJG.js → chunk-NC755EKE.js} +5 -1
  141. package/dist/{chunk-WMTRHUI5.js → chunk-NCLZJCXA.js} +21 -21
  142. package/dist/chunk-NKJDO4UC.js +39 -0
  143. package/dist/chunk-NOYOFYAJ.js +59 -0
  144. package/dist/{chunk-ZQ3ON2VQ.js → chunk-NROSSWMS.js} +5 -5
  145. package/dist/{chunk-UWMJKX5U.js → chunk-OBUB3H72.js} +12 -12
  146. package/dist/{chunk-VW62D6QE.js → chunk-OCQWSFJD.js} +7 -7
  147. package/dist/{chunk-UPOY4YSQ.js → chunk-OK6JGLE7.js} +12 -12
  148. package/dist/{chunk-TYQBFTBR.js → chunk-OPWGPQ2N.js} +5 -5
  149. package/dist/{chunk-PPD7HTDP.js → chunk-OSYHGGL3.js} +18 -18
  150. package/dist/chunk-OXXZZ7HQ.js +50 -0
  151. package/dist/{chunk-5BD2KYLE.js → chunk-P22EPEBR.js} +16 -16
  152. package/dist/chunk-P4YUT7W7.js +45 -0
  153. package/dist/chunk-PCCLVIDP.js +217 -0
  154. package/dist/{chunk-CMDXGQTS.js → chunk-PFULMC2D.js} +21 -20
  155. package/dist/chunk-PGAMTKBI.js +16 -0
  156. package/dist/{chunk-6MUGR4LS.js → chunk-PNSSE7JM.js} +93 -18
  157. package/dist/{chunk-HYU5VLGA.js → chunk-POEMZECG.js} +1 -1
  158. package/dist/{chunk-UCROWG2D.js → chunk-POSDBRKV.js} +23 -23
  159. package/dist/{chunk-KDNTAPLX.js → chunk-POSZFDSQ.js} +3 -3
  160. package/dist/{chunk-3NFFJL5D.js → chunk-PQQKZPBU.js} +1 -1
  161. package/dist/{chunk-4EURQWQD.js → chunk-PRMUQUWN.js} +10 -10
  162. package/dist/{chunk-MO6P2JZH.js → chunk-PT4USJNN.js} +7 -7
  163. package/dist/{chunk-BTY3HZBO.js → chunk-PWXB5GBB.js} +16 -16
  164. package/dist/{chunk-S7FCV7S5.js → chunk-PXW2RZGQ.js} +1 -1
  165. package/dist/{chunk-NDCF4R6S.js → chunk-Q367UGYN.js} +3 -3
  166. package/dist/{chunk-IUPG3UKI.js → chunk-QAVRDONY.js} +187 -123
  167. package/dist/{chunk-E6ZIEVOI.js → chunk-QBMLBCQH.js} +12 -12
  168. package/dist/{chunk-VZALIKIF.js → chunk-QLQIFJP3.js} +12 -12
  169. package/dist/{chunk-EMRIQUND.js → chunk-QLWDIKO4.js} +82 -27
  170. package/dist/{chunk-PMUAJGLI.js → chunk-QVVGJVVX.js} +16 -16
  171. package/dist/{chunk-LNBQOP7D.js → chunk-QX4MAMUG.js} +21 -21
  172. package/dist/{chunk-X3WY6MN3.js → chunk-QZWRPQTI.js} +6 -6
  173. package/dist/{chunk-ISUAAMGS.js → chunk-RCG5IAAT.js} +18 -11
  174. package/dist/chunk-RGZFOKVO.js +106 -0
  175. package/dist/{chunk-O5PXQR67.js → chunk-RLZFL76D.js} +4 -4
  176. package/dist/{chunk-UF4AZOZB.js → chunk-RPQITJNX.js} +5 -5
  177. package/dist/{chunk-NR2UJWOC.js → chunk-RQQYEDAC.js} +8 -8
  178. package/dist/chunk-RQSLHZ7T.js +36 -0
  179. package/dist/{chunk-UPS2DGFC.js → chunk-RRQUQAXP.js} +1 -1
  180. package/dist/chunk-RYQ4JCFT.js +65 -0
  181. package/dist/{chunk-JLUCKAEL.js → chunk-S35DIFJH.js} +17 -17
  182. package/dist/{chunk-UGUP3ZM6.js → chunk-S5GSQPIN.js} +9 -9
  183. package/dist/chunk-S5XFO4GY.js +42 -0
  184. package/dist/chunk-S6LW2RRC.js +25 -0
  185. package/dist/{chunk-W62H2XSO.js → chunk-S6W3D5GS.js} +23 -23
  186. package/dist/{chunk-CX4RZ2KS.js → chunk-S7GUZ45I.js} +3 -3
  187. package/dist/{chunk-L27SV425.js → chunk-SCT4CEF7.js} +20 -20
  188. package/dist/{chunk-VTZMAJ3W.js → chunk-SK5RVP7X.js} +8 -8
  189. package/dist/{chunk-JAVI7JSP.js → chunk-SRTUETF5.js} +23 -22
  190. package/dist/{chunk-MZCGSXVR.js → chunk-SVGGMBJI.js} +13 -13
  191. package/dist/{chunk-SDKLKB6I.js → chunk-SWNKO4C4.js} +32 -25
  192. package/dist/chunk-SYP56T2D.js +65 -0
  193. package/dist/{chunk-5SJZW52K.js → chunk-T33TPFGI.js} +22 -22
  194. package/dist/{chunk-ZJXLNDH4.js → chunk-T3FNG2H2.js} +12 -12
  195. package/dist/{chunk-BIGDQDHD.js → chunk-T6MAWL5P.js} +4 -4
  196. package/dist/{chunk-RGERPOIV.js → chunk-T6MX7WXM.js} +14 -11
  197. package/dist/{chunk-QFWA2DPH.js → chunk-T7IIEDA3.js} +5 -5
  198. package/dist/{chunk-Z5IA3WDR.js → chunk-TABH4RBZ.js} +156 -79
  199. package/dist/{chunk-6ZGLAACW.js → chunk-TDSCKP3V.js} +2 -2
  200. package/dist/{chunk-G6X77UJZ.js → chunk-TMFMXQEN.js} +21 -21
  201. package/dist/{chunk-P2V7QW4D.js → chunk-TNCF26JK.js} +11 -11
  202. package/dist/{chunk-2GF7OLF3.js → chunk-TUM52SOE.js} +19 -15
  203. package/dist/{chunk-PBPBMP2B.js → chunk-TV56QLLV.js} +3 -3
  204. package/dist/{chunk-SYV5LHML.js → chunk-TVQSXWWV.js} +33 -33
  205. package/dist/{chunk-VBTP56CE.js → chunk-TXNSQ24G.js} +9 -8
  206. package/dist/{chunk-ZX57KSEQ.js → chunk-UALE35WK.js} +3 -3
  207. package/dist/{chunk-42SIDKEU.js → chunk-UJF7PIMP.js} +26 -26
  208. package/dist/{chunk-ONUPY3H6.js → chunk-UMCDODBX.js} +24 -24
  209. package/dist/{chunk-JJF6HALY.js → chunk-UTPIFH4I.js} +3 -3
  210. package/dist/{chunk-O7XLYEFA.js → chunk-V7PEHQZU.js} +54 -22
  211. package/dist/{chunk-XI2LCCYQ.js → chunk-VJFXQISZ.js} +8 -8
  212. package/dist/{chunk-AFZ3QA6W.js → chunk-VJZI6KFP.js} +22 -22
  213. package/dist/{chunk-Q6DFNVRJ.js → chunk-VK7WYA64.js} +12 -12
  214. package/dist/{chunk-6OJQOPUN.js → chunk-VKTXFFOZ.js} +2 -2
  215. package/dist/{chunk-MG4ZL5RW.js → chunk-VNIN7Q6Q.js} +16 -16
  216. package/dist/{chunk-ZQXZ2SES.js → chunk-VRO7KSGL.js} +21 -21
  217. package/dist/{chunk-OHVTTOPS.js → chunk-W3AZE7LN.js} +3 -3
  218. package/dist/chunk-W4TNCEI4.js +44 -0
  219. package/dist/{chunk-X4CXA2IL.js → chunk-W5VYJWOG.js} +22 -22
  220. package/dist/{chunk-7DOR27HL.js → chunk-WF3RCZNO.js} +6 -6
  221. package/dist/{chunk-LGBMTVNT.js → chunk-WOMQQWTO.js} +5 -5
  222. package/dist/{chunk-2Q56PQPS.js → chunk-WXVTYLVH.js} +2 -2
  223. package/dist/{chunk-UOR2DTHH.js → chunk-WYGTSZHR.js} +16 -14
  224. package/dist/{chunk-IDKCWSM5.js → chunk-WZYM5M4U.js} +388 -104
  225. package/dist/{chunk-U76OWS3Q.js → chunk-X5ZHDSLU.js} +23 -23
  226. package/dist/chunk-X7XVMYIL.js +5 -0
  227. package/dist/{chunk-2IIMFOPM.js → chunk-X7ZKNSK4.js} +18 -18
  228. package/dist/{chunk-UF4GLFBX.js → chunk-XAPXKFIS.js} +22 -22
  229. package/dist/{chunk-LQJPN536.js → chunk-XF6TSZW2.js} +2 -2
  230. package/dist/{chunk-T6DQR5TV.js → chunk-XFDDJQT7.js} +12 -12
  231. package/dist/{chunk-OHNCWBKF.js → chunk-XGO74QWR.js} +4 -4
  232. package/dist/chunk-XLZAAAPX.js +43 -0
  233. package/dist/{chunk-2RLKFUUL.js → chunk-XMUWPA56.js} +23 -23
  234. package/dist/{chunk-JRBFANFE.js → chunk-XNFM6WUK.js} +15 -15
  235. package/dist/{chunk-LO6P2VYG.js → chunk-XOMEQVLK.js} +2 -2
  236. package/dist/{chunk-YHCMZC2J.js → chunk-Y2H7X3VI.js} +7 -7
  237. package/dist/{chunk-ZZK56BLP.js → chunk-Y5IE6YKD.js} +4 -4
  238. package/dist/{chunk-KFAVQZSX.js → chunk-YD3KTW4H.js} +12 -12
  239. package/dist/{chunk-LZ7NUC62.js → chunk-YDCOZOER.js} +18 -18
  240. package/dist/{chunk-LFGTYX5U.js → chunk-YERAAEO4.js} +17 -17
  241. package/dist/{chunk-BHT7QK4G.js → chunk-YHMPDIRG.js} +4 -4
  242. package/dist/{chunk-ZJFRMSJT.js → chunk-Z2D4P3R3.js} +12 -12
  243. package/dist/{chunk-O66DM6DJ.js → chunk-Z3H27OMV.js} +4 -4
  244. package/dist/{chunk-7UOMVMFG.js → chunk-Z3RAFU5B.js} +15 -15
  245. package/dist/{chunk-FFLNS6VP.js → chunk-ZENHDXRZ.js} +21 -17
  246. package/dist/{chunk-23XVSEV5.js → chunk-ZFHFC74B.js} +18 -18
  247. package/dist/{chunk-53T4O55J.js → chunk-ZJGCGKA4.js} +3 -3
  248. package/dist/{chunk-WXFLMQSR.js → chunk-ZLQEQR3D.js} +5 -5
  249. package/dist/{chunk-HNM2YQT2.js → chunk-ZNHQGG7J.js} +7 -7
  250. package/dist/{chunk-2Q5EDGEO.js → chunk-ZNTTW4IT.js} +5 -5
  251. package/dist/{chunk-ZQ7SKESZ.js → chunk-ZR6J4QFQ.js} +7 -7
  252. package/dist/{chunk-PAQ2AS5E.js → chunk-ZSNOILL5.js} +1 -1
  253. package/dist/files.json +563 -511
  254. package/dist/packages/sdk/npm/index.js +1043 -43
  255. package/dist/packages/ui/dist/assets/{elk-api-CIf-0gz5.js → elk-api-DxfAMOJq.js} +2 -2
  256. package/dist/packages/ui/dist/assets/index-Buit9TfP.js +62 -0
  257. package/dist/packages/ui/dist/assets/index-Jyc9dFeZ.css +1 -0
  258. package/dist/packages/ui/dist/index.html +2 -2
  259. package/package.json +4 -4
  260. package/dist/chunk-2SKB4O2E.js +0 -59
  261. package/dist/chunk-4U276ICE.js +0 -39
  262. package/dist/chunk-6H3Z5JHH.js +0 -64
  263. package/dist/chunk-C4R4JLHE.js +0 -40
  264. package/dist/chunk-CBGGOQWU.js +0 -82
  265. package/dist/chunk-DLOBCJL6.js +0 -48
  266. package/dist/chunk-GIW4ZVDB.js +0 -39
  267. package/dist/chunk-IP74LCOQ.js +0 -57
  268. package/dist/chunk-IPHHDDC6.js +0 -45
  269. package/dist/chunk-KJXD4PNL.js +0 -50
  270. package/dist/chunk-KN5BXMWN.js +0 -44
  271. package/dist/chunk-OMI6FPPN.js +0 -43
  272. package/dist/chunk-OTLDSZDV.js +0 -69
  273. package/dist/chunk-PSOFBQWB.js +0 -42
  274. package/dist/chunk-T4YPZIQN.js +0 -36
  275. package/dist/chunk-TUULXQRW.js +0 -420
  276. package/dist/chunk-WNKPRSGI.js +0 -36
  277. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +0 -47
  278. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  279. package/dist/{chunk-24XLDU72.js → chunk-PXMV2LLY.js} +3 -3
@@ -14,26 +14,26 @@ import {
14
14
  scaffoldDialect,
15
15
  surveyRepos,
16
16
  testDialect
17
- } from "./chunk-O7FDLW7L.js";
18
- import "./chunk-J2JAKCIW.js";
19
- import "./chunk-745DAZ4L.js";
20
- import "./chunk-CXJ6FUKN.js";
21
- import "./chunk-QKUJMING.js";
22
- import "./chunk-6ZGLAACW.js";
17
+ } from "./chunk-4ETO2FXE.js";
18
+ import "./chunk-IKAW2KJU.js";
19
+ import "./chunk-CZ2ZS7AT.js";
20
+ import "./chunk-4GAB5ZOZ.js";
21
+ import "./chunk-A4JXVO5O.js";
22
+ import "./chunk-TDSCKP3V.js";
23
23
  import {
24
24
  SYNTAX_LANGUAGES,
25
25
  syntaxLanguageOf,
26
26
  syntaxOutline
27
- } from "./chunk-CQDGOPGH.js";
28
- import "./chunk-3NFFJL5D.js";
29
- import "./chunk-PKBHS4AA.js";
30
- import "./chunk-P32RUW3B.js";
27
+ } from "./chunk-G6EFXTUO.js";
28
+ import "./chunk-PQQKZPBU.js";
29
+ import "./chunk-3EWKO457.js";
30
+ import "./chunk-3424TLIJ.js";
31
31
  import "./chunk-QA4O2GGC.js";
32
32
  import {
33
33
  RecordId,
34
34
  orgPackDirOf
35
- } from "./chunk-Q2TECDIT.js";
36
- import "./chunk-TUULXQRW.js";
35
+ } from "./chunk-FPBUTZI5.js";
36
+ import "./chunk-B4AEL3RF.js";
37
37
  import {
38
38
  require_dist
39
39
  } from "./chunk-BQGDB6ZL.js";
@@ -7,12 +7,12 @@ import {
7
7
  exportFrameworksKit,
8
8
  formatFrameworkSurvey,
9
9
  surveyFrameworks
10
- } from "./chunk-O7FDLW7L.js";
11
- import "./chunk-J2JAKCIW.js";
12
- import "./chunk-745DAZ4L.js";
13
- import "./chunk-CXJ6FUKN.js";
14
- import "./chunk-QKUJMING.js";
15
- import "./chunk-6ZGLAACW.js";
10
+ } from "./chunk-4ETO2FXE.js";
11
+ import "./chunk-IKAW2KJU.js";
12
+ import "./chunk-CZ2ZS7AT.js";
13
+ import "./chunk-4GAB5ZOZ.js";
14
+ import "./chunk-A4JXVO5O.js";
15
+ import "./chunk-TDSCKP3V.js";
16
16
  import {
17
17
  houseDependencies,
18
18
  learnFramework,
@@ -20,14 +20,14 @@ import {
20
20
  learnJsFramework,
21
21
  learnJsFrameworkFromTarball,
22
22
  runFrameworkTests
23
- } from "./chunk-CQDGOPGH.js";
23
+ } from "./chunk-G6EFXTUO.js";
24
24
  import {
25
25
  fsRepo
26
- } from "./chunk-3NFFJL5D.js";
26
+ } from "./chunk-PQQKZPBU.js";
27
27
  import {
28
28
  baseClonePath
29
- } from "./chunk-PKBHS4AA.js";
30
- import "./chunk-P32RUW3B.js";
29
+ } from "./chunk-3EWKO457.js";
30
+ import "./chunk-3424TLIJ.js";
31
31
  import "./chunk-QA4O2GGC.js";
32
32
  import {
33
33
  FrameworkModel,
@@ -35,8 +35,8 @@ import {
35
35
  loadOrgPack,
36
36
  orgPackDirOf,
37
37
  toCanonicalYaml
38
- } from "./chunk-Q2TECDIT.js";
39
- import "./chunk-TUULXQRW.js";
38
+ } from "./chunk-FPBUTZI5.js";
39
+ import "./chunk-B4AEL3RF.js";
40
40
  import {
41
41
  require_dist
42
42
  } from "./chunk-BQGDB6ZL.js";
@@ -5,27 +5,27 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  initiativesDirOf
8
- } from "./chunk-6PPOWY5E.js";
8
+ } from "./chunk-2WUTCPPJ.js";
9
9
  import {
10
10
  gitHandoffPublisher,
11
11
  mergeChangeText
12
- } from "./chunk-IDKCWSM5.js";
13
- import "./chunk-UUU4CLJG.js";
12
+ } from "./chunk-WZYM5M4U.js";
13
+ import "./chunk-NC755EKE.js";
14
14
  import {
15
15
  createAdapters,
16
16
  fileStepStore
17
- } from "./chunk-7IGKHZ4Z.js";
18
- import "./chunk-J2JAKCIW.js";
19
- import "./chunk-745DAZ4L.js";
20
- import "./chunk-CXJ6FUKN.js";
21
- import "./chunk-QKUJMING.js";
22
- import "./chunk-6ZGLAACW.js";
23
- import "./chunk-CQDGOPGH.js";
24
- import "./chunk-3NFFJL5D.js";
17
+ } from "./chunk-FL344WQD.js";
18
+ import "./chunk-IKAW2KJU.js";
19
+ import "./chunk-CZ2ZS7AT.js";
20
+ import "./chunk-4GAB5ZOZ.js";
21
+ import "./chunk-A4JXVO5O.js";
22
+ import "./chunk-TDSCKP3V.js";
23
+ import "./chunk-G6EFXTUO.js";
24
+ import "./chunk-PQQKZPBU.js";
25
25
  import {
26
26
  createGit
27
- } from "./chunk-PKBHS4AA.js";
28
- import "./chunk-P32RUW3B.js";
27
+ } from "./chunk-3EWKO457.js";
28
+ import "./chunk-3424TLIJ.js";
29
29
  import "./chunk-QA4O2GGC.js";
30
30
  import {
31
31
  catalogDirOf,
@@ -38,8 +38,8 @@ import {
38
38
  questionsDirOf,
39
39
  specsDirOf,
40
40
  stateDirOf
41
- } from "./chunk-Q2TECDIT.js";
42
- import "./chunk-TUULXQRW.js";
41
+ } from "./chunk-FPBUTZI5.js";
42
+ import "./chunk-B4AEL3RF.js";
43
43
  import "./chunk-BQGDB6ZL.js";
44
44
  import "./chunk-TV45EUGM.js";
45
45
 
@@ -118,7 +118,12 @@ function scopeDirs(root, scope) {
118
118
  // Ninth UX walk: a person's corrections of a stage's drafts, and who drafted each file
119
119
  // (ADR 0181), saved in the app; they ride the stage's hand-off too.
120
120
  `${changesRelOf(root)}/*/stage/corrections.yaml`,
121
- `${changesRelOf(root)}/*/stage/drafted.yaml`
121
+ `${changesRelOf(root)}/*/stage/drafted.yaml`,
122
+ // ADR 0188: what a person drew on a change's diagram (its target flows), proposed from
123
+ // the Change diagram; it rides the stage's hand-off too.
124
+ `${changesRelOf(root)}/*/target-flows`,
125
+ // ADR 0188: the knowledge a person confirmed or excluded on Change › Knowledge.
126
+ `${changesRelOf(root)}/*/knowledge.yaml`
122
127
  ];
123
128
  case "org-pack":
124
129
  return [rel(root, orgPackDirOf(root))];
@@ -150,6 +155,7 @@ async function readProposed(root) {
150
155
  return {};
151
156
  }
152
157
  }
158
+ var LOCK_FILE = /\.lock(\.[^/]+\.stale)?$/;
153
159
  async function proposePlan(root, scope, o = {}) {
154
160
  const git = o.git ?? createGit();
155
161
  const dirs = scopeDirs(root, scope).filter((d) => d && !d.startsWith(".."));
@@ -172,18 +178,28 @@ async function proposePlan(root, scope, o = {}) {
172
178
  const status = e.slice(0, 2).trim() || "M";
173
179
  if (status.startsWith("R"))
174
180
  files.push({ path: e.slice(3), status, from: parts[++i] });
175
- else
181
+ else if (!LOCK_FILE.test(e.slice(3)))
176
182
  files.push({ path: e.slice(3), status });
177
183
  }
178
184
  const was = await readProposed(root);
179
- for (const f of files) {
185
+ const asked = files.filter((f) => was[f.path]);
186
+ const branches = [...new Set(asked.map((f) => was[f.path].branch).filter((b) => !!b))];
187
+ const live = /* @__PURE__ */ new Set();
188
+ await Promise.all(branches.map((b) => git(["rev-parse", "--verify", "--quiet", `refs/remotes/origin/${b}`], root).then(() => live.add(b), () => void 0)));
189
+ const still = asked.filter((f) => {
190
+ const b = was[f.path].branch;
191
+ return !b || live.has(b);
192
+ });
193
+ const there = still.filter((f) => existsSync(join(root, f.path)));
194
+ const blobs = /* @__PURE__ */ new Map();
195
+ for (let i = 0; i < there.length; i += 200) {
196
+ const part = there.slice(i, i + 200);
197
+ const out2 = await git(["hash-object", "--", ...part.map((f) => f.path)], root).then((r) => r.stdout.split(/\r?\n/).map((l) => l.trim()), () => []);
198
+ part.forEach((f, j) => blobs.set(f.path, out2[j] ?? ""));
199
+ }
200
+ for (const f of still) {
180
201
  const p = was[f.path];
181
- if (!p)
182
- continue;
183
- if (p.branch && !await git(["rev-parse", "--verify", "--quiet", `refs/remotes/origin/${p.branch}`], root).then(() => true, () => false))
184
- continue;
185
- const blob = existsSync(join(root, f.path)) ? (await git(["hash-object", "--", f.path], root).catch(() => ({ stdout: "" }))).stdout.trim() : "";
186
- if (blob === p.blob)
202
+ if ((blobs.get(f.path) ?? "") === p.blob)
187
203
  f.proposed = p.where;
188
204
  }
189
205
  const stamp = (o.now ?? /* @__PURE__ */ new Date()).toISOString();
@@ -233,7 +249,8 @@ async function proposeForReview(root, o, io) {
233
249
  await publisher.publish({ root, branch: plan.branch, base, files, message: title, approval });
234
250
  io.out(`Pushed ${files.length} file${files.length === 1 ? "" : "s"} to ${plan.branch}.`);
235
251
  } catch (e) {
236
- io.out(`The branch ${plan.branch} wasn't pushed (${e.message.split("\n")[0]}): push it yourself before the PR is opened.`);
252
+ io.err(`The branch ${plan.branch} wasn't pushed (${e.message.split("\n")[0]}), so nothing was proposed: fix that (your access to the Git host, say), then propose for review again.`);
253
+ return 1;
237
254
  }
238
255
  let pr;
239
256
  try {
@@ -271,13 +288,50 @@ async function proposeForReview(root, o, io) {
271
288
  io.out("When it merges, Bring in what merged updates your copy of the metarepo.");
272
289
  return 0;
273
290
  }
291
+ async function upstreamOffer(run) {
292
+ const branch = (await run(["rev-parse", "--abbrev-ref", "HEAD"]).catch(() => "")).trim();
293
+ if (!branch || branch === "HEAD")
294
+ return void 0;
295
+ const remotes = (await run(["remote"]).catch(() => "")).split(/\r?\n/).map((s) => s.trim()).filter(Boolean);
296
+ const remote = remotes.includes("origin") ? "origin" : remotes.length === 1 ? remotes[0] : void 0;
297
+ if (!remote)
298
+ return void 0;
299
+ const there = (await run(["ls-remote", "--heads", remote, `refs/heads/${branch}`]).catch(() => "")).trim();
300
+ return there ? { branch, upstream: `${remote}/${branch}` } : void 0;
301
+ }
302
+ async function setUpstream(root, upstream, io, o = {}) {
303
+ const git = o.git ?? createGit();
304
+ const run = async (args) => (await git(args, root)).stdout;
305
+ const offer = await upstreamOffer(run);
306
+ if (!offer || offer.upstream !== upstream) {
307
+ const branch = (await run(["rev-parse", "--abbrev-ref", "HEAD"]).catch(() => "")).trim();
308
+ io.err(offer ? `Only ${offer.upstream} can be ${offer.branch}'s upstream here (the same branch on the remote); ${upstream} isn't.` : `Only ${branch || "this branch"}'s own branch on a remote can be its upstream, and no remote here has it.`);
309
+ return 1;
310
+ }
311
+ const [remote] = upstream.split("/");
312
+ try {
313
+ await run([
314
+ "fetch",
315
+ "--quiet",
316
+ remote,
317
+ `+refs/heads/${offer.branch}:refs/remotes/${upstream}`
318
+ ]);
319
+ await run(["branch", "--quiet", `--set-upstream-to=${upstream}`, offer.branch]);
320
+ } catch (e) {
321
+ io.err(`The upstream wasn't set: ${e.message.split("\n")[0]}`);
322
+ return 1;
323
+ }
324
+ io.out(`${offer.branch} follows ${upstream} now. Bring in what merged brings in its changes.`);
325
+ return 0;
326
+ }
274
327
  async function bringInMerged(root, io, o = {}) {
275
328
  const git = o.git ?? createGit();
276
329
  const run = async (args) => (await git(args, root)).stdout;
277
330
  const first = (e) => e.message.split("\n")[0];
278
331
  const up = (await run(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"]).catch(() => "")).trim();
279
332
  if (!up) {
280
- io.err("This branch follows no remote branch, so there is nothing to bring in.");
333
+ const fix = await upstreamOffer(run);
334
+ io.err(fix ? `This branch ${fix.branch} follows no remote branch, and ${fix.upstream} is there: Set the upstream to ${fix.upstream}, then Bring in what merged again.` : "This branch follows no remote branch, so there is nothing to bring in.");
281
335
  return 2;
282
336
  }
283
337
  try {
@@ -513,5 +567,6 @@ export {
513
567
  bringInMerged,
514
568
  proposeForReview,
515
569
  proposePlan,
516
- scopeDirs
570
+ scopeDirs,
571
+ setUpstream
517
572
  };
@@ -11,24 +11,24 @@ import {
11
11
  findingAction,
12
12
  findings,
13
13
  statusLine
14
- } from "./chunk-UF4AZOZB.js";
14
+ } from "./chunk-RPQITJNX.js";
15
15
  import "./chunk-VOGCSYOI.js";
16
- import "./chunk-S4PMJU6H.js";
17
- import "./chunk-IDKCWSM5.js";
18
- import "./chunk-UUU4CLJG.js";
19
- import "./chunk-7IGKHZ4Z.js";
20
- import "./chunk-J2JAKCIW.js";
21
- import "./chunk-745DAZ4L.js";
22
- import "./chunk-CXJ6FUKN.js";
23
- import "./chunk-QKUJMING.js";
24
- import "./chunk-6ZGLAACW.js";
25
- import "./chunk-CQDGOPGH.js";
26
- import "./chunk-3NFFJL5D.js";
27
- import "./chunk-PKBHS4AA.js";
28
- import "./chunk-P32RUW3B.js";
16
+ import "./chunk-D6BVLTDV.js";
17
+ import "./chunk-WZYM5M4U.js";
18
+ import "./chunk-NC755EKE.js";
19
+ import "./chunk-FL344WQD.js";
20
+ import "./chunk-IKAW2KJU.js";
21
+ import "./chunk-CZ2ZS7AT.js";
22
+ import "./chunk-4GAB5ZOZ.js";
23
+ import "./chunk-A4JXVO5O.js";
24
+ import "./chunk-TDSCKP3V.js";
25
+ import "./chunk-G6EFXTUO.js";
26
+ import "./chunk-PQQKZPBU.js";
27
+ import "./chunk-3EWKO457.js";
28
+ import "./chunk-3424TLIJ.js";
29
29
  import "./chunk-QA4O2GGC.js";
30
- import "./chunk-Q2TECDIT.js";
31
- import "./chunk-TUULXQRW.js";
30
+ import "./chunk-FPBUTZI5.js";
31
+ import "./chunk-B4AEL3RF.js";
32
32
  import "./chunk-BQGDB6ZL.js";
33
33
  import "./chunk-TV45EUGM.js";
34
34
  export {
@@ -5,11 +5,11 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  targetFlowsOf
8
- } from "./chunk-IH2XURVQ.js";
8
+ } from "./chunk-FMJYKLDY.js";
9
9
  import {
10
10
  withFileLock
11
- } from "./chunk-S7FCV7S5.js";
12
- import "./chunk-OHNCWBKF.js";
11
+ } from "./chunk-PXW2RZGQ.js";
12
+ import "./chunk-XGO74QWR.js";
13
13
  import {
14
14
  TARGET_DIR,
15
15
  applyStroke,
@@ -18,32 +18,32 @@ import {
18
18
  planSketchWrite,
19
19
  readDeltas,
20
20
  writeSketch
21
- } from "./chunk-R7NYHMUU.js";
22
- import "./chunk-IVBOQAGB.js";
23
- import "./chunk-ISUAAMGS.js";
24
- import "./chunk-S4PMJU6H.js";
21
+ } from "./chunk-MLGWSBF4.js";
22
+ import "./chunk-CA3DKO4D.js";
23
+ import "./chunk-D6BVLTDV.js";
24
+ import "./chunk-RCG5IAAT.js";
25
25
  import {
26
26
  changeFolder
27
- } from "./chunk-IDKCWSM5.js";
28
- import "./chunk-UUU4CLJG.js";
29
- import "./chunk-7IGKHZ4Z.js";
30
- import "./chunk-J2JAKCIW.js";
31
- import "./chunk-745DAZ4L.js";
32
- import "./chunk-CXJ6FUKN.js";
33
- import "./chunk-QKUJMING.js";
27
+ } from "./chunk-WZYM5M4U.js";
28
+ import "./chunk-NC755EKE.js";
29
+ import "./chunk-FL344WQD.js";
30
+ import "./chunk-IKAW2KJU.js";
31
+ import "./chunk-CZ2ZS7AT.js";
32
+ import "./chunk-4GAB5ZOZ.js";
33
+ import "./chunk-A4JXVO5O.js";
34
34
  import {
35
35
  labelText,
36
36
  readDrawio
37
- } from "./chunk-6ZGLAACW.js";
38
- import "./chunk-CQDGOPGH.js";
39
- import "./chunk-3NFFJL5D.js";
40
- import "./chunk-PKBHS4AA.js";
41
- import "./chunk-P32RUW3B.js";
37
+ } from "./chunk-TDSCKP3V.js";
38
+ import "./chunk-G6EFXTUO.js";
39
+ import "./chunk-PQQKZPBU.js";
40
+ import "./chunk-3EWKO457.js";
41
+ import "./chunk-3424TLIJ.js";
42
42
  import "./chunk-QA4O2GGC.js";
43
43
  import {
44
44
  changesRelOf
45
- } from "./chunk-Q2TECDIT.js";
46
- import "./chunk-TUULXQRW.js";
45
+ } from "./chunk-FPBUTZI5.js";
46
+ import "./chunk-B4AEL3RF.js";
47
47
  import "./chunk-BQGDB6ZL.js";
48
48
  import "./chunk-TV45EUGM.js";
49
49
 
@@ -6,18 +6,18 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  isCritic
8
8
  } from "./chunk-4Q3NN7VF.js";
9
- import {
10
- CONTEXT_TOOLS
11
- } from "./chunk-ISUAAMGS.js";
12
9
  import {
13
10
  lensRunOf
14
- } from "./chunk-S4PMJU6H.js";
11
+ } from "./chunk-D6BVLTDV.js";
12
+ import {
13
+ CONTEXT_TOOLS
14
+ } from "./chunk-RCG5IAAT.js";
15
15
  import {
16
16
  HandoffRuntime,
17
17
  TOOL_LIMITS,
18
18
  modelEnvOf,
19
19
  stepClassOf
20
- } from "./chunk-P32RUW3B.js";
20
+ } from "./chunk-3424TLIJ.js";
21
21
  import {
22
22
  changesRelOf,
23
23
  listQuestions,
@@ -26,7 +26,7 @@ import {
26
26
  runsDirOf,
27
27
  runsRelOf,
28
28
  stepModelsOf
29
- } from "./chunk-Q2TECDIT.js";
29
+ } from "./chunk-FPBUTZI5.js";
30
30
 
31
31
  // packages/cli/dist/handoff-flag.js
32
32
  import { readdir, readFile } from "node:fs/promises";
@@ -6,7 +6,7 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  dotInt8,
8
8
  textSha
9
- } from "./chunk-P32RUW3B.js";
9
+ } from "./chunk-3424TLIJ.js";
10
10
  import {
11
11
  JOINED_BY_PERSON,
12
12
  Question,
@@ -36,7 +36,7 @@ import {
36
36
  stateDirOf,
37
37
  toCanonicalYaml,
38
38
  walkRepo
39
- } from "./chunk-Q2TECDIT.js";
39
+ } from "./chunk-FPBUTZI5.js";
40
40
  import {
41
41
  require_dist
42
42
  } from "./chunk-BQGDB6ZL.js";
@@ -1015,8 +1015,8 @@ var DOCUMENT_EXTENSIONS = /\.(docx|pptx|xlsx|pdf|md|markdown|html?|txt)$/i;
1015
1015
  async function documentNodes(path, bytes) {
1016
1016
  const out = { nodes: [], names: [], links: [] };
1017
1017
  const [{ readDocument }, { screenFile }] = await Promise.all([
1018
- import("./chunk-WJF2CS6M.js"),
1019
- import("./chunk-RLDGWLQ7.js")
1018
+ import("./chunk-MNIPPBCT.js"),
1019
+ import("./chunk-FRCOKUU4.js")
1020
1020
  ]);
1021
1021
  const screen = screenFile(path, bytes);
1022
1022
  if (screen.problem)
@@ -2269,7 +2269,7 @@ ${JSON.stringify(keyed)}`).digest("hex");
2269
2269
 
2270
2270
  // packages/index/dist/catalog-index.js
2271
2271
  import { mkdir } from "node:fs/promises";
2272
- import { dirname as dirname2, join as join3 } from "node:path";
2272
+ import { dirname as dirname2, join as join3, resolve } from "node:path";
2273
2273
 
2274
2274
  // packages/index/dist/db.js
2275
2275
  import { createRequire } from "node:module";
@@ -2295,7 +2295,8 @@ function openDb(file) {
2295
2295
  // packages/index/dist/catalog-index.js
2296
2296
  var vectorsFileOf = (file) => join3(dirname2(file), "vectors.sqlite");
2297
2297
  var notInstalled = (e, pkg) => e.code === "ERR_MODULE_NOT_FOUND" && String(e.message).includes(pkg);
2298
- async function embedderOf(root, setting, load = () => import("./chunk-WERM6KPJ.js")) {
2298
+ var embedders = /* @__PURE__ */ new Map();
2299
+ async function embedderOf(root, setting, load = () => import("./chunk-JSP73CDW.js")) {
2299
2300
  if (setting === "off")
2300
2301
  return { why: "turned off for this command" };
2301
2302
  if (setting && setting !== "auto")
@@ -2313,7 +2314,14 @@ async function embedderOf(root, setting, load = () => import("./chunk-WERM6KPJ.j
2313
2314
  try {
2314
2315
  const { embedderFor } = embed;
2315
2316
  const r = await embedderFor(root);
2316
- return r.embedder ? { embedder: r.embedder } : { why: r.state.problem ?? "no embedding model" };
2317
+ if (!r.embedder)
2318
+ return { why: r.state.problem ?? "no embedding model" };
2319
+ const key = `${resolve(root)}\0${r.state.dir ?? ""}\0${r.state.id ?? r.embedder.id}`;
2320
+ const had = embedders.get(key);
2321
+ if (had)
2322
+ return { embedder: had };
2323
+ embedders.set(key, r.embedder);
2324
+ return { embedder: r.embedder };
2317
2325
  } catch (e) {
2318
2326
  return { why: `the embedding model couldn't be read: ${e.message.split("\n")[0]}` };
2319
2327
  }
@@ -2321,11 +2329,10 @@ async function embedderOf(root, setting, load = () => import("./chunk-WERM6KPJ.j
2321
2329
  async function openIndex(root, o = {}) {
2322
2330
  const file = o.file ?? join3(stateDirOf(root), ".index", "catalog.sqlite");
2323
2331
  await mkdir(dirname2(file), { recursive: true });
2324
- const files = await listSources(root);
2325
2332
  const db = openDb(file);
2326
2333
  try {
2327
2334
  const fresh = ensureSchema(db, o.rebuild === true);
2328
- const u = await updateIndex(db, root, files, { force: fresh });
2335
+ const u = o.trusted && !fresh ? { changed: [], removed: [], problems: [], rematched: false } : await updateIndex(db, root, await listSources(root), { force: fresh });
2329
2336
  const rebuilt = fresh || u.changed.length > 0 || u.removed.length > 0;
2330
2337
  attachVectors(db, vectorsFileOf(file));
2331
2338
  const e = await embedderOf(root, o.embeddings, o.loadEmbed);
@@ -2906,7 +2913,7 @@ function translate(question, lookup) {
2906
2913
  // packages/index/dist/tools.js
2907
2914
  import { existsSync, readdirSync } from "node:fs";
2908
2915
  import { readFile as readFile3, realpath, stat as stat2 } from "node:fs/promises";
2909
- import { isAbsolute, join as join4, relative as relative2, resolve, sep as sep2 } from "node:path";
2916
+ import { isAbsolute, join as join4, relative as relative2, resolve as resolve2, sep as sep2 } from "node:path";
2910
2917
  import { createContext, runInContext, Script } from "node:vm";
2911
2918
  var ContextToolError = class extends Error {
2912
2919
  constructor(message) {
@@ -3283,7 +3290,7 @@ function isCited(ix, root, c) {
3283
3290
  async function insideClone(base, path) {
3284
3291
  if (!path || path.includes("\0") || isAbsolute(path) || /^[a-zA-Z]:/.test(path))
3285
3292
  throw new ContextToolError(`${path} isn't a path inside the repo.`);
3286
- const full = resolve(base, ...path.split(/[\\/]+/));
3293
+ const full = resolve2(base, ...path.split(/[\\/]+/));
3287
3294
  const rel2 = relative2(base, full);
3288
3295
  if (!rel2 || rel2.startsWith("..") || isAbsolute(rel2))
3289
3296
  throw new ContextToolError(`${path} leaves the repo's checkout; Atticus reads nothing outside it.`);
@@ -0,0 +1,106 @@
1
+ import { createRequire as __atticusCreateRequire } from "node:module";
2
+ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
3
+ var require = __atticusCreateRequire(import.meta.url);
4
+ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
+ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
+ import {
7
+ readUserState,
8
+ writeUserState
9
+ } from "./chunk-KVVNAUIG.js";
10
+ import {
11
+ loadOrgPack,
12
+ orgPackDirOf
13
+ } from "./chunk-FPBUTZI5.js";
14
+
15
+ // packages/cli/dist/model-address.js
16
+ import { AsyncLocalStorage } from "node:async_hooks";
17
+ var ADDRESS = /url|endpoint|host|address/i;
18
+ function whereKeyGoes(m) {
19
+ const s = m?.settings ?? {};
20
+ const picked = Object.keys(s).filter((k) => k === "keyEnv" || k === "caFile" || ADDRESS.test(k)).sort().map((k) => [k, s[k]]);
21
+ return JSON.stringify([m?.type ?? null, picked]);
22
+ }
23
+ function addressWords(m) {
24
+ const s = m?.settings ?? {};
25
+ const at = Object.keys(s).filter((k) => k === "caFile" || ADDRESS.test(k)).map((k) => `${k} ${String(s[k])}`);
26
+ return `${String(m?.type ?? "no provider")}${at.length ? ` (${at.join(", ")})` : " at its own address"}`;
27
+ }
28
+ var OWN_ADDRESS = /* @__PURE__ */ new Set(["anthropic", "bedrock"]);
29
+ function atProvidersOwnAddress(m) {
30
+ if (typeof m?.type !== "string" || !OWN_ADDRESS.has(m.type))
31
+ return false;
32
+ return !Object.keys(m.settings ?? {}).some((k) => k === "caFile" || ADDRESS.test(k));
33
+ }
34
+ var FILE = "model-address.json";
35
+ async function confirmedAddress(root, env = process.env) {
36
+ const r = await readUserState(root, FILE, env);
37
+ return typeof r?.address === "string" ? r.address : void 0;
38
+ }
39
+ async function recordConfirmedAddress(root, m, env = process.env) {
40
+ await writeUserState(root, FILE, { address: whereKeyGoes(m), at: (/* @__PURE__ */ new Date()).toISOString() }, env);
41
+ }
42
+ async function addressRefusal(root, m, env = process.env) {
43
+ if (!m || m.type === void 0 || m.type === "mock")
44
+ return void 0;
45
+ const confirmed = await confirmedAddress(root, env);
46
+ const ok = confirmed !== void 0 ? confirmed === whereKeyGoes(m) : atProvidersOwnAddress(m);
47
+ if (ok)
48
+ return void 0;
49
+ return `runtime.yaml sends the model's key to ${addressWords(m)}, which you haven't confirmed${confirmed !== void 0 ? " (it changed since you last did)" : ""}, so nothing was sent. Open AI settings in the Atticus app and press Test: it asks you to confirm where the key goes. Or run the step yourself in a terminal (ADR 0186).`;
50
+ }
51
+ var fromApp = new AsyncLocalStorage();
52
+ var serving = 0;
53
+ var asTheApp = (f) => fromApp.run(true, f);
54
+ function servingTheApp(on) {
55
+ serving = Math.max(0, serving + (on ? 1 : -1));
56
+ }
57
+ function whoStarts(env = process.env, tty = process.stdin.isTTY === true) {
58
+ if (fromApp.getStore() || serving > 0)
59
+ return "app";
60
+ if (env.ATTICUS_ACP_SESSION)
61
+ return "session";
62
+ return tty ? "person" : "unattended";
63
+ }
64
+ async function refusalError(message) {
65
+ const { RuntimeConfigError } = await import("./chunk-BFMTGNAQ.js");
66
+ const e = new RuntimeConfigError(message);
67
+ return Object.assign(e, { modelAddress: true });
68
+ }
69
+ async function guardModelAddress(o, env = process.env, tty = process.stdin.isTTY === true) {
70
+ const who = whoStarts(env, tty);
71
+ if (who === "unattended")
72
+ return;
73
+ const m = { type: o.type, settings: o.settings };
74
+ if (who === "person") {
75
+ if (await confirmedAddress(o.root) !== whereKeyGoes(m))
76
+ await recordConfirmedAddress(o.root, m).catch(() => void 0);
77
+ return;
78
+ }
79
+ const no = await addressRefusal(o.root, m);
80
+ if (no)
81
+ throw await refusalError(no);
82
+ }
83
+ async function requireConfirmedModel(root, mode, env = process.env) {
84
+ const op = await loadOrgPack(orgPackDirOf(root));
85
+ const effective = mode ?? env.ATTICUS_RUNTIME ?? op.runtime.modes.default;
86
+ if (effective !== "model")
87
+ return;
88
+ const no = await addressRefusal(root, op.runtime.adapters.model, env);
89
+ if (!no)
90
+ return;
91
+ const { HttpError } = await import("./chunk-4R3TO4VL.js");
92
+ throw new HttpError(403, "Confirm where the model's key goes", no, { confirm: "ai-test" });
93
+ }
94
+
95
+ export {
96
+ whereKeyGoes,
97
+ atProvidersOwnAddress,
98
+ confirmedAddress,
99
+ recordConfirmedAddress,
100
+ addressRefusal,
101
+ asTheApp,
102
+ servingTheApp,
103
+ whoStarts,
104
+ guardModelAddress,
105
+ requireConfirmedModel
106
+ };
@@ -5,14 +5,14 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  repoFor
8
- } from "./chunk-LO6P2VYG.js";
8
+ } from "./chunk-XOMEQVLK.js";
9
9
  import {
10
10
  draftRepoType,
11
11
  matchRepoType
12
- } from "./chunk-J2JAKCIW.js";
12
+ } from "./chunk-IKAW2KJU.js";
13
13
  import {
14
14
  fsRepo
15
- } from "./chunk-3NFFJL5D.js";
15
+ } from "./chunk-PQQKZPBU.js";
16
16
  import {
17
17
  CONVENTIONS_SCHEMA_VERSION,
18
18
  ChecklistPack,
@@ -31,7 +31,7 @@ import {
31
31
  orgPackDirOf,
32
32
  termAnswerNote,
33
33
  termOfQuestion
34
- } from "./chunk-Q2TECDIT.js";
34
+ } from "./chunk-FPBUTZI5.js";
35
35
  import {
36
36
  require_dist
37
37
  } from "./chunk-BQGDB6ZL.js";