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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-IILZ7J3L.js → chunk-22GLUHGE.js} +171 -62
  3. package/dist/{chunk-4UZJOQYK.js → chunk-2A24BNRZ.js} +7 -7
  4. package/dist/{chunk-HOUUBE74.js → chunk-2ELFEKOO.js} +4 -4
  5. package/dist/{chunk-R6UTCLH5.js → chunk-2P6IHSRO.js} +16 -16
  6. package/dist/chunk-2Q2YBAR5.js +40 -0
  7. package/dist/{chunk-6E2GJANQ.js → chunk-2VQLFNBO.js} +19 -19
  8. package/dist/{chunk-SILY6ZEZ.js → chunk-3256EDLL.js} +3 -3
  9. package/dist/{chunk-YLAM4HZH.js → chunk-34BCKMBS.js} +3 -3
  10. package/dist/{chunk-GVFUEGGM.js → chunk-34NWVIBC.js} +2 -2
  11. package/dist/{chunk-4ONORLK5.js → chunk-36KD4OGC.js} +13 -13
  12. package/dist/{chunk-B3QOYE74.js → chunk-3CFBU2O6.js} +4 -4
  13. package/dist/{chunk-77RSRG3A.js → chunk-3JLTN3Y7.js} +7 -7
  14. package/dist/{chunk-QWHTTA2X.js → chunk-3M7QBKKG.js} +8 -6
  15. package/dist/{chunk-DQNKG4HY.js → chunk-3RP34PYV.js} +17 -17
  16. package/dist/{chunk-7HQOZALR.js → chunk-3ZKLWM5Y.js} +10 -10
  17. package/dist/{chunk-SUQZGPVG.js → chunk-47HPZ34V.js} +24 -24
  18. package/dist/chunk-4BPROPGG.js +45 -0
  19. package/dist/{chunk-LUPW4WLK.js → chunk-4G56W6H7.js} +8 -8
  20. package/dist/{chunk-JRPQX2EK.js → chunk-4HIQ2FTI.js} +4 -4
  21. package/dist/{chunk-2K2ZEJVR.js → chunk-4HTILEXW.js} +2 -2
  22. package/dist/{chunk-S7ZWCMDO.js → chunk-4Q2PGM5T.js} +8 -9
  23. package/dist/{chunk-XPJR74MA.js → chunk-4RDW2X43.js} +37 -25
  24. package/dist/{chunk-7LCQ7JAM.js → chunk-4VOG5H2K.js} +1 -1
  25. package/dist/chunk-5CSZTVXH.js +34 -0
  26. package/dist/{chunk-KU4T2CXJ.js → chunk-5FFMJMVH.js} +18 -18
  27. package/dist/{chunk-XOVLGBKI.js → chunk-5GGGAI5C.js} +17 -17
  28. package/dist/{chunk-7S3XFWOU.js → chunk-5H46QFSL.js} +4 -4
  29. package/dist/{chunk-XJAJQGXJ.js → chunk-5ION6STH.js} +2 -2
  30. package/dist/{chunk-HZYFLEWO.js → chunk-5M3CLAOV.js} +17 -17
  31. package/dist/{chunk-WUE6HKIU.js → chunk-5OACMWWI.js} +135 -39
  32. package/dist/{chunk-OR5VRULZ.js → chunk-6ENDKY52.js} +10 -10
  33. package/dist/{chunk-6V3DTQWK.js → chunk-6FG7QKJC.js} +21 -21
  34. package/dist/{chunk-SH7AZZDA.js → chunk-6JV3YHRR.js} +17 -17
  35. package/dist/{chunk-GWSWS264.js → chunk-6ROZRBWH.js} +4 -4
  36. package/dist/{chunk-MYKQVS5W.js → chunk-6S27MUQQ.js} +10 -6
  37. package/dist/{chunk-TZXHUDI6.js → chunk-72DY5NCN.js} +2 -2
  38. package/dist/chunk-76QVBNEM.js +37 -0
  39. package/dist/{chunk-XNRPCI23.js → chunk-77UOXZVM.js} +5 -5
  40. package/dist/{chunk-EHUYLNLC.js → chunk-7AXMUE2U.js} +14 -14
  41. package/dist/{chunk-LS3WR2RF.js → chunk-7TEQF64E.js} +122 -59
  42. package/dist/{chunk-EI4KQYJ3.js → chunk-7TH6I6TL.js} +8 -8
  43. package/dist/{chunk-7SZPENUP.js → chunk-7UKETVPW.js} +1 -1
  44. package/dist/{chunk-LDIARP6F.js → chunk-7VNEDDCC.js} +2 -2
  45. package/dist/{chunk-CRQ73DIF.js → chunk-A5GY2EWH.js} +11 -11
  46. package/dist/{chunk-FOQXYMOR.js → chunk-AEZ3EICK.js} +19 -19
  47. package/dist/{chunk-RJDP642F.js → chunk-ARLH2ZMD.js} +1 -1
  48. package/dist/{chunk-26DBAGOP.js → chunk-AYVLEB55.js} +17 -17
  49. package/dist/{chunk-IA2RKC6I.js → chunk-B6X5PJSA.js} +52 -11
  50. package/dist/{chunk-S2FDPN32.js → chunk-BRCDEGNE.js} +1 -1
  51. package/dist/{chunk-JEUXCIRD.js → chunk-BSVTNNUK.js} +5 -5
  52. package/dist/{chunk-Y5AYBGLB.js → chunk-BTOGAUWX.js} +13 -10
  53. package/dist/{chunk-MCWWMMLN.js → chunk-BXP2Q4TD.js} +22 -22
  54. package/dist/{chunk-UFBKJOWB.js → chunk-BZRWJUB4.js} +14 -14
  55. package/dist/{chunk-5ACUW753.js → chunk-CH6LUQLD.js} +1 -1
  56. package/dist/{chunk-7VFVQX5K.js → chunk-CIIRPLI6.js} +4 -4
  57. package/dist/{chunk-SNHOLLGN.js → chunk-CJXM6SG4.js} +84 -25
  58. package/dist/{chunk-BKFGGJKA.js → chunk-CQD26SMZ.js} +3 -1
  59. package/dist/{chunk-4URR24DD.js → chunk-CW5SEPUT.js} +6 -6
  60. package/dist/{chunk-MV4637YA.js → chunk-CWSZP2LU.js} +24 -24
  61. package/dist/{chunk-5BJFMAQU.js → chunk-CXK27ZUY.js} +12 -12
  62. package/dist/{chunk-5NZSJ5ZG.js → chunk-CXY4YDXS.js} +2 -2
  63. package/dist/{chunk-NG5R2WIY.js → chunk-DDZZXVQ5.js} +9 -9
  64. package/dist/{chunk-PQW7PYUR.js → chunk-DGZXJO5I.js} +7 -7
  65. package/dist/{chunk-TCADP67G.js → chunk-DONCF2XC.js} +3 -3
  66. package/dist/{chunk-XF3DATVU.js → chunk-DPNCAFMB.js} +17 -17
  67. package/dist/{chunk-ORZSD2KD.js → chunk-DQKNOHUZ.js} +1 -1
  68. package/dist/{chunk-CAN3EBE5.js → chunk-DW4BM73R.js} +1 -1
  69. package/dist/{chunk-NX6QEEOA.js → chunk-DWN7RSNQ.js} +3 -3
  70. package/dist/{chunk-EV4TEFOD.js → chunk-DWYPYVPJ.js} +13 -13
  71. package/dist/{chunk-5RUMHLIS.js → chunk-E73QLYK7.js} +24 -3
  72. package/dist/{chunk-LZWVK4YY.js → chunk-EE3UNC44.js} +3 -3
  73. package/dist/{chunk-REWZE2XI.js → chunk-EJDZEK22.js} +23 -23
  74. package/dist/{chunk-VYNZED7B.js → chunk-ENZWVTTN.js} +20 -20
  75. package/dist/{chunk-NBGBMRIS.js → chunk-EREL3TQG.js} +1 -1
  76. package/dist/{chunk-NH5QH3WS.js → chunk-ESGIBN3S.js} +1 -1
  77. package/dist/{chunk-EBWIOODZ.js → chunk-EU7VTBAI.js} +4 -4
  78. package/dist/chunk-F5GA6G3U.js +48 -0
  79. package/dist/{chunk-Z2EYRUOH.js → chunk-F6FGIYPT.js} +19 -19
  80. package/dist/{chunk-H4VJO3M2.js → chunk-FAET4BB6.js} +5 -5
  81. package/dist/{chunk-5ICB2BXH.js → chunk-FBFSTYAB.js} +7 -7
  82. package/dist/{chunk-IWZPGIGT.js → chunk-FEBYMFZA.js} +23 -23
  83. package/dist/chunk-FMV6IZ3P.js +54 -0
  84. package/dist/{chunk-TGEOLIAK.js → chunk-FQ6IBYFC.js} +3 -3
  85. package/dist/{chunk-R3VFLYZZ.js → chunk-FSJMFPA3.js} +6 -6
  86. package/dist/{chunk-SIUDWWKS.js → chunk-GFZ5MIQG.js} +23 -23
  87. package/dist/{chunk-6RGIM2ZH.js → chunk-GHSVJNVL.js} +75 -8
  88. package/dist/{chunk-XR5DD5DQ.js → chunk-GKPOCUQR.js} +12 -7
  89. package/dist/{chunk-NR5T46ZY.js → chunk-GLSNVC67.js} +16 -16
  90. package/dist/{chunk-T6ESD5KM.js → chunk-GMDOXWIS.js} +4 -4
  91. package/dist/{chunk-5TY4DTHQ.js → chunk-GN5ZLSLD.js} +3 -3
  92. package/dist/{chunk-MKIULIUQ.js → chunk-GUNBOZ75.js} +3 -3
  93. package/dist/{chunk-ZTNS3L5Z.js → chunk-GYS64N6F.js} +5 -5
  94. package/dist/{chunk-ANCI3LFS.js → chunk-HIQWJ6JZ.js} +4 -4
  95. package/dist/{chunk-4AYZQ3SY.js → chunk-HJ52XDST.js} +4 -4
  96. package/dist/{chunk-EW7MRMD5.js → chunk-HJUEQERG.js} +16 -7
  97. package/dist/{chunk-ZJQUIG3A.js → chunk-HKGQUOQ3.js} +15 -14
  98. package/dist/chunk-HP32HUWR.js +41 -0
  99. package/dist/{chunk-WIMOJMAK.js → chunk-HY2VVVFZ.js} +168 -14
  100. package/dist/{chunk-G3PBLW4K.js → chunk-I2PNEG3M.js} +34 -9
  101. package/dist/{chunk-XKJRPVJO.js → chunk-INCECZ2E.js} +5 -5
  102. package/dist/{chunk-6N2GUZMZ.js → chunk-ISXNWUG7.js} +1 -1
  103. package/dist/{chunk-HGQZTUAC.js → chunk-ITJ7ST5E.js} +4 -4
  104. package/dist/{chunk-SINJKQSI.js → chunk-J3VAFDEX.js} +13 -13
  105. package/dist/{chunk-WFYHOXTB.js → chunk-JGLZUQVN.js} +15 -15
  106. package/dist/{chunk-7RGCQ4VZ.js → chunk-JLIEAQP4.js} +4 -4
  107. package/dist/{chunk-L7I5PKGD.js → chunk-JQG4VO47.js} +1 -1
  108. package/dist/{chunk-GPLFYLGH.js → chunk-JXXQHETS.js} +10 -10
  109. package/dist/{chunk-JUZ75OG4.js → chunk-KNGESBFW.js} +15 -15
  110. package/dist/{chunk-UABFFMWH.js → chunk-KUYA2E7M.js} +7 -7
  111. package/dist/{chunk-YWZDAZMA.js → chunk-KY2ZHTBJ.js} +6 -6
  112. package/dist/{chunk-5P5BGG5L.js → chunk-L4UIKAWD.js} +6 -6
  113. package/dist/{chunk-IRW64JFF.js → chunk-LDUJ6NIT.js} +4 -4
  114. package/dist/{chunk-7A7IG7OA.js → chunk-LTLR4JZJ.js} +10 -10
  115. package/dist/{chunk-UTR67XU2.js → chunk-MFRPLAOH.js} +2 -2
  116. package/dist/{chunk-V4XKYGLK.js → chunk-MH7UBG47.js} +4 -4
  117. package/dist/{chunk-XPWSNKF3.js → chunk-MLAACAES.js} +55 -12
  118. package/dist/{chunk-BQNEHB5U.js → chunk-MNCQ2GL7.js} +11 -11
  119. package/dist/{chunk-Z46OXTBE.js → chunk-MNUZX67F.js} +5 -5
  120. package/dist/{chunk-RWMSJP7H.js → chunk-MQHYCS6A.js} +26 -25
  121. package/dist/{chunk-FMRMTI7W.js → chunk-MRLCNXXR.js} +1 -1
  122. package/dist/{chunk-BA5DTXHQ.js → chunk-NCONDPHH.js} +4 -4
  123. package/dist/{chunk-UNFCFJMF.js → chunk-NHS55U7T.js} +17 -17
  124. package/dist/{chunk-C2YGYTU6.js → chunk-NL6XQZSV.js} +22 -22
  125. package/dist/{chunk-TC3KTG33.js → chunk-NSJ6ZR2A.js} +3 -3
  126. package/dist/{chunk-3DDJLI7N.js → chunk-NTNJNRHW.js} +4 -4
  127. package/dist/{chunk-GG6HIU74.js → chunk-NTTXTLCQ.js} +24 -24
  128. package/dist/{chunk-55TBYJF2.js → chunk-NWL7XEQ4.js} +17 -16
  129. package/dist/{chunk-U6YKL7SI.js → chunk-NWXY3B4R.js} +22 -22
  130. package/dist/{chunk-4YWRU7JK.js → chunk-O5W4ECUY.js} +15 -15
  131. package/dist/{chunk-IVHN2VYG.js → chunk-OJAJXU65.js} +3 -1
  132. package/dist/{chunk-EZSZFI54.js → chunk-OMH3I5BH.js} +2 -2
  133. package/dist/{chunk-RIEFYHXI.js → chunk-P6UJ22XR.js} +4 -4
  134. package/dist/{chunk-LVBPY2M6.js → chunk-P76AW3PA.js} +298 -14
  135. package/dist/{chunk-23VFQHFQ.js → chunk-PCCPXWJC.js} +31 -21
  136. package/dist/{chunk-DS3ZEJVN.js → chunk-PGFRXGHA.js} +2 -2
  137. package/dist/{chunk-5V5BJACL.js → chunk-PJRMMWU4.js} +2 -2
  138. package/dist/{chunk-BX52REMA.js → chunk-PKJ3K3GM.js} +5 -5
  139. package/dist/{chunk-KLKENMWQ.js → chunk-PVW2N63M.js} +58 -43
  140. package/dist/{chunk-OFWYZH6B.js → chunk-Q55UP5EZ.js} +21 -21
  141. package/dist/{chunk-C5JFMAXX.js → chunk-QAFMLBPF.js} +11 -11
  142. package/dist/{chunk-CZI2ACNT.js → chunk-QEZSA2O7.js} +16 -16
  143. package/dist/{chunk-27EDZN52.js → chunk-QJ3OX7OC.js} +31 -31
  144. package/dist/{chunk-GMJXC5AL.js → chunk-QL4VNY4U.js} +1 -1
  145. package/dist/{chunk-TEBBD4XH.js → chunk-QR65C3DV.js} +4 -4
  146. package/dist/{chunk-SG5KY4VB.js → chunk-QXGOEP44.js} +3 -3
  147. package/dist/chunk-QY7RGTUP.js +326 -0
  148. package/dist/{chunk-XZJE6WIT.js → chunk-RA64IK43.js} +1 -1
  149. package/dist/{chunk-7HWXYP4H.js → chunk-RLJDYLID.js} +11 -11
  150. package/dist/{chunk-NELU7LSL.js → chunk-RMLUZYEA.js} +10 -10
  151. package/dist/chunk-RSVBX6A3.js +54 -0
  152. package/dist/{chunk-D7MWYJZF.js → chunk-RZWZO2JQ.js} +16 -17
  153. package/dist/{chunk-KQRYW7OS.js → chunk-SAC6FNKR.js} +108 -108
  154. package/dist/{chunk-HR4DVO6X.js → chunk-SCBU46AJ.js} +3 -3
  155. package/dist/{chunk-Q32Y5T2U.js → chunk-SGNHNN3G.js} +11 -11
  156. package/dist/{chunk-WKXOEIOY.js → chunk-SHAAGH3T.js} +14 -14
  157. package/dist/{chunk-ATNG5VOZ.js → chunk-SK5OYWIY.js} +2 -2
  158. package/dist/{chunk-CE4S5ZY3.js → chunk-SNSFQ47W.js} +11 -11
  159. package/dist/{chunk-WCLAOKCH.js → chunk-SSL6JMPA.js} +8 -8
  160. package/dist/{chunk-SKMHS4CL.js → chunk-TA2ZNDYD.js} +1 -1
  161. package/dist/{chunk-YVCOQ5TZ.js → chunk-TEHH47TG.js} +3 -3
  162. package/dist/{chunk-EATSD7YD.js → chunk-TEZSZ24W.js} +4 -4
  163. package/dist/{chunk-RB2VSED2.js → chunk-TH526O6E.js} +11 -11
  164. package/dist/{chunk-WUP77GG2.js → chunk-TIAPEYWI.js} +3 -3
  165. package/dist/{chunk-C75W7VXX.js → chunk-TLCRIAU3.js} +20 -18
  166. package/dist/chunk-TV4CGNEY.js +43 -0
  167. package/dist/{chunk-IY4PHPHT.js → chunk-TVSNWIAM.js} +7 -5
  168. package/dist/{chunk-7RUMD56V.js → chunk-TWHZU36X.js} +1 -1
  169. package/dist/{chunk-JBSD57N7.js → chunk-TXV2AYZB.js} +23 -23
  170. package/dist/{chunk-JMOLB347.js → chunk-U25OX22K.js} +64 -8
  171. package/dist/{chunk-JQX6BSE4.js → chunk-U4NNG3ES.js} +10 -10
  172. package/dist/{chunk-3LU6YCSQ.js → chunk-U5T4A2QV.js} +5 -5
  173. package/dist/{chunk-G7WZH54P.js → chunk-UT5OA7KA.js} +20 -10
  174. package/dist/{chunk-MKC7P5LD.js → chunk-V3VCUSQ6.js} +14 -14
  175. package/dist/{chunk-MYOW3RPC.js → chunk-V5XV3JSP.js} +6 -6
  176. package/dist/{chunk-YWOMGMZB.js → chunk-VF4VOPMB.js} +22 -22
  177. package/dist/{chunk-DYWTQXP4.js → chunk-VLDM4QZM.js} +22 -22
  178. package/dist/chunk-VP5H6DII.js +34 -0
  179. package/dist/{chunk-OHXTB6CO.js → chunk-VRYQJZFL.js} +7 -8
  180. package/dist/{chunk-EQOSXLK3.js → chunk-VS6FS472.js} +14 -14
  181. package/dist/{chunk-U5PDQTLA.js → chunk-VTMIRRIZ.js} +2 -2
  182. package/dist/{chunk-MSL3CLHX.js → chunk-VXSJKWB7.js} +16 -16
  183. package/dist/{chunk-MQNBEO3N.js → chunk-WE5VMPUP.js} +106 -102
  184. package/dist/{chunk-J27QGXO4.js → chunk-WEG7DY5K.js} +9 -9
  185. package/dist/{chunk-OXVVRJDQ.js → chunk-WIF7A6JU.js} +11 -11
  186. package/dist/{chunk-KXZR2BLL.js → chunk-WM4N2L4T.js} +1 -1
  187. package/dist/{chunk-NIYB5K5B.js → chunk-X64BFQ3R.js} +9 -9
  188. package/dist/{chunk-WGU6NIUV.js → chunk-XJRC3ZDI.js} +12 -12
  189. package/dist/{chunk-EAQFRD2B.js → chunk-XVIVWG7B.js} +6 -6
  190. package/dist/{chunk-3WU7LVTL.js → chunk-Y3ZKT6IF.js} +5 -5
  191. package/dist/{chunk-7KXYMC2P.js → chunk-YURIUFKF.js} +15 -15
  192. package/dist/{chunk-R3RVFCJ2.js → chunk-YY2WGL6S.js} +2 -2
  193. package/dist/{chunk-HQMCHHY5.js → chunk-Z2BA4NNR.js} +2 -2
  194. package/dist/{chunk-JUQHYTXN.js → chunk-Z47YGBUY.js} +18 -17
  195. package/dist/chunk-Z4JSRKNR.js +41 -0
  196. package/dist/{chunk-DGKNOPSE.js → chunk-Z53ZB34U.js} +7 -7
  197. package/dist/{chunk-LEHZTKB3.js → chunk-ZBOPIYOY.js} +11 -11
  198. package/dist/{chunk-KIWEBM6G.js → chunk-ZBQCLKTH.js} +11 -11
  199. package/dist/chunk-ZGI7DNJ6.js +38 -0
  200. package/dist/{chunk-BUWSOQLU.js → chunk-ZPT4QX3J.js} +4 -4
  201. package/dist/{chunk-52WCHTVZ.js → chunk-ZS47PQ3O.js} +3 -3
  202. package/dist/{chunk-7J7UY46S.js → chunk-ZTIMXVV5.js} +2 -2
  203. package/dist/{chunk-ZKUDS7JG.js → chunk-ZYASEL7K.js} +4 -4
  204. package/dist/files.json +443 -439
  205. package/dist/packages/sdk/npm/index.js +9 -0
  206. package/dist/packages/ui/dist/assets/{elk-api-DDup23Us.js → elk-api-D2NcYpUJ.js} +2 -2
  207. package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
  208. package/dist/packages/ui/dist/index.html +1 -1
  209. package/package.json +3 -3
  210. package/dist/chunk-4Y4FY34K.js +0 -34
  211. package/dist/chunk-ACWQDL6T.js +0 -37
  212. package/dist/chunk-ASKDCMW5.js +0 -275
  213. package/dist/chunk-B3UHYXHU.js +0 -41
  214. package/dist/chunk-DDAEAZEV.js +0 -54
  215. package/dist/chunk-E25G46RW.js +0 -54
  216. package/dist/chunk-KQK6SQPE.js +0 -48
  217. package/dist/chunk-NCR24CPV.js +0 -41
  218. package/dist/chunk-NDW4ROST.js +0 -38
  219. package/dist/chunk-OJN7WME4.js +0 -34
  220. package/dist/chunk-UFTQIK2J.js +0 -43
  221. package/dist/chunk-ZHWSL6SR.js +0 -45
  222. package/dist/packages/ui/dist/assets/index-mTOWhQZm.js +0 -29
@@ -5,30 +5,30 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  termNoteOffer
8
- } from "./chunk-IRW64JFF.js";
9
- import "./chunk-NIYB5K5B.js";
8
+ } from "./chunk-LDUJ6NIT.js";
9
+ import "./chunk-X64BFQ3R.js";
10
10
  import {
11
11
  routeQuestions
12
- } from "./chunk-5RUMHLIS.js";
13
- import "./chunk-BUWSOQLU.js";
14
- import "./chunk-LDIARP6F.js";
15
- import "./chunk-XKJRPVJO.js";
12
+ } from "./chunk-E73QLYK7.js";
13
+ import "./chunk-ZPT4QX3J.js";
14
+ import "./chunk-7VNEDDCC.js";
15
+ import "./chunk-INCECZ2E.js";
16
16
  import {
17
17
  waitingQuestions
18
- } from "./chunk-6N2GUZMZ.js";
19
- import "./chunk-IILZ7J3L.js";
20
- import "./chunk-TEBBD4XH.js";
21
- import "./chunk-XPWSNKF3.js";
22
- import "./chunk-WIMOJMAK.js";
23
- import "./chunk-5V5BJACL.js";
24
- import "./chunk-GVFUEGGM.js";
25
- import "./chunk-YVCOQ5TZ.js";
26
- import "./chunk-XNRPCI23.js";
18
+ } from "./chunk-ISXNWUG7.js";
19
+ import "./chunk-22GLUHGE.js";
20
+ import "./chunk-QR65C3DV.js";
21
+ import "./chunk-MLAACAES.js";
22
+ import "./chunk-HY2VVVFZ.js";
23
+ import "./chunk-PJRMMWU4.js";
24
+ import "./chunk-34NWVIBC.js";
25
+ import "./chunk-TEHH47TG.js";
26
+ import "./chunk-77UOXZVM.js";
27
27
  import {
28
28
  gitUser
29
- } from "./chunk-XZJE6WIT.js";
30
- import "./chunk-FMRMTI7W.js";
31
- import "./chunk-BKFGGJKA.js";
29
+ } from "./chunk-RA64IK43.js";
30
+ import "./chunk-MRLCNXXR.js";
31
+ import "./chunk-CQD26SMZ.js";
32
32
  import {
33
33
  HOSTS_STEP,
34
34
  QuestionError,
@@ -49,7 +49,7 @@ import {
49
49
  readQuestion,
50
50
  require_dist,
51
51
  topicOfQuestion
52
- } from "./chunk-JMOLB347.js";
52
+ } from "./chunk-U25OX22K.js";
53
53
  import {
54
54
  writeFileAtomic
55
55
  } from "./chunk-MMB2OHUY.js";
@@ -247,13 +247,18 @@ function ruleLine(q, change = false) {
247
247
  const what = a.match.startsWith("/") ? `whose path is under ${a.match}` : `on a host matching ${a.match}`;
248
248
  return `It answers by rule: every call ${what}, in ${where}, reads this answer, the calls found later too.`;
249
249
  }
250
+ function ruleOfferLine(id, r) {
251
+ const others = r.ids.length - 1;
252
+ return ` Answer once for all ${r.ids.length}: atticus questions answer ${id} --option <n> --match '${r.match}' covers the ${plural(r.calls, "call")} of these ${r.ids.length} questions, and the other ${others === 1 ? "one retires" : `${others} retire`} on the next verify --write (${r.ids.filter((x) => x !== id).join(", ")}).`;
253
+ }
250
254
  function questionLines(q, o = {}) {
251
255
  const lines = [
252
256
  `${q.id} ${q.state} ${q.repo} (asked by ${q.askedBy.command} on ${q.askedBy.at.slice(0, 10)})`,
253
257
  ` ${q.question}`,
254
258
  ...aboutLines(o.about),
255
259
  ...q.options.map((o2, i) => ` ${i + 1}. ${o2.label}: ${sentence2(o2.means)} It would change: ${sentence2(o2.changes)}`),
256
- ` Evidence: ${q.evidence.join(", ")}`
260
+ ` Evidence: ${q.evidence.join(", ")}`,
261
+ ...q.state === "open" && o.about?.rule ? [ruleOfferLine(q.id, o.about.rule)] : []
257
262
  ];
258
263
  if (q.answer)
259
264
  lines.push(` Answered by ${q.answer.by} on ${q.answer.at.slice(0, 10)}: ${answerWords(q)} (${scopeWords(q.answer.scope, true, o.change)})${q.answer.match ? `, by rule: ${q.answer.match}` : ""}`, ...q.answer.proposal ? [
@@ -342,8 +347,14 @@ async function questionsFiles(root, argv, io, deps = {}) {
342
347
  const p = q.state === "open" ? await proposalOf(root, q.id) : void 0;
343
348
  const proposal = p?.ok && p.proposal ? { ...p.proposal, file: p.file } : void 0;
344
349
  if (values.json === true) {
345
- const picks = q.state === "open" && (q.askedBy.step === TARGETS_STEP_ID || q.askedBy.step === TOPICS_STEP_ID) ? await (await import("./chunk-GPLFYLGH.js")).pickerOf(root) : void 0;
346
- io.out(JSON.stringify({ ...q, ...proposal ? { proposal } : {}, ...picks ? { picks } : {} }, null, 2));
350
+ const picks = q.state === "open" && (q.askedBy.step === TARGETS_STEP_ID || q.askedBy.step === TOPICS_STEP_ID) ? await (await import("./chunk-JXXQHETS.js")).pickerOf(root) : void 0;
351
+ const rule = q.state === "open" && q.askedBy.step === TARGETS_STEP_ID ? (await routeQuestions(root, [q])).about[q.id]?.rule : void 0;
352
+ io.out(JSON.stringify({
353
+ ...q,
354
+ ...proposal ? { proposal } : {},
355
+ ...picks ? { picks } : {},
356
+ ...rule ? { rule } : {}
357
+ }, null, 2));
347
358
  } else {
348
359
  const routed = await routeQuestions(root, [q]);
349
360
  const about = routed.about[q.id];
@@ -448,8 +459,8 @@ async function questionsFiles(root, argv, io, deps = {}) {
448
459
  io.err("--target names the answer: give it alone, not with --option, --text or --accept-proposal.");
449
460
  return 2;
450
461
  }
451
- const { readQuestion: readQuestion2 } = await import("./chunk-IVHN2VYG.js");
452
- const { targetAnswerOf, pickerOf, pickerText, offerLine } = await import("./chunk-GPLFYLGH.js");
462
+ const { readQuestion: readQuestion2 } = await import("./chunk-OJAJXU65.js");
463
+ const { targetAnswerOf, pickerOf, pickerText, offerLine } = await import("./chunk-JXXQHETS.js");
453
464
  const q0 = await readQuestion2(root, id).catch(() => void 0);
454
465
  if (!q0) {
455
466
  io.err(`There is no question ${id}.`);
@@ -541,7 +552,7 @@ async function questionsFiles(root, argv, io, deps = {}) {
541
552
  throw e;
542
553
  io.err(e.message);
543
554
  if (/opens the list of every repo/.test(e.message)) {
544
- const { pickerOf, pickerText } = await import("./chunk-GPLFYLGH.js");
555
+ const { pickerOf, pickerText } = await import("./chunk-JXXQHETS.js");
545
556
  for (const l of pickerText(await pickerOf(root)))
546
557
  io.err(` ${l}`);
547
558
  }
@@ -558,5 +569,6 @@ export {
558
569
  questionLines,
559
570
  questionsFiles,
560
571
  ruleLine,
572
+ ruleOfferLine,
561
573
  scopeWords
562
574
  };
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-VOGCSYOI.js";
9
9
  import {
10
10
  openspecStores
11
- } from "./chunk-3LU6YCSQ.js";
11
+ } from "./chunk-U5T4A2QV.js";
12
12
 
13
13
  // packages/cli/dist/openspec-stores-commands.js
14
14
  var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
@@ -0,0 +1,34 @@
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
+ catalogDiff,
8
+ diffLines,
9
+ scanCommand
10
+ } from "./chunk-CW5SEPUT.js";
11
+ import "./chunk-GKPOCUQR.js";
12
+ import "./chunk-7TH6I6TL.js";
13
+ import "./chunk-GHSVJNVL.js";
14
+ import "./chunk-GMDOXWIS.js";
15
+ import "./chunk-U5T4A2QV.js";
16
+ import "./chunk-JQG4VO47.js";
17
+ import "./chunk-DW4BM73R.js";
18
+ import "./chunk-22GLUHGE.js";
19
+ import "./chunk-QR65C3DV.js";
20
+ import "./chunk-MLAACAES.js";
21
+ import "./chunk-HY2VVVFZ.js";
22
+ import "./chunk-PJRMMWU4.js";
23
+ import "./chunk-34NWVIBC.js";
24
+ import "./chunk-RA64IK43.js";
25
+ import "./chunk-MRLCNXXR.js";
26
+ import "./chunk-CQD26SMZ.js";
27
+ import "./chunk-U25OX22K.js";
28
+ import "./chunk-MMB2OHUY.js";
29
+ import "./chunk-TV45EUGM.js";
30
+ export {
31
+ catalogDiff,
32
+ diffLines,
33
+ scanCommand
34
+ };
@@ -5,37 +5,37 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  diffLines
8
- } from "./chunk-4URR24DD.js";
9
- import "./chunk-XR5DD5DQ.js";
10
- import "./chunk-EI4KQYJ3.js";
11
- import "./chunk-6RGIM2ZH.js";
12
- import "./chunk-T6ESD5KM.js";
13
- import "./chunk-3LU6YCSQ.js";
14
- import "./chunk-L7I5PKGD.js";
15
- import "./chunk-CAN3EBE5.js";
8
+ } from "./chunk-CW5SEPUT.js";
9
+ import "./chunk-GKPOCUQR.js";
10
+ import "./chunk-7TH6I6TL.js";
11
+ import "./chunk-GHSVJNVL.js";
12
+ import "./chunk-GMDOXWIS.js";
13
+ import "./chunk-U5T4A2QV.js";
14
+ import "./chunk-JQG4VO47.js";
15
+ import "./chunk-DW4BM73R.js";
16
16
  import {
17
17
  diffCatalogs,
18
18
  readCatalog,
19
19
  scanEstate,
20
20
  writeCatalog
21
- } from "./chunk-IILZ7J3L.js";
22
- import "./chunk-TEBBD4XH.js";
23
- import "./chunk-XPWSNKF3.js";
24
- import "./chunk-WIMOJMAK.js";
25
- import "./chunk-5V5BJACL.js";
26
- import "./chunk-GVFUEGGM.js";
21
+ } from "./chunk-22GLUHGE.js";
22
+ import "./chunk-QR65C3DV.js";
23
+ import "./chunk-MLAACAES.js";
24
+ import "./chunk-HY2VVVFZ.js";
25
+ import "./chunk-PJRMMWU4.js";
26
+ import "./chunk-34NWVIBC.js";
27
27
  import {
28
28
  branchSlug,
29
29
  createWorkspace,
30
30
  isInPlace,
31
31
  loadRepos
32
- } from "./chunk-XZJE6WIT.js";
33
- import "./chunk-FMRMTI7W.js";
34
- import "./chunk-BKFGGJKA.js";
32
+ } from "./chunk-RA64IK43.js";
33
+ import "./chunk-MRLCNXXR.js";
34
+ import "./chunk-CQD26SMZ.js";
35
35
  import {
36
36
  catalogDirOf,
37
37
  require_dist
38
- } from "./chunk-JMOLB347.js";
38
+ } from "./chunk-U25OX22K.js";
39
39
  import {
40
40
  writeFileAtomic
41
41
  } from "./chunk-MMB2OHUY.js";
@@ -11,36 +11,36 @@ import {
11
11
  findNeeds,
12
12
  markNeed,
13
13
  readNeeds
14
- } from "./chunk-EV4TEFOD.js";
15
- import "./chunk-6N2GUZMZ.js";
14
+ } from "./chunk-DWYPYVPJ.js";
15
+ import "./chunk-ISXNWUG7.js";
16
16
  import {
17
17
  table
18
18
  } from "./chunk-VOGCSYOI.js";
19
- import "./chunk-T6ESD5KM.js";
20
- import "./chunk-3LU6YCSQ.js";
21
- import "./chunk-L7I5PKGD.js";
22
- import "./chunk-CAN3EBE5.js";
23
- import "./chunk-IILZ7J3L.js";
19
+ import "./chunk-GMDOXWIS.js";
20
+ import "./chunk-U5T4A2QV.js";
21
+ import "./chunk-JQG4VO47.js";
22
+ import "./chunk-DW4BM73R.js";
23
+ import "./chunk-22GLUHGE.js";
24
24
  import {
25
25
  readKnowledge
26
- } from "./chunk-TEBBD4XH.js";
27
- import "./chunk-XPWSNKF3.js";
28
- import "./chunk-WIMOJMAK.js";
29
- import "./chunk-5V5BJACL.js";
30
- import "./chunk-GVFUEGGM.js";
31
- import "./chunk-XNRPCI23.js";
32
- import "./chunk-XZJE6WIT.js";
33
- import "./chunk-FMRMTI7W.js";
26
+ } from "./chunk-QR65C3DV.js";
27
+ import "./chunk-MLAACAES.js";
28
+ import "./chunk-HY2VVVFZ.js";
29
+ import "./chunk-PJRMMWU4.js";
30
+ import "./chunk-34NWVIBC.js";
31
+ import "./chunk-77UOXZVM.js";
32
+ import "./chunk-RA64IK43.js";
33
+ import "./chunk-MRLCNXXR.js";
34
34
  import {
35
35
  RuntimeConfigError,
36
36
  runtimeForCli
37
- } from "./chunk-BKFGGJKA.js";
37
+ } from "./chunk-CQD26SMZ.js";
38
38
  import {
39
39
  changesDirOf,
40
40
  changesRelOf,
41
41
  loadOrgPack,
42
42
  orgPackDirOf
43
- } from "./chunk-JMOLB347.js";
43
+ } from "./chunk-U25OX22K.js";
44
44
  import "./chunk-MMB2OHUY.js";
45
45
  import "./chunk-TV45EUGM.js";
46
46
 
@@ -8,16 +8,16 @@ import {
8
8
  } from "./chunk-4Q3NN7VF.js";
9
9
  import {
10
10
  lensRunOf
11
- } from "./chunk-T6ESD5KM.js";
11
+ } from "./chunk-GMDOXWIS.js";
12
12
  import {
13
13
  CONTEXT_TOOLS
14
- } from "./chunk-XNRPCI23.js";
14
+ } from "./chunk-77UOXZVM.js";
15
15
  import {
16
16
  HandoffRuntime,
17
17
  TOOL_LIMITS,
18
18
  modelEnvOf,
19
19
  stepClassOf
20
- } from "./chunk-BKFGGJKA.js";
20
+ } from "./chunk-CQD26SMZ.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-JMOLB347.js";
29
+ } from "./chunk-U25OX22K.js";
30
30
 
31
31
  // packages/cli/dist/handoff-flag.js
32
32
  import { readdir, readFile } from "node:fs/promises";
@@ -7,8 +7,8 @@ import {
7
7
  ME_FILE,
8
8
  readMe,
9
9
  writeMe
10
- } from "./chunk-ORZSD2KD.js";
11
- import "./chunk-JMOLB347.js";
10
+ } from "./chunk-DQKNOHUZ.js";
11
+ import "./chunk-U25OX22K.js";
12
12
  import "./chunk-MMB2OHUY.js";
13
13
  import "./chunk-TV45EUGM.js";
14
14
  export {
@@ -10,23 +10,23 @@ import {
10
10
  repoTypeNote,
11
11
  repoTypeRules,
12
12
  termNoteOffer
13
- } from "./chunk-IRW64JFF.js";
14
- import "./chunk-NIYB5K5B.js";
15
- import "./chunk-BUWSOQLU.js";
16
- import "./chunk-LDIARP6F.js";
17
- import "./chunk-XKJRPVJO.js";
18
- import "./chunk-IILZ7J3L.js";
19
- import "./chunk-TEBBD4XH.js";
20
- import "./chunk-XPWSNKF3.js";
21
- import "./chunk-WIMOJMAK.js";
22
- import "./chunk-5V5BJACL.js";
23
- import "./chunk-GVFUEGGM.js";
24
- import "./chunk-YVCOQ5TZ.js";
25
- import "./chunk-XNRPCI23.js";
26
- import "./chunk-XZJE6WIT.js";
27
- import "./chunk-FMRMTI7W.js";
28
- import "./chunk-BKFGGJKA.js";
29
- import "./chunk-JMOLB347.js";
13
+ } from "./chunk-LDUJ6NIT.js";
14
+ import "./chunk-X64BFQ3R.js";
15
+ import "./chunk-ZPT4QX3J.js";
16
+ import "./chunk-7VNEDDCC.js";
17
+ import "./chunk-INCECZ2E.js";
18
+ import "./chunk-22GLUHGE.js";
19
+ import "./chunk-QR65C3DV.js";
20
+ import "./chunk-MLAACAES.js";
21
+ import "./chunk-HY2VVVFZ.js";
22
+ import "./chunk-PJRMMWU4.js";
23
+ import "./chunk-34NWVIBC.js";
24
+ import "./chunk-TEHH47TG.js";
25
+ import "./chunk-77UOXZVM.js";
26
+ import "./chunk-RA64IK43.js";
27
+ import "./chunk-MRLCNXXR.js";
28
+ import "./chunk-CQD26SMZ.js";
29
+ import "./chunk-U25OX22K.js";
30
30
  import "./chunk-MMB2OHUY.js";
31
31
  import "./chunk-TV45EUGM.js";
32
32
  export {
@@ -6,58 +6,68 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  mapCommand,
8
8
  mapStateOf
9
- } from "./chunk-LS3WR2RF.js";
9
+ } from "./chunk-7TEQF64E.js";
10
10
  import {
11
11
  factsRepos,
12
12
  verifyCommand
13
- } from "./chunk-Y5AYBGLB.js";
14
- import "./chunk-52WCHTVZ.js";
13
+ } from "./chunk-BTOGAUWX.js";
14
+ import {
15
+ plannedTopUp,
16
+ recordRulesNow,
17
+ ruleSetsOfFiles
18
+ } from "./chunk-QY7RGTUP.js";
19
+ import "./chunk-ZS47PQ3O.js";
15
20
  import {
16
21
  estateFreshness
17
- } from "./chunk-G3PBLW4K.js";
22
+ } from "./chunk-I2PNEG3M.js";
18
23
  import {
19
24
  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";
25
+ } from "./chunk-SK5OYWIY.js";
26
+ import "./chunk-3CFBU2O6.js";
27
+ import "./chunk-HJUEQERG.js";
28
+ import "./chunk-B6X5PJSA.js";
27
29
  import {
28
30
  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";
31
+ conventionsAt,
32
+ excludesOf,
33
+ headOf,
34
+ loadReadPlan,
35
+ readPlanProgress
36
+ } from "./chunk-P76AW3PA.js";
37
+ import "./chunk-7VNEDDCC.js";
38
+ import "./chunk-6S27MUQQ.js";
39
+ import "./chunk-EU7VTBAI.js";
40
+ import "./chunk-NCONDPHH.js";
35
41
  import {
36
42
  isMetarepo,
37
43
  notMetarepo
38
44
  } from "./chunk-3G4YI4ZU.js";
39
45
  import {
40
46
  assistantTier,
41
- readProbes
42
- } from "./chunk-6RGIM2ZH.js";
47
+ readProbes,
48
+ rulesLacking
49
+ } from "./chunk-GHSVJNVL.js";
43
50
  import "./chunk-VOGCSYOI.js";
44
51
  import {
45
52
  estateRepos,
46
53
  productionRepos
47
- } from "./chunk-IILZ7J3L.js";
48
- import "./chunk-TEBBD4XH.js";
54
+ } from "./chunk-22GLUHGE.js";
55
+ import "./chunk-QR65C3DV.js";
49
56
  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";
57
+ dirSource,
58
+ sameCommit,
59
+ sessionTokensFor
60
+ } from "./chunk-MLAACAES.js";
61
+ import "./chunk-HY2VVVFZ.js";
62
+ import "./chunk-PJRMMWU4.js";
63
+ import "./chunk-34NWVIBC.js";
64
+ import "./chunk-TWHZU36X.js";
65
+ import "./chunk-ARLH2ZMD.js";
66
+ import "./chunk-RA64IK43.js";
67
+ import "./chunk-MRLCNXXR.js";
58
68
  import {
59
69
  currentPromptLimit
60
- } from "./chunk-BKFGGJKA.js";
70
+ } from "./chunk-CQD26SMZ.js";
61
71
  import {
62
72
  factsDirOf,
63
73
  factsRelOf,
@@ -67,7 +77,7 @@ import {
67
77
  orgPackDirOf,
68
78
  parseFacts,
69
79
  require_dist
70
- } from "./chunk-JMOLB347.js";
80
+ } from "./chunk-U25OX22K.js";
71
81
  import {
72
82
  ensureLocalIgnore,
73
83
  writeFileAtomic
@@ -177,6 +187,31 @@ async function partsOf(root, repo, commit, limit, git) {
177
187
  ...batches !== void 0 ? { batches } : {}
178
188
  };
179
189
  }
190
+ async function rulesPartsOf(root, repo, commit, limit, o = {}) {
191
+ const dir = await checkoutOf(root, repo).catch(() => void 0);
192
+ if (!dir)
193
+ return "no clone to read: atticus workspace sync clones it";
194
+ const p = await plannedTopUp(root, repo, {
195
+ commit,
196
+ source: dirSource(dir),
197
+ exclude: await excludesOf(root, repo),
198
+ conventions: await conventionsAt(root),
199
+ session: sessionTokensFor(limit),
200
+ ...o.save ? {} : { dryRun: true }
201
+ });
202
+ if ("error" in p)
203
+ return p.error;
204
+ const sessions = p.topUp?.sessions ?? [];
205
+ const parts = sessions.map((x, i) => ({
206
+ part: i + 1,
207
+ total: sessions.length,
208
+ paths: x.paths,
209
+ files: x.files,
210
+ tokens: x.tokens,
211
+ done: !!x.done
212
+ })).filter((x) => !x.done).map(({ done: _d, ...x }) => x);
213
+ return { parts, total: sessions.length, sets: ruleSetsOfFiles(sessions) };
214
+ }
180
215
  async function planEstate(root, op, o, c, state) {
181
216
  const all = estateRepos(op).map((r) => r.id);
182
217
  const production = new Set(productionRepos(op).map((r) => r.id));
@@ -222,6 +257,17 @@ async function planEstate(root, op, o, c, state) {
222
257
  });
223
258
  continue;
224
259
  }
260
+ if (state2 === "rules-changed") {
261
+ const progress = await readPlanProgress(root, repo, { commit });
262
+ todo.push(progress && !progress.stale && progress.next ? {
263
+ repo,
264
+ kind: "read",
265
+ commit,
266
+ why: `its read is under way: ${progress.done} of ${progress.total} parts read`,
267
+ started: true
268
+ } : { repo, kind: "rules", commit, why: "", started: true });
269
+ continue;
270
+ }
225
271
  if (state2 === "moved") {
226
272
  todo.push({
227
273
  repo,
@@ -274,6 +320,22 @@ async function planEstate(root, op, o, c, state) {
274
320
  items.push({ ...base, parts: [], total: 0, tokens: 0 });
275
321
  continue;
276
322
  }
323
+ if (t.kind === "rules") {
324
+ const p2 = await rulesPartsOf(root, t.repo, t.commit, c.limit);
325
+ if (typeof p2 === "string") {
326
+ skipped.push({ repo: t.repo, why: p2 });
327
+ continue;
328
+ }
329
+ items.push({
330
+ ...base,
331
+ 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",
332
+ sets: p2.sets,
333
+ parts: p2.parts,
334
+ total: p2.total,
335
+ tokens: p2.parts.reduce((n, x) => n + x.tokens, 0)
336
+ });
337
+ continue;
338
+ }
277
339
  if (t.kind === "gaps") {
278
340
  items.push({
279
341
  ...base,
@@ -311,12 +373,21 @@ function planLines(plan) {
311
373
  const out = [];
312
374
  const reading = plan.items.filter((i) => i.kind !== "carry");
313
375
  const parts = reading.reduce((n, i) => n + i.parts.length, 0);
376
+ const planned = reading.reduce((n, i) => n + Math.max(i.total, i.parts.length), 0);
314
377
  const tokens = reading.reduce((n, i) => n + i.tokens, 0);
315
378
  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
379
  plan.items.forEach((i, n) => {
317
380
  const head = ` ${n + 1}. ${i.repo}${i.prototype ? " (prototype: read, never joined)" : ""}`;
318
- if (i.kind === "carry")
381
+ if (i.kind === "carry" || i.kind === "rules" && !i.parts.length)
319
382
  return out.push(`${head}: ${i.why}.`);
383
+ if (i.kind === "rules")
384
+ 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.`);
385
+ if (i.kind === "rules") {
386
+ if (i.total > 1)
387
+ for (const p of i.parts)
388
+ out.push(` part ${p.part} of ${p.total} (about ${tokensText(p.tokens)} tokens, ${plural(p.files, "file")}): ${p.paths.join(", ")}`);
389
+ return;
390
+ }
320
391
  if (i.kind === "gaps")
321
392
  return out.push(`${head}: ${i.why}, planned when it starts.`);
322
393
  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 +397,7 @@ function planLines(plan) {
326
397
  });
327
398
  for (const s of plan.skipped)
328
399
  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.");
400
+ 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
401
  return out;
331
402
  }
332
403
  var mtime = async (p) => (await stat(p).catch(() => void 0))?.mtimeMs;
@@ -365,6 +436,12 @@ async function settled(root, repo, commit, s, since) {
365
436
  }
366
437
  }
367
438
  async function covered(root, item, part, first, now) {
439
+ if (item.kind === "rules") {
440
+ const plan = await loadReadPlan(root, item.repo);
441
+ if (!plan?.topUp)
442
+ return rulesLacking(plan?.rules).length === 0;
443
+ return !!plan.topUp.sessions[part.part - 1]?.done;
444
+ }
368
445
  if (item.total > 1) {
369
446
  const p = await readPlanProgress(root, item.repo);
370
447
  return p?.parts.find((x) => x.part === part.part)?.state === "done";
@@ -497,6 +574,15 @@ async function mapAllCommand(root, o, io, deps = {}) {
497
574
  if (quit || stopped())
498
575
  break;
499
576
  const where = `repo ${n + 1} of ${items.length}`;
577
+ if (item.kind === "rules" && !item.parts.length) {
578
+ io.out("");
579
+ io.out(`===== ${item.repo} (${where}): ${item.why} =====`);
580
+ await recordRulesNow(root, item.repo, item.commit);
581
+ repoState(item).done = true;
582
+ totals.repos.add(item.repo);
583
+ await save();
584
+ continue;
585
+ }
500
586
  if (item.kind === "carry") {
501
587
  io.out("");
502
588
  io.out(`===== ${item.repo} (${where}): ${item.why} =====`);
@@ -560,9 +646,10 @@ async function mapAllCommand(root, o, io, deps = {}) {
560
646
  return 0;
561
647
  async function copilotPart(item, part, where) {
562
648
  const ps = partState(item, part.part);
563
- const label = item.total > 1 ? `part ${part.part} of ${item.total}` : "one session";
649
+ const nth = item.parts.indexOf(part) + 1;
650
+ 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
651
  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}`;
652
+ 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
653
  if (first0 === void 0) {
567
654
  io.out(`${item.repo}: no gaps left; nothing to read.`);
568
655
  return finishPart(item, part, ps);
@@ -636,7 +723,7 @@ async function mapAllCommand(root, o, io, deps = {}) {
636
723
  async function retry(item2, part2, label2, where2) {
637
724
  ps.retries++;
638
725
  await save();
639
- const rest = item2.kind === "gaps" ? await gapsLine(item2) : await restLine(item2, part2);
726
+ const rest = item2.kind === "rules" ? await rulesLine(item2) : item2.kind === "gaps" ? await gapsLine(item2) : await restLine(item2, part2);
640
727
  if (rest === "done" || rest === void 0 && item2.kind === "gaps")
641
728
  return "done";
642
729
  line = rest ?? `/atticus-map ${item2.repo}`;
@@ -679,6 +766,12 @@ async function mapAllCommand(root, o, io, deps = {}) {
679
766
  return "done";
680
767
  return `/atticus-map ${item.repo}${parted ? ` --part ${part.part}` : ""} --gaps`;
681
768
  }
769
+ async function rulesLine(item) {
770
+ const p = await rulesPartsOf(root, item.repo, item.commit, limit, { save: true });
771
+ if (typeof p === "string" || !p.parts.length)
772
+ return "done";
773
+ return `/atticus-map ${item.repo} --rules`;
774
+ }
682
775
  async function gapsLine(item) {
683
776
  const plain = captured();
684
777
  await verifyCommand(root, item.repo, { commit: item.commit, json: true }, plain);
@@ -693,9 +786,11 @@ async function mapAllCommand(root, o, io, deps = {}) {
693
786
  }
694
787
  async function block(item, part, label, where, line, retries) {
695
788
  io.out("");
696
- io.out(`===== ${item.repo}, ${item.kind === "gaps" ? "the gaps pass" : label} (${where})${retries ? `, given again (${retries})` : ""} =====`);
789
+ 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
790
  io.out(`In a NEW Copilot Chat (agent mode), run: ${line}`);
698
- if (item.total > 1 && !line.includes("--gaps"))
791
+ if (item.kind === "rules")
792
+ 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).`);
793
+ else if (item.total > 1 && !line.includes("--gaps"))
699
794
  io.out(`That chat reads part ${part.part}: ${part.paths.join(", ")} (about ${tokensText(part.tokens)} tokens); the estimate it runs names it.`);
700
795
  else if (line.includes("--part"))
701
796
  io.out(`That chat reads only what is left of part ${part.part}, as the prompt it writes lists.`);
@@ -705,7 +800,7 @@ async function mapAllCommand(root, o, io, deps = {}) {
705
800
  }
706
801
  async function modelRead(item, where, rt) {
707
802
  io.out("");
708
- io.out(`===== ${item.repo} (${where}): ${item.kind === "reread" ? "re-reading what changed" : "reading"} on the model, ${plural(item.batches ?? 0, "prompt")} =====`);
803
+ 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
804
  for (let attempt = 1; attempt <= RETRIES; attempt++) {
710
805
  if (stopped())
711
806
  return "failed";
@@ -716,6 +811,7 @@ async function mapAllCommand(root, o, io, deps = {}) {
716
811
  await mapCommand(root, item.repo, {
717
812
  commit: item.commit,
718
813
  maxTokens: limit,
814
+ ...item.kind === "rules" ? { rules: true } : {},
719
815
  ...resume ? { next: true } : before && !before.done ? { force: true } : {}
720
816
  }, io, { runtime: rt, ...deps.git ? { git: deps.git } : {} });
721
817
  } catch (e) {