@maycombhq/atticus 2.0.0-beta.2 → 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 (284) hide show
  1. package/dist/bin.js +8 -4
  2. package/dist/chunk-23XVSEV5.js +49 -0
  3. package/dist/{chunk-ZDPAS56H.js → chunk-24OXGB3P.js} +8 -2
  4. package/dist/{chunk-7EOBHUMC.js → chunk-24XLDU72.js} +4 -3
  5. package/dist/{chunk-CR3MTH32.js → chunk-2F4CYZKJ.js} +86 -11
  6. package/dist/{chunk-6IU67AEK.js → chunk-2GF7OLF3.js} +23 -15
  7. package/dist/chunk-2IIMFOPM.js +41 -0
  8. package/dist/chunk-2LGRMVCA.js +617 -0
  9. package/dist/{chunk-XPCM366L.js → chunk-2MMCFP5C.js} +10 -8
  10. package/dist/{chunk-JBTK5OP2.js → chunk-2Q56PQPS.js} +6 -4
  11. package/dist/{chunk-Z6LF7HQN.js → chunk-2Q5EDGEO.js} +7 -5
  12. package/dist/{chunk-3USYZGRF.js → chunk-2RLKFUUL.js} +38 -27
  13. package/dist/chunk-2SKB4O2E.js +59 -0
  14. package/dist/{chunk-SP2I63OO.js → chunk-34S2WGOB.js} +87 -4
  15. package/dist/{chunk-GQ4N4WKF.js → chunk-3NFFJL5D.js} +33 -27
  16. package/dist/{chunk-SJRGMG6A.js → chunk-3NWDLGG6.js} +28 -25
  17. package/dist/{chunk-4WBVUHXN.js → chunk-3RM4UK6W.js} +20 -18
  18. package/dist/chunk-42SIDKEU.js +583 -0
  19. package/dist/{chunk-GLUX4EEP.js → chunk-4EURQWQD.js} +20 -15
  20. package/dist/chunk-4U276ICE.js +39 -0
  21. package/dist/{chunk-ZMFPW66A.js → chunk-53T4O55J.js} +4 -3
  22. package/dist/{chunk-6J5OKA4Y.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-5NMKONLP.js +95 -0
  26. package/dist/{chunk-7ZUIMTOU.js → chunk-5SJZW52K.js} +26 -24
  27. package/dist/{chunk-4RS5KZQD.js → chunk-63YRMR6J.js} +6 -5
  28. package/dist/chunk-66PPNOON.js +62 -0
  29. package/dist/chunk-6H3Z5JHH.js +64 -0
  30. package/dist/{chunk-CEXSU4S6.js → chunk-6MUGR4LS.js} +775 -89
  31. package/dist/{chunk-QSXK2RGH.js → chunk-6OJQOPUN.js} +5 -3
  32. package/dist/{chunk-MVZVGYXH.js → chunk-6PPOWY5E.js} +84 -14
  33. package/dist/{chunk-7EKXJZ2Y.js → chunk-6ZGLAACW.js} +299 -38
  34. package/dist/chunk-6ZJ5A7AF.js +222 -0
  35. package/dist/{chunk-L24C55VN.js → chunk-745DAZ4L.js} +142 -30
  36. package/dist/{chunk-Q4D5X7QB.js → chunk-7ASNL4Q4.js} +46 -24
  37. package/dist/chunk-7BR7IPOH.js +35 -0
  38. package/dist/{chunk-7WD63HU2.js → chunk-7DOR27HL.js} +6 -6
  39. package/dist/chunk-7FTTA3HD.js +341 -0
  40. package/dist/{chunk-OLQJTJJU.js → chunk-7GJS6DNX.js} +12 -3
  41. package/dist/{chunk-7JUKDRSZ.js → chunk-7IGKHZ4Z.js} +347 -226
  42. package/dist/{chunk-G2B4ZQGH.js → chunk-7IOWA5D5.js} +11 -6
  43. package/dist/{chunk-EBEW3XXQ.js → chunk-7JITZFJC.js} +7 -5
  44. package/dist/chunk-7MJSQTL5.js +174 -0
  45. package/dist/{chunk-I4JRCD6M.js → chunk-7UOMVMFG.js} +25 -17
  46. package/dist/{chunk-YY6ZQQBP.js → chunk-AFWUDXEM.js} +19 -7
  47. package/dist/chunk-AFZ3QA6W.js +47 -0
  48. package/dist/chunk-AJQ72EBM.js +420 -0
  49. package/dist/chunk-AJYXNTNZ.js +317 -0
  50. package/dist/chunk-AVTBS4OW.js +49 -0
  51. package/dist/{chunk-FHH4I4ZV.js → chunk-BDKC6H5P.js} +12 -6
  52. package/dist/{chunk-IPKHE5D6.js → chunk-BEVTIBRH.js} +1526 -875
  53. package/dist/chunk-BHT7QK4G.js +162 -0
  54. package/dist/{chunk-6JUBZBMW.js → chunk-BIGDQDHD.js} +6 -4
  55. package/dist/{chunk-2BFCZ3RK.js → chunk-BO4KX37X.js} +20 -18
  56. package/dist/chunk-BPK5P77O.js +115 -0
  57. package/dist/chunk-BQ4SQQC6.js +59 -0
  58. package/dist/chunk-BQGDB6ZL.js +7342 -0
  59. package/dist/{chunk-2ANOROX3.js → chunk-BTGPE6CR.js} +11 -9
  60. package/dist/chunk-BTY3HZBO.js +93 -0
  61. package/dist/{chunk-DPZHZQKE.js → chunk-BXYMYEJ4.js} +44 -10
  62. package/dist/{chunk-2RMYG36Q.js → chunk-C3RY6KU6.js} +309 -346
  63. package/dist/chunk-C4R4JLHE.js +40 -0
  64. package/dist/chunk-CADWLE2T.js +18 -0
  65. package/dist/chunk-CBGGOQWU.js +82 -0
  66. package/dist/chunk-CMDXGQTS.js +47 -0
  67. package/dist/{chunk-MC3H7736.js → chunk-CQDGOPGH.js} +58 -18
  68. package/dist/{chunk-HFQCFSJR.js → chunk-CX4RZ2KS.js} +4 -3
  69. package/dist/{chunk-PAMPPUR6.js → chunk-CXJ6FUKN.js} +1852 -207
  70. package/dist/{chunk-ABWHYWNI.js → chunk-D73UEXYW.js} +3 -3
  71. package/dist/chunk-DCZWQLYT.js +1205 -0
  72. package/dist/chunk-DLOBCJL6.js +48 -0
  73. package/dist/{chunk-4BN53TG3.js → chunk-DOBQKHIF.js} +31 -23
  74. package/dist/chunk-E3ISYXO3.js +423 -0
  75. package/dist/{chunk-7SW2QWLU.js → chunk-E6ZIEVOI.js} +16 -13
  76. package/dist/chunk-EBL2R3YG.js +43 -0
  77. package/dist/{chunk-AIOQPLA5.js → chunk-EGQRREQH.js} +41 -15
  78. package/dist/chunk-EHA7RMZ3.js +58 -0
  79. package/dist/{chunk-M766ZJ6W.js → chunk-EIPTLPFC.js} +38 -27
  80. package/dist/chunk-EMRIQUND.js +517 -0
  81. package/dist/{chunk-DFBCSHVT.js → chunk-EPCJQQWD.js} +6 -4
  82. package/dist/{chunk-RZPYKDWS.js → chunk-F3P7N7SF.js} +1 -1
  83. package/dist/{chunk-R77KLRB3.js → chunk-FFLNS6VP.js} +21 -18
  84. package/dist/chunk-FFTRTL6R.js +26 -0
  85. package/dist/{chunk-IHMLFRVV.js → chunk-FPJPLKDW.js} +62 -16
  86. package/dist/{chunk-JCZIKA4C.js → chunk-FSMSFDLD.js} +5 -4
  87. package/dist/{chunk-AVJDSJ2F.js → chunk-FUJM6RTF.js} +8 -7
  88. package/dist/chunk-FZOJFH7Q.js +132 -0
  89. package/dist/{chunk-QRAOANID.js → chunk-G6X77UJZ.js} +23 -21
  90. package/dist/{chunk-3ALD2W2A.js → chunk-GCWRWSU7.js} +10 -4
  91. package/dist/chunk-GIW4ZVDB.js +39 -0
  92. package/dist/{chunk-B2WLAWNJ.js → chunk-GUX3PTYM.js} +3 -3
  93. package/dist/{chunk-DPUYDDQG.js → chunk-GZY6RUZ6.js} +25 -3
  94. package/dist/chunk-H4VO6WG3.js +10 -0
  95. package/dist/{chunk-MMOSZPWJ.js → chunk-H5HBGNXU.js} +5 -4
  96. package/dist/chunk-H7KM7LZE.js +229 -0
  97. package/dist/{chunk-AA6YULYB.js → chunk-HNM2YQT2.js} +7 -7
  98. package/dist/{chunk-3C7EYRFZ.js → chunk-HYU5VLGA.js} +1 -1
  99. package/dist/{chunk-XY3P7JW7.js → chunk-IDKCWSM5.js} +1032 -172
  100. package/dist/chunk-IFKEI4SA.js +237 -0
  101. package/dist/{chunk-F7HYOUFF.js → chunk-IGOE6KPG.js} +67 -22
  102. package/dist/{chunk-TDD55CJH.js → chunk-IH2XURVQ.js} +6 -5
  103. package/dist/chunk-INQHESFB.js +38 -0
  104. package/dist/chunk-IP74LCOQ.js +57 -0
  105. package/dist/chunk-IPHHDDC6.js +45 -0
  106. package/dist/{chunk-T6AIP7H5.js → chunk-ISUAAMGS.js} +110 -153
  107. package/dist/{chunk-A7UPUQFY.js → chunk-IUPG3UKI.js} +624 -319
  108. package/dist/{chunk-L6SGQIR3.js → chunk-IVBOQAGB.js} +7 -3
  109. package/dist/{chunk-27NKUS3X.js → chunk-J2JAKCIW.js} +2205 -796
  110. package/dist/{chunk-V2YTAIQO.js → chunk-J3IOLXWM.js} +24 -7
  111. package/dist/chunk-JA5FI3QV.js +142 -0
  112. package/dist/chunk-JAVI7JSP.js +49 -0
  113. package/dist/{chunk-HLJAXMM4.js → chunk-JB5LINEM.js} +6 -2
  114. package/dist/{chunk-2VHF7OXM.js → chunk-JENSEMXF.js} +1 -1
  115. package/dist/{chunk-6BVONWJ7.js → chunk-JJF6HALY.js} +4 -3
  116. package/dist/chunk-JLUCKAEL.js +38 -0
  117. package/dist/chunk-JRBFANFE.js +221 -0
  118. package/dist/{chunk-R6XF6UR3.js → chunk-KDNTAPLX.js} +4 -4
  119. package/dist/chunk-KFAVQZSX.js +33 -0
  120. package/dist/chunk-KJXD4PNL.js +50 -0
  121. package/dist/chunk-KN5BXMWN.js +44 -0
  122. package/dist/{chunk-PCVDV3UZ.js → chunk-KQGURXFU.js} +9 -7
  123. package/dist/{chunk-WY6PP6AA.js → chunk-KXITGYLF.js} +40 -6
  124. package/dist/{chunk-66YVAGGM.js → chunk-L27SV425.js} +22 -20
  125. package/dist/{chunk-NE2W3OO7.js → chunk-LDLL7LB3.js} +24 -22
  126. package/dist/chunk-LFGTYX5U.js +379 -0
  127. package/dist/{chunk-EYWIDJFU.js → chunk-LGBMTVNT.js} +7 -5
  128. package/dist/{chunk-Q5AMFEWD.js → chunk-LGFL54FP.js} +3 -2
  129. package/dist/{chunk-6TACQN3N.js → chunk-LJXMYKZJ.js} +7 -5
  130. package/dist/{chunk-BKVWTZ6A.js → chunk-LKOR5UET.js} +29 -26
  131. package/dist/chunk-LNBQOP7D.js +294 -0
  132. package/dist/{chunk-O3WI5KWW.js → chunk-LO6P2VYG.js} +2 -2
  133. package/dist/chunk-LQJPN536.js +122 -0
  134. package/dist/{chunk-YEDDOYSC.js → chunk-LYBNHMVZ.js} +29 -5
  135. package/dist/{chunk-A3GY6SOA.js → chunk-LZ7NUC62.js} +20 -18
  136. package/dist/chunk-M32BLWDH.js +37 -0
  137. package/dist/{chunk-VYDBJ73M.js → chunk-M3NANSDZ.js} +17 -15
  138. package/dist/chunk-MFHL5URL.js +31 -0
  139. package/dist/chunk-MFR5OPBD.js +109 -0
  140. package/dist/{chunk-DE76JROX.js → chunk-MG4ZL5RW.js} +32 -20
  141. package/dist/{chunk-N7IXEHK3.js → chunk-MO6P2JZH.js} +10 -8
  142. package/dist/{chunk-65NYPGRC.js → chunk-MUWDB4R4.js} +1 -1
  143. package/dist/chunk-MZCGSXVR.js +34 -0
  144. package/dist/{chunk-MGYZM27B.js → chunk-N3XIYPU3.js} +51 -23
  145. package/dist/chunk-NDCF4R6S.js +172 -0
  146. package/dist/{chunk-DHPACDG7.js → chunk-NR2UJWOC.js} +10 -8
  147. package/dist/chunk-NXJ5URP6.js +51 -0
  148. package/dist/{chunk-UNM6ZOKP.js → chunk-NY2XSR5K.js} +147 -18
  149. package/dist/{chunk-5GDRCDQB.js → chunk-O45HFTFS.js} +3 -2
  150. package/dist/{chunk-ONLS5QA5.js → chunk-O4GXGGBX.js} +14 -12
  151. package/dist/chunk-O5PXQR67.js +249 -0
  152. package/dist/{chunk-PRPPGYZG.js → chunk-O66DM6DJ.js} +6 -4
  153. package/dist/{chunk-KEM4SDDP.js → chunk-O7FDLW7L.js} +11 -8
  154. package/dist/{chunk-T2UYZSCQ.js → chunk-O7XLYEFA.js} +169 -29
  155. package/dist/{chunk-FITWGOJ2.js → chunk-OHNCWBKF.js} +4 -4
  156. package/dist/{chunk-652QWTLZ.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-OUBGGKDU.js +22 -0
  161. package/dist/chunk-OWNCM4ZN.js +330 -0
  162. package/dist/{chunk-YISXLPHN.js → chunk-P2V7QW4D.js} +235 -35
  163. package/dist/{chunk-CNUKCS2T.js → chunk-P32RUW3B.js} +1632 -93
  164. package/dist/{chunk-BWZ77RQT.js → chunk-PAQ2AS5E.js} +1 -1
  165. package/dist/{chunk-ZMAINWBW.js → chunk-PBPBMP2B.js} +4 -3
  166. package/dist/{chunk-ZVM6AKKM.js → chunk-PJSJPMJI.js} +3 -3
  167. package/dist/{chunk-EFHQ3TWP.js → chunk-PKBHS4AA.js} +233 -56
  168. package/dist/{chunk-GT4I4ZWM.js → chunk-PMUAJGLI.js} +20 -16
  169. package/dist/chunk-PPD7HTDP.js +152 -0
  170. package/dist/chunk-PSOFBQWB.js +42 -0
  171. package/dist/{chunk-S2A7YC3Q.js → chunk-Q2TECDIT.js} +10694 -8896
  172. package/dist/chunk-Q4K5WB2W.js +42 -0
  173. package/dist/{chunk-UGLN7QHV.js → chunk-Q6DFNVRJ.js} +14 -12
  174. package/dist/chunk-QA4O2GGC.js +265 -0
  175. package/dist/chunk-QAXW2N3B.js +1216 -0
  176. package/dist/chunk-QBNWF5ZU.js +19 -0
  177. package/dist/chunk-QFWA2DPH.js +224 -0
  178. package/dist/{chunk-23W7VWKR.js → chunk-QKUJMING.js} +1363 -114
  179. package/dist/{chunk-NXFPS2LR.js → chunk-R44CYFPV.js} +16 -13
  180. package/dist/{chunk-CKSITVS4.js → chunk-R7NYHMUU.js} +2687 -786
  181. package/dist/chunk-REWWDVQB.js +162 -0
  182. package/dist/{chunk-JMSCMUCA.js → chunk-RGERPOIV.js} +145 -21
  183. package/dist/{chunk-6JCPI55B.js → chunk-RLDGWLQ7.js} +49 -7
  184. package/dist/chunk-RUGXBPWI.js +384 -0
  185. package/dist/{chunk-CPA6HPVR.js → chunk-RXPJMEOW.js} +18 -12
  186. package/dist/{chunk-3HI6Z55Y.js → chunk-S4PMJU6H.js} +339 -43
  187. package/dist/chunk-S5LSDXV4.js +40 -0
  188. package/dist/chunk-S7FCV7S5.js +51 -0
  189. package/dist/{chunk-5GGOLAKC.js → chunk-SDKLKB6I.js} +28 -26
  190. package/dist/chunk-SFSPGFCV.js +62 -0
  191. package/dist/{chunk-ZNCEKR4J.js → chunk-SFUP7TTO.js} +12 -8
  192. package/dist/{chunk-64EQYWCA.js → chunk-SLXZOMA6.js} +69 -19
  193. package/dist/chunk-SQV37XO2.js +273 -0
  194. package/dist/{chunk-K65BJIMT.js → chunk-SU74NDMQ.js} +19 -17
  195. package/dist/chunk-SYV5LHML.js +165 -0
  196. package/dist/chunk-T4YPZIQN.js +36 -0
  197. package/dist/chunk-T6DQR5TV.js +323 -0
  198. package/dist/{chunk-JIITQXFB.js → chunk-THDMSZ3R.js} +3075 -802
  199. package/dist/{chunk-JGZCG5VM.js → chunk-TNR75OXT.js} +7 -7
  200. package/dist/{chunk-D3PO4DOZ.js → chunk-TUULXQRW.js} +174 -15
  201. package/dist/chunk-TYQBFTBR.js +516 -0
  202. package/dist/chunk-U76OWS3Q.js +49 -0
  203. package/dist/{chunk-YYQN46FY.js → chunk-UCROWG2D.js} +27 -24
  204. package/dist/{chunk-6M5NK3K3.js → chunk-UF4AZOZB.js} +50 -10
  205. package/dist/chunk-UF4GLFBX.js +345 -0
  206. package/dist/{chunk-OT2O76OS.js → chunk-UGUP3ZM6.js} +240 -39
  207. package/dist/chunk-UNAGJYET.js +45 -0
  208. package/dist/{chunk-5WG5YP4T.js → chunk-UOR2DTHH.js} +16 -14
  209. package/dist/{chunk-S3QNRWYR.js → chunk-UPOY4YSQ.js} +14 -12
  210. package/dist/{chunk-EPTBZ3GP.js → chunk-UPS2DGFC.js} +1 -1
  211. package/dist/{chunk-4AK7IBVP.js → chunk-UUU4CLJG.js} +4 -2
  212. package/dist/{chunk-W3BQAZ3Q.js → chunk-UWMJKX5U.js} +14 -12
  213. package/dist/{chunk-QZSX3F7C.js → chunk-UWOJLHFT.js} +27 -23
  214. package/dist/chunk-VBTP56CE.js +535 -0
  215. package/dist/chunk-VCTWPLAO.js +211 -0
  216. package/dist/chunk-VNU26RCO.js +1215 -0
  217. package/dist/{chunk-CSZ4C5N6.js → chunk-VTZMAJ3W.js} +93 -10
  218. package/dist/{chunk-TXLH6WHQ.js → chunk-VW62D6QE.js} +14 -12
  219. package/dist/{chunk-CAQZUNOH.js → chunk-VY72R2XZ.js} +610 -3
  220. package/dist/{chunk-2DIQQJCB.js → chunk-VZALIKIF.js} +18 -15
  221. package/dist/{chunk-TYAID7B7.js → chunk-W62H2XSO.js} +25 -23
  222. package/dist/{chunk-HVUPKCGJ.js → chunk-W7VWI2YH.js} +9 -6
  223. package/dist/{chunk-TANFV3MZ.js → chunk-WERM6KPJ.js} +7 -4
  224. package/dist/{chunk-BOHJZTEQ.js → chunk-WF7B67YE.js} +208 -87
  225. package/dist/{chunk-7FBGJFEE.js → chunk-WG5U3F5V.js} +14 -12
  226. package/dist/{chunk-4NDAAFQT.js → chunk-WJF2CS6M.js} +8 -5
  227. package/dist/{chunk-XAKWMCXI.js → chunk-WKUJ3KPV.js} +4 -4
  228. package/dist/chunk-WMTRHUI5.js +103 -0
  229. package/dist/chunk-WNKPRSGI.js +36 -0
  230. package/dist/chunk-WXFLMQSR.js +223 -0
  231. package/dist/{chunk-RRTKKSLQ.js → chunk-X3WY6MN3.js} +8 -6
  232. package/dist/{chunk-ZCJDOK2S.js → chunk-X4CXA2IL.js} +47 -23
  233. package/dist/{chunk-UBBC2XSG.js → chunk-X5F3Q5LV.js} +560 -105
  234. package/dist/{chunk-C6EKFH7J.js → chunk-XD75VZIH.js} +9 -7
  235. package/dist/chunk-XERYFDB5.js +297 -0
  236. package/dist/chunk-XI2LCCYQ.js +420 -0
  237. package/dist/chunk-Y2EQNWKV.js +933 -0
  238. package/dist/{chunk-LR3R6Z2A.js → chunk-YHCMZC2J.js} +7 -7
  239. package/dist/chunk-YYY3AZFE.js +122 -0
  240. package/dist/{chunk-GDLULHTC.js → chunk-Z5IA3WDR.js} +19 -31
  241. package/dist/{chunk-T6XQL73F.js → chunk-ZFFYNRIO.js} +63 -23
  242. package/dist/{chunk-EDS2L2LD.js → chunk-ZFL7NY4F.js} +56 -27
  243. package/dist/{chunk-YMZ3TNYB.js → chunk-ZGULQAPZ.js} +7 -4
  244. package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
  245. package/dist/{chunk-DKJA76CJ.js → chunk-ZJFRMSJT.js} +15 -13
  246. package/dist/chunk-ZJXLNDH4.js +239 -0
  247. package/dist/chunk-ZQ3ON2VQ.js +252 -0
  248. package/dist/{chunk-HITVBIJS.js → chunk-ZQ7SKESZ.js} +150 -415
  249. package/dist/{chunk-6QSERWXH.js → chunk-ZQXZ2SES.js} +24 -21
  250. package/dist/chunk-ZX57KSEQ.js +39 -0
  251. package/dist/{chunk-I3E7CX4H.js → chunk-ZZK56BLP.js} +5 -3
  252. package/dist/files.json +664 -368
  253. package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
  254. package/dist/packages/sdk/npm/index.js +6194 -2542
  255. package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CIf-0gz5.js} +2 -2
  256. package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
  257. package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
  258. package/dist/packages/ui/dist/index.html +3 -2
  259. package/package.json +5 -5
  260. package/dist/chunk-2BF2EYJV.js +0 -174
  261. package/dist/chunk-42EVSKME.js +0 -37
  262. package/dist/chunk-4BKGMUIK.js +0 -53
  263. package/dist/chunk-5KLGBXG5.js +0 -48
  264. package/dist/chunk-6BNC6EQ4.js +0 -41
  265. package/dist/chunk-6D2CQ5II.js +0 -41
  266. package/dist/chunk-7AVHLZGD.js +0 -45
  267. package/dist/chunk-D46WUV3T.js +0 -33
  268. package/dist/chunk-E36QOJMD.js +0 -47
  269. package/dist/chunk-FQXYPF7E.js +0 -147
  270. package/dist/chunk-GBRFVT63.js +0 -45
  271. package/dist/chunk-ICY36XCH.js +0 -34
  272. package/dist/chunk-J4K3KVLD.js +0 -131
  273. package/dist/chunk-JZU3H6UQ.js +0 -54
  274. package/dist/chunk-NN2ZQEB4.js +0 -38
  275. package/dist/chunk-PCOCACY3.js +0 -385
  276. package/dist/chunk-RTEYOSJY.js +0 -29
  277. package/dist/chunk-RUVFXE2L.js +0 -666
  278. package/dist/chunk-RVH5SUW5.js +0 -69
  279. package/dist/chunk-VN3DP4LQ.js +0 -43
  280. package/dist/chunk-W5BVQF44.js +0 -36
  281. package/dist/chunk-WVPJSRRJ.js +0 -52
  282. package/dist/chunk-XPTOBS2D.js +0 -48
  283. package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
  284. package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
@@ -7,14 +7,14 @@ import {
7
7
  clientFor,
8
8
  inputsSha256,
9
9
  loadExecutors
10
- } from "./chunk-QSXK2RGH.js";
10
+ } from "./chunk-6OJQOPUN.js";
11
11
  import {
12
12
  runDialectTests
13
- } from "./chunk-MC3H7736.js";
13
+ } from "./chunk-CQDGOPGH.js";
14
14
  import {
15
15
  fsRepo,
16
16
  scanRepo
17
- } from "./chunk-GQ4N4WKF.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-S2A7YC3Q.js";
44
+ } from "./chunk-Q2TECDIT.js";
46
45
  import {
47
46
  SCHEMA_VERSION
48
- } from "./chunk-D3PO4DOZ.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";
@@ -850,7 +852,9 @@ var CONTRACTS = [
850
852
  "FieldFact",
851
853
  "DeployFact",
852
854
  "ConfigFact",
853
- "FlowFact"
855
+ "FlowFact",
856
+ // ADR 0163: a term of the organisation's, as a repo writes it.
857
+ "TermFact"
854
858
  ].map((name) => ({
855
859
  name,
856
860
  where: ".atticus/facts/<repo>.jsonl (one fact per line; ADR 0124)"
@@ -1035,6 +1039,19 @@ var CONTRACTS = [
1035
1039
  {
1036
1040
  name: "OpenSpecSettings",
1037
1041
  where: "org-pack/openspec.yaml (optional; OpenSpec's beta stores, ADR 0126)"
1042
+ },
1043
+ {
1044
+ name: "Conventions",
1045
+ where: "org-pack/conventions.yaml (optional; the house conventions a read leans on, ADR 0147)"
1046
+ },
1047
+ {
1048
+ name: "ComponentType",
1049
+ docs: "ComponentTypeShape",
1050
+ where: "org-pack/component-types/<id>/type.yaml, with notes.md beside it (optional; what a kind of component is, in the organisation's words, ADR 0180; Atticus's own types are the default set)"
1051
+ },
1052
+ {
1053
+ name: "ReadingRulesFile",
1054
+ where: "org-pack/reading-rules/org.yaml, types/<type>.yaml, repos/<repo>.yaml and imported/<team>/<type>.yaml (optional; the organisation's reading rules in layers, ADR 0176; skills, agents and instructions beside them are Markdown, ADR 0177)"
1038
1055
  }
1039
1056
  ]
1040
1057
  }
@@ -0,0 +1,142 @@
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
+ loadRepos
8
+ } from "./chunk-PKBHS4AA.js";
9
+ import {
10
+ TARGETS_STEP_ID,
11
+ changesDirOf,
12
+ checkedProposals,
13
+ factsDirOf,
14
+ isPersonsQuestion,
15
+ listQuestions,
16
+ orderQuestions,
17
+ parseFactsLines,
18
+ peopleOfChange,
19
+ questionWeights,
20
+ readTeams,
21
+ routeOfQuestion,
22
+ teamsOfPerson
23
+ } from "./chunk-Q2TECDIT.js";
24
+ import {
25
+ require_dist
26
+ } from "./chunk-BQGDB6ZL.js";
27
+ import {
28
+ __toESM
29
+ } from "./chunk-TV45EUGM.js";
30
+
31
+ // packages/cli/dist/question-routing.js
32
+ var import_yaml = __toESM(require_dist(), 1);
33
+ import { readdir, readFile, stat } from "node:fs/promises";
34
+ import { join } from "node:path";
35
+ async function changePeopleOf(root, id) {
36
+ const text = await readFile(join(changesDirOf(root), id, "change.yaml"), "utf8").catch(() => void 0);
37
+ if (text === void 0)
38
+ return [];
39
+ let data;
40
+ try {
41
+ data = (0, import_yaml.parse)(text);
42
+ } catch {
43
+ return [];
44
+ }
45
+ const owners = data?.owners;
46
+ if (!owners || typeof owners !== "object" || Array.isArray(owners))
47
+ return [];
48
+ const lists = {};
49
+ for (const [role, v] of Object.entries(owners))
50
+ if (Array.isArray(v))
51
+ lists[role] = v.filter((h) => typeof h === "string" && !!h.trim());
52
+ return peopleOfChange(lists);
53
+ }
54
+ var parsed = /* @__PURE__ */ new Map();
55
+ async function factsOnFile(path) {
56
+ const st = await stat(path).catch(() => void 0);
57
+ if (!st)
58
+ return void 0;
59
+ const hit = parsed.get(path);
60
+ if (hit && hit.size === st.size && hit.mtimeMs === st.mtimeMs)
61
+ return hit.facts;
62
+ const text = await readFile(path, "utf8").catch(() => void 0);
63
+ if (text === void 0)
64
+ return void 0;
65
+ const facts = parseFactsLines(text).facts;
66
+ parsed.set(path, { size: st.size, mtimeMs: st.mtimeMs, facts });
67
+ return facts;
68
+ }
69
+ async function ruleOffers(root) {
70
+ const open = (await listQuestions(root, { state: "open" }).catch(() => ({ questions: [] }))).questions.filter((q) => q.askedBy.step === TARGETS_STEP_ID);
71
+ if (open.length < 2)
72
+ return /* @__PURE__ */ new Map();
73
+ const facts = /* @__PURE__ */ new Map();
74
+ for (const repo of new Set(open.map((q) => q.repo))) {
75
+ const f = await factsOnFile(join(factsDirOf(root), `${repo}.jsonl`));
76
+ if (f)
77
+ facts.set(repo, f);
78
+ }
79
+ const { targetRuleOffers } = await import("./chunk-IFKEI4SA.js");
80
+ return targetRuleOffers(open, (r) => facts.get(r));
81
+ }
82
+ async function routeQuestions(root, questions, o = {}) {
83
+ const problems = [];
84
+ const owners = /* @__PURE__ */ new Map();
85
+ try {
86
+ for (const r of await loadRepos(root))
87
+ owners.set(r.id, r.owner);
88
+ } catch (e) {
89
+ problems.push({
90
+ file: "org-pack/profiles",
91
+ message: e.message.split("\n")[0]
92
+ });
93
+ }
94
+ const { teams, problem } = await readTeams(root);
95
+ if (problem)
96
+ problems.push({ file: "org-pack/roles.yaml", message: problem });
97
+ const changes = new Set(await readdir(changesDirOf(root), { withFileTypes: true }).then((d) => d.filter((x) => x.isDirectory()).map((x) => x.name), () => []));
98
+ const changePeople = /* @__PURE__ */ new Map();
99
+ for (const id of new Set(questions.map((q) => q.repo)))
100
+ if (changes.has(id))
101
+ changePeople.set(id, await changePeopleOf(root, id));
102
+ const weights = await questionWeights(root, questions);
103
+ const proposals = new Map((await checkedProposals(root).catch(() => [])).filter((p) => p.ok && p.proposal).map((p) => [p.id, { ...p.proposal, file: p.file }]));
104
+ const rules = questions.some((q) => q.state === "open" && q.askedBy.step === TARGETS_STEP_ID) ? await ruleOffers(root) : /* @__PURE__ */ new Map();
105
+ const about = {};
106
+ for (const q of questions) {
107
+ const p = q.state === "open" ? proposals.get(q.id) : void 0;
108
+ const rule = q.state === "open" ? rules.get(q.id) : void 0;
109
+ about[q.id] = {
110
+ ...weights.get(q.id) ?? { restsOn: [], joins: 0 },
111
+ owner: routeOfQuestion(q, { owners, teams, changes, changePeople }),
112
+ ...p ? {
113
+ proposal: {
114
+ answer: p.answer,
115
+ why: p.why,
116
+ cites: p.cites,
117
+ by: p.by,
118
+ at: p.at,
119
+ file: p.file
120
+ }
121
+ } : {},
122
+ ...rule ? { rule } : {}
123
+ };
124
+ }
125
+ let list = orderQuestions(questions, weights);
126
+ let me;
127
+ if (o.mine !== void 0) {
128
+ const mine = teamsOfPerson(o.mine, teams);
129
+ me = {
130
+ handle: o.mine,
131
+ teams: mine.map((t) => ({ id: t.id, ...t.name ? { name: t.name } : {} }))
132
+ };
133
+ const handle = o.mine;
134
+ list = list.filter((q) => isPersonsQuestion(handle, about[q.id].owner, teams));
135
+ }
136
+ return { questions: list, about, ...me ? { me } : {}, problems };
137
+ }
138
+
139
+ export {
140
+ ruleOffers,
141
+ routeQuestions
142
+ };
@@ -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-QSXK2RGH.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-7JUKDRSZ.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-XY3P7JW7.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-4AK7IBVP.js";
8
+ } from "./chunk-UUU4CLJG.js";
9
9
  import {
10
10
  changesDirOf
11
- } from "./chunk-S2A7YC3Q.js";
12
- import "./chunk-D3PO4DOZ.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
+ };
@@ -0,0 +1,221 @@
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
+ catalogRecords
8
+ } from "./chunk-GUX3PTYM.js";
9
+ import "./chunk-IDKCWSM5.js";
10
+ import "./chunk-UUU4CLJG.js";
11
+ import "./chunk-7IGKHZ4Z.js";
12
+ import "./chunk-J2JAKCIW.js";
13
+ import {
14
+ knowledgeGaps
15
+ } from "./chunk-745DAZ4L.js";
16
+ import "./chunk-CXJ6FUKN.js";
17
+ import "./chunk-QKUJMING.js";
18
+ import "./chunk-6ZGLAACW.js";
19
+ import "./chunk-CQDGOPGH.js";
20
+ import "./chunk-3NFFJL5D.js";
21
+ import {
22
+ gitUser
23
+ } from "./chunk-PKBHS4AA.js";
24
+ import "./chunk-P32RUW3B.js";
25
+ import "./chunk-QA4O2GGC.js";
26
+ import {
27
+ Finding,
28
+ QuestionError,
29
+ answerQuestion,
30
+ catalogDirOf,
31
+ changesDirOf,
32
+ listQuestions,
33
+ loadOrgPack,
34
+ orgPackDirOf,
35
+ orgPackRelOf,
36
+ parseRecord,
37
+ questionsRelOf,
38
+ recordPath,
39
+ serializeRecord
40
+ } from "./chunk-Q2TECDIT.js";
41
+ import {
42
+ writeFileAtomic
43
+ } from "./chunk-TUULXQRW.js";
44
+ import {
45
+ require_dist
46
+ } from "./chunk-BQGDB6ZL.js";
47
+ import {
48
+ __toESM
49
+ } from "./chunk-TV45EUGM.js";
50
+
51
+ // packages/cli/dist/owner-questions.js
52
+ var import_yaml = __toESM(require_dist(), 1);
53
+ import { mkdir, readFile } from "node:fs/promises";
54
+ import { dirname, join, relative } from "node:path";
55
+ import { parseArgs } from "node:util";
56
+ var OwnerQuestionError = class extends Error {
57
+ code;
58
+ constructor(message, code) {
59
+ super(message);
60
+ this.code = code;
61
+ }
62
+ };
63
+ var rel = (root, p) => relative(root, p).split("\\").join("/");
64
+ var stamp = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");
65
+ async function gaps(root, now) {
66
+ const records = await catalogRecords(root);
67
+ if (records.length === 0)
68
+ return void 0;
69
+ const orgPack = await loadOrgPack(orgPackDirOf(root));
70
+ return knowledgeGaps({ records, orgPack, now: stamp(now) });
71
+ }
72
+ var fileOf = (root, id) => join(catalogDirOf(root), "curated", ...recordPath({ kind: "OwnerQuestion", id }).split("/"));
73
+ function itemOf(root, g) {
74
+ const q = g.question;
75
+ return {
76
+ id: q.id,
77
+ system: q.system,
78
+ owner: q.owner,
79
+ question: q.question,
80
+ neededFact: q.neededFact,
81
+ channel: q.channel,
82
+ state: q.questionState,
83
+ ...q.answer ? { answer: q.answer } : {},
84
+ ...g.routeTo ? { routeTo: g.routeTo } : {},
85
+ ...g.fill?.length ? { fill: g.fill } : {},
86
+ records: g.records,
87
+ file: rel(root, fileOf(root, q.id))
88
+ };
89
+ }
90
+ async function gapSummary(root, f) {
91
+ const path = join(changesDirOf(root), f.change, "review", f.gate, String(f.round), `${f.id}.yaml`);
92
+ const text = await readFile(path, "utf8").catch(() => void 0);
93
+ const r = text === void 0 ? void 0 : Finding.safeParse((0, import_yaml.parse)(text));
94
+ return r?.success ? r.data.summary : `Knowledge gap ${f.id} at the ${f.gate} gate.`;
95
+ }
96
+ async function askedGapItems(root) {
97
+ const { questions } = await listQuestions(root).catch(() => ({ questions: [] }));
98
+ const out = [];
99
+ for (const q of questions) {
100
+ if (!q.finding || q.state === "retired")
101
+ continue;
102
+ out.push({
103
+ id: q.id,
104
+ system: q.finding.change,
105
+ owner: q.askedOf ?? "its owner",
106
+ question: q.question,
107
+ neededFact: await gapSummary(root, q.finding),
108
+ channel: "Atticus",
109
+ state: q.state === "answered" ? "answered" : "sent",
110
+ ...q.answer?.text ? { answer: q.answer.text } : {},
111
+ records: [],
112
+ file: `${questionsRelOf(root)}/${q.id}.yaml`,
113
+ finding: { change: q.finding.change, gate: q.finding.gate, id: q.finding.id }
114
+ });
115
+ }
116
+ return out.sort((a, b) => Number(a.state === "answered") - Number(b.state === "answered"));
117
+ }
118
+ async function ownerQuestions(root, o = {}) {
119
+ const found = await gaps(root, o.now ?? /* @__PURE__ */ new Date());
120
+ const asked = await askedGapItems(root);
121
+ if (!found && !asked.length)
122
+ return { empty: true, open: 0, questions: [] };
123
+ const questions = [...asked, ...(found ?? []).map((g) => itemOf(root, g))];
124
+ return {
125
+ empty: false,
126
+ open: questions.filter((q) => q.state !== "answered").length,
127
+ questions
128
+ };
129
+ }
130
+ async function answerOwnerQuestion(root, id, answer, o) {
131
+ const words = answer.trim();
132
+ if (!words)
133
+ throw new OwnerQuestionError("The answer is empty: say what the owner said.", "invalid");
134
+ if (!o.by.trim())
135
+ throw new OwnerQuestionError("Say who answered (--by).", "invalid");
136
+ const now = o.now ?? /* @__PURE__ */ new Date();
137
+ const onFile = (await askedGapItems(root)).find((x) => x.id === id);
138
+ if (onFile) {
139
+ try {
140
+ await answerQuestion(root, id, { text: words, by: o.by.trim(), at: stamp(now) });
141
+ } catch (e) {
142
+ if (e instanceof QuestionError)
143
+ throw new OwnerQuestionError(e.message, "invalid");
144
+ throw e;
145
+ }
146
+ const question2 = (await askedGapItems(root)).find((x) => x.id === id);
147
+ return { file: question2.file, question: question2 };
148
+ }
149
+ const found = await gaps(root, now) ?? [];
150
+ const g = found.find((x) => x.question.id === id);
151
+ if (!g)
152
+ throw new OwnerQuestionError(`There is no owner question ${id} now: atticus questions lists the open ones.`, "not-found");
153
+ const p = parseRecord({
154
+ ...g.question,
155
+ confidence: "asserted",
156
+ questionState: "answered",
157
+ answer: words,
158
+ evidence: [
159
+ { source: "manual", by: o.by.trim(), scannedAt: stamp(now) },
160
+ ...g.question.evidence
161
+ ]
162
+ });
163
+ if (!p.ok)
164
+ throw new OwnerQuestionError(`The answer can't be recorded: ${JSON.stringify(p.issues)}`, "invalid");
165
+ const full = fileOf(root, id);
166
+ await mkdir(dirname(full), { recursive: true });
167
+ await writeFileAtomic(full, serializeRecord(p.record));
168
+ const question = itemOf(root, {
169
+ ...g,
170
+ question: { ...g.question, questionState: "answered", answer: words }
171
+ });
172
+ return { file: question.file, question };
173
+ }
174
+ async function ownerQuestionCommand(root, argv, io, deps = {}) {
175
+ const { values, positionals } = parseArgs({
176
+ args: argv,
177
+ allowPositionals: true,
178
+ strict: false,
179
+ options: {
180
+ root: { type: "string" },
181
+ text: { type: "string" },
182
+ by: { type: "string" },
183
+ json: { type: "boolean" }
184
+ }
185
+ });
186
+ const id = positionals[2];
187
+ const text = typeof values.text === "string" ? values.text : void 0;
188
+ if (!id || text === void 0) {
189
+ io.err('Usage: atticus questions owner <id> --text "..." [--by who] [--json]');
190
+ return 2;
191
+ }
192
+ const by = typeof values.by === "string" && values.by.trim() || (await gitUser(root)).handle;
193
+ try {
194
+ const r = await answerOwnerQuestion(root, id, text, {
195
+ by,
196
+ ...deps.now ? { now: deps.now } : {}
197
+ });
198
+ if (values.json === true)
199
+ io.out(JSON.stringify(r, null, 2));
200
+ else if (r.question.finding)
201
+ io.out(`Wrote ${r.file}: ${by}'s answer to ${id}. Knowledge gap ${r.question.finding.id} is closed at the ${r.question.finding.gate} gate; the next draft of ${r.question.finding.change} reads the answer.`);
202
+ else {
203
+ io.out(`Wrote ${r.file}: ${by}'s answer to ${id}. Every scan keeps it.`);
204
+ io.out(r.question.fill?.length ? `The gap closes once the fact is in the catalog: write it in ${r.question.fill.map((f) => `${orgPackRelOf(root)}/${f.file}: ${f.field}`).join("; ")}.` : `The gap closes once the fact is in the catalog: ${r.question.neededFact}.`);
205
+ io.out("Then propose it for review (the app's Propose for review, or commit it in a pull request).");
206
+ }
207
+ return 0;
208
+ } catch (e) {
209
+ if (e instanceof OwnerQuestionError) {
210
+ io.err(e.message);
211
+ return e.code === "invalid" ? 2 : 1;
212
+ }
213
+ throw e;
214
+ }
215
+ }
216
+ export {
217
+ OwnerQuestionError,
218
+ answerOwnerQuestion,
219
+ ownerQuestionCommand,
220
+ ownerQuestions
221
+ };
@@ -5,18 +5,18 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  readCatalog
8
- } from "./chunk-27NKUS3X.js";
8
+ } from "./chunk-J2JAKCIW.js";
9
9
  import {
10
10
  readDiagram,
11
11
  reconcile
12
- } from "./chunk-7EKXJZ2Y.js";
12
+ } from "./chunk-6ZGLAACW.js";
13
13
  import {
14
14
  loadOrgPack,
15
15
  orgPackDirOf,
16
16
  parseRecord,
17
17
  recordPath,
18
18
  serializeRecord
19
- } from "./chunk-S2A7YC3Q.js";
19
+ } from "./chunk-Q2TECDIT.js";
20
20
 
21
21
  // packages/cli/dist/reconcile-commands.js
22
22
  import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
@@ -36,7 +36,7 @@ async function findDiagrams(dir) {
36
36
  const full = join(d, e.name);
37
37
  if (e.isDirectory())
38
38
  await walk(full);
39
- else if (/\.(drawio|drawio\.xml|vsdx|mmd|mermaid|csv)$/i.test(e.name))
39
+ else if (e.isFile() && /\.(drawio|drawio\.xml|vsdx|mmd|mermaid|csv)$/i.test(e.name))
40
40
  out.push(full);
41
41
  }
42
42
  }
@@ -0,0 +1,33 @@
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
+ offerLine,
8
+ pickerOf,
9
+ pickerText,
10
+ readRepos,
11
+ targetAnswerOf
12
+ } from "./chunk-YYY3AZFE.js";
13
+ import "./chunk-J2JAKCIW.js";
14
+ import "./chunk-745DAZ4L.js";
15
+ import "./chunk-CXJ6FUKN.js";
16
+ import "./chunk-QKUJMING.js";
17
+ import "./chunk-6ZGLAACW.js";
18
+ import "./chunk-CQDGOPGH.js";
19
+ import "./chunk-3NFFJL5D.js";
20
+ import "./chunk-PKBHS4AA.js";
21
+ import "./chunk-P32RUW3B.js";
22
+ import "./chunk-QA4O2GGC.js";
23
+ import "./chunk-Q2TECDIT.js";
24
+ import "./chunk-TUULXQRW.js";
25
+ import "./chunk-BQGDB6ZL.js";
26
+ import "./chunk-TV45EUGM.js";
27
+ export {
28
+ offerLine,
29
+ pickerOf,
30
+ pickerText,
31
+ readRepos,
32
+ targetAnswerOf
33
+ };
@@ -0,0 +1,50 @@
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
+ benchFactsCommand,
8
+ benchFetch,
9
+ benchRepos,
10
+ benchResults,
11
+ benchRun,
12
+ benchSurvey,
13
+ benchVerify
14
+ } from "./chunk-MO6P2JZH.js";
15
+ import "./chunk-RXPJMEOW.js";
16
+ import "./chunk-WF7B67YE.js";
17
+ import "./chunk-6PPOWY5E.js";
18
+ import "./chunk-O7FDLW7L.js";
19
+ import "./chunk-BTGPE6CR.js";
20
+ import "./chunk-MUWDB4R4.js";
21
+ import "./chunk-R7NYHMUU.js";
22
+ import "./chunk-IVBOQAGB.js";
23
+ import "./chunk-ISUAAMGS.js";
24
+ import "./chunk-S4PMJU6H.js";
25
+ import "./chunk-IDKCWSM5.js";
26
+ import "./chunk-UUU4CLJG.js";
27
+ import "./chunk-7IGKHZ4Z.js";
28
+ import "./chunk-J2JAKCIW.js";
29
+ import "./chunk-745DAZ4L.js";
30
+ import "./chunk-CXJ6FUKN.js";
31
+ import "./chunk-QKUJMING.js";
32
+ import "./chunk-6ZGLAACW.js";
33
+ import "./chunk-CQDGOPGH.js";
34
+ import "./chunk-3NFFJL5D.js";
35
+ import "./chunk-PKBHS4AA.js";
36
+ import "./chunk-P32RUW3B.js";
37
+ import "./chunk-QA4O2GGC.js";
38
+ import "./chunk-Q2TECDIT.js";
39
+ import "./chunk-TUULXQRW.js";
40
+ import "./chunk-BQGDB6ZL.js";
41
+ import "./chunk-TV45EUGM.js";
42
+ export {
43
+ benchFactsCommand,
44
+ benchFetch,
45
+ benchRepos,
46
+ benchResults,
47
+ benchRun,
48
+ benchSurvey,
49
+ benchVerify
50
+ };