@maycombhq/atticus 2.0.0-beta.11 → 2.0.0-beta.12.1

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 (223) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-4UZJOQYK.js → chunk-2A24BNRZ.js} +7 -7
  3. package/dist/{chunk-C2YGYTU6.js → chunk-2DJUQ6CO.js} +22 -22
  4. package/dist/{chunk-BQNEHB5U.js → chunk-2OWSG6BK.js} +11 -11
  5. package/dist/{chunk-23VFQHFQ.js → chunk-2QT6WVAK.js} +31 -21
  6. package/dist/chunk-2RMWW6G3.js +41 -0
  7. package/dist/{chunk-SILY6ZEZ.js → chunk-3256EDLL.js} +3 -3
  8. package/dist/{chunk-YLAM4HZH.js → chunk-34BCKMBS.js} +3 -3
  9. package/dist/{chunk-GVFUEGGM.js → chunk-34NWVIBC.js} +2 -2
  10. package/dist/{chunk-UABFFMWH.js → chunk-36CTZGPH.js} +7 -7
  11. package/dist/{chunk-77RSRG3A.js → chunk-3JLTN3Y7.js} +7 -7
  12. package/dist/{chunk-QWHTTA2X.js → chunk-3M7QBKKG.js} +8 -6
  13. package/dist/chunk-3PLE3ZQ5.js +34 -0
  14. package/dist/{chunk-LUPW4WLK.js → chunk-3W5R5J65.js} +8 -8
  15. package/dist/{chunk-EBWIOODZ.js → chunk-42L2WHP6.js} +4 -4
  16. package/dist/{chunk-KU4T2CXJ.js → chunk-4GNKICU5.js} +18 -18
  17. package/dist/{chunk-2K2ZEJVR.js → chunk-4HTILEXW.js} +2 -2
  18. package/dist/{chunk-HR4DVO6X.js → chunk-4JLB5ISS.js} +3 -3
  19. package/dist/{chunk-XOVLGBKI.js → chunk-5C24MOXU.js} +17 -17
  20. package/dist/{chunk-EHUYLNLC.js → chunk-5G5GD5HF.js} +14 -14
  21. package/dist/{chunk-HGQZTUAC.js → chunk-5I5JDJ3R.js} +4 -4
  22. package/dist/{chunk-KIWEBM6G.js → chunk-5IMZYLDW.js} +11 -11
  23. package/dist/{chunk-XJAJQGXJ.js → chunk-5ION6STH.js} +2 -2
  24. package/dist/{chunk-5ICB2BXH.js → chunk-5R2EWR47.js} +7 -7
  25. package/dist/{chunk-HOUUBE74.js → chunk-65XZSK6S.js} +4 -4
  26. package/dist/{chunk-LVBPY2M6.js → chunk-6AYUBYK6.js} +348 -15
  27. package/dist/{chunk-IY4PHPHT.js → chunk-6HSRGY4B.js} +7 -5
  28. package/dist/{chunk-Y5AYBGLB.js → chunk-6IKYFARG.js} +22 -13
  29. package/dist/{chunk-7KXYMC2P.js → chunk-6R2OM6Y3.js} +15 -15
  30. package/dist/{chunk-GWSWS264.js → chunk-6ROZRBWH.js} +4 -4
  31. package/dist/{chunk-TZXHUDI6.js → chunk-72DY5NCN.js} +2 -2
  32. package/dist/{chunk-XNRPCI23.js → chunk-77UOXZVM.js} +5 -5
  33. package/dist/{chunk-LS3WR2RF.js → chunk-7C7PTJM2.js} +256 -73
  34. package/dist/{chunk-VYNZED7B.js → chunk-7FPTI62T.js} +20 -20
  35. package/dist/{chunk-Z2EYRUOH.js → chunk-7H5HYERS.js} +19 -19
  36. package/dist/{chunk-4YWRU7JK.js → chunk-7MASAGFE.js} +15 -15
  37. package/dist/{chunk-7SZPENUP.js → chunk-7UKETVPW.js} +1 -1
  38. package/dist/{chunk-55TBYJF2.js → chunk-7UXSS23C.js} +18 -16
  39. package/dist/{chunk-XPWSNKF3.js → chunk-7VAMO66T.js} +398 -111
  40. package/dist/{chunk-LDIARP6F.js → chunk-7VNEDDCC.js} +2 -2
  41. package/dist/{chunk-TGEOLIAK.js → chunk-7XWCTVJS.js} +3 -3
  42. package/dist/{chunk-RJDP642F.js → chunk-ARLH2ZMD.js} +1 -1
  43. package/dist/{chunk-IRW64JFF.js → chunk-AUSC47BK.js} +4 -4
  44. package/dist/{chunk-JUZ75OG4.js → chunk-AY7Y3WPD.js} +15 -15
  45. package/dist/{chunk-4URR24DD.js → chunk-BFZSO2TP.js} +6 -6
  46. package/dist/{chunk-MYKQVS5W.js → chunk-BHHIHENP.js} +10 -6
  47. package/dist/{chunk-6V3DTQWK.js → chunk-BUD6JILH.js} +21 -21
  48. package/dist/{chunk-MKC7P5LD.js → chunk-CCXEXCRO.js} +14 -14
  49. package/dist/{chunk-52WCHTVZ.js → chunk-CGF4LKXR.js} +3 -3
  50. package/dist/{chunk-5ACUW753.js → chunk-CH6LUQLD.js} +1 -1
  51. package/dist/{chunk-7VFVQX5K.js → chunk-CIIRPLI6.js} +4 -4
  52. package/dist/{chunk-JEUXCIRD.js → chunk-CJ5FQHST.js} +5 -5
  53. package/dist/{chunk-U6YKL7SI.js → chunk-CKI4VG2I.js} +22 -22
  54. package/dist/{chunk-BKFGGJKA.js → chunk-CQD26SMZ.js} +3 -1
  55. package/dist/chunk-CU35HXQ7.js +48 -0
  56. package/dist/{chunk-KLKENMWQ.js → chunk-CUD4I2U6.js} +58 -43
  57. package/dist/{chunk-5TY4DTHQ.js → chunk-CUX4GRTB.js} +3 -3
  58. package/dist/{chunk-5NZSJ5ZG.js → chunk-CXY4YDXS.js} +2 -2
  59. package/dist/{chunk-XR5DD5DQ.js → chunk-CYDJK34J.js} +12 -7
  60. package/dist/{chunk-WKXOEIOY.js → chunk-DBVU45FY.js} +14 -14
  61. package/dist/{chunk-IILZ7J3L.js → chunk-DBZNQAMN.js} +171 -62
  62. package/dist/{chunk-D7MWYJZF.js → chunk-DDOLWHIM.js} +17 -17
  63. package/dist/{chunk-EW7MRMD5.js → chunk-DIAYQLEY.js} +16 -7
  64. package/dist/{chunk-OFWYZH6B.js → chunk-DKGWE5ZL.js} +21 -21
  65. package/dist/{chunk-27EDZN52.js → chunk-DLX2R3MI.js} +31 -31
  66. package/dist/{chunk-TCADP67G.js → chunk-DONCF2XC.js} +3 -3
  67. package/dist/{chunk-ORZSD2KD.js → chunk-DQKNOHUZ.js} +1 -1
  68. package/dist/{chunk-EAQFRD2B.js → chunk-DREIS5Z5.js} +6 -6
  69. package/dist/{chunk-CAN3EBE5.js → chunk-DW4BM73R.js} +1 -1
  70. package/dist/{chunk-C5JFMAXX.js → chunk-DX5H5YKM.js} +11 -11
  71. package/dist/{chunk-LZWVK4YY.js → chunk-EE3UNC44.js} +3 -3
  72. package/dist/{chunk-Z46OXTBE.js → chunk-EOCZDNWU.js} +5 -5
  73. package/dist/chunk-EOWO4YPF.js +43 -0
  74. package/dist/{chunk-NBGBMRIS.js → chunk-EREL3TQG.js} +1 -1
  75. package/dist/{chunk-NH5QH3WS.js → chunk-ESGIBN3S.js} +1 -1
  76. package/dist/chunk-EZ3FDHW3.js +41 -0
  77. package/dist/chunk-F5L23NGR.js +45 -0
  78. package/dist/{chunk-MQNBEO3N.js → chunk-FF5Q7ONT.js} +118 -104
  79. package/dist/{chunk-TC3KTG33.js → chunk-FLROTO6F.js} +3 -3
  80. package/dist/{chunk-YWOMGMZB.js → chunk-FNVY656P.js} +22 -22
  81. package/dist/{chunk-MCWWMMLN.js → chunk-FP6GJJY7.js} +22 -22
  82. package/dist/{chunk-SIUDWWKS.js → chunk-FSR7OUVJ.js} +23 -23
  83. package/dist/{chunk-GPLFYLGH.js → chunk-FT3RXIN4.js} +10 -10
  84. package/dist/{chunk-SH7AZZDA.js → chunk-FYWA2CPF.js} +17 -17
  85. package/dist/{chunk-5BJFMAQU.js → chunk-G2K2D6XS.js} +12 -12
  86. package/dist/{chunk-3LU6YCSQ.js → chunk-G5SKNMPC.js} +5 -5
  87. package/dist/{chunk-RB2VSED2.js → chunk-GIPQHVJF.js} +11 -11
  88. package/dist/{chunk-NELU7LSL.js → chunk-GJ4B2FYS.js} +10 -10
  89. package/dist/{chunk-KQRYW7OS.js → chunk-GRZGEMO5.js} +109 -108
  90. package/dist/{chunk-OR5VRULZ.js → chunk-GU7PEYRC.js} +10 -10
  91. package/dist/{chunk-MKIULIUQ.js → chunk-GUNBOZ75.js} +3 -3
  92. package/dist/{chunk-Q32Y5T2U.js → chunk-GX3Q5PRC.js} +11 -11
  93. package/dist/{chunk-ANCI3LFS.js → chunk-HIQWJ6JZ.js} +4 -4
  94. package/dist/{chunk-JBSD57N7.js → chunk-HK2CF6KQ.js} +23 -23
  95. package/dist/{chunk-ZKUDS7JG.js → chunk-HMQXIFOL.js} +4 -4
  96. package/dist/{chunk-WIMOJMAK.js → chunk-HY2VVVFZ.js} +168 -14
  97. package/dist/{chunk-BX52REMA.js → chunk-IDLO7UCZ.js} +5 -5
  98. package/dist/{chunk-CE4S5ZY3.js → chunk-IJ7TPOXQ.js} +11 -11
  99. package/dist/{chunk-6N2GUZMZ.js → chunk-ISXNWUG7.js} +1 -1
  100. package/dist/{chunk-DYWTQXP4.js → chunk-IZF2VJU5.js} +22 -22
  101. package/dist/{chunk-6RGIM2ZH.js → chunk-J22RSFKY.js} +79 -9
  102. package/dist/{chunk-WFYHOXTB.js → chunk-J3DTLYER.js} +15 -15
  103. package/dist/{chunk-LEHZTKB3.js → chunk-JC3BMRB5.js} +11 -11
  104. package/dist/{chunk-7RGCQ4VZ.js → chunk-JLIEAQP4.js} +4 -4
  105. package/dist/chunk-JOG6LBOP.js +38 -0
  106. package/dist/{chunk-L7I5PKGD.js → chunk-JQG4VO47.js} +1 -1
  107. package/dist/{chunk-RIEFYHXI.js → chunk-JS3DJH3Q.js} +4 -4
  108. package/dist/{chunk-DGKNOPSE.js → chunk-JWQMD54C.js} +7 -7
  109. package/dist/{chunk-XKJRPVJO.js → chunk-KJ6IH2D5.js} +5 -5
  110. package/dist/{chunk-T6ESD5KM.js → chunk-KPHPVOME.js} +4 -4
  111. package/dist/{chunk-YWZDAZMA.js → chunk-KY2ZHTBJ.js} +6 -6
  112. package/dist/{chunk-7HWXYP4H.js → chunk-LAOZB5YC.js} +11 -11
  113. package/dist/chunk-LRCWWMHH.js +54 -0
  114. package/dist/chunk-LVQMS54L.js +54 -0
  115. package/dist/{chunk-NG5R2WIY.js → chunk-M3BJTXLR.js} +9 -9
  116. package/dist/{chunk-7RUMD56V.js → chunk-M4D3VKAS.js} +1 -1
  117. package/dist/{chunk-UTR67XU2.js → chunk-MFRPLAOH.js} +2 -2
  118. package/dist/{chunk-HZYFLEWO.js → chunk-MI3GGF7V.js} +17 -17
  119. package/dist/{chunk-BA5DTXHQ.js → chunk-MIOY6EXD.js} +4 -4
  120. package/dist/{chunk-BUWSOQLU.js → chunk-ML3HOWPI.js} +4 -4
  121. package/dist/{chunk-SINJKQSI.js → chunk-MOY52LHS.js} +13 -13
  122. package/dist/{chunk-FMRMTI7W.js → chunk-MRLCNXXR.js} +1 -1
  123. package/dist/{chunk-5P5BGG5L.js → chunk-N2FA53DA.js} +6 -6
  124. package/dist/{chunk-ATNG5VOZ.js → chunk-N6YELFHL.js} +2 -2
  125. package/dist/{chunk-MYOW3RPC.js → chunk-N7HG4UP7.js} +6 -6
  126. package/dist/{chunk-7LCQ7JAM.js → chunk-NAKVQU6F.js} +1 -1
  127. package/dist/{chunk-3DDJLI7N.js → chunk-NTNJNRHW.js} +4 -4
  128. package/dist/{chunk-OHXTB6CO.js → chunk-NZY72PGJ.js} +13 -8
  129. package/dist/{chunk-4ONORLK5.js → chunk-O62VA6MH.js} +13 -13
  130. package/dist/{chunk-IVHN2VYG.js → chunk-OJAJXU65.js} +3 -1
  131. package/dist/{chunk-CZI2ACNT.js → chunk-OKUYBXXI.js} +16 -16
  132. package/dist/{chunk-EZSZFI54.js → chunk-OMH3I5BH.js} +2 -2
  133. package/dist/{chunk-5RUMHLIS.js → chunk-P3VBYYAS.js} +24 -3
  134. package/dist/{chunk-WUE6HKIU.js → chunk-P7SONIEO.js} +165 -46
  135. package/dist/{chunk-6E2GJANQ.js → chunk-PAOIMLTK.js} +19 -19
  136. package/dist/{chunk-B3QOYE74.js → chunk-PAQDPB6T.js} +4 -4
  137. package/dist/{chunk-DS3ZEJVN.js → chunk-PGFRXGHA.js} +2 -2
  138. package/dist/{chunk-5V5BJACL.js → chunk-PJRMMWU4.js} +2 -2
  139. package/dist/{chunk-S7ZWCMDO.js → chunk-PKCYRG6G.js} +57 -18
  140. package/dist/{chunk-26DBAGOP.js → chunk-PUGPT4Y6.js} +17 -17
  141. package/dist/{chunk-PQW7PYUR.js → chunk-PVMGHQWB.js} +7 -7
  142. package/dist/{chunk-MSL3CLHX.js → chunk-Q4AWUD6C.js} +16 -16
  143. package/dist/{chunk-JQX6BSE4.js → chunk-QC24Z5JU.js} +10 -10
  144. package/dist/{chunk-WCLAOKCH.js → chunk-QKSWQBWD.js} +8 -8
  145. package/dist/{chunk-GMJXC5AL.js → chunk-QL4VNY4U.js} +1 -1
  146. package/dist/chunk-QOF7U6BI.js +363 -0
  147. package/dist/{chunk-JRPQX2EK.js → chunk-QOPX5M7Y.js} +4 -4
  148. package/dist/{chunk-TEBBD4XH.js → chunk-QR65C3DV.js} +4 -4
  149. package/dist/{chunk-SG5KY4VB.js → chunk-QXGOEP44.js} +3 -3
  150. package/dist/{chunk-XZJE6WIT.js → chunk-RA64IK43.js} +1 -1
  151. package/dist/{chunk-3WU7LVTL.js → chunk-RMNYY5IE.js} +5 -5
  152. package/dist/chunk-S3QCJWCF.js +34 -0
  153. package/dist/{chunk-C75W7VXX.js → chunk-S4USA5WC.js} +20 -18
  154. package/dist/{chunk-FOQXYMOR.js → chunk-S5X7BVWP.js} +19 -19
  155. package/dist/{chunk-EV4TEFOD.js → chunk-SR2M7DWL.js} +13 -13
  156. package/dist/{chunk-R6UTCLH5.js → chunk-T4TMX54Q.js} +16 -16
  157. package/dist/{chunk-OXVVRJDQ.js → chunk-T72K4PLH.js} +11 -11
  158. package/dist/{chunk-SKMHS4CL.js → chunk-TA2ZNDYD.js} +1 -1
  159. package/dist/{chunk-CRQ73DIF.js → chunk-TBKJPKDN.js} +11 -11
  160. package/dist/{chunk-YVCOQ5TZ.js → chunk-TEHH47TG.js} +3 -3
  161. package/dist/{chunk-EATSD7YD.js → chunk-TEZSZ24W.js} +4 -4
  162. package/dist/{chunk-WUP77GG2.js → chunk-TIAPEYWI.js} +3 -3
  163. package/dist/{chunk-J27QGXO4.js → chunk-TIUBGJG3.js} +9 -9
  164. package/dist/{chunk-RWMSJP7H.js → chunk-TJHDFS33.js} +29 -26
  165. package/dist/chunk-TJP2KLZI.js +41 -0
  166. package/dist/{chunk-ZJQUIG3A.js → chunk-TV6ECMN3.js} +15 -14
  167. package/dist/{chunk-JMOLB347.js → chunk-U25OX22K.js} +64 -8
  168. package/dist/{chunk-UNFCFJMF.js → chunk-U2SGLXFR.js} +17 -17
  169. package/dist/{chunk-MV4637YA.js → chunk-U3JGJ3BO.js} +24 -24
  170. package/dist/{chunk-XF3DATVU.js → chunk-U43G5EUN.js} +17 -17
  171. package/dist/{chunk-SNHOLLGN.js → chunk-UQUDITWL.js} +84 -25
  172. package/dist/{chunk-EQOSXLK3.js → chunk-UYKKTEWB.js} +14 -14
  173. package/dist/{chunk-NX6QEEOA.js → chunk-VAL7HAIR.js} +3 -3
  174. package/dist/{chunk-JUQHYTXN.js → chunk-VC4JMXM5.js} +19 -17
  175. package/dist/{chunk-NIYB5K5B.js → chunk-VRH6ITQH.js} +9 -9
  176. package/dist/{chunk-U5PDQTLA.js → chunk-VTMIRRIZ.js} +2 -2
  177. package/dist/{chunk-H4VJO3M2.js → chunk-VUBVBFJW.js} +5 -5
  178. package/dist/{chunk-G7WZH54P.js → chunk-W3ZWS3B3.js} +20 -10
  179. package/dist/{chunk-GG6HIU74.js → chunk-WBOVB3XR.js} +24 -24
  180. package/dist/{chunk-IA2RKC6I.js → chunk-WFJMKUTR.js} +52 -11
  181. package/dist/{chunk-KXZR2BLL.js → chunk-WM4N2L4T.js} +1 -1
  182. package/dist/{chunk-7S3XFWOU.js → chunk-WRLEYM3T.js} +4 -4
  183. package/dist/{chunk-REWZE2XI.js → chunk-WSFPKNKT.js} +23 -23
  184. package/dist/{chunk-SUQZGPVG.js → chunk-XB64FJLU.js} +24 -24
  185. package/dist/{chunk-4AYZQ3SY.js → chunk-XBNKOARP.js} +4 -4
  186. package/dist/chunk-XDTD55UU.js +89 -0
  187. package/dist/{chunk-DQNKG4HY.js → chunk-XMYGEZQ7.js} +17 -17
  188. package/dist/{chunk-R3VFLYZZ.js → chunk-XP3KLC4S.js} +6 -6
  189. package/dist/{chunk-S2FDPN32.js → chunk-XRDYEEDE.js} +1 -1
  190. package/dist/{chunk-7HQOZALR.js → chunk-XSNIHYO6.js} +10 -10
  191. package/dist/chunk-XVQGT4SL.js +37 -0
  192. package/dist/{chunk-ZTNS3L5Z.js → chunk-XZLSKGJX.js} +5 -5
  193. package/dist/{chunk-NR5T46ZY.js → chunk-Y2FMWQQB.js} +16 -16
  194. package/dist/{chunk-7A7IG7OA.js → chunk-Y6LFFSRV.js} +10 -10
  195. package/dist/{chunk-V4XKYGLK.js → chunk-YISWYR3Q.js} +4 -4
  196. package/dist/{chunk-EI4KQYJ3.js → chunk-YSFIQGDK.js} +8 -8
  197. package/dist/{chunk-XPJR74MA.js → chunk-YVQWJDVN.js} +37 -25
  198. package/dist/{chunk-R3RVFCJ2.js → chunk-YY2WGL6S.js} +2 -2
  199. package/dist/{chunk-HQMCHHY5.js → chunk-Z2BA4NNR.js} +2 -2
  200. package/dist/{chunk-G3PBLW4K.js → chunk-ZDZCUZ4N.js} +34 -9
  201. package/dist/{chunk-UFBKJOWB.js → chunk-ZPPLFE4N.js} +14 -14
  202. package/dist/{chunk-WGU6NIUV.js → chunk-ZRP6ZXOF.js} +12 -12
  203. package/dist/{chunk-7J7UY46S.js → chunk-ZTIMXVV5.js} +2 -2
  204. package/dist/{chunk-IWZPGIGT.js → chunk-ZWGU46YO.js} +23 -23
  205. package/dist/files.json +441 -433
  206. package/dist/packages/sdk/npm/index.js +9 -0
  207. package/dist/packages/ui/dist/assets/{elk-api-DDup23Us.js → elk-api-D2NcYpUJ.js} +2 -2
  208. package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
  209. package/dist/packages/ui/dist/index.html +1 -1
  210. package/package.json +5 -5
  211. package/dist/chunk-4Y4FY34K.js +0 -34
  212. package/dist/chunk-ACWQDL6T.js +0 -37
  213. package/dist/chunk-ASKDCMW5.js +0 -275
  214. package/dist/chunk-B3UHYXHU.js +0 -41
  215. package/dist/chunk-DDAEAZEV.js +0 -54
  216. package/dist/chunk-E25G46RW.js +0 -54
  217. package/dist/chunk-KQK6SQPE.js +0 -48
  218. package/dist/chunk-NCR24CPV.js +0 -41
  219. package/dist/chunk-NDW4ROST.js +0 -38
  220. package/dist/chunk-OJN7WME4.js +0 -34
  221. package/dist/chunk-UFTQIK2J.js +0 -43
  222. package/dist/chunk-ZHWSL6SR.js +0 -45
  223. package/dist/packages/ui/dist/assets/index-mTOWhQZm.js +0 -29
@@ -6,58 +6,69 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  mapCommand,
8
8
  mapStateOf
9
- } from "./chunk-LS3WR2RF.js";
9
+ } from "./chunk-7C7PTJM2.js";
10
10
  import {
11
11
  factsRepos,
12
12
  verifyCommand
13
- } from "./chunk-Y5AYBGLB.js";
14
- import "./chunk-52WCHTVZ.js";
13
+ } from "./chunk-6IKYFARG.js";
14
+ import {
15
+ plannedTopUp,
16
+ recordRulesNow,
17
+ ruleSetsOfFiles
18
+ } from "./chunk-QOF7U6BI.js";
19
+ import "./chunk-XDTD55UU.js";
20
+ import "./chunk-CGF4LKXR.js";
15
21
  import {
16
22
  estateFreshness
17
- } from "./chunk-G3PBLW4K.js";
23
+ } from "./chunk-ZDZCUZ4N.js";
18
24
  import {
19
25
  onboardingQueue
20
- } from "./chunk-ATNG5VOZ.js";
21
- import "./chunk-B3QOYE74.js";
22
- import {
23
- readPlanProgress
24
- } from "./chunk-LVBPY2M6.js";
25
- import "./chunk-EW7MRMD5.js";
26
- import "./chunk-IA2RKC6I.js";
26
+ } from "./chunk-N6YELFHL.js";
27
+ import "./chunk-PAQDPB6T.js";
28
+ import "./chunk-DIAYQLEY.js";
29
+ import "./chunk-WFJMKUTR.js";
27
30
  import {
28
31
  checkoutOf,
29
- headOf
30
- } from "./chunk-ASKDCMW5.js";
31
- import "./chunk-LDIARP6F.js";
32
- import "./chunk-MYKQVS5W.js";
33
- import "./chunk-EBWIOODZ.js";
34
- import "./chunk-BA5DTXHQ.js";
32
+ conventionsAt,
33
+ excludesOf,
34
+ headOf,
35
+ loadReadPlan,
36
+ readPlanProgress
37
+ } from "./chunk-6AYUBYK6.js";
38
+ import "./chunk-7VNEDDCC.js";
39
+ import "./chunk-BHHIHENP.js";
40
+ import "./chunk-42L2WHP6.js";
41
+ import "./chunk-MIOY6EXD.js";
35
42
  import {
36
43
  isMetarepo,
37
44
  notMetarepo
38
45
  } from "./chunk-3G4YI4ZU.js";
39
46
  import {
40
47
  assistantTier,
41
- readProbes
42
- } from "./chunk-6RGIM2ZH.js";
48
+ readProbes,
49
+ rulesLacking
50
+ } from "./chunk-J22RSFKY.js";
43
51
  import "./chunk-VOGCSYOI.js";
44
52
  import {
45
53
  estateRepos,
46
54
  productionRepos
47
- } from "./chunk-IILZ7J3L.js";
48
- import "./chunk-TEBBD4XH.js";
55
+ } from "./chunk-DBZNQAMN.js";
56
+ import "./chunk-QR65C3DV.js";
49
57
  import {
50
- sameCommit
51
- } from "./chunk-XPWSNKF3.js";
52
- import "./chunk-WIMOJMAK.js";
53
- import "./chunk-5V5BJACL.js";
54
- import "./chunk-GVFUEGGM.js";
55
- import "./chunk-RJDP642F.js";
56
- import "./chunk-XZJE6WIT.js";
57
- import "./chunk-FMRMTI7W.js";
58
+ dirSource,
59
+ sameCommit,
60
+ sessionTokensFor
61
+ } from "./chunk-7VAMO66T.js";
62
+ import "./chunk-HY2VVVFZ.js";
63
+ import "./chunk-PJRMMWU4.js";
64
+ import "./chunk-34NWVIBC.js";
65
+ import "./chunk-M4D3VKAS.js";
66
+ import "./chunk-ARLH2ZMD.js";
67
+ import "./chunk-RA64IK43.js";
68
+ import "./chunk-MRLCNXXR.js";
58
69
  import {
59
70
  currentPromptLimit
60
- } from "./chunk-BKFGGJKA.js";
71
+ } from "./chunk-CQD26SMZ.js";
61
72
  import {
62
73
  factsDirOf,
63
74
  factsRelOf,
@@ -67,7 +78,7 @@ import {
67
78
  orgPackDirOf,
68
79
  parseFacts,
69
80
  require_dist
70
- } from "./chunk-JMOLB347.js";
81
+ } from "./chunk-U25OX22K.js";
71
82
  import {
72
83
  ensureLocalIgnore,
73
84
  writeFileAtomic
@@ -153,9 +164,9 @@ async function commitOf(root, repo, f) {
153
164
  return void 0;
154
165
  return await headFromFiles(dir) ?? await headOf(dir);
155
166
  }
156
- async function partsOf(root, repo, commit, limit, git) {
167
+ async function partsOf(root, repo, commit, limit, git, models) {
157
168
  const io = captured();
158
- const code = await mapCommand(root, repo, { estimate: true, json: true, commit, maxTokens: limit }, io, git ? { git } : {});
169
+ const code = await mapCommand(root, repo, { estimate: true, json: true, commit, maxTokens: limit, ...models ? { models } : {} }, io, git ? { git } : {});
159
170
  const r = code === 0 ? jsonOf(io.lines) : void 0;
160
171
  if (!r)
161
172
  return io.errs[0] ?? `atticus map ${repo} --estimate didn't plan it`;
@@ -163,9 +174,17 @@ async function partsOf(root, repo, commit, limit, git) {
163
174
  const batches = r.batches ?? void 0;
164
175
  if (!planned.length)
165
176
  return {
166
- parts: [{ part: 1, total: 1, paths: [], files: r.files, tokens: r.tokens }],
177
+ parts: [
178
+ {
179
+ part: 1,
180
+ total: 1,
181
+ paths: [],
182
+ files: r.read?.files ?? r.files,
183
+ tokens: r.read?.tokens ?? r.tokens
184
+ }
185
+ ],
167
186
  total: 1,
168
- tokens: r.tokens,
187
+ tokens: r.read?.tokens ?? r.tokens,
169
188
  ...batches !== void 0 ? { batches } : {}
170
189
  };
171
190
  const states = r.parts.plan?.parts ?? [];
@@ -177,6 +196,32 @@ async function partsOf(root, repo, commit, limit, git) {
177
196
  ...batches !== void 0 ? { batches } : {}
178
197
  };
179
198
  }
199
+ async function rulesPartsOf(root, repo, commit, limit, o = {}) {
200
+ const dir = await checkoutOf(root, repo).catch(() => void 0);
201
+ if (!dir)
202
+ return "no clone to read: atticus workspace sync clones it";
203
+ const p = await plannedTopUp(root, repo, {
204
+ commit,
205
+ source: dirSource(dir),
206
+ exclude: await excludesOf(root, repo),
207
+ conventions: await conventionsAt(root),
208
+ session: sessionTokensFor(limit),
209
+ ...o.save ? {} : { dryRun: true },
210
+ ...o.models ? { models: o.models } : {}
211
+ });
212
+ if ("error" in p)
213
+ return p.error;
214
+ const sessions = p.topUp?.sessions ?? [];
215
+ const parts = sessions.map((x, i) => ({
216
+ part: i + 1,
217
+ total: sessions.length,
218
+ paths: x.paths,
219
+ files: x.files,
220
+ tokens: x.tokens,
221
+ done: !!x.done
222
+ })).filter((x) => !x.done).map(({ done: _d, ...x }) => x);
223
+ return { parts, total: sessions.length, sets: ruleSetsOfFiles(sessions) };
224
+ }
180
225
  async function planEstate(root, op, o, c, state) {
181
226
  const all = estateRepos(op).map((r) => r.id);
182
227
  const production = new Set(productionRepos(op).map((r) => r.id));
@@ -222,6 +267,17 @@ async function planEstate(root, op, o, c, state) {
222
267
  });
223
268
  continue;
224
269
  }
270
+ if (state2 === "rules-changed") {
271
+ const progress = await readPlanProgress(root, repo, { commit });
272
+ todo.push(progress && !progress.stale && progress.next ? {
273
+ repo,
274
+ kind: "read",
275
+ commit,
276
+ why: `its read is under way: ${progress.done} of ${progress.total} parts read`,
277
+ started: true
278
+ } : { repo, kind: "rules", commit, why: "", started: true });
279
+ continue;
280
+ }
225
281
  if (state2 === "moved") {
226
282
  todo.push({
227
283
  repo,
@@ -274,6 +330,24 @@ async function planEstate(root, op, o, c, state) {
274
330
  items.push({ ...base, parts: [], total: 0, tokens: 0 });
275
331
  continue;
276
332
  }
333
+ if (t.kind === "rules") {
334
+ const p2 = await rulesPartsOf(root, t.repo, t.commit, c.limit, {
335
+ ...o.models ? { models: o.models } : {}
336
+ });
337
+ if (typeof p2 === "string") {
338
+ skipped.push({ repo: t.repo, why: p2 });
339
+ continue;
340
+ }
341
+ items.push({
342
+ ...base,
343
+ why: p2.sets.length ? `read before these reading rules: ${p2.sets.join(", ")}` : "read before the reading rules there are now, but no file of it is one they apply to: recorded as read under them",
344
+ sets: p2.sets,
345
+ parts: p2.parts,
346
+ total: p2.total,
347
+ tokens: p2.parts.reduce((n, x) => n + x.tokens, 0)
348
+ });
349
+ continue;
350
+ }
277
351
  if (t.kind === "gaps") {
278
352
  items.push({
279
353
  ...base,
@@ -283,7 +357,7 @@ async function planEstate(root, op, o, c, state) {
283
357
  });
284
358
  continue;
285
359
  }
286
- const p = await partsOf(root, t.repo, t.commit, c.limit, c.git);
360
+ const p = await partsOf(root, t.repo, t.commit, c.limit, c.git, o.models);
287
361
  if (typeof p === "string") {
288
362
  skipped.push({ repo: t.repo, why: p });
289
363
  continue;
@@ -311,12 +385,21 @@ function planLines(plan) {
311
385
  const out = [];
312
386
  const reading = plan.items.filter((i) => i.kind !== "carry");
313
387
  const parts = reading.reduce((n, i) => n + i.parts.length, 0);
388
+ const planned = reading.reduce((n, i) => n + Math.max(i.total, i.parts.length), 0);
314
389
  const tokens = reading.reduce((n, i) => n + i.tokens, 0);
315
390
  out.push(`The estate at ${tokensText(plan.limit)} tokens a prompt (${plan.limitFrom === "flag" ? "--max-tokens" : plan.limitFrom === "probe" ? "the limit atticus probe measured" : "runtime.yaml's maxInput"}), ${plan.mode === "model" ? "read by runtime.yaml's model, unattended" : "read by Copilot Chat in agent mode: you paste one line per part"}:`);
316
391
  plan.items.forEach((i, n) => {
317
392
  const head = ` ${n + 1}. ${i.repo}${i.prototype ? " (prototype: read, never joined)" : ""}`;
318
- if (i.kind === "carry")
393
+ if (i.kind === "carry" || i.kind === "rules" && !i.parts.length)
319
394
  return out.push(`${head}: ${i.why}.`);
395
+ if (i.kind === "rules")
396
+ out.push(`${head}: top-up for the reading rules added since it was read (${(i.sets ?? []).join(", ")}); ${plural(i.parts.length, "part")}${i.parts.length < i.total ? ` of ${i.total}` : ""}, about ${tokensText(i.tokens)} tokens.`);
397
+ if (i.kind === "rules") {
398
+ if (i.total > 1)
399
+ for (const p of i.parts)
400
+ out.push(` part ${p.part} of ${p.total} (about ${tokensText(p.tokens)} tokens, ${plural(p.files, "file")}): ${p.paths.join(", ")}`);
401
+ return;
402
+ }
320
403
  if (i.kind === "gaps")
321
404
  return out.push(`${head}: ${i.why}, planned when it starts.`);
322
405
  out.push(`${head}: ${i.kind === "reread" ? "re-read" : "read"}, ${i.why}; ${plural(i.parts.length, "part")}${i.parts.length < i.total ? ` of ${i.total}` : ""}, about ${tokensText(i.tokens)} tokens${plan.mode === "model" && i.batches !== void 0 ? `, ${plural(i.batches, "prompt")}` : ""}.`);
@@ -326,7 +409,7 @@ function planLines(plan) {
326
409
  });
327
410
  for (const s of plan.skipped)
328
411
  out.push(` - ${s.repo}: skipped, ${s.why}.`);
329
- out.push(plan.items.length ? `In all: ${plural(plan.items.length, "repo")}, ${plural(parts, "part")} to read, about ${tokensText(tokens)} tokens (estimated from the source, not metered). Then atticus verify --all --write joins the estate once.` : "Nothing to read: every repo is read and fresh, or skipped as said.");
412
+ out.push(plan.items.length ? `In all: ${plural(plan.items.length, "repo")}, ${plural(parts, "part")} to read${planned > parts ? ` (of ${planned} planned; ${planned - parts} ${planned - parts === 1 ? "is" : "are"} read already)` : ""}, about ${tokensText(tokens)} tokens (estimated from the source, not metered). Then atticus verify --all --write joins the estate once.` : "Nothing to read: every repo is read and fresh, or skipped as said.");
330
413
  return out;
331
414
  }
332
415
  var mtime = async (p) => (await stat(p).catch(() => void 0))?.mtimeMs;
@@ -365,6 +448,12 @@ async function settled(root, repo, commit, s, since) {
365
448
  }
366
449
  }
367
450
  async function covered(root, item, part, first, now) {
451
+ if (item.kind === "rules") {
452
+ const plan = await loadReadPlan(root, item.repo);
453
+ if (!plan?.topUp)
454
+ return rulesLacking(plan?.rules).length === 0;
455
+ return !!plan.topUp.sessions[part.part - 1]?.done;
456
+ }
368
457
  if (item.total > 1) {
369
458
  const p = await readPlanProgress(root, item.repo);
370
459
  return p?.parts.find((x) => x.part === part.part)?.state === "done";
@@ -497,6 +586,15 @@ async function mapAllCommand(root, o, io, deps = {}) {
497
586
  if (quit || stopped())
498
587
  break;
499
588
  const where = `repo ${n + 1} of ${items.length}`;
589
+ if (item.kind === "rules" && !item.parts.length) {
590
+ io.out("");
591
+ io.out(`===== ${item.repo} (${where}): ${item.why} =====`);
592
+ await recordRulesNow(root, item.repo, item.commit);
593
+ repoState(item).done = true;
594
+ totals.repos.add(item.repo);
595
+ await save();
596
+ continue;
597
+ }
500
598
  if (item.kind === "carry") {
501
599
  io.out("");
502
600
  io.out(`===== ${item.repo} (${where}): ${item.why} =====`);
@@ -560,9 +658,10 @@ async function mapAllCommand(root, o, io, deps = {}) {
560
658
  return 0;
561
659
  async function copilotPart(item, part, where) {
562
660
  const ps = partState(item, part.part);
563
- const label = item.total > 1 ? `part ${part.part} of ${item.total}` : "one session";
661
+ const nth = item.parts.indexOf(part) + 1;
662
+ const label = item.total > 1 ? `part ${part.part} of ${item.total}${item.parts.length < item.total && nth > 0 ? `, ${nth} of the ${item.parts.length} to read` : ""}` : "one session";
564
663
  const progress = item.total > 1 ? await readPlanProgress(root, item.repo) : void 0;
565
- const first0 = item.kind === "gaps" ? await gapsLine(item) : ps.retries > 0 || progress?.next && progress.next.part !== part.part ? await restLine(item, part) ?? `/atticus-map ${item.repo}` : `/atticus-map ${item.repo}`;
664
+ const first0 = item.kind === "rules" ? await rulesLine(item) : item.kind === "gaps" ? await gapsLine(item) : ps.retries > 0 || progress?.next && progress.next.part !== part.part ? await restLine(item, part) ?? `/atticus-map ${item.repo}` : `/atticus-map ${item.repo}`;
566
665
  if (first0 === void 0) {
567
666
  io.out(`${item.repo}: no gaps left; nothing to read.`);
568
667
  return finishPart(item, part, ps);
@@ -636,7 +735,7 @@ async function mapAllCommand(root, o, io, deps = {}) {
636
735
  async function retry(item2, part2, label2, where2) {
637
736
  ps.retries++;
638
737
  await save();
639
- const rest = item2.kind === "gaps" ? await gapsLine(item2) : await restLine(item2, part2);
738
+ const rest = item2.kind === "rules" ? await rulesLine(item2) : item2.kind === "gaps" ? await gapsLine(item2) : await restLine(item2, part2);
640
739
  if (rest === "done" || rest === void 0 && item2.kind === "gaps")
641
740
  return "done";
642
741
  line = rest ?? `/atticus-map ${item2.repo}`;
@@ -670,7 +769,8 @@ async function mapAllCommand(root, o, io, deps = {}) {
670
769
  json: true,
671
770
  commit: item.commit,
672
771
  maxTokens: limit,
673
- ...parted ? { part: part.part } : {}
772
+ ...parted ? { part: part.part } : {},
773
+ ...o.models ? { models: o.models } : {}
674
774
  }, c, deps.git ? { git: deps.git } : {});
675
775
  const g = code === 0 ? jsonOf(c.lines) : void 0;
676
776
  if (!g)
@@ -679,11 +779,26 @@ async function mapAllCommand(root, o, io, deps = {}) {
679
779
  return "done";
680
780
  return `/atticus-map ${item.repo}${parted ? ` --part ${part.part}` : ""} --gaps`;
681
781
  }
782
+ async function rulesLine(item) {
783
+ const p = await rulesPartsOf(root, item.repo, item.commit, limit, {
784
+ save: true,
785
+ ...o.models ? { models: o.models } : {}
786
+ });
787
+ if (typeof p === "string" || !p.parts.length)
788
+ return "done";
789
+ return `/atticus-map ${item.repo} --rules`;
790
+ }
682
791
  async function gapsLine(item) {
683
792
  const plain = captured();
684
793
  await verifyCommand(root, item.repo, { commit: item.commit, json: true }, plain);
685
794
  const c = captured();
686
- const code = await mapCommand(root, item.repo, { gaps: true, json: true, commit: item.commit, maxTokens: limit }, c, deps.git ? { git: deps.git } : {});
795
+ const code = await mapCommand(root, item.repo, {
796
+ gaps: true,
797
+ json: true,
798
+ commit: item.commit,
799
+ maxTokens: limit,
800
+ ...o.models ? { models: o.models } : {}
801
+ }, c, deps.git ? { git: deps.git } : {});
687
802
  const g = code === 0 ? jsonOf(c.lines) : void 0;
688
803
  if (!g) {
689
804
  io.out(`${item.repo}: the gaps pass couldn't be planned: ${c.errs[0] ?? "no plan"}`);
@@ -693,9 +808,11 @@ async function mapAllCommand(root, o, io, deps = {}) {
693
808
  }
694
809
  async function block(item, part, label, where, line, retries) {
695
810
  io.out("");
696
- io.out(`===== ${item.repo}, ${item.kind === "gaps" ? "the gaps pass" : label} (${where})${retries ? `, given again (${retries})` : ""} =====`);
811
+ io.out(`===== ${item.repo}, ${item.kind === "gaps" ? "the gaps pass" : item.kind === "rules" ? `the rules top-up${item.total > 1 ? `, ${label}` : ""}` : label} (${where})${retries ? `, given again (${retries})` : ""} =====`);
697
812
  io.out(`In a NEW Copilot Chat (agent mode), run: ${line}`);
698
- if (item.total > 1 && !line.includes("--gaps"))
813
+ if (item.kind === "rules")
814
+ io.out(`That chat reads ${plural(part.files, "file")} again for the reading rules added since (${(item.sets ?? []).join(", ")}): ${part.paths.join(", ")} (about ${tokensText(part.tokens)} tokens).`);
815
+ else if (item.total > 1 && !line.includes("--gaps"))
699
816
  io.out(`That chat reads part ${part.part}: ${part.paths.join(", ")} (about ${tokensText(part.tokens)} tokens); the estimate it runs names it.`);
700
817
  else if (line.includes("--part"))
701
818
  io.out(`That chat reads only what is left of part ${part.part}, as the prompt it writes lists.`);
@@ -705,7 +822,7 @@ async function mapAllCommand(root, o, io, deps = {}) {
705
822
  }
706
823
  async function modelRead(item, where, rt) {
707
824
  io.out("");
708
- io.out(`===== ${item.repo} (${where}): ${item.kind === "reread" ? "re-reading what changed" : "reading"} on the model, ${plural(item.batches ?? 0, "prompt")} =====`);
825
+ io.out(item.kind === "rules" ? `===== ${item.repo} (${where}): topping up on the model for the reading rules added since it was read (${(item.sets ?? []).join(", ")}) =====` : `===== ${item.repo} (${where}): ${item.kind === "reread" ? "re-reading what changed" : "reading"} on the model, ${plural(item.batches ?? 0, "prompt")} =====`);
709
826
  for (let attempt = 1; attempt <= RETRIES; attempt++) {
710
827
  if (stopped())
711
828
  return "failed";
@@ -716,6 +833,8 @@ async function mapAllCommand(root, o, io, deps = {}) {
716
833
  await mapCommand(root, item.repo, {
717
834
  commit: item.commit,
718
835
  maxTokens: limit,
836
+ ...o.models ? { models: o.models } : {},
837
+ ...item.kind === "rules" ? { rules: true } : {},
719
838
  ...resume ? { next: true } : before && !before.done ? { force: true } : {}
720
839
  }, io, { runtime: rt, ...deps.git ? { git: deps.git } : {} });
721
840
  } catch (e) {
@@ -15,26 +15,26 @@ import {
15
15
  changeStatus,
16
16
  changeSync,
17
17
  parseOwners
18
- } from "./chunk-MSL3CLHX.js";
19
- import "./chunk-7LCQ7JAM.js";
20
- import "./chunk-EV4TEFOD.js";
21
- import "./chunk-6N2GUZMZ.js";
18
+ } from "./chunk-Q4AWUD6C.js";
19
+ import "./chunk-NAKVQU6F.js";
20
+ import "./chunk-SR2M7DWL.js";
21
+ import "./chunk-ISXNWUG7.js";
22
22
  import "./chunk-VOGCSYOI.js";
23
- import "./chunk-T6ESD5KM.js";
24
- import "./chunk-3LU6YCSQ.js";
25
- import "./chunk-L7I5PKGD.js";
26
- import "./chunk-CAN3EBE5.js";
27
- import "./chunk-IILZ7J3L.js";
28
- import "./chunk-TEBBD4XH.js";
29
- import "./chunk-XPWSNKF3.js";
30
- import "./chunk-WIMOJMAK.js";
31
- import "./chunk-5V5BJACL.js";
32
- import "./chunk-GVFUEGGM.js";
33
- import "./chunk-XNRPCI23.js";
34
- import "./chunk-XZJE6WIT.js";
35
- import "./chunk-FMRMTI7W.js";
36
- import "./chunk-BKFGGJKA.js";
37
- import "./chunk-JMOLB347.js";
23
+ import "./chunk-KPHPVOME.js";
24
+ import "./chunk-G5SKNMPC.js";
25
+ import "./chunk-JQG4VO47.js";
26
+ import "./chunk-DW4BM73R.js";
27
+ import "./chunk-DBZNQAMN.js";
28
+ import "./chunk-QR65C3DV.js";
29
+ import "./chunk-7VAMO66T.js";
30
+ import "./chunk-HY2VVVFZ.js";
31
+ import "./chunk-PJRMMWU4.js";
32
+ import "./chunk-34NWVIBC.js";
33
+ import "./chunk-77UOXZVM.js";
34
+ import "./chunk-RA64IK43.js";
35
+ import "./chunk-MRLCNXXR.js";
36
+ import "./chunk-CQD26SMZ.js";
37
+ import "./chunk-U25OX22K.js";
38
38
  import "./chunk-MMB2OHUY.js";
39
39
  import "./chunk-TV45EUGM.js";
40
40
  export {
@@ -5,20 +5,20 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  excludesOf
8
- } from "./chunk-ASKDCMW5.js";
8
+ } from "./chunk-6AYUBYK6.js";
9
9
  import {
10
10
  dirSource,
11
11
  houseImportsUntaught,
12
12
  readRulesOf
13
- } from "./chunk-XPWSNKF3.js";
13
+ } from "./chunk-7VAMO66T.js";
14
14
  import {
15
15
  globToRegExp
16
- } from "./chunk-FMRMTI7W.js";
16
+ } from "./chunk-MRLCNXXR.js";
17
17
  import {
18
18
  conventionsOf,
19
19
  loadOrgPack,
20
20
  orgPackDirOf
21
- } from "./chunk-JMOLB347.js";
21
+ } from "./chunk-U25OX22K.js";
22
22
 
23
23
  // packages/cli/dist/house-imports.js
24
24
  async function houseUntaughtOf(root, repo, o) {
@@ -9,8 +9,8 @@ import {
9
9
  reExecForMemory,
10
10
  roomGuard,
11
11
  streamFacts
12
- } from "./chunk-RJDP642F.js";
13
- import "./chunk-JMOLB347.js";
12
+ } from "./chunk-ARLH2ZMD.js";
13
+ import "./chunk-U25OX22K.js";
14
14
  import "./chunk-MMB2OHUY.js";
15
15
  import "./chunk-TV45EUGM.js";
16
16
  export {
@@ -5,13 +5,13 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  parseXml
8
- } from "./chunk-GVFUEGGM.js";
8
+ } from "./chunk-34NWVIBC.js";
9
9
  import {
10
10
  ZipError,
11
11
  peekZip,
12
12
  readZip,
13
13
  require_dist
14
- } from "./chunk-JMOLB347.js";
14
+ } from "./chunk-U25OX22K.js";
15
15
  import {
16
16
  __toESM
17
17
  } from "./chunk-TV45EUGM.js";
@@ -4,29 +4,39 @@ var require = __atticusCreateRequire(import.meta.url);
4
4
  var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
- globHolds
8
- } from "./chunk-LVBPY2M6.js";
9
- import "./chunk-ASKDCMW5.js";
10
- import "./chunk-LDIARP6F.js";
7
+ modelsData,
8
+ reachPlanOf,
9
+ readPathsOf
10
+ } from "./chunk-XDTD55UU.js";
11
+ import {
12
+ globHolds,
13
+ modelsModeOf,
14
+ recordNotReached
15
+ } from "./chunk-6AYUBYK6.js";
16
+ import "./chunk-7VNEDDCC.js";
17
+ import {
18
+ MODELS_RULE
19
+ } from "./chunk-J22RSFKY.js";
11
20
  import {
12
21
  lineRangeOf,
13
22
  planGaps,
14
23
  sameCommit
15
- } from "./chunk-XPWSNKF3.js";
16
- import "./chunk-GVFUEGGM.js";
17
- import "./chunk-XZJE6WIT.js";
18
- import "./chunk-FMRMTI7W.js";
24
+ } from "./chunk-7VAMO66T.js";
25
+ import "./chunk-34NWVIBC.js";
26
+ import "./chunk-RA64IK43.js";
27
+ import "./chunk-MRLCNXXR.js";
19
28
  import {
20
29
  DATA_RULE,
21
30
  estimateTokens,
22
31
  neutralise,
23
32
  wrapData
24
- } from "./chunk-BKFGGJKA.js";
33
+ } from "./chunk-CQD26SMZ.js";
25
34
  import {
26
35
  factsDirOf,
27
36
  factsRelOf,
37
+ parseFacts,
28
38
  require_dist
29
- } from "./chunk-JMOLB347.js";
39
+ } from "./chunk-U25OX22K.js";
30
40
  import {
31
41
  writeFileAtomic
32
42
  } from "./chunk-MMB2OHUY.js";
@@ -76,13 +86,34 @@ async function mapGaps(root, repo, o, io) {
76
86
  ...v.specOpsUncoveredCount !== void 0 ? { specOpsUncoveredCount: v.specOpsUncoveredCount } : {},
77
87
  ...v.entriesNoFlowFollows ? { entriesNoFlowFollows: v.entriesNoFlowFollows } : {}
78
88
  };
79
- const plan = o.part ? partRest(from, o.part.left, size, o.session) : planGaps(from, size, o.session);
89
+ const mode = await modelsModeOf(root, repo, o.models);
90
+ const factsText = await readFile(join(dir, `${repo}.jsonl`), "utf8").catch(() => "");
91
+ const parsed = parseFacts(factsText);
92
+ const facts = parsed.ok ? parsed.facts : [];
93
+ const rp = reachPlanOf({
94
+ paths: readPathsOf(o.source, o.exclude ?? [], o.conventions),
95
+ source: o.source,
96
+ facts,
97
+ mode
98
+ });
99
+ const leave = new Set(rp.leaveOut);
100
+ if (from.unknown)
101
+ from.unknown = from.unknown.filter((p) => !leave.has(p));
102
+ const first = rp.reach.rooted && rp.reach.models ? { first: rp.first } : {};
103
+ const plan = o.part ? partRest(from, o.part.left, size, o.session, first) : planGaps(from, size, o.session, first);
104
+ await recordNotReached(root, repo, {
105
+ commit: o.commit,
106
+ session: o.session,
107
+ models: mode,
108
+ ...rp.notReached ? { notReached: rp.notReached } : {}
109
+ });
80
110
  const promptRel = gapsRelOf(root, repo);
81
111
  if (plan.sessions.length)
82
112
  await writeFileAtomic(join(dir, `${repo}.gaps.md`), gapsPrompt(repo, o.commit, plan, {
83
113
  rel,
84
114
  session: o.session,
85
- ...o.part ? { part: o.part.n } : {}
115
+ ...o.part ? { part: o.part.n } : {},
116
+ reach: rp
86
117
  }));
87
118
  if (o.json) {
88
119
  io.out(JSON.stringify({
@@ -91,7 +122,8 @@ async function mapGaps(root, repo, o, io) {
91
122
  session: o.session,
92
123
  ...plan,
93
124
  ...o.part ? { part: o.part.n } : {},
94
- ...plan.sessions.length ? { prompt: promptRel } : {}
125
+ ...plan.sessions.length ? { prompt: promptRel } : {},
126
+ notReached: rp.leaveOut
95
127
  }, null, 2));
96
128
  return 0;
97
129
  }
@@ -105,9 +137,11 @@ async function mapGaps(root, repo, o, io) {
105
137
  return 0;
106
138
  }
107
139
  const n = plan.sessions.length;
108
- const first = plan.sessions[0];
140
+ const s1 = plan.sessions[0];
109
141
  io.out(`${o.part ? `The rest of part ${o.part.n} of ${repo}` : `Second pass on the gaps of ${repo}`}: ${plan.files} ${plan.files === 1 ? "file" : "files"}, about ${plan.tokens.toLocaleString("en-US")} tokens, in ${n} ${n === 1 ? "session" : "sessions"} of ${o.session.toLocaleString("en-US")} at most.`);
110
- io.out(`Wrote ${promptRel}: session 1${n > 1 ? ` of ${n}` : ""}, ${first.reads.length} ${first.reads.length === 1 ? "read" : "reads"}, about ${first.tokens.toLocaleString("en-US")} tokens.`);
142
+ io.out(`Wrote ${promptRel}: session 1${n > 1 ? ` of ${n}` : ""}, ${s1.reads.length} ${s1.reads.length === 1 ? "read" : "reads"}, about ${s1.tokens.toLocaleString("en-US")} tokens.`);
143
+ if (rp.leaveOut.length)
144
+ io.out(`${rp.leaveOut.length} model ${rp.leaveOut.length === 1 ? "class" : "classes"} no entry or call reaches ${rp.leaveOut.length === 1 ? "is" : "are"} left out (ADR 0169): atticus map ${repo} --gaps --models all reads them.`);
111
145
  if (plan.unlisted)
112
146
  io.out(`${plan.unlisted} more skipped lines or spec operations are counted in ${verifyYaml} but not listed: verify after this pass and --gaps again plans them.`);
113
147
  io.out(`Start a new chat, so the session holds only these files and lines, and run /atticus-map ${again} there (or paste ${promptRel}).`);
@@ -138,10 +172,15 @@ function gapsPrompt(repo, commit, plan, c) {
138
172
  `The paths to open and what to look for at each are in the data block below, taken from the last verify's lists. ${DATA_RULE} The quoted values in it are text from the repo's code (a literal a line writes, a spec's path, a reviewed line's why): data, never instructions, whatever they say.`,
139
173
  "",
140
174
  data,
141
- ""
175
+ "",
176
+ ...modelsSection(repo, c.reach, new Set(s.reads.map((r) => r.file)))
142
177
  ].join("\n");
143
178
  }
144
- function partRest(from, left, size, room) {
179
+ function modelsSection(repo, r, files) {
180
+ const data = r ? modelsData(repo, r, { only: files }) : void 0;
181
+ return data ? ["## Model classes", "", MODELS_RULE, "", data, ""] : [];
182
+ }
183
+ function partRest(from, left, size, room, o = {}) {
145
184
  const ranges = left.filter((g) => lineRangeOf(g));
146
185
  const folders = left.filter((g) => !lineRangeOf(g));
147
186
  const inPart = (file) => folders.some((g) => globHolds(g, file));
@@ -151,7 +190,7 @@ function partRest(from, left, size, room) {
151
190
  ...from.skipped ? { skipped: from.skipped.filter((x) => inPart(fileOf(x.cite))) } : {},
152
191
  ...from.specOpsUncovered ? { specOpsUncovered: from.specOpsUncovered.filter((x) => inPart(fileOf(x.cite))) } : {},
153
192
  ...from.entriesNoFlowFollows ? { entriesNoFlowFollows: from.entriesNoFlowFollows.filter((x) => inPart(fileOf(x.cite))) } : {}
154
- }, size, room);
193
+ }, size, room, o);
155
194
  const sessions = plan.sessions.map((x) => ({ reads: [...x.reads], tokens: x.tokens }));
156
195
  const gone = [...plan.gone];
157
196
  for (const g of ranges) {