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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/dist/bin.js +12 -7
  2. package/dist/{chunk-BXBCMGIQ.js → chunk-24OXGB3P.js} +1 -1
  3. package/dist/{chunk-PRW3HXM3.js → chunk-27AJAKX7.js} +29 -5
  4. package/dist/{chunk-PQH56YF6.js → chunk-2QPJ4E4Z.js} +6 -4
  5. package/dist/{chunk-7CZHUZBL.js → chunk-2UMSHYCB.js} +38 -27
  6. package/dist/{chunk-2V2ZPQQU.js → chunk-2WUTCPPJ.js} +9 -7
  7. package/dist/{chunk-YF5DZCPN.js → chunk-2YSD6E6V.js} +38 -34
  8. package/dist/{chunk-QHJJMZLX.js → chunk-3424TLIJ.js} +204 -97
  9. package/dist/{chunk-62DLJSLV.js → chunk-3ASYYMOX.js} +10 -8
  10. package/dist/{chunk-XOL3GFW2.js → chunk-3EWKO457.js} +111 -43
  11. package/dist/{chunk-G5YJBNDZ.js → chunk-3EX5HCZD.js} +8 -6
  12. package/dist/{chunk-WFU77T3A.js → chunk-3MYBT62N.js} +5 -5
  13. package/dist/{chunk-6EXDI5GI.js → chunk-3UHV76UD.js} +72 -41
  14. package/dist/{chunk-LU4MQVAL.js → chunk-3ZA3AK2D.js} +11 -10
  15. package/dist/{chunk-P2VBXX7N.js → chunk-4ETO2FXE.js} +11 -9
  16. package/dist/{chunk-GK4PYVEC.js → chunk-4FLNCK6Q.js} +31 -14
  17. package/dist/{chunk-64AADMTW.js → chunk-4GAB5ZOZ.js} +943 -336
  18. package/dist/{chunk-FLVZFTLQ.js → chunk-4MYHETJ3.js} +20 -18
  19. package/dist/chunk-4R3TO4VL.js +94 -0
  20. package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
  21. package/dist/chunk-5MYE42AP.js +43 -0
  22. package/dist/chunk-5O7U67UA.js +57 -0
  23. package/dist/{chunk-MZGRDONP.js → chunk-5OXKCH4Z.js} +54 -37
  24. package/dist/{chunk-PUEWDYGP.js → chunk-5VTIWEWP.js} +3 -2
  25. package/dist/{chunk-3G6S7LAA.js → chunk-63NFFAGI.js} +14 -12
  26. package/dist/{chunk-LIJJCBQI.js → chunk-66AQ2JIU.js} +15 -16
  27. package/dist/chunk-6JVPBGQG.js +50 -0
  28. package/dist/{chunk-WAZEXEJH.js → chunk-6NCPLIIP.js} +167 -2
  29. package/dist/{chunk-D57MFJPP.js → chunk-6NN36LVK.js} +3 -3
  30. package/dist/{chunk-G6IQYM25.js → chunk-6R5VHR3N.js} +8 -6
  31. package/dist/{chunk-Z3QFH7YG.js → chunk-6RQOINER.js} +5 -4
  32. package/dist/{chunk-TQTRWENN.js → chunk-6RYB3EET.js} +14 -12
  33. package/dist/{chunk-FYBF5MB2.js → chunk-6SNTHK43.js} +13 -11
  34. package/dist/{chunk-FRHD22WM.js → chunk-6Y4FXOMI.js} +27 -23
  35. package/dist/{chunk-LWDNKE4X.js → chunk-6ZFF7XSL.js} +6 -6
  36. package/dist/{chunk-FQ6WH6PB.js → chunk-6ZSYLZ7O.js} +6 -4
  37. package/dist/{chunk-LQH4P45K.js → chunk-73CC73I4.js} +1 -1
  38. package/dist/{chunk-Q46QDDMF.js → chunk-73GFVW2L.js} +14 -9
  39. package/dist/{chunk-QKMRFNMA.js → chunk-73V2OONC.js} +17 -15
  40. package/dist/{chunk-FVMPFCDS.js → chunk-75OMRKY2.js} +4 -4
  41. package/dist/{chunk-XEQCQO66.js → chunk-7IFTSAHP.js} +10 -8
  42. package/dist/{chunk-4FOAYLI4.js → chunk-7K5OH45X.js} +139 -17
  43. package/dist/{chunk-3SSTNB4E.js → chunk-7NQAGYK4.js} +34 -14
  44. package/dist/{chunk-URIKUID7.js → chunk-7XWJ6ED2.js} +14 -12
  45. package/dist/{chunk-TYD6I4CZ.js → chunk-7XYLNQFO.js} +7 -7
  46. package/dist/{chunk-BPPU3PW7.js → chunk-7YQBDE5W.js} +10 -4
  47. package/dist/{chunk-CPK7QSBG.js → chunk-A4JXVO5O.js} +8 -6
  48. package/dist/{chunk-YJ3TBOTK.js → chunk-AFBCNZRZ.js} +29 -26
  49. package/dist/{chunk-TW3KOSQK.js → chunk-AGOLEMHK.js} +13 -13
  50. package/dist/chunk-AHFQHPFF.js +49 -0
  51. package/dist/{chunk-NTAVOWYD.js → chunk-APDN6UOR.js} +118 -18
  52. package/dist/chunk-AQRUQNFB.js +322 -0
  53. package/dist/{chunk-KYZMRSPS.js → chunk-AVMWESFZ.js} +6 -3
  54. package/dist/chunk-B4AEL3RF.js +1011 -0
  55. package/dist/{chunk-GS76RXQE.js → chunk-BAY4K55I.js} +15 -12
  56. package/dist/{chunk-4CLK2RJO.js → chunk-BFL4PO64.js} +9 -7
  57. package/dist/{chunk-GCS3FZOB.js → chunk-BFMTGNAQ.js} +15 -4
  58. package/dist/{chunk-YBOVNMHC.js → chunk-BP33TBLI.js} +29 -16
  59. package/dist/chunk-BQGDB6ZL.js +7342 -0
  60. package/dist/{chunk-BXZ4PKIT.js → chunk-BUUJ7N4O.js} +15 -11
  61. package/dist/{chunk-HGHRSF3E.js → chunk-BYBU2EIB.js} +38 -19
  62. package/dist/{chunk-TQ4TG57V.js → chunk-C6ORPLCN.js} +4 -4
  63. package/dist/{chunk-HWD4JPU7.js → chunk-CA3DKO4D.js} +27 -3
  64. package/dist/{chunk-YTTNTQOX.js → chunk-CFUDAW3R.js} +17 -15
  65. package/dist/{chunk-OPQZISG3.js → chunk-CJEBRJBS.js} +5 -4
  66. package/dist/{chunk-RALY3E5U.js → chunk-CKVBDVIW.js} +6 -4
  67. package/dist/{chunk-DUPZPDCJ.js → chunk-CMB7FXHJ.js} +42 -16
  68. package/dist/{chunk-YIGBJNH4.js → chunk-CQ7RF4QN.js} +5 -4
  69. package/dist/{chunk-YAH5IQAL.js → chunk-CS4BMJLL.js} +6 -5
  70. package/dist/{chunk-455SYIIE.js → chunk-CT6NINGR.js} +5 -3
  71. package/dist/chunk-CXTG6AWM.js +40 -0
  72. package/dist/{chunk-JYMIB5XY.js → chunk-CZ2ZS7AT.js} +170 -45
  73. package/dist/{chunk-K332XW7K.js → chunk-D6BVLTDV.js} +100 -33
  74. package/dist/chunk-DCRYOMTM.js +37 -0
  75. package/dist/{chunk-G6X4YL4D.js → chunk-DHKDH464.js} +5 -4
  76. package/dist/{chunk-JRVNXLZP.js → chunk-DSHRA72L.js} +14 -12
  77. package/dist/{chunk-LNWEWYCM.js → chunk-E3PDCQRH.js} +2813 -621
  78. package/dist/chunk-EHXDB3SA.js +25 -0
  79. package/dist/{chunk-EZIN5E5B.js → chunk-EMVZIOOD.js} +11 -9
  80. package/dist/{chunk-IFHDV6KQ.js → chunk-ENH6Z4TY.js} +21 -20
  81. package/dist/{chunk-YKTE2RU3.js → chunk-EVTI22PQ.js} +7 -2
  82. package/dist/{chunk-2D7PWSOK.js → chunk-EXJZBL5N.js} +22 -20
  83. package/dist/{chunk-77O633L5.js → chunk-FBCVC2GJ.js} +14 -12
  84. package/dist/{chunk-HS4BGB4G.js → chunk-FJVUHQPS.js} +37 -24
  85. package/dist/{chunk-4KNOJC6J.js → chunk-FL344WQD.js} +270 -221
  86. package/dist/{chunk-GNWAOVFQ.js → chunk-FMJYKLDY.js} +5 -5
  87. package/dist/chunk-FMR2D3AZ.js +41 -0
  88. package/dist/{chunk-PAINMSID.js → chunk-FPBUTZI5.js} +3102 -7859
  89. package/dist/{chunk-ZOSD4FXV.js → chunk-FQVSLBTV.js} +3 -3
  90. package/dist/chunk-FRAEQVYN.js +52 -0
  91. package/dist/{chunk-UDXWIPCB.js → chunk-FRCOKUU4.js} +9 -7
  92. package/dist/{chunk-UYLBRRFK.js → chunk-FSN6JFXB.js} +129 -27
  93. package/dist/{chunk-BC6KKZ67.js → chunk-FTLYXMHA.js} +9 -6
  94. package/dist/{chunk-FAJDKNSD.js → chunk-FVYZ4Y52.js} +16 -3
  95. package/dist/{chunk-TWQRPM76.js → chunk-G6EFXTUO.js} +23 -16
  96. package/dist/{chunk-ZFQMMU5Y.js → chunk-G7VBMOZH.js} +6 -2
  97. package/dist/{chunk-VYOCPTUB.js → chunk-GM4EFHUX.js} +17 -15
  98. package/dist/chunk-GOZLTLRY.js +232 -0
  99. package/dist/chunk-GPNMSX5H.js +36 -0
  100. package/dist/{chunk-OZJ3JLYI.js → chunk-GUGQSIQM.js} +10 -9
  101. package/dist/chunk-H4VO6WG3.js +10 -0
  102. package/dist/{chunk-QJCJOMW3.js → chunk-HJQVUOUL.js} +16 -18
  103. package/dist/chunk-HMWJWYE2.js +31 -0
  104. package/dist/{chunk-4TKVU2I2.js → chunk-HMZ2DRBC.js} +2 -2
  105. package/dist/{chunk-HK3VOHIE.js → chunk-HRS5O7VV.js} +609 -171
  106. package/dist/{chunk-7FUIVIBG.js → chunk-HUGQZQ2K.js} +13 -8
  107. package/dist/{chunk-QOOEYDNJ.js → chunk-ICBGVVRI.js} +10 -10
  108. package/dist/{chunk-XG4WJHLQ.js → chunk-IGOE6KPG.js} +49 -20
  109. package/dist/{chunk-4SLBCEPD.js → chunk-IKAW2KJU.js} +95 -64
  110. package/dist/{chunk-L4CESDPB.js → chunk-IMZFOMVX.js} +1 -1
  111. package/dist/{chunk-XQ3YZ4QW.js → chunk-ISG547IS.js} +24 -22
  112. package/dist/{chunk-BA2HUMDN.js → chunk-IYNCSYU4.js} +5 -2
  113. package/dist/{chunk-UEVZZZU2.js → chunk-J25YOUIZ.js} +5 -4
  114. package/dist/chunk-J2CDBSFP.js +69 -0
  115. package/dist/chunk-J2H7YG3K.js +34 -0
  116. package/dist/{chunk-O4IKAIZ2.js → chunk-J32IPTVQ.js} +28 -22
  117. package/dist/{chunk-3AQ2R5NL.js → chunk-J4CPHJUL.js} +11 -9
  118. package/dist/{chunk-VUVGX5L2.js → chunk-JFFKHIM6.js} +1 -1
  119. package/dist/chunk-JMEWJPF2.js +384 -0
  120. package/dist/{chunk-LO3BLMVG.js → chunk-JSP73CDW.js} +13 -5
  121. package/dist/chunk-JXAKYP45.js +63 -0
  122. package/dist/{chunk-PNQLCRSS.js → chunk-K4OXYSGS.js} +7 -5
  123. package/dist/{chunk-3J5I7ZOU.js → chunk-K4RNVDR4.js} +4 -4
  124. package/dist/{chunk-LEBR5NHW.js → chunk-K757G7AD.js} +18 -15
  125. package/dist/{chunk-AHW3RY3X.js → chunk-KDJ2YKAZ.js} +8 -7
  126. package/dist/{chunk-4WXRPQDE.js → chunk-KT6Q44CA.js} +178 -31
  127. package/dist/{chunk-EFCQSMXB.js → chunk-KTNOBTV5.js} +10 -4
  128. package/dist/chunk-KVVNAUIG.js +66 -0
  129. package/dist/{chunk-26Z7OGQW.js → chunk-L3RCQWVQ.js} +64 -31
  130. package/dist/{chunk-3WON4G3M.js → chunk-LHH5KG5A.js} +21 -6
  131. package/dist/{chunk-NCB6656Z.js → chunk-LM45GMMB.js} +11 -8
  132. package/dist/{chunk-2HH3UCZM.js → chunk-LO6Y7OTG.js} +5 -4
  133. package/dist/{chunk-36RY7ZXM.js → chunk-LPDTDFKA.js} +88 -26
  134. package/dist/{chunk-67BP7HXL.js → chunk-LSHSDC6S.js} +19 -17
  135. package/dist/{chunk-GDZB57IU.js → chunk-LZVHP7CT.js} +7 -5
  136. package/dist/{chunk-GC2VK3JT.js → chunk-M3EOFSPY.js} +28 -25
  137. package/dist/chunk-MBYYQHPM.js +31 -0
  138. package/dist/{chunk-HXXP2NTE.js → chunk-MEJ63LDG.js} +35 -12
  139. package/dist/{chunk-2UCRFXFZ.js → chunk-MH2ZK67S.js} +13 -11
  140. package/dist/{chunk-BEPCKDCP.js → chunk-MLGWSBF4.js} +5447 -4165
  141. package/dist/{chunk-NRQ65LTQ.js → chunk-MNIPPBCT.js} +6 -5
  142. package/dist/{chunk-3LZ6P5EP.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/{chunk-KDAHXQIE.js → chunk-MWF4PXQR.js} +38 -34
  144. package/dist/{chunk-WNTIOBOG.js → chunk-N2YX6JMY.js} +20 -18
  145. package/dist/{chunk-FY3QIRTL.js → chunk-NAPHHWW2.js} +3 -3
  146. package/dist/{chunk-D2WSW4GU.js → chunk-NC755EKE.js} +8 -2
  147. package/dist/{chunk-BA3U7ALS.js → chunk-NCLZJCXA.js} +26 -22
  148. package/dist/chunk-NKJDO4UC.js +39 -0
  149. package/dist/chunk-NOYOFYAJ.js +59 -0
  150. package/dist/{chunk-LPV6T362.js → chunk-NROSSWMS.js} +8 -6
  151. package/dist/{chunk-ZKYRDV7A.js → chunk-OBUB3H72.js} +14 -12
  152. package/dist/{chunk-ZQLRCA2V.js → chunk-OCQWSFJD.js} +10 -8
  153. package/dist/{chunk-42EPP7OB.js → chunk-OK6JGLE7.js} +14 -12
  154. package/dist/{chunk-MD7KUEJ3.js → chunk-OPWGPQ2N.js} +9 -7
  155. package/dist/{chunk-SH27FYPF.js → chunk-OSYHGGL3.js} +20 -18
  156. package/dist/chunk-OXXZZ7HQ.js +50 -0
  157. package/dist/chunk-P22EPEBR.js +57 -0
  158. package/dist/chunk-P4YUT7W7.js +45 -0
  159. package/dist/chunk-PCCLVIDP.js +217 -0
  160. package/dist/chunk-PFULMC2D.js +48 -0
  161. package/dist/chunk-PGAMTKBI.js +16 -0
  162. package/dist/{chunk-Y6K3CJBU.js → chunk-PNSSE7JM.js} +152 -29
  163. package/dist/{chunk-3UTYPHN3.js → chunk-POEMZECG.js} +1 -1
  164. package/dist/{chunk-GSGIZ2OO.js → chunk-POSDBRKV.js} +27 -24
  165. package/dist/{chunk-YZDZOEV4.js → chunk-POSZFDSQ.js} +3 -3
  166. package/dist/{chunk-7AB6OWTV.js → chunk-PQQKZPBU.js} +31 -25
  167. package/dist/{chunk-K6JB6XTX.js → chunk-PRMUQUWN.js} +20 -15
  168. package/dist/{chunk-ICHDSWEY.js → chunk-PT4USJNN.js} +10 -8
  169. package/dist/{chunk-265LWMOA.js → chunk-PWXB5GBB.js} +18 -16
  170. package/dist/{chunk-DCWN3HFV.js → chunk-PXMV2LLY.js} +6 -5
  171. package/dist/{chunk-THN26IEF.js → chunk-PXW2RZGQ.js} +4 -1
  172. package/dist/{chunk-CG6CULP6.js → chunk-Q367UGYN.js} +7 -5
  173. package/dist/chunk-QA4O2GGC.js +265 -0
  174. package/dist/{chunk-7FHNFCHK.js → chunk-QAVRDONY.js} +225 -375
  175. package/dist/{chunk-VAMHOHUU.js → chunk-QBMLBCQH.js} +16 -13
  176. package/dist/{chunk-WEOMJHPV.js → chunk-QLQIFJP3.js} +18 -15
  177. package/dist/{chunk-UZACEG2C.js → chunk-QLWDIKO4.js} +84 -27
  178. package/dist/{chunk-ZZFHLRQW.js → chunk-QVVGJVVX.js} +18 -16
  179. package/dist/{chunk-WIWTJMMR.js → chunk-QX4MAMUG.js} +23 -21
  180. package/dist/{chunk-JYTIHTIK.js → chunk-QZWRPQTI.js} +6 -6
  181. package/dist/{chunk-5WERBKLE.js → chunk-RCG5IAAT.js} +55 -227
  182. package/dist/chunk-RGZFOKVO.js +106 -0
  183. package/dist/{chunk-C7CEK3KW.js → chunk-RLZFL76D.js} +7 -5
  184. package/dist/{chunk-PTQ3ZALZ.js → chunk-RPQITJNX.js} +14 -12
  185. package/dist/{chunk-JS6WMC3J.js → chunk-RQQYEDAC.js} +10 -8
  186. package/dist/chunk-RQSLHZ7T.js +36 -0
  187. package/dist/{chunk-API5TOUB.js → chunk-RRQUQAXP.js} +1 -1
  188. package/dist/chunk-RYQ4JCFT.js +65 -0
  189. package/dist/chunk-S35DIFJH.js +38 -0
  190. package/dist/{chunk-YWAKDNMH.js → chunk-S5GSQPIN.js} +70 -19
  191. package/dist/chunk-S5XFO4GY.js +42 -0
  192. package/dist/chunk-S6LW2RRC.js +25 -0
  193. package/dist/{chunk-TSM6T6GQ.js → chunk-S6W3D5GS.js} +25 -23
  194. package/dist/{chunk-5PV7S2ZP.js → chunk-S7GUZ45I.js} +4 -3
  195. package/dist/{chunk-MMZUN7ZO.js → chunk-SCT4CEF7.js} +22 -20
  196. package/dist/{chunk-AOCWFA7T.js → chunk-SK5RVP7X.js} +8 -8
  197. package/dist/chunk-SRTUETF5.js +50 -0
  198. package/dist/{chunk-E57AOFYN.js → chunk-SVGGMBJI.js} +15 -13
  199. package/dist/{chunk-OV57AHCG.js → chunk-SWNKO4C4.js} +35 -26
  200. package/dist/chunk-SYP56T2D.js +65 -0
  201. package/dist/{chunk-5CMPVC3N.js → chunk-T33TPFGI.js} +25 -23
  202. package/dist/{chunk-Q26LDIUV.js → chunk-T3FNG2H2.js} +18 -15
  203. package/dist/{chunk-UFE36WJH.js → chunk-T6MAWL5P.js} +6 -4
  204. package/dist/{chunk-LN77DXBM.js → chunk-T6MX7WXM.js} +14 -11
  205. package/dist/{chunk-WCEF7H6L.js → chunk-T7IIEDA3.js} +10 -7
  206. package/dist/{chunk-2HTEMYTB.js → chunk-TABH4RBZ.js} +163 -84
  207. package/dist/{chunk-YO2PKTXT.js → chunk-TDSCKP3V.js} +5 -3
  208. package/dist/{chunk-BVWWPBKD.js → chunk-TMFMXQEN.js} +23 -21
  209. package/dist/{chunk-4B6BT75O.js → chunk-TNCF26JK.js} +83 -26
  210. package/dist/{chunk-75ASLHBT.js → chunk-TUM52SOE.js} +21 -15
  211. package/dist/{chunk-ZLS6PU2O.js → chunk-TV56QLLV.js} +4 -3
  212. package/dist/{chunk-JKIGL3XQ.js → chunk-TVQSXWWV.js} +36 -33
  213. package/dist/{chunk-OKUB6RJA.js → chunk-TXNSQ24G.js} +14 -11
  214. package/dist/{chunk-4CYTJ5TZ.js → chunk-UALE35WK.js} +4 -3
  215. package/dist/{chunk-CNU5Q2D5.js → chunk-UJF7PIMP.js} +35 -27
  216. package/dist/chunk-UMCDODBX.js +53 -0
  217. package/dist/{chunk-M6D2U3YM.js → chunk-UTPIFH4I.js} +4 -3
  218. package/dist/{chunk-COYN3UAN.js → chunk-V7PEHQZU.js} +95 -26
  219. package/dist/{chunk-U3NBK4EU.js → chunk-VJFXQISZ.js} +8 -8
  220. package/dist/chunk-VJZI6KFP.js +47 -0
  221. package/dist/{chunk-ECLXZWAG.js → chunk-VK7WYA64.js} +14 -12
  222. package/dist/{chunk-DDJPM5YX.js → chunk-VKTXFFOZ.js} +5 -3
  223. package/dist/{chunk-LIRVU3HW.js → chunk-VNIN7Q6Q.js} +32 -20
  224. package/dist/{chunk-7QPCGTPS.js → chunk-VRO7KSGL.js} +24 -21
  225. package/dist/{chunk-AZDITBCT.js → chunk-W3AZE7LN.js} +3 -3
  226. package/dist/chunk-W4TNCEI4.js +44 -0
  227. package/dist/{chunk-S2RY3BOD.js → chunk-W5VYJWOG.js} +31 -21
  228. package/dist/{chunk-X2CUXTWU.js → chunk-WF3RCZNO.js} +6 -6
  229. package/dist/{chunk-4D62IZII.js → chunk-WOMQQWTO.js} +7 -5
  230. package/dist/{chunk-UF4UHCIG.js → chunk-WXVTYLVH.js} +6 -4
  231. package/dist/{chunk-EDZ45WIR.js → chunk-WYGTSZHR.js} +18 -14
  232. package/dist/{chunk-HSZMPH5T.js → chunk-WZYM5M4U.js} +592 -133
  233. package/dist/chunk-X5ZHDSLU.js +49 -0
  234. package/dist/chunk-X7XVMYIL.js +5 -0
  235. package/dist/chunk-X7ZKNSK4.js +41 -0
  236. package/dist/{chunk-QE527XRY.js → chunk-XAPXKFIS.js} +26 -23
  237. package/dist/{chunk-HE3HRDNZ.js → chunk-XF6TSZW2.js} +2 -2
  238. package/dist/{chunk-GX74YWR7.js → chunk-XFDDJQT7.js} +16 -14
  239. package/dist/{chunk-5QUOPNLN.js → chunk-XGO74QWR.js} +4 -4
  240. package/dist/chunk-XLZAAAPX.js +43 -0
  241. package/dist/{chunk-NYOABJNK.js → chunk-XMUWPA56.js} +26 -24
  242. package/dist/{chunk-M4H2UG4R.js → chunk-XNFM6WUK.js} +19 -16
  243. package/dist/{chunk-TGVVUKTG.js → chunk-XOMEQVLK.js} +2 -2
  244. package/dist/{chunk-A2G72UI4.js → chunk-Y2H7X3VI.js} +7 -7
  245. package/dist/{chunk-37WE3LS2.js → chunk-Y5IE6YKD.js} +5 -3
  246. package/dist/{chunk-IFFRGC3N.js → chunk-YD3KTW4H.js} +14 -12
  247. package/dist/{chunk-75ZOZFGH.js → chunk-YDCOZOER.js} +20 -18
  248. package/dist/{chunk-6DQYZU2W.js → chunk-YERAAEO4.js} +20 -20
  249. package/dist/{chunk-J5AAZ6OJ.js → chunk-YHMPDIRG.js} +5 -4
  250. package/dist/{chunk-CNPY4NTZ.js → chunk-Z2D4P3R3.js} +15 -13
  251. package/dist/{chunk-E2VXBSIR.js → chunk-Z3H27OMV.js} +6 -4
  252. package/dist/{chunk-AE4P57KK.js → chunk-Z3RAFU5B.js} +17 -15
  253. package/dist/{chunk-RA33EYS4.js → chunk-ZENHDXRZ.js} +23 -17
  254. package/dist/{chunk-TJH2EUAZ.js → chunk-ZFHFC74B.js} +20 -18
  255. package/dist/{chunk-4PYC2UGC.js → chunk-ZGULQAPZ.js} +7 -4
  256. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  257. package/dist/{chunk-JAABT3DA.js → chunk-ZJGCGKA4.js} +4 -3
  258. package/dist/{chunk-GIFMBCTW.js → chunk-ZLQEQR3D.js} +10 -8
  259. package/dist/{chunk-I2A3Z5AK.js → chunk-ZNHQGG7J.js} +7 -7
  260. package/dist/{chunk-5TDRBOAV.js → chunk-ZNTTW4IT.js} +7 -5
  261. package/dist/{chunk-ZX7235KR.js → chunk-ZR6J4QFQ.js} +44 -383
  262. package/dist/{chunk-F6H2RJ3N.js → chunk-ZSNOILL5.js} +1 -1
  263. package/dist/files.json +585 -509
  264. package/dist/packages/sdk/npm/index.js +1491 -110
  265. package/dist/packages/ui/dist/assets/{elk-api-CowTnhEJ.js → elk-api-DxfAMOJq.js} +2 -2
  266. package/dist/packages/ui/dist/assets/index-Buit9TfP.js +62 -0
  267. package/dist/packages/ui/dist/assets/index-Jyc9dFeZ.css +1 -0
  268. package/dist/packages/ui/dist/index.html +3 -2
  269. package/package.json +3 -3
  270. package/dist/chunk-26WBY34Y.js +0 -37
  271. package/dist/chunk-3TD6S4TC.js +0 -49
  272. package/dist/chunk-5G7ILBUG.js +0 -66
  273. package/dist/chunk-6FNAKCET.js +0 -38
  274. package/dist/chunk-AM6FP6JW.js +0 -43
  275. package/dist/chunk-CFH3QH26.js +0 -29
  276. package/dist/chunk-CLD4RVTA.js +0 -45
  277. package/dist/chunk-D5KV5PSK.js +0 -45
  278. package/dist/chunk-D5MASS4I.js +0 -48
  279. package/dist/chunk-DN4A2Q2O.js +0 -57
  280. package/dist/chunk-FGAGWYZB.js +0 -47
  281. package/dist/chunk-GUYL7RMK.js +0 -60
  282. package/dist/chunk-J2O4LFVI.js +0 -80
  283. package/dist/chunk-JITJP64K.js +0 -34
  284. package/dist/chunk-JRXHON4E.js +0 -41
  285. package/dist/chunk-JU4QNJSR.js +0 -62
  286. package/dist/chunk-N3RUGTGV.js +0 -39
  287. package/dist/chunk-ODMBPDDV.js +0 -298
  288. package/dist/chunk-OMPENNWY.js +0 -39
  289. package/dist/chunk-PKJAV25S.js +0 -43
  290. package/dist/chunk-PRTBPXYA.js +0 -50
  291. package/dist/chunk-PRZ7KMWL.js +0 -42
  292. package/dist/chunk-QSIDVFB7.js +0 -45
  293. package/dist/chunk-SB5GRUFM.js +0 -54
  294. package/dist/chunk-T74WQQGS.js +0 -40
  295. package/dist/chunk-X7EMBM5X.js +0 -34
  296. package/dist/chunk-Z6VLC5X4.js +0 -36
  297. package/dist/chunk-ZPDDEVQX.js +0 -47
  298. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +0 -1
  299. package/dist/packages/ui/dist/assets/index-z2wv0d5d.js +0 -47
@@ -7,12 +7,15 @@ import {
7
7
  ManualStep,
8
8
  changesDirOf,
9
9
  external_exports,
10
- require_dist,
10
+ orgPackDirOf,
11
11
  toCanonicalYaml
12
- } from "./chunk-PAINMSID.js";
12
+ } from "./chunk-FPBUTZI5.js";
13
13
  import {
14
14
  renameRetrying
15
- } from "./chunk-ODMBPDDV.js";
15
+ } from "./chunk-B4AEL3RF.js";
16
+ import {
17
+ require_dist
18
+ } from "./chunk-BQGDB6ZL.js";
16
19
  import {
17
20
  __toESM
18
21
  } from "./chunk-TV45EUGM.js";
@@ -639,214 +642,10 @@ function exportStep(step, format) {
639
642
  };
640
643
  }
641
644
 
642
- // packages/adapters/dist/read-only.js
643
- var MockWiki = class extends MockBase {
644
- pages = /* @__PURE__ */ new Map();
645
- constructor(seed = []) {
646
- super("wiki");
647
- for (const p2 of seed)
648
- this.pages.set(p2.id, { ...p2 });
649
- }
650
- head = ({ body: _b, ...rest }) => rest;
651
- async listPages(space) {
652
- this.call("listPages", [space]);
653
- return [...this.pages.values()].filter((p2) => p2.space === space).map(this.head);
654
- }
655
- async getPage(id) {
656
- this.call("getPage", [id]);
657
- return { ...this.pages.get(id) ?? this.notFound(`page ${id}`) };
658
- }
659
- async search(text) {
660
- this.call("search", [text]);
661
- const t = text.toLowerCase();
662
- return [...this.pages.values()].filter((p2) => p2.title.toLowerCase().includes(t) || p2.body.toLowerCase().includes(t)).map(this.head);
663
- }
664
- };
665
- var MockDesignTool = class extends MockBase {
666
- files = /* @__PURE__ */ new Map();
667
- constructor(seed = []) {
668
- super("design-tool");
669
- for (const f of seed)
670
- this.files.set(f.key, structuredClone(f));
671
- }
672
- async getFile(key) {
673
- this.call("getFile", [key]);
674
- return structuredClone(this.files.get(key) ?? this.notFound(`design file ${key}`));
675
- }
676
- async renderFrame(key, frameId) {
677
- this.call("renderFrame", [key, frameId]);
678
- const file = this.files.get(key) ?? this.notFound(`design file ${key}`);
679
- if (!file.pages.some((p2) => p2.frames.some((f) => f.id === frameId)))
680
- this.notFound(`frame ${frameId}`);
681
- return new Uint8Array([137, 80, 78, 71, 13, 10, 26, 10]);
682
- }
683
- };
684
- var MockNotifier = class extends MockBase {
685
- channels;
686
- sent = [];
687
- constructor(channels = []) {
688
- super("notify");
689
- this.channels = channels;
690
- }
691
- async send(n, approval) {
692
- const a = requireApproval(this.name, approval, { allowStanding: true });
693
- this.call("send", [n], a);
694
- if (this.channels.length > 0 && !this.channels.includes(n.channel)) {
695
- throw new AdapterError(this.name, "invalid", `unknown channel ${n.channel}`);
696
- }
697
- const id = `msg-${this.sent.length + 1}`;
698
- this.sent.push({ ...n, id });
699
- return { id };
700
- }
701
- };
702
-
703
- // packages/adapters/dist/service-desk.js
704
- var MockServiceDesk = class _MockServiceDesk extends MockBase {
705
- requests = /* @__PURE__ */ new Map();
706
- next = 1;
707
- constructor(seed = []) {
708
- super("service-desk");
709
- for (const r of seed)
710
- this.requests.set(r.id, { ...r });
711
- this.next = seed.length + 1;
712
- }
713
- /** Load the shape the fixture's closed-requests export uses. */
714
- static fromExport(rows) {
715
- return new _MockServiceDesk(rows.map((r) => ({
716
- id: r.number,
717
- type: r.type,
718
- state: r.closed ? "done" : "submitted",
719
- fields: r.fields,
720
- ...r.approvalGroup ? { approvalGroup: r.approvalGroup } : {},
721
- ...r.opened ? { openedAt: r.opened } : {},
722
- ...r.closed ? { closedAt: r.closed } : {},
723
- url: `https://desk.example.com/requests/${r.number}`
724
- })));
725
- }
726
- async getRequest(id) {
727
- this.call("getRequest", [id]);
728
- return { ...this.requests.get(id) ?? this.notFound(`request ${id}`) };
729
- }
730
- async listRequests(q) {
731
- this.call("listRequests", [q]);
732
- return [...this.requests.values()].filter((r) => (!q.changeId || r.changeId === q.changeId) && (!q.state || r.state === q.state) && (!q.type || r.type === q.type)).map((r) => ({ ...r }));
733
- }
734
- async submitRequest(draft, approval) {
735
- const a = requireApproval(this.name, approval);
736
- this.call("submitRequest", [draft], a);
737
- const empty = Object.entries(draft.fields).filter(([, v]) => v === "").map(([k]) => k);
738
- if (empty.length > 0)
739
- throw new AdapterError(this.name, "invalid", `required fields are empty: ${empty.join(", ")}`);
740
- const id = `SR-${String(this.next++).padStart(4, "0")}`;
741
- const r = {
742
- id,
743
- type: draft.type,
744
- state: "submitted",
745
- fields: { ...draft.fields },
746
- changeId: draft.changeId,
747
- openedAt: a.at.slice(0, 10),
748
- url: `https://desk.example.com/requests/${id}`
749
- };
750
- this.requests.set(id, r);
751
- return { ...r };
752
- }
753
- /** Test helper: move a request along as the service desk would. */
754
- setState(id, state, closedAt) {
755
- const r = this.requests.get(id) ?? this.notFound(`request ${id}`);
756
- r.state = state;
757
- if (closedAt)
758
- r.closedAt = closedAt;
759
- }
760
- };
761
-
762
- // packages/adapters/dist/work-tracker.js
763
- var MockWorkTracker = class _MockWorkTracker extends MockBase {
764
- items = /* @__PURE__ */ new Map();
765
- links = [];
766
- next = 1e3;
767
- constructor(seed = []) {
768
- super("work-tracker");
769
- for (const i of seed)
770
- this.items.set(i.id, { ...i });
771
- }
772
- /** Load the shape the fixture's ticket export uses. */
773
- static fromExport(rows) {
774
- const type = (t) => {
775
- const k = t.toLowerCase();
776
- if (k.includes("story"))
777
- return "story";
778
- if (k.includes("epic"))
779
- return "epic";
780
- if (k.includes("feature"))
781
- return "feature";
782
- if (k.includes("bug"))
783
- return "bug";
784
- return "task";
785
- };
786
- return new _MockWorkTracker(rows.map((r) => ({
787
- id: String(r.id),
788
- type: type(r.type),
789
- title: r.title,
790
- description: r.description ?? "",
791
- acceptanceCriteria: r.acceptanceCriteria ?? "",
792
- state: r.state ?? "New",
793
- tags: [],
794
- url: `https://work.example.com/items/${r.id}`
795
- })));
796
- }
797
- async getItem(id) {
798
- this.call("getItem", [id]);
799
- return { ...this.items.get(id) ?? this.notFound(`work item ${id}`) };
800
- }
801
- async query(q) {
802
- this.call("query", [q]);
803
- const text = q.text?.toLowerCase();
804
- return [...this.items.values()].filter((i) => (!q.type || i.type === q.type) && (!q.parent || i.parent === q.parent) && (!q.state || i.state === q.state) && (!q.tag || i.tags.includes(q.tag)) && (!text || i.title.toLowerCase().includes(text) || i.description.toLowerCase().includes(text))).map((i) => ({ ...i }));
805
- }
806
- async createItem(input, approval) {
807
- const a = requireApproval(this.name, approval);
808
- this.call("createItem", [input], a);
809
- if (input.parent && !this.items.has(input.parent))
810
- this.notFound(`parent ${input.parent}`);
811
- const id = String(this.next++);
812
- const item = {
813
- id,
814
- type: input.type,
815
- title: input.title,
816
- description: input.description ?? "",
817
- acceptanceCriteria: input.acceptanceCriteria ?? "",
818
- state: "New",
819
- ...input.parent ? { parent: input.parent } : {},
820
- ...input.assignee ? { assignee: input.assignee } : {},
821
- tags: input.tags ?? [],
822
- url: `https://work.example.com/items/${id}`
823
- };
824
- this.items.set(id, item);
825
- return { ...item };
826
- }
827
- async updateItem(id, patch, approval) {
828
- const a = requireApproval(this.name, approval);
829
- this.call("updateItem", [id, patch], a);
830
- const item = this.items.get(id) ?? this.notFound(`work item ${id}`);
831
- const updated = {
832
- ...item,
833
- ...Object.fromEntries(Object.entries(patch).filter(([, v]) => v !== void 0))
834
- };
835
- this.items.set(id, updated);
836
- return { ...updated };
837
- }
838
- async link(from, to, kind, approval) {
839
- const a = requireApproval(this.name, approval);
840
- this.call("link", [from, to, kind], a);
841
- if (!this.items.has(from))
842
- this.notFound(`work item ${from}`);
843
- if (!this.items.has(to))
844
- this.notFound(`work item ${to}`);
845
- this.links.push({ from, to, kind });
846
- if (kind === "parent")
847
- this.items.get(from).parent = to;
848
- }
849
- };
645
+ // packages/adapters/dist/manual/git-host.js
646
+ var import_yaml2 = __toESM(require_dist(), 1);
647
+ import { readdir as readdir2, readFile as readFile2 } from "node:fs/promises";
648
+ import { join as join2 } from "node:path";
850
649
 
851
650
  // packages/adapters/dist/manual/base.js
852
651
  var nowIso2 = () => (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "Z");
@@ -931,15 +730,49 @@ var ManualGitHost = class extends ManualBase {
931
730
  constructor(opts) {
932
731
  super("git-host", "git-host", opts);
933
732
  }
733
+ /**
734
+ * Review round 48: the repo's own default branch, not one for every repo. A per-repo setting
735
+ * (`defaultBranch.<repo>`) first, then the repo's `defaultBranch` in the repos manifest (ADR
736
+ * 0123: the baseline the PRs build on), then the adapter's `defaultBranch` setting, else main.
737
+ * Its protected branches (`protectedBranches.<repo>`, else `protectedBranches`) always include
738
+ * the default branch.
739
+ */
934
740
  async getRepo(repo) {
935
741
  this.journal.push({ method: "getRepo" });
936
- const defaultBranch = this.setting("defaultBranch") ?? "main";
742
+ const defaultBranch = this.setting(`defaultBranch.${repo}`) ?? await this.manifestDefault(repo) ?? this.setting("defaultBranch") ?? "main";
743
+ const listed = this.settingList(`protectedBranches.${repo}`) ?? this.settingList("protectedBranches") ?? [];
937
744
  return {
938
745
  repo,
939
746
  defaultBranch,
940
- protectedBranches: this.settingList("protectedBranches") ?? [defaultBranch]
747
+ protectedBranches: listed.includes(defaultBranch) ? listed : [...listed, defaultBranch]
941
748
  };
942
749
  }
750
+ /** The defaultBranch a repos manifest of the metarepo's org pack gives the repo, when one does. */
751
+ async manifestDefault(repo) {
752
+ if (!this.opts.root)
753
+ return void 0;
754
+ const profiles = join2(orgPackDirOf(this.opts.root), "profiles");
755
+ const names = await readdir2(profiles, { withFileTypes: true }).then((d) => d.filter((x) => x.isDirectory()).map((x) => x.name).sort(), () => []);
756
+ for (const name of names) {
757
+ const text = await readFile2(join2(profiles, name, "repos.manifest.yaml"), "utf8").catch(() => void 0);
758
+ if (text === void 0)
759
+ continue;
760
+ let doc;
761
+ try {
762
+ doc = (0, import_yaml2.parse)(text);
763
+ } catch {
764
+ continue;
765
+ }
766
+ const repos = doc?.repos;
767
+ if (!Array.isArray(repos))
768
+ continue;
769
+ const entry = repos.find((r) => r?.id === repo);
770
+ if (!entry)
771
+ continue;
772
+ return typeof entry.defaultBranch === "string" && entry.defaultBranch.trim() ? entry.defaultBranch.trim() : void 0;
773
+ }
774
+ return void 0;
775
+ }
943
776
  async prSteps(repo) {
944
777
  return (await this.opts.store.list({ system: "git-host", action: "open-pull-request" })).filter((s) => !repo || s.inputs.repo === repo);
945
778
  }
@@ -1035,6 +868,13 @@ var ManualGitHost = class extends ManualBase {
1035
868
  skip: true,
1036
869
  note: `${prName(open)} is ${pr.state} on the Git host: nothing left to record.`
1037
870
  });
871
+ for (const s of (await this.related(open, "comment-pull-request")).filter((x) => x.state === "open"))
872
+ await recordStep(this.opts.store, s.id, {
873
+ by: "atticus",
874
+ at: this.now(),
875
+ skip: true,
876
+ note: `${prName(open)} is ${pr.state} on the Git host: nothing left to post.`
877
+ });
1038
878
  return;
1039
879
  }
1040
880
  if (pr.state !== "open" || waiting.length > 0)
@@ -1233,11 +1073,11 @@ var ManualGitHost = class extends ManualBase {
1233
1073
  };
1234
1074
 
1235
1075
  // packages/adapters/dist/manual/read-only.js
1236
- import { readdir as readdir2, readFile as readFile2, stat as stat2 } from "node:fs/promises";
1237
- import { isAbsolute, join as join2, relative, sep } from "node:path";
1076
+ import { readdir as readdir3, readFile as readFile3, stat as stat2 } from "node:fs/promises";
1077
+ import { isAbsolute, join as join3, relative, sep } from "node:path";
1238
1078
  function folder(opts, value, fallback) {
1239
1079
  const v = value ?? fallback;
1240
- return isAbsolute(v) ? v : join2(opts.root ?? ".", v);
1080
+ return isAbsolute(v) ? v : join3(opts.root ?? ".", v);
1241
1081
  }
1242
1082
  var ManualWiki = class extends ManualBase {
1243
1083
  constructor(opts) {
@@ -1252,19 +1092,19 @@ var ManualWiki = class extends ManualBase {
1252
1092
  const walk = async (d) => {
1253
1093
  let entries;
1254
1094
  try {
1255
- entries = await readdir2(d, { withFileTypes: true });
1095
+ entries = await readdir3(d, { withFileTypes: true });
1256
1096
  } catch {
1257
1097
  return;
1258
1098
  }
1259
1099
  for (const e of entries.sort((a, b) => a.name < b.name ? -1 : 1)) {
1260
1100
  if (e.name.startsWith("."))
1261
1101
  continue;
1262
- const full = join2(d, e.name);
1102
+ const full = join3(d, e.name);
1263
1103
  if (e.isDirectory())
1264
1104
  await walk(full);
1265
1105
  else if (e.isFile() && /\.(md|markdown)$/i.test(e.name)) {
1266
1106
  const id = relative(root, full).split(sep).join("/");
1267
- const body = await readFile2(full, "utf8");
1107
+ const body = await readFile3(full, "utf8");
1268
1108
  const title = /^#\s+(.+)$/m.exec(body)?.[1]?.trim() ?? e.name.replace(/\.(md|markdown)$/i, "");
1269
1109
  out.push({
1270
1110
  id,
@@ -1305,7 +1145,7 @@ var ManualDesignTool = class extends ManualBase {
1305
1145
  async getFile(key) {
1306
1146
  this.journal.push({ method: "getFile" });
1307
1147
  try {
1308
- return JSON.parse(await readFile2(join2(this.dir(), `${key}.json`), "utf8"));
1148
+ return JSON.parse(await readFile3(join3(this.dir(), `${key}.json`), "utf8"));
1309
1149
  } catch {
1310
1150
  return this.notFound(`design file ${key}`, `export it as ${key}.json into ${this.dir()}`);
1311
1151
  }
@@ -1313,7 +1153,7 @@ var ManualDesignTool = class extends ManualBase {
1313
1153
  async renderFrame(key, frameId) {
1314
1154
  this.journal.push({ method: "renderFrame" });
1315
1155
  try {
1316
- return new Uint8Array(await readFile2(join2(this.dir(), key, `${frameId}.png`)));
1156
+ return new Uint8Array(await readFile3(join3(this.dir(), key, `${frameId}.png`)));
1317
1157
  } catch {
1318
1158
  return this.notFound(`frame ${frameId}`, `export it as ${key}/${frameId}.png into ${this.dir()}`);
1319
1159
  }
@@ -1740,6 +1580,215 @@ function withManualFallback(kind, live, manual, onFallback) {
1740
1580
  });
1741
1581
  }
1742
1582
 
1583
+ // packages/adapters/dist/read-only.js
1584
+ var MockWiki = class extends MockBase {
1585
+ pages = /* @__PURE__ */ new Map();
1586
+ constructor(seed = []) {
1587
+ super("wiki");
1588
+ for (const p2 of seed)
1589
+ this.pages.set(p2.id, { ...p2 });
1590
+ }
1591
+ head = ({ body: _b, ...rest }) => rest;
1592
+ async listPages(space) {
1593
+ this.call("listPages", [space]);
1594
+ return [...this.pages.values()].filter((p2) => p2.space === space).map(this.head);
1595
+ }
1596
+ async getPage(id) {
1597
+ this.call("getPage", [id]);
1598
+ return { ...this.pages.get(id) ?? this.notFound(`page ${id}`) };
1599
+ }
1600
+ async search(text) {
1601
+ this.call("search", [text]);
1602
+ const t = text.toLowerCase();
1603
+ return [...this.pages.values()].filter((p2) => p2.title.toLowerCase().includes(t) || p2.body.toLowerCase().includes(t)).map(this.head);
1604
+ }
1605
+ };
1606
+ var MockDesignTool = class extends MockBase {
1607
+ files = /* @__PURE__ */ new Map();
1608
+ constructor(seed = []) {
1609
+ super("design-tool");
1610
+ for (const f of seed)
1611
+ this.files.set(f.key, structuredClone(f));
1612
+ }
1613
+ async getFile(key) {
1614
+ this.call("getFile", [key]);
1615
+ return structuredClone(this.files.get(key) ?? this.notFound(`design file ${key}`));
1616
+ }
1617
+ async renderFrame(key, frameId) {
1618
+ this.call("renderFrame", [key, frameId]);
1619
+ const file = this.files.get(key) ?? this.notFound(`design file ${key}`);
1620
+ if (!file.pages.some((p2) => p2.frames.some((f) => f.id === frameId)))
1621
+ this.notFound(`frame ${frameId}`);
1622
+ return new Uint8Array([137, 80, 78, 71, 13, 10, 26, 10]);
1623
+ }
1624
+ };
1625
+ var MockNotifier = class extends MockBase {
1626
+ channels;
1627
+ sent = [];
1628
+ constructor(channels = []) {
1629
+ super("notify");
1630
+ this.channels = channels;
1631
+ }
1632
+ async send(n, approval) {
1633
+ const a = requireApproval(this.name, approval, { allowStanding: true });
1634
+ this.call("send", [n], a);
1635
+ if (this.channels.length > 0 && !this.channels.includes(n.channel)) {
1636
+ throw new AdapterError(this.name, "invalid", `unknown channel ${n.channel}`);
1637
+ }
1638
+ const id = `msg-${this.sent.length + 1}`;
1639
+ this.sent.push({ ...n, id });
1640
+ return { id };
1641
+ }
1642
+ };
1643
+
1644
+ // packages/adapters/dist/service-desk.js
1645
+ var MockServiceDesk = class _MockServiceDesk extends MockBase {
1646
+ requests = /* @__PURE__ */ new Map();
1647
+ next = 1;
1648
+ constructor(seed = []) {
1649
+ super("service-desk");
1650
+ for (const r of seed)
1651
+ this.requests.set(r.id, { ...r });
1652
+ this.next = seed.length + 1;
1653
+ }
1654
+ /** Load the shape the fixture's closed-requests export uses. */
1655
+ static fromExport(rows) {
1656
+ return new _MockServiceDesk(rows.map((r) => ({
1657
+ id: r.number,
1658
+ type: r.type,
1659
+ state: r.closed ? "done" : "submitted",
1660
+ fields: r.fields,
1661
+ ...r.approvalGroup ? { approvalGroup: r.approvalGroup } : {},
1662
+ ...r.opened ? { openedAt: r.opened } : {},
1663
+ ...r.closed ? { closedAt: r.closed } : {},
1664
+ url: `https://desk.example.com/requests/${r.number}`
1665
+ })));
1666
+ }
1667
+ async getRequest(id) {
1668
+ this.call("getRequest", [id]);
1669
+ return { ...this.requests.get(id) ?? this.notFound(`request ${id}`) };
1670
+ }
1671
+ async listRequests(q) {
1672
+ this.call("listRequests", [q]);
1673
+ return [...this.requests.values()].filter((r) => (!q.changeId || r.changeId === q.changeId) && (!q.state || r.state === q.state) && (!q.type || r.type === q.type)).map((r) => ({ ...r }));
1674
+ }
1675
+ async submitRequest(draft, approval) {
1676
+ const a = requireApproval(this.name, approval);
1677
+ this.call("submitRequest", [draft], a);
1678
+ const empty = Object.entries(draft.fields).filter(([, v]) => v === "").map(([k]) => k);
1679
+ if (empty.length > 0)
1680
+ throw new AdapterError(this.name, "invalid", `required fields are empty: ${empty.join(", ")}`);
1681
+ const id = `SR-${String(this.next++).padStart(4, "0")}`;
1682
+ const r = {
1683
+ id,
1684
+ type: draft.type,
1685
+ state: "submitted",
1686
+ fields: { ...draft.fields },
1687
+ changeId: draft.changeId,
1688
+ openedAt: a.at.slice(0, 10),
1689
+ url: `https://desk.example.com/requests/${id}`
1690
+ };
1691
+ this.requests.set(id, r);
1692
+ return { ...r };
1693
+ }
1694
+ /** Test helper: move a request along as the service desk would. */
1695
+ setState(id, state, closedAt) {
1696
+ const r = this.requests.get(id) ?? this.notFound(`request ${id}`);
1697
+ r.state = state;
1698
+ if (closedAt)
1699
+ r.closedAt = closedAt;
1700
+ }
1701
+ };
1702
+
1703
+ // packages/adapters/dist/work-tracker.js
1704
+ var MockWorkTracker = class _MockWorkTracker extends MockBase {
1705
+ items = /* @__PURE__ */ new Map();
1706
+ links = [];
1707
+ next = 1e3;
1708
+ constructor(seed = []) {
1709
+ super("work-tracker");
1710
+ for (const i of seed)
1711
+ this.items.set(i.id, { ...i });
1712
+ }
1713
+ /** Load the shape the fixture's ticket export uses. */
1714
+ static fromExport(rows) {
1715
+ const type = (t) => {
1716
+ const k = t.toLowerCase();
1717
+ if (k.includes("story"))
1718
+ return "story";
1719
+ if (k.includes("epic"))
1720
+ return "epic";
1721
+ if (k.includes("feature"))
1722
+ return "feature";
1723
+ if (k.includes("bug"))
1724
+ return "bug";
1725
+ return "task";
1726
+ };
1727
+ return new _MockWorkTracker(rows.map((r) => ({
1728
+ id: String(r.id),
1729
+ type: type(r.type),
1730
+ title: r.title,
1731
+ description: r.description ?? "",
1732
+ acceptanceCriteria: r.acceptanceCriteria ?? "",
1733
+ state: r.state ?? "New",
1734
+ tags: [],
1735
+ url: `https://work.example.com/items/${r.id}`
1736
+ })));
1737
+ }
1738
+ async getItem(id) {
1739
+ this.call("getItem", [id]);
1740
+ return { ...this.items.get(id) ?? this.notFound(`work item ${id}`) };
1741
+ }
1742
+ async query(q) {
1743
+ this.call("query", [q]);
1744
+ const text = q.text?.toLowerCase();
1745
+ return [...this.items.values()].filter((i) => (!q.type || i.type === q.type) && (!q.parent || i.parent === q.parent) && (!q.state || i.state === q.state) && (!q.tag || i.tags.includes(q.tag)) && (!text || i.title.toLowerCase().includes(text) || i.description.toLowerCase().includes(text))).map((i) => ({ ...i }));
1746
+ }
1747
+ async createItem(input, approval) {
1748
+ const a = requireApproval(this.name, approval);
1749
+ this.call("createItem", [input], a);
1750
+ if (input.parent && !this.items.has(input.parent))
1751
+ this.notFound(`parent ${input.parent}`);
1752
+ const id = String(this.next++);
1753
+ const item = {
1754
+ id,
1755
+ type: input.type,
1756
+ title: input.title,
1757
+ description: input.description ?? "",
1758
+ acceptanceCriteria: input.acceptanceCriteria ?? "",
1759
+ state: "New",
1760
+ ...input.parent ? { parent: input.parent } : {},
1761
+ ...input.assignee ? { assignee: input.assignee } : {},
1762
+ tags: input.tags ?? [],
1763
+ url: `https://work.example.com/items/${id}`
1764
+ };
1765
+ this.items.set(id, item);
1766
+ return { ...item };
1767
+ }
1768
+ async updateItem(id, patch, approval) {
1769
+ const a = requireApproval(this.name, approval);
1770
+ this.call("updateItem", [id, patch], a);
1771
+ const item = this.items.get(id) ?? this.notFound(`work item ${id}`);
1772
+ const updated = {
1773
+ ...item,
1774
+ ...Object.fromEntries(Object.entries(patch).filter(([, v]) => v !== void 0))
1775
+ };
1776
+ this.items.set(id, updated);
1777
+ return { ...updated };
1778
+ }
1779
+ async link(from, to, kind, approval) {
1780
+ const a = requireApproval(this.name, approval);
1781
+ this.call("link", [from, to, kind], a);
1782
+ if (!this.items.has(from))
1783
+ this.notFound(`work item ${from}`);
1784
+ if (!this.items.has(to))
1785
+ this.notFound(`work item ${to}`);
1786
+ this.links.push({ from, to, kind });
1787
+ if (kind === "parent")
1788
+ this.items.get(from).parent = to;
1789
+ }
1790
+ };
1791
+
1743
1792
  // packages/adapters/dist/registry.js
1744
1793
  var MOCKS = {
1745
1794
  workTracker: { mock: () => new MockWorkTracker() },
@@ -5,26 +5,26 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  loadCatalog
8
- } from "./chunk-5QUOPNLN.js";
8
+ } from "./chunk-XGO74QWR.js";
9
9
  import {
10
10
  TARGET_DIR,
11
11
  mergeDelta,
12
12
  readDeltas
13
- } from "./chunk-BEPCKDCP.js";
13
+ } from "./chunk-MLGWSBF4.js";
14
14
  import {
15
15
  changeStore
16
- } from "./chunk-HSZMPH5T.js";
16
+ } from "./chunk-WZYM5M4U.js";
17
17
  import {
18
18
  changeView,
19
19
  toDrawio,
20
20
  toMermaid
21
- } from "./chunk-JYMIB5XY.js";
21
+ } from "./chunk-CZ2ZS7AT.js";
22
22
  import {
23
23
  changesDirOf,
24
24
  changesRelOf,
25
25
  readRepoSpec,
26
26
  specRepos
27
- } from "./chunk-PAINMSID.js";
27
+ } from "./chunk-FPBUTZI5.js";
28
28
 
29
29
  // packages/cli/dist/change-map.js
30
30
  import { stat } from "node:fs/promises";
@@ -0,0 +1,41 @@
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
+ FORCE_STEPS,
8
+ SOURCE_STEPS,
9
+ appLines,
10
+ forgetKeptResume,
11
+ hasKeptResume,
12
+ keepResume,
13
+ mapRepoOf,
14
+ prepareStep,
15
+ resumeAfterDone,
16
+ resumeRefusal,
17
+ resumedRunOf
18
+ } from "./chunk-GOZLTLRY.js";
19
+ import "./chunk-IYNCSYU4.js";
20
+ import "./chunk-4Q3NN7VF.js";
21
+ import "./chunk-PXW2RZGQ.js";
22
+ import "./chunk-KVVNAUIG.js";
23
+ import "./chunk-3424TLIJ.js";
24
+ import "./chunk-QA4O2GGC.js";
25
+ import "./chunk-FPBUTZI5.js";
26
+ import "./chunk-B4AEL3RF.js";
27
+ import "./chunk-BQGDB6ZL.js";
28
+ import "./chunk-TV45EUGM.js";
29
+ export {
30
+ FORCE_STEPS,
31
+ SOURCE_STEPS,
32
+ appLines,
33
+ forgetKeptResume,
34
+ hasKeptResume,
35
+ keepResume,
36
+ mapRepoOf,
37
+ prepareStep,
38
+ resumeAfterDone,
39
+ resumeRefusal,
40
+ resumedRunOf
41
+ };