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

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 (280) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-TJH2EUAZ.js → chunk-23XVSEV5.js} +20 -18
  3. package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
  4. package/dist/{chunk-DCWN3HFV.js → chunk-24XLDU72.js} +4 -3
  5. package/dist/{chunk-Q46QDDMF.js → chunk-2F4CYZKJ.js} +14 -9
  6. package/dist/{chunk-75ASLHBT.js → chunk-2GF7OLF3.js} +17 -15
  7. package/dist/chunk-2IIMFOPM.js +41 -0
  8. package/dist/{chunk-JRVNXLZP.js → chunk-2LGRMVCA.js} +14 -12
  9. package/dist/{chunk-62DLJSLV.js → chunk-2MMCFP5C.js} +10 -8
  10. package/dist/{chunk-UF4UHCIG.js → chunk-2Q56PQPS.js} +6 -4
  11. package/dist/{chunk-5TDRBOAV.js → chunk-2Q5EDGEO.js} +7 -5
  12. package/dist/{chunk-NYOABJNK.js → chunk-2RLKFUUL.js} +26 -24
  13. package/dist/chunk-2SKB4O2E.js +59 -0
  14. package/dist/{chunk-GCS3FZOB.js → chunk-34S2WGOB.js} +13 -4
  15. package/dist/{chunk-7AB6OWTV.js → chunk-3NFFJL5D.js} +31 -25
  16. package/dist/{chunk-GC2VK3JT.js → chunk-3NWDLGG6.js} +28 -25
  17. package/dist/{chunk-FLVZFTLQ.js → chunk-3RM4UK6W.js} +20 -18
  18. package/dist/{chunk-CNU5Q2D5.js → chunk-42SIDKEU.js} +37 -29
  19. package/dist/{chunk-K6JB6XTX.js → chunk-4EURQWQD.js} +20 -15
  20. package/dist/{chunk-OMPENNWY.js → chunk-4U276ICE.js} +1 -1
  21. package/dist/{chunk-JAABT3DA.js → chunk-53T4O55J.js} +4 -3
  22. package/dist/{chunk-YTTNTQOX.js → chunk-57TDNMI3.js} +17 -15
  23. package/dist/chunk-5BD2KYLE.js +57 -0
  24. package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
  25. package/dist/{chunk-KYZMRSPS.js → chunk-5NMKONLP.js} +5 -3
  26. package/dist/{chunk-5CMPVC3N.js → chunk-5SJZW52K.js} +25 -23
  27. package/dist/{chunk-YAH5IQAL.js → chunk-63YRMR6J.js} +6 -5
  28. package/dist/{chunk-GUYL7RMK.js → chunk-66PPNOON.js} +27 -25
  29. package/dist/chunk-6H3Z5JHH.js +64 -0
  30. package/dist/{chunk-Y6K3CJBU.js → chunk-6MUGR4LS.js} +75 -27
  31. package/dist/{chunk-DDJPM5YX.js → chunk-6OJQOPUN.js} +5 -3
  32. package/dist/{chunk-2V2ZPQQU.js → chunk-6PPOWY5E.js} +9 -7
  33. package/dist/{chunk-YO2PKTXT.js → chunk-6ZGLAACW.js} +5 -3
  34. package/dist/{chunk-LIJJCBQI.js → chunk-6ZJ5A7AF.js} +15 -16
  35. package/dist/{chunk-64AADMTW.js → chunk-745DAZ4L.js} +50 -12
  36. package/dist/{chunk-VYOCPTUB.js → chunk-7ASNL4Q4.js} +17 -15
  37. package/dist/{chunk-XEQCQO66.js → chunk-7BR7IPOH.js} +10 -8
  38. package/dist/{chunk-X2CUXTWU.js → chunk-7DOR27HL.js} +6 -6
  39. package/dist/{chunk-G6IQYM25.js → chunk-7FTTA3HD.js} +8 -6
  40. package/dist/{chunk-FAJDKNSD.js → chunk-7GJS6DNX.js} +8 -3
  41. package/dist/{chunk-4KNOJC6J.js → chunk-7IGKHZ4Z.js} +55 -13
  42. package/dist/{chunk-3WON4G3M.js → chunk-7IOWA5D5.js} +11 -6
  43. package/dist/{chunk-PNQLCRSS.js → chunk-7JITZFJC.js} +7 -5
  44. package/dist/{chunk-2D7PWSOK.js → chunk-7MJSQTL5.js} +22 -20
  45. package/dist/{chunk-AE4P57KK.js → chunk-7UOMVMFG.js} +17 -15
  46. package/dist/{chunk-GK4PYVEC.js → chunk-AFWUDXEM.js} +10 -8
  47. package/dist/chunk-AFZ3QA6W.js +47 -0
  48. package/dist/{chunk-7FUIVIBG.js → chunk-AJQ72EBM.js} +13 -8
  49. package/dist/{chunk-QOOEYDNJ.js → chunk-AJYXNTNZ.js} +6 -6
  50. package/dist/chunk-AVTBS4OW.js +49 -0
  51. package/dist/{chunk-WFU77T3A.js → chunk-BDKC6H5P.js} +5 -5
  52. package/dist/{chunk-3AQ2R5NL.js → chunk-BEVTIBRH.js} +9 -7
  53. package/dist/{chunk-J5AAZ6OJ.js → chunk-BHT7QK4G.js} +5 -4
  54. package/dist/{chunk-UFE36WJH.js → chunk-BIGDQDHD.js} +6 -4
  55. package/dist/{chunk-WNTIOBOG.js → chunk-BO4KX37X.js} +20 -18
  56. package/dist/{chunk-455SYIIE.js → chunk-BPK5P77O.js} +5 -3
  57. package/dist/{chunk-OZJ3JLYI.js → chunk-BQ4SQQC6.js} +10 -9
  58. package/dist/chunk-BQGDB6ZL.js +7342 -0
  59. package/dist/{chunk-EZIN5E5B.js → chunk-BTGPE6CR.js} +11 -9
  60. package/dist/{chunk-265LWMOA.js → chunk-BTY3HZBO.js} +18 -16
  61. package/dist/{chunk-TW3KOSQK.js → chunk-BXYMYEJ4.js} +7 -6
  62. package/dist/{chunk-HK3VOHIE.js → chunk-C3RY6KU6.js} +119 -18
  63. package/dist/chunk-C4R4JLHE.js +40 -0
  64. package/dist/{chunk-Z3QFH7YG.js → chunk-CADWLE2T.js} +5 -4
  65. package/dist/{chunk-J2O4LFVI.js → chunk-CBGGOQWU.js} +6 -4
  66. package/dist/chunk-CMDXGQTS.js +47 -0
  67. package/dist/{chunk-TWQRPM76.js → chunk-CQDGOPGH.js} +23 -16
  68. package/dist/{chunk-5PV7S2ZP.js → chunk-CX4RZ2KS.js} +4 -3
  69. package/dist/{chunk-JYMIB5XY.js → chunk-CXJ6FUKN.js} +164 -44
  70. package/dist/{chunk-D57MFJPP.js → chunk-D73UEXYW.js} +3 -3
  71. package/dist/{chunk-UYLBRRFK.js → chunk-DCZWQLYT.js} +125 -26
  72. package/dist/chunk-DLOBCJL6.js +48 -0
  73. package/dist/{chunk-IFHDV6KQ.js → chunk-DOBQKHIF.js} +23 -23
  74. package/dist/{chunk-QJCJOMW3.js → chunk-E3ISYXO3.js} +19 -21
  75. package/dist/{chunk-VAMHOHUU.js → chunk-E6ZIEVOI.js} +16 -13
  76. package/dist/{chunk-EFCQSMXB.js → chunk-EBL2R3YG.js} +10 -4
  77. package/dist/{chunk-HGHRSF3E.js → chunk-EGQRREQH.js} +25 -17
  78. package/dist/{chunk-3J5I7ZOU.js → chunk-EHA7RMZ3.js} +4 -4
  79. package/dist/{chunk-7CZHUZBL.js → chunk-EIPTLPFC.js} +38 -27
  80. package/dist/{chunk-UZACEG2C.js → chunk-EMRIQUND.js} +17 -15
  81. package/dist/{chunk-RALY3E5U.js → chunk-EPCJQQWD.js} +6 -4
  82. package/dist/{chunk-VUVGX5L2.js → chunk-F3P7N7SF.js} +1 -1
  83. package/dist/{chunk-RA33EYS4.js → chunk-FFLNS6VP.js} +19 -17
  84. package/dist/{chunk-OPQZISG3.js → chunk-FFTRTL6R.js} +5 -4
  85. package/dist/{chunk-DUPZPDCJ.js → chunk-FPJPLKDW.js} +18 -14
  86. package/dist/{chunk-2HH3UCZM.js → chunk-FSMSFDLD.js} +5 -4
  87. package/dist/{chunk-AHW3RY3X.js → chunk-FUJM6RTF.js} +8 -7
  88. package/dist/{chunk-2UCRFXFZ.js → chunk-FZOJFH7Q.js} +13 -11
  89. package/dist/{chunk-BVWWPBKD.js → chunk-G6X77UJZ.js} +20 -18
  90. package/dist/{chunk-BPPU3PW7.js → chunk-GCWRWSU7.js} +10 -4
  91. package/dist/chunk-GIW4ZVDB.js +39 -0
  92. package/dist/{chunk-FY3QIRTL.js → chunk-GUX3PTYM.js} +3 -3
  93. package/dist/{chunk-BA2HUMDN.js → chunk-GZY6RUZ6.js} +2 -2
  94. package/dist/chunk-H4VO6WG3.js +10 -0
  95. package/dist/{chunk-UEVZZZU2.js → chunk-H5HBGNXU.js} +5 -4
  96. package/dist/{chunk-GS76RXQE.js → chunk-H7KM7LZE.js} +15 -12
  97. package/dist/{chunk-I2A3Z5AK.js → chunk-HNM2YQT2.js} +4 -4
  98. package/dist/{chunk-3UTYPHN3.js → chunk-HYU5VLGA.js} +1 -1
  99. package/dist/{chunk-HSZMPH5T.js → chunk-IDKCWSM5.js} +225 -50
  100. package/dist/{chunk-BXZ4PKIT.js → chunk-IFKEI4SA.js} +15 -11
  101. package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
  102. package/dist/{chunk-GNWAOVFQ.js → chunk-IH2XURVQ.js} +5 -5
  103. package/dist/{chunk-YIGBJNH4.js → chunk-INQHESFB.js} +5 -4
  104. package/dist/chunk-IP74LCOQ.js +57 -0
  105. package/dist/chunk-IPHHDDC6.js +45 -0
  106. package/dist/{chunk-5WERBKLE.js → chunk-ISUAAMGS.js} +42 -221
  107. package/dist/{chunk-7FHNFCHK.js → chunk-IUPG3UKI.js} +154 -368
  108. package/dist/{chunk-HWD4JPU7.js → chunk-IVBOQAGB.js} +4 -2
  109. package/dist/{chunk-4SLBCEPD.js → chunk-J2JAKCIW.js} +88 -57
  110. package/dist/{chunk-G5YJBNDZ.js → chunk-J3IOLXWM.js} +8 -6
  111. package/dist/{chunk-FQ6WH6PB.js → chunk-JA5FI3QV.js} +6 -4
  112. package/dist/chunk-JAVI7JSP.js +49 -0
  113. package/dist/{chunk-ZFQMMU5Y.js → chunk-JB5LINEM.js} +6 -2
  114. package/dist/{chunk-LQH4P45K.js → chunk-JENSEMXF.js} +1 -1
  115. package/dist/{chunk-M6D2U3YM.js → chunk-JJF6HALY.js} +4 -3
  116. package/dist/chunk-JLUCKAEL.js +38 -0
  117. package/dist/{chunk-M4H2UG4R.js → chunk-JRBFANFE.js} +19 -16
  118. package/dist/{chunk-YZDZOEV4.js → chunk-KDNTAPLX.js} +3 -3
  119. package/dist/{chunk-IFFRGC3N.js → chunk-KFAVQZSX.js} +14 -12
  120. package/dist/chunk-KJXD4PNL.js +50 -0
  121. package/dist/chunk-KN5BXMWN.js +44 -0
  122. package/dist/{chunk-HXXP2NTE.js → chunk-KQGURXFU.js} +9 -7
  123. package/dist/{chunk-PQH56YF6.js → chunk-KXITGYLF.js} +6 -4
  124. package/dist/{chunk-MMZUN7ZO.js → chunk-L27SV425.js} +22 -20
  125. package/dist/{chunk-XQ3YZ4QW.js → chunk-LDLL7LB3.js} +24 -22
  126. package/dist/{chunk-6DQYZU2W.js → chunk-LFGTYX5U.js} +15 -15
  127. package/dist/{chunk-4D62IZII.js → chunk-LGBMTVNT.js} +7 -5
  128. package/dist/{chunk-YKTE2RU3.js → chunk-LGFL54FP.js} +3 -2
  129. package/dist/{chunk-GDZB57IU.js → chunk-LJXMYKZJ.js} +7 -5
  130. package/dist/{chunk-YJ3TBOTK.js → chunk-LKOR5UET.js} +29 -26
  131. package/dist/{chunk-WIWTJMMR.js → chunk-LNBQOP7D.js} +23 -21
  132. package/dist/{chunk-TGVVUKTG.js → chunk-LO6P2VYG.js} +2 -2
  133. package/dist/{chunk-HE3HRDNZ.js → chunk-LQJPN536.js} +2 -2
  134. package/dist/{chunk-PRW3HXM3.js → chunk-LYBNHMVZ.js} +29 -5
  135. package/dist/{chunk-75ZOZFGH.js → chunk-LZ7NUC62.js} +20 -18
  136. package/dist/chunk-M32BLWDH.js +37 -0
  137. package/dist/{chunk-QKMRFNMA.js → chunk-M3NANSDZ.js} +17 -15
  138. package/dist/chunk-MFHL5URL.js +31 -0
  139. package/dist/{chunk-TYD6I4CZ.js → chunk-MFR5OPBD.js} +6 -6
  140. package/dist/{chunk-LIRVU3HW.js → chunk-MG4ZL5RW.js} +32 -20
  141. package/dist/{chunk-ICHDSWEY.js → chunk-MO6P2JZH.js} +10 -8
  142. package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/{chunk-E57AOFYN.js → chunk-MZCGSXVR.js} +15 -13
  144. package/dist/{chunk-77O633L5.js → chunk-N3XIYPU3.js} +14 -12
  145. package/dist/{chunk-CG6CULP6.js → chunk-NDCF4R6S.js} +7 -5
  146. package/dist/{chunk-JS6WMC3J.js → chunk-NR2UJWOC.js} +10 -8
  147. package/dist/chunk-NXJ5URP6.js +51 -0
  148. package/dist/{chunk-NTAVOWYD.js → chunk-NY2XSR5K.js} +20 -18
  149. package/dist/{chunk-PUEWDYGP.js → chunk-O45HFTFS.js} +3 -2
  150. package/dist/{chunk-URIKUID7.js → chunk-O4GXGGBX.js} +14 -12
  151. package/dist/{chunk-C7CEK3KW.js → chunk-O5PXQR67.js} +7 -5
  152. package/dist/{chunk-E2VXBSIR.js → chunk-O66DM6DJ.js} +6 -4
  153. package/dist/{chunk-P2VBXX7N.js → chunk-O7FDLW7L.js} +11 -9
  154. package/dist/{chunk-COYN3UAN.js → chunk-O7XLYEFA.js} +59 -22
  155. package/dist/{chunk-5QUOPNLN.js → chunk-OHNCWBKF.js} +4 -4
  156. package/dist/{chunk-AZDITBCT.js → chunk-OHVTTOPS.js} +3 -3
  157. package/dist/chunk-OMI6FPPN.js +43 -0
  158. package/dist/chunk-ONUPY3H6.js +53 -0
  159. package/dist/chunk-OTLDSZDV.js +69 -0
  160. package/dist/{chunk-L4CESDPB.js → chunk-OUBGGKDU.js} +1 -1
  161. package/dist/{chunk-4FOAYLI4.js → chunk-OWNCM4ZN.js} +9 -7
  162. package/dist/{chunk-4B6BT75O.js → chunk-P2V7QW4D.js} +81 -24
  163. package/dist/{chunk-QHJJMZLX.js → chunk-P32RUW3B.js} +167 -92
  164. package/dist/{chunk-F6H2RJ3N.js → chunk-PAQ2AS5E.js} +1 -1
  165. package/dist/{chunk-ZLS6PU2O.js → chunk-PBPBMP2B.js} +4 -3
  166. package/dist/{chunk-ZOSD4FXV.js → chunk-PJSJPMJI.js} +3 -3
  167. package/dist/{chunk-XOL3GFW2.js → chunk-PKBHS4AA.js} +68 -31
  168. package/dist/{chunk-ZZFHLRQW.js → chunk-PMUAJGLI.js} +18 -16
  169. package/dist/{chunk-SH27FYPF.js → chunk-PPD7HTDP.js} +20 -18
  170. package/dist/chunk-PSOFBQWB.js +42 -0
  171. package/dist/{chunk-PAINMSID.js → chunk-Q2TECDIT.js} +987 -7619
  172. package/dist/{chunk-LU4MQVAL.js → chunk-Q4K5WB2W.js} +11 -10
  173. package/dist/{chunk-ECLXZWAG.js → chunk-Q6DFNVRJ.js} +14 -12
  174. package/dist/chunk-QA4O2GGC.js +265 -0
  175. package/dist/{chunk-4WXRPQDE.js → chunk-QAXW2N3B.js} +182 -33
  176. package/dist/{chunk-WCEF7H6L.js → chunk-QFWA2DPH.js} +8 -5
  177. package/dist/{chunk-CPK7QSBG.js → chunk-QKUJMING.js} +8 -6
  178. package/dist/{chunk-LEBR5NHW.js → chunk-R44CYFPV.js} +18 -15
  179. package/dist/{chunk-BEPCKDCP.js → chunk-R7NYHMUU.js} +153 -84
  180. package/dist/{chunk-G6X4YL4D.js → chunk-REWWDVQB.js} +5 -4
  181. package/dist/{chunk-LN77DXBM.js → chunk-RGERPOIV.js} +10 -10
  182. package/dist/{chunk-UDXWIPCB.js → chunk-RLDGWLQ7.js} +9 -7
  183. package/dist/chunk-RUGXBPWI.js +384 -0
  184. package/dist/{chunk-FYBF5MB2.js → chunk-RXPJMEOW.js} +13 -11
  185. package/dist/{chunk-K332XW7K.js → chunk-S4PMJU6H.js} +20 -9
  186. package/dist/{chunk-THN26IEF.js → chunk-S7FCV7S5.js} +4 -1
  187. package/dist/{chunk-OV57AHCG.js → chunk-SDKLKB6I.js} +26 -24
  188. package/dist/{chunk-O4IKAIZ2.js → chunk-SFSPGFCV.js} +28 -22
  189. package/dist/{chunk-TQ4TG57V.js → chunk-SFUP7TTO.js} +4 -4
  190. package/dist/{chunk-YBOVNMHC.js → chunk-SLXZOMA6.js} +29 -16
  191. package/dist/{chunk-LWDNKE4X.js → chunk-SQV37XO2.js} +6 -6
  192. package/dist/{chunk-67BP7HXL.js → chunk-SU74NDMQ.js} +19 -17
  193. package/dist/{chunk-JKIGL3XQ.js → chunk-SYV5LHML.js} +36 -33
  194. package/dist/chunk-T4YPZIQN.js +36 -0
  195. package/dist/{chunk-GX74YWR7.js → chunk-T6DQR5TV.js} +16 -14
  196. package/dist/{chunk-LNWEWYCM.js → chunk-THDMSZ3R.js} +345 -253
  197. package/dist/{chunk-NCB6656Z.js → chunk-TNR75OXT.js} +7 -7
  198. package/dist/{chunk-ODMBPDDV.js → chunk-TUULXQRW.js} +124 -2
  199. package/dist/{chunk-MD7KUEJ3.js → chunk-TYQBFTBR.js} +9 -7
  200. package/dist/chunk-U76OWS3Q.js +49 -0
  201. package/dist/{chunk-GSGIZ2OO.js → chunk-UCROWG2D.js} +27 -24
  202. package/dist/{chunk-PTQ3ZALZ.js → chunk-UF4AZOZB.js} +14 -12
  203. package/dist/{chunk-QE527XRY.js → chunk-UF4GLFBX.js} +26 -23
  204. package/dist/{chunk-YWAKDNMH.js → chunk-UGUP3ZM6.js} +70 -19
  205. package/dist/{chunk-3G6S7LAA.js → chunk-UNAGJYET.js} +14 -12
  206. package/dist/{chunk-EDZ45WIR.js → chunk-UOR2DTHH.js} +16 -14
  207. package/dist/{chunk-42EPP7OB.js → chunk-UPOY4YSQ.js} +14 -12
  208. package/dist/{chunk-API5TOUB.js → chunk-UPS2DGFC.js} +1 -1
  209. package/dist/{chunk-D2WSW4GU.js → chunk-UUU4CLJG.js} +4 -2
  210. package/dist/{chunk-ZKYRDV7A.js → chunk-UWMJKX5U.js} +14 -12
  211. package/dist/{chunk-HS4BGB4G.js → chunk-UWOJLHFT.js} +25 -23
  212. package/dist/{chunk-OKUB6RJA.js → chunk-VBTP56CE.js} +8 -6
  213. package/dist/{chunk-3SSTNB4E.js → chunk-VCTWPLAO.js} +34 -14
  214. package/dist/{chunk-YF5DZCPN.js → chunk-VNU26RCO.js} +37 -34
  215. package/dist/{chunk-AOCWFA7T.js → chunk-VTZMAJ3W.js} +8 -8
  216. package/dist/{chunk-ZQLRCA2V.js → chunk-VW62D6QE.js} +10 -8
  217. package/dist/{chunk-WAZEXEJH.js → chunk-VY72R2XZ.js} +45 -2
  218. package/dist/{chunk-WEOMJHPV.js → chunk-VZALIKIF.js} +18 -15
  219. package/dist/{chunk-TSM6T6GQ.js → chunk-W62H2XSO.js} +25 -23
  220. package/dist/{chunk-BC6KKZ67.js → chunk-W7VWI2YH.js} +9 -6
  221. package/dist/{chunk-LO3BLMVG.js → chunk-WERM6KPJ.js} +7 -4
  222. package/dist/{chunk-36RY7ZXM.js → chunk-WF7B67YE.js} +88 -26
  223. package/dist/{chunk-TQTRWENN.js → chunk-WG5U3F5V.js} +14 -12
  224. package/dist/{chunk-NRQ65LTQ.js → chunk-WJF2CS6M.js} +6 -5
  225. package/dist/{chunk-FVMPFCDS.js → chunk-WKUJ3KPV.js} +4 -4
  226. package/dist/{chunk-BA3U7ALS.js → chunk-WMTRHUI5.js} +26 -22
  227. package/dist/chunk-WNKPRSGI.js +36 -0
  228. package/dist/{chunk-GIFMBCTW.js → chunk-WXFLMQSR.js} +10 -8
  229. package/dist/{chunk-JYTIHTIK.js → chunk-X3WY6MN3.js} +4 -4
  230. package/dist/{chunk-S2RY3BOD.js → chunk-X4CXA2IL.js} +31 -21
  231. package/dist/{chunk-26Z7OGQW.js → chunk-X5F3Q5LV.js} +60 -30
  232. package/dist/{chunk-4CLK2RJO.js → chunk-XD75VZIH.js} +6 -4
  233. package/dist/{chunk-KDAHXQIE.js → chunk-XERYFDB5.js} +37 -34
  234. package/dist/{chunk-U3NBK4EU.js → chunk-XI2LCCYQ.js} +8 -8
  235. package/dist/{chunk-MZGRDONP.js → chunk-Y2EQNWKV.js} +55 -38
  236. package/dist/{chunk-A2G72UI4.js → chunk-YHCMZC2J.js} +7 -7
  237. package/dist/{chunk-4TKVU2I2.js → chunk-YYY3AZFE.js} +2 -2
  238. package/dist/{chunk-2HTEMYTB.js → chunk-Z5IA3WDR.js} +17 -15
  239. package/dist/{chunk-FRHD22WM.js → chunk-ZFFYNRIO.js} +25 -23
  240. package/dist/{chunk-6EXDI5GI.js → chunk-ZFL7NY4F.js} +43 -40
  241. package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
  242. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  243. package/dist/{chunk-CNPY4NTZ.js → chunk-ZJFRMSJT.js} +15 -13
  244. package/dist/{chunk-Q26LDIUV.js → chunk-ZJXLNDH4.js} +18 -15
  245. package/dist/{chunk-LPV6T362.js → chunk-ZQ3ON2VQ.js} +8 -6
  246. package/dist/{chunk-ZX7235KR.js → chunk-ZQ7SKESZ.js} +44 -383
  247. package/dist/{chunk-7QPCGTPS.js → chunk-ZQXZ2SES.js} +24 -21
  248. package/dist/{chunk-4CYTJ5TZ.js → chunk-ZX57KSEQ.js} +4 -3
  249. package/dist/{chunk-37WE3LS2.js → chunk-ZZK56BLP.js} +5 -3
  250. package/dist/files.json +533 -509
  251. package/dist/packages/sdk/npm/index.js +448 -67
  252. package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.js → elk-api-CIf-0gz5.js} +2 -2
  253. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
  254. package/dist/packages/ui/dist/index.html +2 -1
  255. package/package.json +4 -4
  256. package/dist/chunk-26WBY34Y.js +0 -37
  257. package/dist/chunk-3TD6S4TC.js +0 -49
  258. package/dist/chunk-5G7ILBUG.js +0 -66
  259. package/dist/chunk-6FNAKCET.js +0 -38
  260. package/dist/chunk-AM6FP6JW.js +0 -43
  261. package/dist/chunk-CFH3QH26.js +0 -29
  262. package/dist/chunk-CLD4RVTA.js +0 -45
  263. package/dist/chunk-D5KV5PSK.js +0 -45
  264. package/dist/chunk-D5MASS4I.js +0 -48
  265. package/dist/chunk-DN4A2Q2O.js +0 -57
  266. package/dist/chunk-FGAGWYZB.js +0 -47
  267. package/dist/chunk-JITJP64K.js +0 -34
  268. package/dist/chunk-JRXHON4E.js +0 -41
  269. package/dist/chunk-JU4QNJSR.js +0 -62
  270. package/dist/chunk-N3RUGTGV.js +0 -39
  271. package/dist/chunk-PKJAV25S.js +0 -43
  272. package/dist/chunk-PRTBPXYA.js +0 -50
  273. package/dist/chunk-PRZ7KMWL.js +0 -42
  274. package/dist/chunk-QSIDVFB7.js +0 -45
  275. package/dist/chunk-SB5GRUFM.js +0 -54
  276. package/dist/chunk-T74WQQGS.js +0 -40
  277. package/dist/chunk-X7EMBM5X.js +0 -34
  278. package/dist/chunk-Z6VLC5X4.js +0 -36
  279. package/dist/chunk-ZPDDEVQX.js +0 -47
  280. package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +0 -47
@@ -8,9 +8,11 @@ import {
8
8
  FLOW_TRIGGER_KINDS,
9
9
  QuestionDraft,
10
10
  changesDirOf,
11
- external_exports,
11
+ external_exports
12
+ } from "./chunk-Q2TECDIT.js";
13
+ import {
12
14
  require_dist
13
- } from "./chunk-PAINMSID.js";
15
+ } from "./chunk-BQGDB6ZL.js";
14
16
  import {
15
17
  __toESM
16
18
  } from "./chunk-TV45EUGM.js";
@@ -7,19 +7,19 @@ import {
7
7
  featuresForScan,
8
8
  namingHint,
9
9
  syncSources
10
- } from "./chunk-64AADMTW.js";
10
+ } from "./chunk-745DAZ4L.js";
11
11
  import {
12
12
  dirSource,
13
13
  rereadPlan,
14
14
  sameCommit,
15
15
  verifyFacts
16
- } from "./chunk-JYMIB5XY.js";
16
+ } from "./chunk-CXJ6FUKN.js";
17
17
  import {
18
18
  scanInputs
19
- } from "./chunk-CPK7QSBG.js";
19
+ } from "./chunk-QKUJMING.js";
20
20
  import {
21
21
  listIngestors
22
- } from "./chunk-YO2PKTXT.js";
22
+ } from "./chunk-6ZGLAACW.js";
23
23
  import {
24
24
  BUILT_IN_EXTRACTORS,
25
25
  MODEL_READERS,
@@ -34,17 +34,7 @@ import {
34
34
  runDialectTests,
35
35
  runFrameworkTests,
36
36
  unmodelledFrameworks
37
- } from "./chunk-TWQRPM76.js";
38
- import {
39
- baseClonePath,
40
- changesSince,
41
- checkoutState,
42
- inPlaceDir
43
- } from "./chunk-XOL3GFW2.js";
44
- import {
45
- buildContextPack,
46
- toRunSummary
47
- } from "./chunk-QHJJMZLX.js";
37
+ } from "./chunk-CQDGOPGH.js";
48
38
  import {
49
39
  DEFAULT_IGNORES,
50
40
  configHash,
@@ -56,7 +46,17 @@ import {
56
46
  sandboxedExtractor,
57
47
  scanRepo,
58
48
  withParseCache
59
- } from "./chunk-7AB6OWTV.js";
49
+ } from "./chunk-3NFFJL5D.js";
50
+ import {
51
+ baseClonePath,
52
+ changesSince,
53
+ checkoutState,
54
+ inPlaceDir
55
+ } from "./chunk-PKBHS4AA.js";
56
+ import {
57
+ buildContextPack,
58
+ toRunSummary
59
+ } from "./chunk-P32RUW3B.js";
60
60
  import {
61
61
  AgentDefinition,
62
62
  DECLARED_CALLER,
@@ -83,6 +83,8 @@ import {
83
83
  callTargetQuestion,
84
84
  callerRecords,
85
85
  catalogDirOf,
86
+ cmpNatural,
87
+ cmpText,
86
88
  conventionsOf,
87
89
  declaredCallsOf,
88
90
  deserializeRecord,
@@ -127,7 +129,6 @@ import {
127
129
  questionId,
128
130
  readParsedFiles,
129
131
  recordPath,
130
- require_dist,
131
132
  serializeRecord,
132
133
  sharedJoinAbout,
133
134
  singularNoun,
@@ -140,13 +141,17 @@ import {
140
141
  termGrantRecords,
141
142
  throwIfCancelled,
142
143
  toCanonicalYaml,
144
+ topicOfQuestion,
143
145
  topicQuestionText,
144
146
  urlHostPort
145
- } from "./chunk-PAINMSID.js";
147
+ } from "./chunk-Q2TECDIT.js";
146
148
  import {
147
149
  SCHEMA_VERSION,
148
150
  writeFileAtomic
149
- } from "./chunk-ODMBPDDV.js";
151
+ } from "./chunk-TUULXQRW.js";
152
+ import {
153
+ require_dist
154
+ } from "./chunk-BQGDB6ZL.js";
150
155
  import {
151
156
  __toESM
152
157
  } from "./chunk-TV45EUGM.js";
@@ -1281,7 +1286,7 @@ function resolveFederatedLooseEnds(o) {
1281
1286
  return false;
1282
1287
  });
1283
1288
  return {
1284
- federated: [...kept2, ...added].sort((a, b) => a.kind === b.kind ? a.id.localeCompare(b.id) : a.kind.localeCompare(b.kind)),
1289
+ federated: [...kept2, ...added].sort((a, b) => a.kind === b.kind ? cmpText(a.id, b.id) : cmpText(a.kind, b.kind)),
1285
1290
  resolved
1286
1291
  };
1287
1292
  }
@@ -1324,7 +1329,7 @@ async function readCatalogFiles(dir, cacheRoot) {
1324
1329
  } catch {
1325
1330
  return;
1326
1331
  }
1327
- for (const e of entries.sort((a, b) => a.name.localeCompare(b.name))) {
1332
+ for (const e of entries.sort((a, b) => cmpText(a.name, b.name))) {
1328
1333
  const full = join4(d, e.name);
1329
1334
  if (e.isDirectory())
1330
1335
  await walk(full);
@@ -1349,7 +1354,7 @@ async function readCatalogFiles(dir, cacheRoot) {
1349
1354
  else
1350
1355
  problems.push({ file: p.rel, message: p.problem });
1351
1356
  }
1352
- records.sort((a, b) => a.kind === b.kind ? a.id.localeCompare(b.id) : a.kind.localeCompare(b.kind));
1357
+ records.sort((a, b) => a.kind === b.kind ? cmpText(a.id, b.id) : cmpText(a.kind, b.kind));
1353
1358
  return { records, problems };
1354
1359
  }
1355
1360
  async function writeCatalog(dir, records) {
@@ -1420,7 +1425,7 @@ function diffCatalogs(before, after) {
1420
1425
  for (const [k, r] of a)
1421
1426
  if (!b.has(k))
1422
1427
  diff.removed.push({ kind: r.kind, id: r.id });
1423
- const sort = (xs) => xs.sort((x, y) => x.kind === y.kind ? x.id.localeCompare(y.id) : x.kind.localeCompare(y.kind));
1428
+ const sort = (xs) => xs.sort((x, y) => x.kind === y.kind ? cmpText(x.id, y.id) : cmpText(x.kind, y.kind));
1424
1429
  sort(diff.added);
1425
1430
  sort(diff.removed);
1426
1431
  sort(diff.changed);
@@ -1726,7 +1731,7 @@ function targetSuggestions(f, ctx) {
1726
1731
  s.why = [...new Set(s.why)];
1727
1732
  out.push(s);
1728
1733
  }
1729
- return out.sort((a, b) => b.score - a.score || Number(b.read) - Number(a.read) || (a.kind === b.kind ? 0 : a.kind === "repo" ? -1 : 1) || a.label.localeCompare(b.label));
1734
+ return out.sort((a, b) => b.score - a.score || Number(b.read) - Number(a.read) || (a.kind === b.kind ? 0 : a.kind === "repo" ? -1 : 1) || cmpText(a.label, b.label));
1730
1735
  }
1731
1736
  function offeredSuggestions(ranked, o) {
1732
1737
  const max = o.max ?? TARGETS_MAX_SUGGESTED;
@@ -1740,9 +1745,9 @@ function targetPicker(op, read = /* @__PURE__ */ new Set()) {
1740
1745
  kind: "repo",
1741
1746
  name: r.component && r.component !== r.id ? `${r.id} (${r.component})` : r.id,
1742
1747
  read: read.has(r.id)
1743
- })).sort((a, b) => a.id.localeCompare(b.id));
1748
+ })).sort((a, b) => cmpText(a.id, b.id));
1744
1749
  const seen = /* @__PURE__ */ new Set();
1745
- const systems = op.profiles.flatMap((p) => p.profile?.systems ?? []).filter((s) => !seen.has(s.id) && !!seen.add(s.id)).map((s) => ({ id: s.id, kind: "system", name: s.name, boundary: s.boundary })).sort((a, b) => a.id.localeCompare(b.id));
1750
+ const systems = op.profiles.flatMap((p) => p.profile?.systems ?? []).filter((s) => !seen.has(s.id) && !!seen.add(s.id)).map((s) => ({ id: s.id, kind: "system", name: s.name, boundary: s.boundary })).sort((a, b) => cmpText(a.id, b.id));
1746
1751
  const owned = new Set(op.profiles.flatMap((p) => (p.profile?.systems ?? []).flatMap((s) => s.owner ? [s.owner] : [])));
1747
1752
  const teams = (op.roles?.teams ?? []).map((t) => {
1748
1753
  const name = t.name ?? t.id;
@@ -1760,7 +1765,7 @@ function targetPicker(op, read = /* @__PURE__ */ new Set()) {
1760
1765
  }
1761
1766
  }
1762
1767
  };
1763
- }).sort((a, b) => a.id.localeCompare(b.id));
1768
+ }).sort((a, b) => cmpText(a.id, b.id));
1764
1769
  return [...repos, ...systems, ...teams];
1765
1770
  }
1766
1771
  function pickerLines(picks) {
@@ -1808,13 +1813,13 @@ function topicQuestionDrafts(repo, records) {
1808
1813
  if (!out.has(id))
1809
1814
  out.set(id, { topic, id, draft });
1810
1815
  }
1811
- return [...out.values()].sort((a, b) => a.topic.localeCompare(b.topic));
1816
+ return [...out.values()].sort((a, b) => cmpText(a.topic, b.topic));
1812
1817
  }
1813
1818
 
1814
1819
  // packages/scanner/dist/facts-catalog.js
1815
1820
  var TARGETS_STEP = TARGETS_STEP_ID;
1816
1821
  var TARGETS_NONE = "None of these";
1817
- var byKindId = (a, b) => a.kind === b.kind ? a.id.localeCompare(b.id) : a.kind.localeCompare(b.kind);
1822
+ var byKindId = (a, b) => a.kind === b.kind ? cmpText(a.id, b.id) : cmpText(a.kind, b.kind);
1818
1823
  var URL_RE = /^[a-z][a-z0-9+.-]*:\/\//i;
1819
1824
  var joinUrl = (base2, path) => `${base2.replace(/\/+$/, "")}${path.startsWith("/") ? path : `/${path}`}`;
1820
1825
  function urlOf(f, facts) {
@@ -1890,7 +1895,7 @@ function targetAsks(facts, records, asks) {
1890
1895
  if (r.kind === "Component" && r.repo)
1891
1896
  repoOf.set(r.id, r.repo);
1892
1897
  const list = [];
1893
- for (const f of [...facts].sort((a, b) => a.id.localeCompare(b.id))) {
1898
+ for (const f of [...facts].sort((a, b) => cmpText(a.id, b.id))) {
1894
1899
  const ask = asks?.find((a) => a.reason === "ambiguous" && a.call.repo === f.repo && a.call.fact === f.id);
1895
1900
  if (f.kind !== "call" || !needsTarget(f, facts) && !ask)
1896
1901
  continue;
@@ -1971,7 +1976,7 @@ function offered(members, facts, records, op, asks, ctx) {
1971
1976
  }
1972
1977
  }
1973
1978
  }
1974
- const ranked = [...merged.values()].sort((a, b) => b.score - a.score || Number(b.read) - Number(a.read) || (a.kind === b.kind ? 0 : a.kind === "repo" ? -1 : 1) || a.label.localeCompare(b.label));
1979
+ const ranked = [...merged.values()].sort((a, b) => b.score - a.score || Number(b.read) - Number(a.read) || (a.kind === b.kind ? 0 : a.kind === "repo" ? -1 : 1) || cmpText(a.label, b.label));
1975
1980
  const serving = new Set(members.flatMap((m) => m.servers));
1976
1981
  const types = new Set(members.flatMap((m) => SERVES[m.f.callType] ?? []));
1977
1982
  return offeredSuggestions(ranked, { types, serving });
@@ -2052,7 +2057,7 @@ function targetGroupWordings(repo, f, facts) {
2052
2057
  return [.../* @__PURE__ */ new Set([targetGroupQuestion(repo, f, facts), targetGroupQuestion(repo, f)])];
2053
2058
  }
2054
2059
  var repo0 = (members) => members[0].f.repo;
2055
- var byLine = (a, b) => a.localeCompare(b, "en", { numeric: true });
2060
+ var byLine = (a, b) => cmpNatural(a, b);
2056
2061
  var answerLabel2 = (q) => q.answer?.option !== void 0 ? q.options[q.answer.option - 1]?.label : q.answer?.text;
2057
2062
  function splitTargetGroups(questions) {
2058
2063
  return new Set(questions.filter((q) => q.askedBy?.step === TARGETS_STEP && q.state === "answered" && answerLabel2(q) === TARGETS_SPLIT).map((q) => q.question.trim()));
@@ -2111,7 +2116,7 @@ function groupedTargetDrafts(facts, records, op, asks, o) {
2111
2116
  draft
2112
2117
  });
2113
2118
  }
2114
- return out.sort((a, b) => a.factId.localeCompare(b.factId));
2119
+ return out.sort((a, b) => cmpText(a.factId, b.factId));
2115
2120
  }
2116
2121
  function targetRuleOffers(questions, factsOf) {
2117
2122
  const byKey = /* @__PURE__ */ new Map();
@@ -2148,25 +2153,25 @@ ${match}`;
2148
2153
  return out;
2149
2154
  }
2150
2155
  var segmentsOf = (p) => p.split(/[?#]/)[0].split("/").filter(Boolean).map((x) => /^[{:<]/.test(x) ? "{}" : x);
2151
- function ruleCoversCall(match, f, facts) {
2156
+ function ruleCoversCall(match, f, facts, o = {}) {
2152
2157
  if (isPathMatch(match)) {
2153
2158
  const want = segmentsOf(match.replace(/\/\*\*$/, ""));
2154
2159
  const got = segmentsOf(f.path);
2155
- return want.length <= got.length && want.every((x, i) => x === "{}" || got[i] === "{}" || x === got[i]);
2160
+ return want.length <= got.length && want.every((x, i) => x === "{}" || !o.strict && got[i] === "{}" || x === got[i]);
2156
2161
  }
2157
2162
  const url = urlOf(f, facts);
2158
2163
  const hp = url ? urlHostPort(url) : void 0;
2159
2164
  return !!hp?.host && hostMatches(match, hp.host, hp.port);
2160
2165
  }
2161
2166
  function ruledTargets(repo, facts, questions, o = {}) {
2162
- const rules = questions.filter((q) => q.askedBy?.step === TARGETS_STEP && q.state === "answered" && !!q.answer?.match && (q.answer.scope.level === "repo" ? q.answer.scope.id === repo : !!o.repoType && q.answer.scope.id === o.repoType)).sort((a, b) => (a.answer.scope.level === "repo" ? 0 : 1) - (b.answer.scope.level === "repo" ? 0 : 1) || b.answer.match.length - a.answer.match.length || b.answer.at.localeCompare(a.answer.at) || a.id.localeCompare(b.id));
2167
+ const rules = questions.filter((q) => q.askedBy?.step === TARGETS_STEP && q.state === "answered" && !!q.answer?.match && (q.answer.scope.level === "repo" ? q.answer.scope.id === repo : !!o.repoType && q.answer.scope.id === o.repoType)).sort((a, b) => (a.answer.scope.level === "repo" ? 0 : 1) - (b.answer.scope.level === "repo" ? 0 : 1) || b.answer.match.length - a.answer.match.length || cmpText(b.answer.at, a.answer.at) || cmpText(a.id, b.id));
2163
2168
  const out = /* @__PURE__ */ new Map();
2164
2169
  if (!rules.length)
2165
2170
  return out;
2166
2171
  for (const f of facts) {
2167
2172
  if (!ruleMayName(f, facts))
2168
2173
  continue;
2169
- const q = rules.find((r) => ruleCoversCall(r.answer.match, f, facts));
2174
+ const q = rules.find((r) => ruleCoversCall(r.answer.match, f, facts, o.strict ? { strict: true } : {}));
2170
2175
  const label2 = q ? answerLabel2(q) : void 0;
2171
2176
  if (q && label2 && label2 !== TARGETS_SPLIT)
2172
2177
  out.set(f.id, { id: q.id, match: q.answer.match, label: label2 });
@@ -2176,11 +2181,11 @@ function ruledTargets(repo, facts, questions, o = {}) {
2176
2181
  function targetsFromAnswers(repo, facts, questions, o = {}) {
2177
2182
  const byId = new Map(questions.map((q) => [q.id, q]));
2178
2183
  const groups = /* @__PURE__ */ new Map();
2179
- for (const q of [...questions].filter((x) => x.askedBy?.step === TARGETS_STEP && x.state === "answered" && !!x.answer && typeof x.question === "string").sort((a, b) => a.answer.at.localeCompare(b.answer.at) || a.id.localeCompare(b.id)))
2184
+ for (const q of [...questions].filter((x) => x.askedBy?.step === TARGETS_STEP && x.state === "answered" && !!x.answer && typeof x.question === "string").sort((a, b) => cmpText(a.answer.at, b.answer.at) || cmpText(a.id, b.id)))
2180
2185
  groups.set(q.question.trim(), q);
2181
2186
  const ruled = ruledTargets(repo, facts, questions, o);
2182
2187
  const out = {};
2183
- for (const f of [...facts].sort((a, b) => a.id.localeCompare(b.id))) {
2188
+ for (const f of [...facts].sort((a, b) => cmpText(a.id, b.id))) {
2184
2189
  if (f.kind !== "call")
2185
2190
  continue;
2186
2191
  const q = targetQuestionFor(f);
@@ -2282,7 +2287,26 @@ function staleTargetQuestions(input) {
2282
2287
  ...rules.length ? { replacedBy: rules } : {}
2283
2288
  });
2284
2289
  }
2285
- return out.sort((a, b) => a.id.localeCompare(b.id));
2290
+ return out.sort((a, b) => cmpText(a.id, b.id));
2291
+ }
2292
+ function staleTopicQuestions(input) {
2293
+ const drafted = new Set(input.drafted.map((d) => d.id));
2294
+ const out = [];
2295
+ for (const q of input.open) {
2296
+ if (q.state !== "open" || q.askedBy.step !== TOPICS_STEP_ID || q.repo !== input.repo)
2297
+ continue;
2298
+ if (drafted.has(q.id))
2299
+ continue;
2300
+ const topic = topicOfQuestion(q);
2301
+ if (!topic)
2302
+ continue;
2303
+ const by = input.drafted.filter((d) => d.topic === topic).map((d) => d.id);
2304
+ out.push(by.length ? { id: q.id, why: `${topic} is asked now in ${by.join(", ")}`, replacedBy: by } : {
2305
+ id: q.id,
2306
+ why: `${topic} is no longer a loose end: a repo of the estate serves its other side now, or the profile names who owns it`
2307
+ });
2308
+ }
2309
+ return out.sort((a, b) => cmpText(a.id, b.id));
2286
2310
  }
2287
2311
  function componentRenames(repos, op, taken = []) {
2288
2312
  const manifests = estateRepos(op);
@@ -2298,7 +2322,7 @@ function componentRenames(repos, op, taken = []) {
2298
2322
  if (users.has(t.id))
2299
2323
  use(t.id, t.repo);
2300
2324
  const out = {};
2301
- for (const [id, set] of [...users].sort((a, b) => a[0].localeCompare(b[0]))) {
2325
+ for (const [id, set] of [...users].sort((a, b) => cmpText(a[0], b[0]))) {
2302
2326
  if (set.size < 2)
2303
2327
  continue;
2304
2328
  for (const repo of repos.map((r) => r.repo).filter((r) => set.has(r))) {
@@ -2667,10 +2691,10 @@ function catalogWithFacts(given) {
2667
2691
  raw: r.raw
2668
2692
  });
2669
2693
  }
2670
- unresolved.sort((a, b) => a.factId.localeCompare(b.factId));
2694
+ unresolved.sort((a, b) => cmpText(a.factId, b.factId));
2671
2695
  return {
2672
2696
  records: applied.records.sort(byKindId),
2673
- flows: flows.sort((a, b) => a.id.localeCompare(b.id)),
2697
+ flows: flows.sort((a, b) => cmpText(a.id, b.id)),
2674
2698
  unresolved,
2675
2699
  curated: {
2676
2700
  applied: applied.applied,
@@ -2759,7 +2783,7 @@ function answerRuleOffers(input) {
2759
2783
  ]);
2760
2784
  }
2761
2785
  const out = [];
2762
- for (const [via, xs] of [...groups].sort(([a], [b]) => a.localeCompare(b))) {
2786
+ for (const [via, xs] of [...groups].sort(([a], [b]) => cmpText(a, b))) {
2763
2787
  const repos = [...new Set(xs.map((x) => x.repo))].sort();
2764
2788
  const labels = new Set(xs.map((x) => slugify(x.label)));
2765
2789
  if (repos.length < 2 || labels.size !== 1)
@@ -2876,7 +2900,7 @@ async function factsForScan(root, op, repo, commit, readerRecords, at3 = {}) {
2876
2900
  continue;
2877
2901
  extra.set(r.kind, (extra.get(r.kind) ?? 0) + 1);
2878
2902
  }
2879
- const said = [...extra.entries()].sort((a, b) => a[0].localeCompare(b[0])).map(([k, n]) => `${n} ${k}`).join(", ");
2903
+ const said = [...extra.entries()].sort((a, b) => cmpText(a[0], b[0])).map(([k, n]) => `${n} ${k}`).join(", ");
2880
2904
  return {
2881
2905
  records: newRecords,
2882
2906
  facts: used,
@@ -2887,9 +2911,9 @@ async function factsForScan(root, op, repo, commit, readerRecords, at3 = {}) {
2887
2911
  }
2888
2912
  async function pairsOfRepo(root, repo, facts) {
2889
2913
  const text2 = await readFile4(join6(factsDirOf(root), `${repo}.corrections.jsonl`), "utf8").catch(() => void 0);
2890
- if (!text2 || !text2.includes('"link"'))
2914
+ if (!text2 || !/"(?:un)?link"/.test(text2))
2891
2915
  return {};
2892
- return pairsFromCorrections(facts, parseCorrections(text2).corrections);
2916
+ return pairsFromCorrections(facts, parseCorrections(text2).corrections, { declined: true });
2893
2917
  }
2894
2918
  async function estateFacts(root, op, except) {
2895
2919
  const repos = [];
@@ -3129,6 +3153,12 @@ function withExcludes(repo, exclude) {
3129
3153
  yield f;
3130
3154
  }
3131
3155
  });
3156
+ const listing = /* @__PURE__ */ Symbol.for("@maycombhq/sdk.listing");
3157
+ const before = repo[listing];
3158
+ Object.defineProperty(wrapped, listing, {
3159
+ value: `${typeof before === "string" ? before : ""}|exclude:${JSON.stringify(exclude.map((x) => `${x.source}/${x.flags}`))}`,
3160
+ configurable: true
3161
+ });
3132
3162
  return wrapped;
3133
3163
  }
3134
3164
  var join7 = (prefix, path) => `${prefix.replace(/\/+$/, "")}${path.startsWith("/") ? path : `/${path}`}`.replace(/\/+$/, "") || "/";
@@ -3629,7 +3659,7 @@ async function scanEstate(o) {
3629
3659
  orgPackDir
3630
3660
  });
3631
3661
  const notes = [...factNotes, ...merged.notes, ...glossary.problems.map((p) => `glossary: ${p}`)];
3632
- const withFeatures = [...glossary.records, ...fedRecords].sort((a, b) => a.kind === b.kind ? a.id.localeCompare(b.id) : a.kind.localeCompare(b.kind));
3662
+ const withFeatures = [...glossary.records, ...fedRecords].sort((a, b) => a.kind === b.kind ? cmpText(a.id, b.id) : cmpText(a.kind, b.kind));
3633
3663
  const applied = applyCurated(withFeatures, curated.records);
3634
3664
  for (const p of applied.problems)
3635
3665
  problems.push({ source: "curated", message: JSON.stringify(p) });
@@ -3823,7 +3853,7 @@ async function matchRepoType(repo, types, o = {}) {
3823
3853
  for (const t of types)
3824
3854
  matches.push(await scoreType(t, files));
3825
3855
  const pct = (m) => Math.round(m.score * 100);
3826
- matches.sort((a, b) => Number(a.ruledOut) - Number(b.ruledOut) || pct(b) - pct(a) || a.type.localeCompare(b.type));
3856
+ matches.sort((a, b) => Number(a.ruledOut) - Number(b.ruledOut) || pct(b) - pct(a) || cmpText(a.type, b.type));
3827
3857
  const said = typeFromWords(o.description, types);
3828
3858
  const eligible = matches.filter((m) => !m.ruledOut && pct(m) >= PARTIAL_MATCH * 100);
3829
3859
  const top2 = eligible[0];
@@ -3906,7 +3936,7 @@ async function resolveSettingsTemplate(t, repo, repoId) {
3906
3936
  out.exclude.push({ path: e.path, why: e.why, at: `${first}:1` });
3907
3937
  }
3908
3938
  for (const rule of t.settings.prefixes) {
3909
- const candidates2 = (await files.matching(rule.files)).sort((a, b) => a.length - b.length || a.localeCompare(b));
3939
+ const candidates2 = (await files.matching(rule.files)).sort((a, b) => a.length - b.length || cmpText(a, b));
3910
3940
  for (const f of candidates2) {
3911
3941
  const hit = await readRule(rule, f, files);
3912
3942
  if (!hit)
@@ -3981,7 +4011,7 @@ var PLAIN_ANNOTATIONS = /* @__PURE__ */ new Set([
3981
4011
  "JvmStatic"
3982
4012
  ]);
3983
4013
  function top(counts, n) {
3984
- return [...counts].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).slice(0, n).map(([k]) => k);
4014
+ return [...counts].sort((a, b) => b[1] - a[1] || cmpText(a[0], b[0])).slice(0, n).map(([k]) => k);
3985
4015
  }
3986
4016
  var TEST_FILE = /(^|\/)(test|tests|__tests__|src\/test)\/|\.(spec|test)\.[jt]sx?$|Tests?\.(java|kt|cs)$/;
3987
4017
  async function draftMarkers(files) {
@@ -4209,7 +4239,7 @@ function specTriggers(records, repoId, template) {
4209
4239
  }
4210
4240
  }
4211
4241
  }
4212
- return out.sort((a, b) => a.id.localeCompare(b.id));
4242
+ return out.sort((a, b) => cmpText(a.id, b.id));
4213
4243
  }
4214
4244
  var methodPath = (s) => {
4215
4245
  const m = /^([A-Za-z]+)\s+(\S+)$/.exec(s.trim());
@@ -4680,7 +4710,7 @@ async function joinEstate(o) {
4680
4710
  const c = byId.get(id);
4681
4711
  return c?.kind === "Component" ? c.repo ?? c.evidence.find((e) => e.repo)?.repo : void 0;
4682
4712
  };
4683
- const servingExactly = (caller, want, scope) => endpoints.filter((e) => e.component !== caller && (!scope || scope.has(e.component)) && sameMethod(want.method, e.method) && pathScore(want.path, e.normalizedPath ?? e.pathOrTopic) === 1e3).sort((a, b) => a.id.localeCompare(b.id));
4713
+ const servingExactly = (caller, want, scope) => endpoints.filter((e) => e.component !== caller && (!scope || scope.has(e.component)) && sameMethod(want.method, e.method) && pathScore(want.path, e.normalizedPath ?? e.pathOrTopic) === 1e3).sort((a, b) => cmpText(a.id, b.id));
4684
4714
  const joins = [];
4685
4715
  const unmatched = [];
4686
4716
  const inferred = [];
@@ -4852,7 +4882,7 @@ async function joinEstate(o) {
4852
4882
  inferred.push({ from: { repo, flow: flow.id, step }, named: s.to.component, ...guess });
4853
4883
  }
4854
4884
  }
4855
- const order = (a, b) => a.from.flow.localeCompare(b.from.flow) || a.from.step - b.from.step;
4885
+ const order = (a, b) => cmpText(a.from.flow, b.from.flow) || a.from.step - b.from.step;
4856
4886
  return {
4857
4887
  joins: joins.sort(order),
4858
4888
  unmatched: unmatched.sort(order),
@@ -5123,7 +5153,7 @@ async function unknownHosts(o) {
5123
5153
  return out;
5124
5154
  };
5125
5155
  const asks = [];
5126
- for (const [host, entry] of [...byHost.entries()].sort(([a], [b]) => a.localeCompare(b))) {
5156
+ for (const [host, entry] of [...byHost.entries()].sort(([a], [b]) => cmpText(a, b))) {
5127
5157
  if (servers.length === 0)
5128
5158
  continue;
5129
5159
  const hits = [];
@@ -5137,7 +5167,7 @@ async function unknownHosts(o) {
5137
5167
  }
5138
5168
  }
5139
5169
  const suggest = hits.length === 1 ? hits[0] : void 0;
5140
- const calls = entry.calls.sort((a, b) => a.repo.localeCompare(b.repo) || a.at.localeCompare(b.at, "en", { numeric: true }));
5170
+ const calls = entry.calls.sort((a, b) => cmpText(a.repo, b.repo) || cmpNatural(a.at, b.at));
5141
5171
  const byPath = [];
5142
5172
  for (const g of o.records) {
5143
5173
  if (g.kind !== "GatewayRoute")
@@ -5155,7 +5185,7 @@ async function unknownHosts(o) {
5155
5185
  serves: hit ? [hit.method?.toUpperCase(), hit.pathOrTopic].filter(Boolean).join(" ") : `the routes under ${g.basepath}`
5156
5186
  });
5157
5187
  }
5158
- byPath.sort((a, b) => a.repo.localeCompare(b.repo));
5188
+ byPath.sort((a, b) => cmpText(a.repo, b.repo));
5159
5189
  const first = suggest ? [suggest.repo] : byPath.map((b) => b.repo).filter((x) => servers.includes(x));
5160
5190
  const about = Object.fromEntries(servers.flatMap((s) => {
5161
5191
  const d = o.repos.find((r) => r.id === s)?.description;
@@ -5644,6 +5674,7 @@ export {
5644
5674
  answeredQuestionOfCall,
5645
5675
  answerReconfirmed,
5646
5676
  staleTargetQuestions,
5677
+ staleTopicQuestions,
5647
5678
  componentRenames,
5648
5679
  factsRecords,
5649
5680
  outsideSystems,
@@ -7,14 +7,14 @@ import {
7
7
  clientFor,
8
8
  inputsSha256,
9
9
  loadExecutors
10
- } from "./chunk-DDJPM5YX.js";
10
+ } from "./chunk-6OJQOPUN.js";
11
11
  import {
12
12
  runDialectTests
13
- } from "./chunk-TWQRPM76.js";
13
+ } from "./chunk-CQDGOPGH.js";
14
14
  import {
15
15
  fsRepo,
16
16
  scanRepo
17
- } from "./chunk-7AB6OWTV.js";
17
+ } from "./chunk-3NFFJL5D.js";
18
18
  import {
19
19
  AI_SCHEMA_VERSION,
20
20
  API_VERSION,
@@ -40,12 +40,14 @@ import {
40
40
  parseRecord,
41
41
  recordPath,
42
42
  recordReferences,
43
- require_dist,
44
43
  serializeRecord
45
- } from "./chunk-PAINMSID.js";
44
+ } from "./chunk-Q2TECDIT.js";
46
45
  import {
47
46
  SCHEMA_VERSION
48
- } from "./chunk-ODMBPDDV.js";
47
+ } from "./chunk-TUULXQRW.js";
48
+ import {
49
+ require_dist
50
+ } from "./chunk-BQGDB6ZL.js";
49
51
  import {
50
52
  __toESM
51
53
  } from "./chunk-TV45EUGM.js";
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  loadRepos
8
- } from "./chunk-XOL3GFW2.js";
8
+ } from "./chunk-PKBHS4AA.js";
9
9
  import {
10
10
  TARGETS_STEP_ID,
11
11
  changesDirOf,
@@ -18,10 +18,12 @@ import {
18
18
  peopleOfChange,
19
19
  questionWeights,
20
20
  readTeams,
21
- require_dist,
22
21
  routeOfQuestion,
23
22
  teamsOfPerson
24
- } from "./chunk-PAINMSID.js";
23
+ } from "./chunk-Q2TECDIT.js";
24
+ import {
25
+ require_dist
26
+ } from "./chunk-BQGDB6ZL.js";
25
27
  import {
26
28
  __toESM
27
29
  } from "./chunk-TV45EUGM.js";
@@ -74,7 +76,7 @@ async function ruleOffers(root) {
74
76
  if (f)
75
77
  facts.set(repo, f);
76
78
  }
77
- const { targetRuleOffers } = await import("./chunk-BXZ4PKIT.js");
79
+ const { targetRuleOffers } = await import("./chunk-IFKEI4SA.js");
78
80
  return targetRuleOffers(open, (r) => facts.get(r));
79
81
  }
80
82
  async function routeQuestions(root, questions, o = {}) {
@@ -0,0 +1,49 @@
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
+ UNATTENDED,
8
+ acpStepRunner,
9
+ copilotAcpAllowed,
10
+ copilotAcpByDefault,
11
+ expandSlashLine,
12
+ questionsProposeCommand,
13
+ readWrites,
14
+ startProposeHandoff
15
+ } from "./chunk-6ZJ5A7AF.js";
16
+ import "./chunk-X5F3Q5LV.js";
17
+ import "./chunk-OUBGGKDU.js";
18
+ import "./chunk-BPK5P77O.js";
19
+ import "./chunk-EHA7RMZ3.js";
20
+ import "./chunk-WXFLMQSR.js";
21
+ import "./chunk-TYQBFTBR.js";
22
+ import "./chunk-2F4CYZKJ.js";
23
+ import "./chunk-LO6P2VYG.js";
24
+ import "./chunk-BEVTIBRH.js";
25
+ import "./chunk-J2JAKCIW.js";
26
+ import "./chunk-745DAZ4L.js";
27
+ import "./chunk-CXJ6FUKN.js";
28
+ import "./chunk-QKUJMING.js";
29
+ import "./chunk-6ZGLAACW.js";
30
+ import "./chunk-CQDGOPGH.js";
31
+ import "./chunk-3NFFJL5D.js";
32
+ import "./chunk-F3P7N7SF.js";
33
+ import "./chunk-PKBHS4AA.js";
34
+ import "./chunk-P32RUW3B.js";
35
+ import "./chunk-QA4O2GGC.js";
36
+ import "./chunk-Q2TECDIT.js";
37
+ import "./chunk-TUULXQRW.js";
38
+ import "./chunk-BQGDB6ZL.js";
39
+ import "./chunk-TV45EUGM.js";
40
+ export {
41
+ UNATTENDED,
42
+ acpStepRunner,
43
+ copilotAcpAllowed,
44
+ copilotAcpByDefault,
45
+ expandSlashLine,
46
+ questionsProposeCommand,
47
+ readWrites,
48
+ startProposeHandoff
49
+ };
@@ -8,7 +8,7 @@ import {
8
8
  executorsCheck,
9
9
  inputsSha256,
10
10
  runStep
11
- } from "./chunk-DDJPM5YX.js";
11
+ } from "./chunk-6OJQOPUN.js";
12
12
  import {
13
13
  table
14
14
  } from "./chunk-VOGCSYOI.js";
@@ -17,7 +17,7 @@ import {
17
17
  exportStep,
18
18
  fileStepStore,
19
19
  recordStep
20
- } from "./chunk-4KNOJC6J.js";
20
+ } from "./chunk-7IGKHZ4Z.js";
21
21
 
22
22
  // packages/cli/dist/todo-commands.js
23
23
  var iso = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");
@@ -146,6 +146,10 @@ async function todoDone(root, stepRef, o, io, deps = {}) {
146
146
  ...o.note ? { note: o.note } : {}
147
147
  });
148
148
  io.out(done.state === "skipped" ? `Skipped step ${done.id}: ${o.note}` : `Recorded step ${done.id}${Object.keys(done.recorded?.values ?? {}).length ? `: ${Object.entries(done.recorded.values).map(([k, v]) => `${k} ${Array.isArray(v) ? v.join(", ") : String(v)}`).join(", ")}` : ""}.`);
149
+ if (deps.sync !== false) {
150
+ const { syncAfterManualStep } = await import("./chunk-SFSPGFCV.js");
151
+ await syncAfterManualStep(root, done, o.by, io, deps.sync ?? {});
152
+ }
149
153
  return 0;
150
154
  } catch (e) {
151
155
  return fail(io, e);
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-VOGCSYOI.js";
9
9
  import {
10
10
  openspecStores
11
- } from "./chunk-HSZMPH5T.js";
11
+ } from "./chunk-IDKCWSM5.js";
12
12
 
13
13
  // packages/cli/dist/openspec-stores-commands.js
14
14
  var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
@@ -5,11 +5,12 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  runOpenSpecRaw
8
- } from "./chunk-D2WSW4GU.js";
8
+ } from "./chunk-UUU4CLJG.js";
9
9
  import {
10
10
  changesDirOf
11
- } from "./chunk-PAINMSID.js";
12
- import "./chunk-ODMBPDDV.js";
11
+ } from "./chunk-Q2TECDIT.js";
12
+ import "./chunk-TUULXQRW.js";
13
+ import "./chunk-BQGDB6ZL.js";
13
14
  import "./chunk-TV45EUGM.js";
14
15
 
15
16
  // packages/cli/dist/openspec-run-commands.js
@@ -0,0 +1,38 @@
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
+ expectedLine,
8
+ expectedModel,
9
+ handoffStep
10
+ } from "./chunk-X3WY6MN3.js";
11
+ import {
12
+ isHandoffStep
13
+ } from "./chunk-4Q3NN7VF.js";
14
+ import "./chunk-ISUAAMGS.js";
15
+ import "./chunk-S4PMJU6H.js";
16
+ import "./chunk-IDKCWSM5.js";
17
+ import "./chunk-UUU4CLJG.js";
18
+ import "./chunk-7IGKHZ4Z.js";
19
+ import "./chunk-J2JAKCIW.js";
20
+ import "./chunk-745DAZ4L.js";
21
+ import "./chunk-CXJ6FUKN.js";
22
+ import "./chunk-QKUJMING.js";
23
+ import "./chunk-6ZGLAACW.js";
24
+ import "./chunk-CQDGOPGH.js";
25
+ import "./chunk-3NFFJL5D.js";
26
+ import "./chunk-PKBHS4AA.js";
27
+ import "./chunk-P32RUW3B.js";
28
+ import "./chunk-QA4O2GGC.js";
29
+ import "./chunk-Q2TECDIT.js";
30
+ import "./chunk-TUULXQRW.js";
31
+ import "./chunk-BQGDB6ZL.js";
32
+ import "./chunk-TV45EUGM.js";
33
+ export {
34
+ expectedLine,
35
+ expectedModel,
36
+ handoffStep,
37
+ isHandoffStep
38
+ };