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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-TJP2KLZI.js → chunk-22VA7YYG.js} +11 -11
  3. package/dist/{chunk-5ION6STH.js → chunk-27HOC77H.js} +2 -2
  4. package/dist/chunk-2HFVFEBT.js +37 -0
  5. package/dist/{chunk-PVMGHQWB.js → chunk-2JQ2SCX7.js} +7 -7
  6. package/dist/{chunk-ZTIMXVV5.js → chunk-2M76O6AN.js} +2 -2
  7. package/dist/{chunk-PKCYRG6G.js → chunk-2V7A3J7B.js} +15 -12
  8. package/dist/{chunk-DX5H5YKM.js → chunk-2W6ZLQX6.js} +11 -11
  9. package/dist/{chunk-TIAPEYWI.js → chunk-2Z4U33UI.js} +3 -3
  10. package/dist/{chunk-ZDZCUZ4N.js → chunk-3JOHZDKD.js} +5 -5
  11. package/dist/{chunk-42L2WHP6.js → chunk-3ODHCYOG.js} +4 -4
  12. package/dist/{chunk-JLIEAQP4.js → chunk-3RI2HYPB.js} +4 -4
  13. package/dist/{chunk-CJ5FQHST.js → chunk-3VYKAAQ4.js} +5 -5
  14. package/dist/{chunk-U2SGLXFR.js → chunk-3ZYGPIOB.js} +17 -17
  15. package/dist/{chunk-7UKETVPW.js → chunk-46VGJBRS.js} +1 -1
  16. package/dist/{chunk-5I5JDJ3R.js → chunk-4CBEOTJG.js} +4 -4
  17. package/dist/{chunk-34NWVIBC.js → chunk-4HAYYEFB.js} +2 -2
  18. package/dist/{chunk-UYKKTEWB.js → chunk-4IAZSN4N.js} +14 -14
  19. package/dist/{chunk-5R2EWR47.js → chunk-4NMF7XDM.js} +7 -7
  20. package/dist/{chunk-CCXEXCRO.js → chunk-4WUHO5SI.js} +14 -14
  21. package/dist/{chunk-CYDJK34J.js → chunk-55H65YKF.js} +4 -4
  22. package/dist/{chunk-UQUDITWL.js → chunk-5EOJSQM3.js} +20 -20
  23. package/dist/{chunk-BHHIHENP.js → chunk-5GQHLNZB.js} +4 -4
  24. package/dist/{chunk-QL4VNY4U.js → chunk-5LDFVOKT.js} +1 -1
  25. package/dist/{chunk-EREL3TQG.js → chunk-5MT5MY3V.js} +1 -1
  26. package/dist/{chunk-W3ZWS3B3.js → chunk-5SDBKA5U.js} +10 -10
  27. package/dist/chunk-5UQ5W2PF.js +54 -0
  28. package/dist/{chunk-6IKYFARG.js → chunk-5WBRQSLJ.js} +19 -10
  29. package/dist/{chunk-Y2FMWQQB.js → chunk-62CGLT7D.js} +16 -16
  30. package/dist/chunk-6EHE7PX4.js +54 -0
  31. package/dist/{chunk-IJ7TPOXQ.js → chunk-6L3OB44C.js} +11 -11
  32. package/dist/{chunk-6AYUBYK6.js → chunk-6TY7S6Y6.js} +38 -12
  33. package/dist/{chunk-6ROZRBWH.js → chunk-6VLNXNEM.js} +4 -4
  34. package/dist/{chunk-VRH6ITQH.js → chunk-6Z2SM6TU.js} +9 -9
  35. package/dist/{chunk-JQG4VO47.js → chunk-7HX7LQ66.js} +1 -1
  36. package/dist/{chunk-WM4N2L4T.js → chunk-7YXDLJCV.js} +1 -1
  37. package/dist/{chunk-3W5R5J65.js → chunk-A5YAXW5G.js} +31 -8
  38. package/dist/{chunk-3M7QBKKG.js → chunk-A64EHZTF.js} +6 -6
  39. package/dist/{chunk-VC4JMXM5.js → chunk-A7URZ77Y.js} +19 -19
  40. package/dist/{chunk-Y6LFFSRV.js → chunk-B2EIZVAW.js} +10 -10
  41. package/dist/{chunk-GRZGEMO5.js → chunk-BAGRINRH.js} +102 -102
  42. package/dist/{chunk-U25OX22K.js → chunk-BH5DMXG5.js} +137 -16
  43. package/dist/{chunk-P7SONIEO.js → chunk-CFIDOXSH.js} +269 -64
  44. package/dist/{chunk-J3DTLYER.js → chunk-CFYAQTDM.js} +15 -15
  45. package/dist/{chunk-TIUBGJG3.js → chunk-CK5Z3RIN.js} +9 -9
  46. package/dist/{chunk-YISWYR3Q.js → chunk-DAZHJOLA.js} +4 -4
  47. package/dist/{chunk-DQKNOHUZ.js → chunk-DFDEUYHX.js} +1 -1
  48. package/dist/{chunk-Z2BA4NNR.js → chunk-DHWMEG7N.js} +2 -2
  49. package/dist/{chunk-PGFRXGHA.js → chunk-DJEDFJTZ.js} +2 -2
  50. package/dist/{chunk-XBNKOARP.js → chunk-DJTZVXI5.js} +4 -4
  51. package/dist/{chunk-U43G5EUN.js → chunk-DN4FULFM.js} +17 -17
  52. package/dist/{chunk-Q4AWUD6C.js → chunk-DO6B66AS.js} +16 -16
  53. package/dist/{chunk-O62VA6MH.js → chunk-EBVKNIKO.js} +13 -13
  54. package/dist/chunk-ECGTN32T.js +43 -0
  55. package/dist/{chunk-ESGIBN3S.js → chunk-EFI6BBPE.js} +1 -1
  56. package/dist/{chunk-7C7PTJM2.js → chunk-EJJONXPS.js} +27 -18
  57. package/dist/{chunk-TV6ECMN3.js → chunk-ETOIM5LK.js} +15 -15
  58. package/dist/{chunk-IDLO7UCZ.js → chunk-EUSWNGGG.js} +5 -5
  59. package/dist/chunk-F4WLUEZY.js +43 -0
  60. package/dist/chunk-F7EHN4CC.js +151 -0
  61. package/dist/{chunk-ZRP6ZXOF.js → chunk-FGGCLKPG.js} +12 -12
  62. package/dist/{chunk-PAQDPB6T.js → chunk-FMGMRFEH.js} +4 -4
  63. package/dist/chunk-FODNRZC7.js +38 -0
  64. package/dist/{chunk-PUGPT4Y6.js → chunk-FZTXX5Z2.js} +17 -17
  65. package/dist/{chunk-CGF4LKXR.js → chunk-GAK5KDYV.js} +3 -3
  66. package/dist/{chunk-DONCF2XC.js → chunk-GELBERZB.js} +3 -3
  67. package/dist/{chunk-MOY52LHS.js → chunk-GFQ4ZUY3.js} +13 -13
  68. package/dist/{chunk-6R2OM6Y3.js → chunk-GMXE44X7.js} +15 -15
  69. package/dist/{chunk-65XZSK6S.js → chunk-GNEFMED4.js} +4 -4
  70. package/dist/{chunk-OJAJXU65.js → chunk-GT6BMFHZ.js} +13 -1
  71. package/dist/{chunk-GX3Q5PRC.js → chunk-GWB4XIMM.js} +11 -11
  72. package/dist/{chunk-ARLH2ZMD.js → chunk-HGNJNPMB.js} +1 -1
  73. package/dist/{chunk-XP3KLC4S.js → chunk-HGNMMBFJ.js} +6 -6
  74. package/dist/{chunk-CUX4GRTB.js → chunk-HK2BXCMW.js} +3 -3
  75. package/dist/{chunk-3256EDLL.js → chunk-HOQB4B3F.js} +3 -3
  76. package/dist/{chunk-S5X7BVWP.js → chunk-HRVG2MOI.js} +19 -19
  77. package/dist/{chunk-FLROTO6F.js → chunk-HS7OZ3ZE.js} +3 -3
  78. package/dist/{chunk-AY7Y3WPD.js → chunk-I6PYLKHK.js} +15 -15
  79. package/dist/{chunk-WBOVB3XR.js → chunk-IDJJ5MDV.js} +24 -24
  80. package/dist/{chunk-N6YELFHL.js → chunk-IF6UROTX.js} +2 -2
  81. package/dist/{chunk-6HSRGY4B.js → chunk-IJQ5BF5K.js} +3 -3
  82. package/dist/{chunk-GU7PEYRC.js → chunk-IQLHTDHS.js} +10 -10
  83. package/dist/{chunk-BUD6JILH.js → chunk-IUDD5WS3.js} +21 -21
  84. package/dist/{chunk-QR65C3DV.js → chunk-J422SCUS.js} +4 -4
  85. package/dist/chunk-J5QWT2LV.js +41 -0
  86. package/dist/{chunk-7FPTI62T.js → chunk-J6CM5ZST.js} +20 -20
  87. package/dist/{chunk-NTNJNRHW.js → chunk-J7G2BGW4.js} +4 -4
  88. package/dist/{chunk-JS3DJH3Q.js → chunk-JCGIAHCX.js} +4 -4
  89. package/dist/{chunk-DKGWE5ZL.js → chunk-JI3QP66O.js} +21 -21
  90. package/dist/{chunk-OKUYBXXI.js → chunk-JQKFZIQN.js} +16 -16
  91. package/dist/{chunk-OMH3I5BH.js → chunk-JSTI6YPH.js} +2 -2
  92. package/dist/{chunk-DLX2R3MI.js → chunk-JW3YAB24.js} +31 -31
  93. package/dist/{chunk-MFRPLAOH.js → chunk-K3VT62TE.js} +2 -2
  94. package/dist/{chunk-CQD26SMZ.js → chunk-K4J4Z37A.js} +1090 -40
  95. package/dist/{chunk-MIOY6EXD.js → chunk-KEOTTRK2.js} +4 -4
  96. package/dist/{chunk-M3BJTXLR.js → chunk-KEZXPK4U.js} +9 -9
  97. package/dist/{chunk-3JLTN3Y7.js → chunk-KK4I5NNI.js} +7 -7
  98. package/dist/{chunk-G2K2D6XS.js → chunk-KLXAX2YW.js} +12 -12
  99. package/dist/{chunk-AUSC47BK.js → chunk-KMDIJ6O4.js} +4 -4
  100. package/dist/{chunk-7XWCTVJS.js → chunk-KUFJDY4S.js} +3 -3
  101. package/dist/{chunk-TBKJPKDN.js → chunk-KV24YCMX.js} +11 -11
  102. package/dist/{chunk-CXY4YDXS.js → chunk-KYR4XMXR.js} +2 -2
  103. package/dist/{chunk-XDTD55UU.js → chunk-L2EHYZCH.js} +33 -9
  104. package/dist/{chunk-FSR7OUVJ.js → chunk-L32HJTTW.js} +23 -23
  105. package/dist/{chunk-QOPX5M7Y.js → chunk-LPVS4DPT.js} +4 -4
  106. package/dist/{chunk-RA64IK43.js → chunk-LRO3Y2XQ.js} +1 -1
  107. package/dist/{chunk-VUBVBFJW.js → chunk-LYWEB453.js} +5 -5
  108. package/dist/chunk-LZDK3V3W.js +34 -0
  109. package/dist/{chunk-FF5Q7ONT.js → chunk-M54PJXYX.js} +214 -148
  110. package/dist/{chunk-XB64FJLU.js → chunk-M6W3P3ZI.js} +24 -24
  111. package/dist/{chunk-QKSWQBWD.js → chunk-MBAKCS2U.js} +25 -8
  112. package/dist/{chunk-FT3RXIN4.js → chunk-MBQY6L3Z.js} +10 -10
  113. package/dist/{chunk-72DY5NCN.js → chunk-MCRCJLAE.js} +2 -2
  114. package/dist/{chunk-NZY72PGJ.js → chunk-MSAXKU4C.js} +9 -7
  115. package/dist/{chunk-ZPPLFE4N.js → chunk-MSF6XELY.js} +14 -14
  116. package/dist/{chunk-ZWGU46YO.js → chunk-MYZPN2BV.js} +23 -23
  117. package/dist/{chunk-7VAMO66T.js → chunk-N35OSYIU.js} +9 -6
  118. package/dist/{chunk-U3JGJ3BO.js → chunk-N3Z2D3OC.js} +24 -24
  119. package/dist/{chunk-LAOZB5YC.js → chunk-NEDAQDC7.js} +11 -11
  120. package/dist/{chunk-YY2WGL6S.js → chunk-NEEOJJWT.js} +2 -2
  121. package/dist/{chunk-VAL7HAIR.js → chunk-NEYVK52V.js} +3 -3
  122. package/dist/chunk-NKIGYJY6.js +41 -0
  123. package/dist/{chunk-36CTZGPH.js → chunk-NPL4XMOC.js} +7 -7
  124. package/dist/{chunk-G5SKNMPC.js → chunk-NRJC7XTD.js} +5 -5
  125. package/dist/{chunk-FYWA2CPF.js → chunk-NVDAZOVS.js} +17 -17
  126. package/dist/{chunk-TEZSZ24W.js → chunk-O2QUSGER.js} +4 -4
  127. package/dist/{chunk-KPHPVOME.js → chunk-OE3ECGHN.js} +4 -4
  128. package/dist/{chunk-QOF7U6BI.js → chunk-OKXRQPQF.js} +6 -6
  129. package/dist/{chunk-YSFIQGDK.js → chunk-OPMTVYWM.js} +8 -8
  130. package/dist/{chunk-4GNKICU5.js → chunk-OR4FYMZM.js} +18 -18
  131. package/dist/{chunk-KY2ZHTBJ.js → chunk-OXEOXPG5.js} +6 -6
  132. package/dist/{chunk-34BCKMBS.js → chunk-P2AKNGWM.js} +3 -3
  133. package/dist/{chunk-VTMIRRIZ.js → chunk-PAYFWXVA.js} +2 -2
  134. package/dist/{chunk-DREIS5Z5.js → chunk-PCYGJOR2.js} +6 -6
  135. package/dist/{chunk-7MASAGFE.js → chunk-PFUX5AVG.js} +15 -15
  136. package/dist/{chunk-FNVY656P.js → chunk-PJ7CW2B5.js} +22 -22
  137. package/dist/{chunk-BFZSO2TP.js → chunk-PLZ6S6QS.js} +6 -6
  138. package/dist/{chunk-T72K4PLH.js → chunk-PWDRDFYW.js} +11 -11
  139. package/dist/{chunk-2DJUQ6CO.js → chunk-QBA67JWK.js} +22 -22
  140. package/dist/{chunk-NAKVQU6F.js → chunk-QF6RSKKI.js} +1 -1
  141. package/dist/{chunk-ML3HOWPI.js → chunk-QOZICYAF.js} +4 -4
  142. package/dist/{chunk-CIIRPLI6.js → chunk-QPAOZXXQ.js} +4 -4
  143. package/dist/{chunk-7VNEDDCC.js → chunk-QQIZGLRA.js} +2 -2
  144. package/dist/{chunk-JWQMD54C.js → chunk-QTJCLGFC.js} +7 -7
  145. package/dist/{chunk-5IMZYLDW.js → chunk-QVPYGH7N.js} +11 -11
  146. package/dist/{chunk-M4D3VKAS.js → chunk-RAFD4MYO.js} +1 -1
  147. package/dist/{chunk-XSNIHYO6.js → chunk-RDPHVCTU.js} +10 -10
  148. package/dist/{chunk-J22RSFKY.js → chunk-S32NYQZZ.js} +369 -360
  149. package/dist/{chunk-PJRMMWU4.js → chunk-S56NJ5LE.js} +2 -2
  150. package/dist/{chunk-ISXNWUG7.js → chunk-SDAULIGH.js} +1 -1
  151. package/dist/{chunk-5C24MOXU.js → chunk-SQKDHGAD.js} +17 -17
  152. package/dist/{chunk-N2FA53DA.js → chunk-SYPSS5UX.js} +6 -6
  153. package/dist/{chunk-CUD4I2U6.js → chunk-T7LGRFVD.js} +28 -28
  154. package/dist/{chunk-CH6LUQLD.js → chunk-TCIFQSMO.js} +1 -1
  155. package/dist/{chunk-DBZNQAMN.js → chunk-THOVQFPT.js} +9 -9
  156. package/dist/{chunk-2OWSG6BK.js → chunk-TM5JJL6I.js} +11 -11
  157. package/dist/{chunk-EOCZDNWU.js → chunk-TW2XD4CT.js} +5 -5
  158. package/dist/{chunk-4JLB5ISS.js → chunk-U4N4DZS5.js} +3 -3
  159. package/dist/{chunk-YVQWJDVN.js → chunk-U4SGGO54.js} +24 -24
  160. package/dist/{chunk-HK2CF6KQ.js → chunk-U4WFATJZ.js} +23 -23
  161. package/dist/{chunk-4HTILEXW.js → chunk-U57NQAE5.js} +46 -2
  162. package/dist/{chunk-EE3UNC44.js → chunk-U7X3CZIL.js} +3 -3
  163. package/dist/chunk-UCLAXME7.js +34 -0
  164. package/dist/{chunk-XMYGEZQ7.js → chunk-UCS7HXFX.js} +17 -17
  165. package/dist/{chunk-7UXSS23C.js → chunk-UDENIR6E.js} +18 -18
  166. package/dist/{chunk-XZLSKGJX.js → chunk-UDI4QI6D.js} +5 -5
  167. package/dist/{chunk-77UOXZVM.js → chunk-ULRDKBHJ.js} +5 -5
  168. package/dist/{chunk-DW4BM73R.js → chunk-UQRUMRB2.js} +1 -1
  169. package/dist/{chunk-DDOLWHIM.js → chunk-USPTS2HZ.js} +17 -17
  170. package/dist/{chunk-2A24BNRZ.js → chunk-V4B44XRC.js} +7 -7
  171. package/dist/{chunk-IZF2VJU5.js → chunk-VBPHSKJI.js} +22 -22
  172. package/dist/{chunk-GJ4B2FYS.js → chunk-VCEUC3GC.js} +10 -10
  173. package/dist/{chunk-N7HG4UP7.js → chunk-VCN6THJZ.js} +6 -6
  174. package/dist/{chunk-QC24Z5JU.js → chunk-VFQARMOE.js} +10 -10
  175. package/dist/{chunk-RMNYY5IE.js → chunk-VG3NSHIA.js} +5 -5
  176. package/dist/{chunk-TEHH47TG.js → chunk-VKVGHROQ.js} +3 -3
  177. package/dist/{chunk-CKI4VG2I.js → chunk-VUUU7BOK.js} +22 -22
  178. package/dist/{chunk-PAOIMLTK.js → chunk-VXKPHJVK.js} +19 -19
  179. package/dist/{chunk-P3VBYYAS.js → chunk-W5PMBPKI.js} +3 -3
  180. package/dist/{chunk-TA2ZNDYD.js → chunk-W7CZCZPE.js} +1 -1
  181. package/dist/chunk-WAYZHK2C.js +48 -0
  182. package/dist/{chunk-WRLEYM3T.js → chunk-WC4Z3UHZ.js} +4 -4
  183. package/dist/{chunk-SR2M7DWL.js → chunk-WJ7BAWOR.js} +13 -13
  184. package/dist/{chunk-MRLCNXXR.js → chunk-WJK5WJLA.js} +1 -1
  185. package/dist/{chunk-7H5HYERS.js → chunk-WNEAZYEK.js} +19 -19
  186. package/dist/{chunk-DBVU45FY.js → chunk-WPBI7LBA.js} +14 -14
  187. package/dist/{chunk-HY2VVVFZ.js → chunk-WPHKKINR.js} +4 -4
  188. package/dist/{chunk-TJHDFS33.js → chunk-XDMYQ5RR.js} +27 -27
  189. package/dist/{chunk-HIQWJ6JZ.js → chunk-XFQKKNEF.js} +4 -4
  190. package/dist/{chunk-JC3BMRB5.js → chunk-XYEMI627.js} +11 -11
  191. package/dist/{chunk-S4USA5WC.js → chunk-YBWUVSAH.js} +20 -20
  192. package/dist/{chunk-FP6GJJY7.js → chunk-YCYAA4MB.js} +22 -22
  193. package/dist/{chunk-WFJMKUTR.js → chunk-YECVNCO4.js} +9 -9
  194. package/dist/{chunk-5G5GD5HF.js → chunk-YGEHNSJ4.js} +14 -14
  195. package/dist/{chunk-KJ6IH2D5.js → chunk-YJI3S2YA.js} +5 -5
  196. package/dist/{chunk-HMQXIFOL.js → chunk-YLTOP7OS.js} +4 -4
  197. package/dist/{chunk-QXGOEP44.js → chunk-YVHUKQ5U.js} +3 -3
  198. package/dist/{chunk-GIPQHVJF.js → chunk-YZGYUMWJ.js} +11 -11
  199. package/dist/{chunk-2QT6WVAK.js → chunk-Z43VYNEY.js} +15 -15
  200. package/dist/{chunk-XRDYEEDE.js → chunk-ZGJVAHQC.js} +1 -1
  201. package/dist/{chunk-GUNBOZ75.js → chunk-ZHMVB3YW.js} +3 -3
  202. package/dist/{chunk-T4TMX54Q.js → chunk-ZMHOCHTY.js} +16 -16
  203. package/dist/{chunk-DIAYQLEY.js → chunk-ZQHFZ6WO.js} +6 -6
  204. package/dist/{chunk-MI3GGF7V.js → chunk-ZS2WLK7A.js} +17 -17
  205. package/dist/{chunk-WSFPKNKT.js → chunk-ZWIYJCW5.js} +23 -23
  206. package/dist/chunk-ZWY72UOG.js +45 -0
  207. package/dist/files.json +449 -441
  208. package/dist/packages/sdk/npm/index.js +57 -9
  209. package/dist/packages/ui/dist/assets/{elk-api-D2NcYpUJ.js → elk-api-GNftut9z.js} +2 -2
  210. package/dist/packages/ui/dist/assets/{index-CT7skl01.js → index-C2evnHpj.js} +3 -3
  211. package/dist/packages/ui/dist/index.html +1 -1
  212. package/package.json +6 -6
  213. package/dist/chunk-2RMWW6G3.js +0 -41
  214. package/dist/chunk-3PLE3ZQ5.js +0 -34
  215. package/dist/chunk-CU35HXQ7.js +0 -48
  216. package/dist/chunk-EOWO4YPF.js +0 -43
  217. package/dist/chunk-EZ3FDHW3.js +0 -41
  218. package/dist/chunk-F5L23NGR.js +0 -45
  219. package/dist/chunk-JOG6LBOP.js +0 -38
  220. package/dist/chunk-LRCWWMHH.js +0 -54
  221. package/dist/chunk-LVQMS54L.js +0 -54
  222. package/dist/chunk-S3QCJWCF.js +0 -34
  223. package/dist/chunk-XVQGT4SL.js +0 -37
@@ -30511,10 +30511,34 @@ var ASSISTANTS = [
30511
30511
  var AssistantId = external_exports.enum(ASSISTANTS);
30512
30512
  var STEP_CLASSES = ["read", "draft", "critic", "knowledge", "quick"];
30513
30513
  var StepClass = external_exports.enum(STEP_CLASSES);
30514
- var RUNTIME_SCHEMA_VERSION = 2;
30514
+ var RUNTIME_SCHEMA_VERSION = 3;
30515
+ var ConfiguredMode = external_exports.enum(["hand-off", "model", "headless-claude-code", "copilot-acp"]);
30516
+ var CopilotAcpSettings = external_exports.strictObject({
30517
+ command: external_exports.string().trim().min(1).optional(),
30518
+ model: StepModelId().optional(),
30519
+ maxTurns: external_exports.number().int().positive().max(5e3).optional(),
30520
+ timeoutMs: external_exports.number().int().min(1e4).max(24 * 60 * 6e4).optional()
30521
+ });
30522
+ function StepModelId() {
30523
+ return external_exports.string().min(1).regex(/^\S+$/, "a model id, without spaces");
30524
+ }
30525
+ var COPILOT_ACP_DEFAULTS = {
30526
+ command: "npx --yes @github/copilot-language-server",
30527
+ maxTurns: 200,
30528
+ timeoutMs: 30 * 6e4
30529
+ };
30530
+ function copilotAcpOf(runtime) {
30531
+ const c = runtime?.copilotAcp ?? {};
30532
+ return {
30533
+ command: c.command ?? COPILOT_ACP_DEFAULTS.command,
30534
+ ...c.model ? { model: c.model } : {},
30535
+ maxTurns: c.maxTurns ?? COPILOT_ACP_DEFAULTS.maxTurns,
30536
+ timeoutMs: c.timeoutMs ?? COPILOT_ACP_DEFAULTS.timeoutMs
30537
+ };
30538
+ }
30515
30539
  var StepModel = external_exports.string().min(1).regex(/^\S+$/, "a model name or vendor/family, without spaces");
30516
30540
  var RuntimeFields = external_exports.strictObject({
30517
- schemaVersion: external_exports.union([V2, external_exports.literal(RUNTIME_SCHEMA_VERSION)]),
30541
+ schemaVersion: external_exports.union([V2, external_exports.literal(2), external_exports.literal(RUNTIME_SCHEMA_VERSION)]),
30518
30542
  assistants: external_exports.strictObject({
30519
30543
  allowed: external_exports.array(AssistantId).min(1),
30520
30544
  default: AssistantId
@@ -30526,10 +30550,13 @@ var RuntimeFields = external_exports.strictObject({
30526
30550
  * don't hold a gate, AI buttons become guidance, and people write what agents would draft.
30527
30551
  */
30528
30552
  ai: external_exports.enum(["on", "text-only", "off"]).default("on"),
30529
- /** How AI steps run: hand-off to the assistant, a direct model call, or headless Claude Code. */
30553
+ /**
30554
+ * How AI steps run: hand-off to the assistant, a direct model call, headless Claude Code, or
30555
+ * (version 3, ADR 0171) Copilot driven unattended through its Agent Client Protocol.
30556
+ */
30530
30557
  modes: external_exports.strictObject({
30531
- allowed: external_exports.array(external_exports.enum(["hand-off", "model", "headless-claude-code"])).min(1),
30532
- default: external_exports.enum(["hand-off", "model", "headless-claude-code"])
30558
+ allowed: external_exports.array(ConfiguredMode).min(1),
30559
+ default: ConfiguredMode
30533
30560
  }).refine((m) => m.allowed.includes(m.default), "the default mode must be allowed").default({ allowed: ["hand-off"], default: "hand-off" }),
30534
30561
  models: external_exports.strictObject({
30535
30562
  allowed: external_exports.array(external_exports.string().min(1)).default([]),
@@ -30569,6 +30596,8 @@ var RuntimeFields = external_exports.strictObject({
30569
30596
  * the section and one with an empty section get the same defaults.
30570
30597
  */
30571
30598
  retrieval: RetrievalSettings.optional(),
30599
+ /** Version 3 (ADR 0171): how copilot-acp starts the Copilot language server. */
30600
+ copilotAcp: CopilotAcpSettings.optional(),
30572
30601
  /** Atticus sends no telemetry unless an organisation turns it on here. */
30573
30602
  telemetry: external_exports.strictObject({ enabled: external_exports.boolean().default(false) }).default({ enabled: false }),
30574
30603
  adapters: external_exports.strictObject({
@@ -30601,6 +30630,20 @@ var RuntimeFields = external_exports.strictObject({
30601
30630
  }).optional()
30602
30631
  });
30603
30632
  var Runtime = RuntimeFields.superRefine((r, ctx) => {
30633
+ if (r.schemaVersion < 3) {
30634
+ if ([...r.modes.allowed, r.modes.default].includes("copilot-acp"))
30635
+ ctx.addIssue({
30636
+ code: "custom",
30637
+ path: ["modes"],
30638
+ message: "copilot-acp needs schemaVersion 3 (ADR 0171): run atticus upgrade"
30639
+ });
30640
+ if (r.copilotAcp !== void 0)
30641
+ ctx.addIssue({
30642
+ code: "custom",
30643
+ path: ["copilotAcp"],
30644
+ message: "copilotAcp needs schemaVersion 3 (ADR 0171): run atticus upgrade"
30645
+ });
30646
+ }
30604
30647
  if (r.schemaVersion !== 1)
30605
30648
  return;
30606
30649
  for (const c of STEP_CLASSES)
@@ -31793,8 +31836,12 @@ function placeholderIn(s) {
31793
31836
  if (env)
31794
31837
  return { name: env[1], before: "", after: "" };
31795
31838
  const i = t.indexOf("${");
31796
- if (i < 0)
31797
- return void 0;
31839
+ if (i < 0) {
31840
+ const at3 = /@([A-Za-z_][A-Za-z0-9_.-]*)@/.exec(t);
31841
+ if (!at3)
31842
+ return void 0;
31843
+ return { name: at3[1], before: t.slice(0, at3.index), after: t.slice(at3.index + at3[0].length) };
31844
+ }
31798
31845
  let depth = 0;
31799
31846
  let j = i + 2;
31800
31847
  for (; j < t.length; j++) {
@@ -36827,7 +36874,7 @@ var QuestionOption = external_exports.strictObject({
36827
36874
  /** What it would change in the result. */
36828
36875
  changes: external_exports.string().trim().min(1)
36829
36876
  });
36830
- var AnswerMatch = external_exports.string().trim().min(1).refine((m) => m.startsWith("/") ? BasePath.safeParse(m.replace(/\/\*\*$/, "")).success : HostPattern.safeParse(m).success, "a match is a host pattern (*.payments.forge.internal) or a path prefix (/forge/limits/**)");
36877
+ var AnswerMatch = external_exports.string().trim().min(1).refine((m) => m === "/**" || (m.startsWith("/") ? BasePath.safeParse(m.replace(/\/\*\*$/, "")).success : HostPattern.safeParse(m).success), "a match is a host pattern (*.payments.forge.internal), a path prefix (/forge/limits/**), or /** for every path");
36831
36878
  var isPathMatch = (m) => m.startsWith("/");
36832
36879
  var QuestionProposalCite = external_exports.strictObject({
36833
36880
  /** The repo the file is in; the question's own when left out. */
@@ -37423,7 +37470,14 @@ var EstateJoins = external_exports.strictObject({
37423
37470
 
37424
37471
  // packages/core/dist/schema/ai.js
37425
37472
  var AI_SCHEMA_VERSION = 1;
37426
- var RuntimeKind = external_exports.enum(["hand-off", "model", "headless-claude-code", "mock", "replay"]);
37473
+ var RuntimeKind = external_exports.enum([
37474
+ "hand-off",
37475
+ "model",
37476
+ "headless-claude-code",
37477
+ "copilot-acp",
37478
+ "mock",
37479
+ "replay"
37480
+ ]);
37427
37481
  var AgentInput = external_exports.union([
37428
37482
  ChangeArtifact,
37429
37483
  external_exports.enum([
@@ -37507,7 +37561,12 @@ var RunState = external_exports.enum([
37507
37561
  "failed",
37508
37562
  "cancelled"
37509
37563
  ]);
37510
- var RUN_SCHEMA_VERSION = 4;
37564
+ var RUN_SCHEMA_VERSION = 5;
37565
+ var RunAssistant = external_exports.strictObject({
37566
+ name: external_exports.string().min(1),
37567
+ version: external_exports.string().min(1).optional(),
37568
+ protocolVersion: external_exports.number().int().min(0).optional()
37569
+ });
37511
37570
  var RunRetrieval = external_exports.strictObject({
37512
37571
  expansion: external_exports.strictObject({
37513
37572
  run: external_exports.string().min(1).optional(),
@@ -37586,13 +37645,15 @@ var RunSummary = external_exports.strictObject({
37586
37645
  * Claude Code was given, or the editor's model a hand-off was answered with (`atticus handoff
37587
37646
  * done --model`). Left out when nothing said which.
37588
37647
  */
37589
- model: external_exports.string().min(1).optional()
37648
+ model: external_exports.string().min(1).optional(),
37649
+ /** The assistant program it talked to (version 5, ADR 0171), when the runtime drives one. */
37650
+ assistant: RunAssistant.optional()
37590
37651
  });
37591
37652
  function migrateRunSummary(raw) {
37592
37653
  if (typeof raw !== "object" || raw === null)
37593
37654
  return raw;
37594
37655
  const r = raw;
37595
- return r.schemaVersion === 1 || r.schemaVersion === 2 || r.schemaVersion === 3 ? { ...r, schemaVersion: RUN_SCHEMA_VERSION } : raw;
37656
+ return r.schemaVersion === 1 || r.schemaVersion === 2 || r.schemaVersion === 3 || r.schemaVersion === 4 ? { ...r, schemaVersion: RUN_SCHEMA_VERSION } : raw;
37596
37657
  }
37597
37658
  var readRunSummary = (raw) => RunSummary.safeParse(migrateRunSummary(raw));
37598
37659
  var Recording = external_exports.strictObject({
@@ -42712,6 +42773,13 @@ function stripMeta(s) {
42712
42773
  import { createHash as createHash5 } from "node:crypto";
42713
42774
  var DECLARED_TOPIC = "declared-topic";
42714
42775
  var short = (s, n = 6) => createHash5("sha256").update(s).digest("hex").slice(0, n);
42776
+ var MAX_RECORD_ID = 120;
42777
+ var fitRecordId = (id) => {
42778
+ if (id.length <= MAX_RECORD_ID)
42779
+ return id;
42780
+ const hash2 = createHash5("sha256").update(id, "utf8").digest("hex").slice(0, 16);
42781
+ return `${id.slice(0, MAX_RECORD_ID - hash2.length - 1).replace(/[-._]+$/, "")}.${hash2}`;
42782
+ };
42715
42783
  var evKey = (e) => `${e.repo ?? ""}|${e.path ?? ""}|${e.line ?? ""}|${e.side ?? ""}|${e.source}`;
42716
42784
  function unionEvidence(...lists) {
42717
42785
  const seen = /* @__PURE__ */ new Map();
@@ -43264,6 +43332,32 @@ function mergeCatalog(input2) {
43264
43332
  out.push(l);
43265
43333
  inOut.add(l);
43266
43334
  }
43335
+ const long = /* @__PURE__ */ new Map();
43336
+ for (const r of out)
43337
+ if (r.id.length > MAX_RECORD_ID)
43338
+ long.set(r.id, fitRecordId(r.id));
43339
+ if (long.size) {
43340
+ const swap = (v) => {
43341
+ if (typeof v === "string") {
43342
+ const exact = long.get(v);
43343
+ if (exact)
43344
+ return exact;
43345
+ if (v.length > MAX_RECORD_ID) {
43346
+ for (const [from, to] of long)
43347
+ if (v.startsWith(`${from}.`))
43348
+ return fitRecordId(to + v.slice(from.length));
43349
+ }
43350
+ return v;
43351
+ }
43352
+ if (Array.isArray(v))
43353
+ return v.map(swap);
43354
+ if (v && typeof v === "object")
43355
+ return Object.fromEntries(Object.entries(v).map(([k, x]) => [k, swap(x)]));
43356
+ return v;
43357
+ };
43358
+ for (let i = 0; i < out.length; i++)
43359
+ out[i] = swap(out[i]);
43360
+ }
43267
43361
  const invalid = [];
43268
43362
  const records = [];
43269
43363
  const seen = /* @__PURE__ */ new Set();
@@ -43716,10 +43810,31 @@ function migrateRuntimeText(text5) {
43716
43810
  const line = /^schemaVersion:[ \t]*1[ \t]*(#.*)?$/m;
43717
43811
  if (line.test(text5))
43718
43812
  return {
43719
- text: text5.replace(line, (_m, c) => `schemaVersion: ${RUNTIME_SCHEMA_VERSION}${c ? ` ${c}` : ""}`),
43813
+ text: text5.replace(line, (_m, c) => `schemaVersion: 2${c ? ` ${c}` : ""}`),
43814
+ changed: true
43815
+ };
43816
+ doc.set("schemaVersion", 2);
43817
+ return { text: doc.toString(), changed: true };
43818
+ }
43819
+ function namesCopilotAcp(doc) {
43820
+ const js = doc.toJS() ?? {};
43821
+ const allowed = Array.isArray(js.modes?.allowed) ? js.modes.allowed : [];
43822
+ return js.copilotAcp !== void 0 || allowed.includes("copilot-acp") || js.modes?.default === "copilot-acp";
43823
+ }
43824
+ function migrateRuntimeV3Text(text5) {
43825
+ const doc = (0, import_yaml13.parseDocument)(text5);
43826
+ if (doc.errors.length || !(0, import_yaml13.isMap)(doc.contents))
43827
+ return { text: text5, changed: false };
43828
+ const v = doc.get("schemaVersion");
43829
+ if (v !== 1 && v !== 2 || !namesCopilotAcp(doc))
43830
+ return { text: text5, changed: false };
43831
+ const line = /^schemaVersion:[ \t]*[12][ \t]*(#.*)?$/m;
43832
+ if (line.test(text5))
43833
+ return {
43834
+ text: text5.replace(line, (_m, c) => `schemaVersion: 3${c ? ` ${c}` : ""}`),
43720
43835
  changed: true
43721
43836
  };
43722
- doc.set("schemaVersion", RUNTIME_SCHEMA_VERSION);
43837
+ doc.set("schemaVersion", 3);
43723
43838
  return { text: doc.toString(), changed: true };
43724
43839
  }
43725
43840
 
@@ -44676,7 +44791,7 @@ function hostRuleCovers(pattern, asked) {
44676
44791
  }
44677
44792
  function ruleProblem(q2, match, label) {
44678
44793
  if (!AnswerMatch.safeParse(match).success)
44679
- return `${match} isn't a rule Atticus reads: give a host pattern (*.payments.forge.internal) or a path prefix (/forge/limits/**).`;
44794
+ return `${match} isn't a rule Atticus reads: give a host pattern (*.payments.forge.internal), a path prefix (/forge/limits/**), or /** for every path of the repo.`;
44680
44795
  if (q2.askedBy.step === TARGETS_STEP_ID) {
44681
44796
  if (label === TARGETS_SPLIT_LABEL)
44682
44797
  return `"${TARGETS_SPLIT_LABEL}" says the calls go to more than one place, so no rule rides on it: pick where the calls go.`;
@@ -44755,7 +44870,7 @@ async function answerQuestion(root, id, a) {
44755
44870
  }
44756
44871
  } else if (host && label && label !== HOSTS_NONE) {
44757
44872
  const listed = match && !isPathMatch(match) ? match : host;
44758
- const basePath = match && isPathMatch(match) ? match.replace(/\/\*\*$/, "") : void 0;
44873
+ const basePath = match && isPathMatch(match) && match !== "/**" ? match.replace(/\/\*\*$/, "") : void 0;
44759
44874
  try {
44760
44875
  hosts = {
44761
44876
  repo: label,
@@ -45927,6 +46042,9 @@ export {
45927
46042
  STEP_CLASSES,
45928
46043
  StepClass,
45929
46044
  RUNTIME_SCHEMA_VERSION,
46045
+ CopilotAcpSettings,
46046
+ COPILOT_ACP_DEFAULTS,
46047
+ copilotAcpOf,
45930
46048
  Runtime,
45931
46049
  stepModelsOf,
45932
46050
  SkillMeta,
@@ -46280,6 +46398,7 @@ export {
46280
46398
  ContextPackManifest,
46281
46399
  RunState,
46282
46400
  RUN_SCHEMA_VERSION,
46401
+ RunAssistant,
46283
46402
  RunRetrieval,
46284
46403
  ToolDefinition,
46285
46404
  ToolCallRecord,
@@ -46324,6 +46443,7 @@ export {
46324
46443
  openApiDocument,
46325
46444
  api_exports,
46326
46445
  DECLARED_TOPIC,
46446
+ fitRecordId,
46327
46447
  endpointId,
46328
46448
  mergeCatalog,
46329
46449
  MESH_KEY,
@@ -46335,6 +46455,7 @@ export {
46335
46455
  migrateChangeTypesText,
46336
46456
  migrateSourcesText,
46337
46457
  migrateRuntimeText,
46458
+ migrateRuntimeV3Text,
46338
46459
  migrateRolesText,
46339
46460
  mapAtOnce,
46340
46461
  readParsedFiles,