nolo-cli 0.149.0-alpha.1 → 0.151.0-alpha.2

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 (258) hide show
  1. package/{_executeModel-OW3H7ICR.js → _executeModel-XHAFJ2MM.js} +134 -91
  2. package/accountResolver-7RYB4D2P.js +300 -0
  3. package/action-SXJD5N5R.js +23 -0
  4. package/{addContentAction-B2DRF7P6.js → addContentAction-ZV774PHH.js} +20 -14
  5. package/{addDialogAgentAction-2P2FLTLD.js → addDialogAgentAction-A6SMKAGH.js} +26 -22
  6. package/{agentDeleteCommand-7IDWF6E3.js → agentDeleteCommand-DPUUS56Z.js} +181 -93
  7. package/{agentEmailCommands-A6XBQZBN.js → agentEmailCommands-V4P5EFLP.js} +132 -112
  8. package/{agentGrantCommands-M3XFO6EN.js → agentGrantCommands-HOJ3JBBQ.js} +3 -3
  9. package/agentListCommands-TWFLUYIZ.js +802 -0
  10. package/{agentMachineCommands-DQPUIMAC.js → agentMachineCommands-MELPAZZI.js} +58 -62
  11. package/{agentProviderCommands-YK2BIIXZ.js → agentProviderCommands-HL6MBLCL.js} +149 -2
  12. package/{agentPullCommand-HF4A42D4.js → agentPullCommand-FA43RBRU.js} +7 -7
  13. package/agentRecordCommands-FSWSSQIO.js +154 -0
  14. package/agentRunCommand-GDBJVOAT.js +183 -0
  15. package/{agentRunControl-2SKCR4SB.js → agentRunControl-IFM7IGMG.js} +10 -2
  16. package/{agentRuntimeLocal-AK2QVJHY.js → agentRuntimeLocal-KKSQJMTE.js} +47 -50
  17. package/{agentSlice-O4RUQUMT.js → agentSlice-YO2ZLJMD.js} +23 -16
  18. package/{appDeleteCommands-N3XEVVYC.js → appDeleteCommands-4PL4KYRN.js} +58 -59
  19. package/{appDeployCommands-AWFIXYVW.js → appDeployCommands-EEEXCEB6.js} +67 -63
  20. package/{appDeployStatusCommands-CZRON2FO.js → appDeployStatusCommands-35ZX7T66.js} +56 -56
  21. package/{appGetCommands-XQIUY4TD.js → appGetCommands-WFCHXJWF.js} +56 -56
  22. package/{appListCommands-NNG4H36Y.js → appListCommands-XY2U6DPF.js} +57 -59
  23. package/{authCommand-UBJ4EWYZ.js → authCommand-QYN47CQD.js} +371 -68
  24. package/{authCommands-H6WKKCRW.js → authCommands-77CHYBGF.js} +12 -9
  25. package/{builtinSkillRegistry-ZMF6YGNO.js → builtinSkillRegistry-TDQ6JB2E.js} +13 -11
  26. package/{chromeCommands-2N6MEWRU.js → chromeCommands-OBBNJCLS.js} +314 -13
  27. package/chromeOpsCommands-3Z34RKSE.js +472 -0
  28. package/{chunk-ALXHV7NK.js → chunk-2GGXHQIW.js} +43 -4
  29. package/{localRuntimeAuthority-5W6IJRAD.js → chunk-2IXDJNZI.js} +154 -75
  30. package/{chunk-IVZJWTDI.js → chunk-36OMEXXR.js} +89 -21
  31. package/{chunk-H6A6X4EK.js → chunk-3MZAGMYY.js} +16 -0
  32. package/chunk-3PVYUPXK.js +40 -0
  33. package/chunk-3SZA4U64.js +1192 -0
  34. package/{chunk-GNMAFAIS.js → chunk-44WXLHFI.js} +1 -1
  35. package/{chunk-AGGIDPCZ.js → chunk-4JH2UMJR.js} +6 -0
  36. package/chunk-4LCOCOR5.js +50 -0
  37. package/chunk-4YRTZIVN.js +871 -0
  38. package/chunk-556RW72X.js +14110 -0
  39. package/{chunk-N7J63Q6C.js → chunk-56GBUMO5.js} +10 -1
  40. package/{chunk-W7XHHYWM.js → chunk-5BHQICF2.js} +5 -1
  41. package/{chunk-XUWRURDF.js → chunk-5EBLANFT.js} +1 -1
  42. package/{chunk-3AH7LNUB.js → chunk-5EMSBTQ6.js} +33 -14
  43. package/{chunk-YRRASA5Q.js → chunk-5MM7NNO6.js} +113 -52
  44. package/chunk-5MMAK75Q.js +15 -0
  45. package/{chunk-M5PVFLD4.js → chunk-64K7WX26.js} +90 -21
  46. package/{chunk-AKG5W4LG.js → chunk-6CCFTVBP.js} +76 -221
  47. package/chunk-6MJNEXUU.js +614 -0
  48. package/{chunk-62IL3KQV.js → chunk-6MXDOUMH.js} +15 -3
  49. package/{chunk-QOKAKDPE.js → chunk-6Q7UTJKR.js} +6 -94
  50. package/chunk-6QDYSCPW.js +223 -0
  51. package/{chunk-HYZIYH2H.js → chunk-74RAWNQN.js} +56 -63
  52. package/chunk-7DPNBQSV.js +9 -0
  53. package/chunk-7MOXKPHC.js +119 -0
  54. package/{chunk-ZUEK6A6C.js → chunk-7XKL25PW.js} +1973 -754
  55. package/{chunk-IAESIMK7.js → chunk-A4MW3YZL.js} +10 -14
  56. package/chunk-AGIM7IMJ.js +147 -0
  57. package/{chunk-7CHC4W22.js → chunk-AIZE5TDM.js} +3 -3
  58. package/{chunk-YAQJJDC2.js → chunk-AOCM7HPT.js} +214 -51
  59. package/{chunk-5GVBDNTO.js → chunk-AU7AXHUL.js} +1 -1
  60. package/{chunk-4H22P2JV.js → chunk-AUIJZACN.js} +2073 -1275
  61. package/{chunk-CIF4X6ZM.js → chunk-AWVFQMOV.js} +25 -3
  62. package/{chunk-RYZINGPM.js → chunk-BPMPOFWP.js} +347 -235
  63. package/{chunk-YUNJN43V.js → chunk-BU2YQBV4.js} +215 -28
  64. package/{chunk-XPRWFQQK.js → chunk-CBHGZRCE.js} +38 -12
  65. package/{chunk-Y3PMXGLH.js → chunk-CHCS6XPJ.js} +365 -144
  66. package/chunk-CHOZJMJS.js +78 -0
  67. package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
  68. package/{chunk-3SV7RM24.js → chunk-D2QN6CTI.js} +117 -72
  69. package/{chunk-5TEEECZM.js → chunk-E2AKSW7L.js} +10 -7
  70. package/{chunk-RSEEDUMS.js → chunk-EDX5XSJM.js} +2 -2
  71. package/{chunk-ATLTFRYJ.js → chunk-ES633ZS5.js} +280 -98
  72. package/{chunk-QDSINZM3.js → chunk-EUGTFFO6.js} +2 -23
  73. package/{chunk-UNYJU5L6.js → chunk-EYLGAEB4.js} +5 -1
  74. package/{chunk-CU3QB4HW.js → chunk-EYWJT7A2.js} +12 -12
  75. package/{chunk-BNGW5ASC.js → chunk-EZVK3N5L.js} +66 -18
  76. package/{chunk-6FGTMQCL.js → chunk-F32Z66T4.js} +6 -10
  77. package/chunk-FJMRBOPO.js +11507 -0
  78. package/{chunk-ZOVKKMF6.js → chunk-FY4SDK2E.js} +1 -1
  79. package/chunk-G6OOUQWJ.js +417 -0
  80. package/{chunk-PQWU42UQ.js → chunk-GCKHQECX.js} +6 -6
  81. package/chunk-GKXCHNTE.js +15 -0
  82. package/{chunk-TXH4IWJL.js → chunk-GQN2WLAI.js} +20 -11
  83. package/{chunk-P6GMCCAT.js → chunk-GQV5KHJU.js} +78 -12
  84. package/{chunk-B2XUQXQX.js → chunk-HIQ4GF53.js} +191 -68
  85. package/{chunk-MST6R3E4.js → chunk-HKX3ULQB.js} +34 -22
  86. package/{chunk-GMZLP5DV.js → chunk-HNUWUO75.js} +30 -19
  87. package/{chunk-5UTFL4QJ.js → chunk-I2ZMGXXF.js} +10 -5
  88. package/chunk-I42VC5KR.js +15 -0
  89. package/{chunk-3BXNTXYI.js → chunk-I4SN4NUQ.js} +1199 -56
  90. package/chunk-IA7TRNNR.js +11 -0
  91. package/{chunk-WIWM4FE3.js → chunk-IJERIUXS.js} +55 -748
  92. package/{chunk-CPUFH46E.js → chunk-ILU2NPWY.js} +10 -10
  93. package/{chunk-SLLGJZDT.js → chunk-ISQL4V7C.js} +4 -4
  94. package/chunk-IT3ZZRJE.js +12 -0
  95. package/{chunk-TZZ2WRBL.js → chunk-IZ7OJB6K.js} +20 -16
  96. package/{chunk-DY7ANLKG.js → chunk-JKMLSTZK.js} +43 -12
  97. package/{chunk-6TPOEJMQ.js → chunk-JZX2XLKC.js} +64 -23
  98. package/{chunk-27ONFIEY.js → chunk-K2AER7RX.js} +19 -12
  99. package/{chunk-O2OWEFII.js → chunk-KFHQQ3NO.js} +1 -1
  100. package/{chunk-QXGPFY6J.js → chunk-LGN377P3.js} +27 -17
  101. package/{chunk-L36OWPP3.js → chunk-LIQJTQRN.js} +118 -139
  102. package/{chunk-UASIEDKM.js → chunk-LTRUTOHX.js} +36 -31
  103. package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
  104. package/{chunk-5J3PYNUP.js → chunk-NYYFIKHI.js} +17 -3
  105. package/{chunk-6O4IK4V2.js → chunk-OFFL4DCR.js} +1 -1
  106. package/{chunk-B6SAMB33.js → chunk-OWYYDMGJ.js} +209 -9
  107. package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
  108. package/{chunk-CTUQJVQM.js → chunk-P5QACQDK.js} +1 -1
  109. package/{chunk-DXHL7G2L.js → chunk-PCKVQXYV.js} +274 -93
  110. package/{chunk-4JMDLJAD.js → chunk-PJNFNEJE.js} +114 -37
  111. package/{chunk-Z4CSIXYP.js → chunk-PLSVXHSA.js} +3 -3
  112. package/{chunk-BIDGLJQ3.js → chunk-PLXDDGBK.js} +45 -8
  113. package/chunk-PWTNI4N7.js +47 -0
  114. package/chunk-QFEW2ULV.js +42 -0
  115. package/{chunk-RGNEEJ3Y.js → chunk-QLQ573SU.js} +35 -9
  116. package/chunk-QQ56R7KS.js +88 -0
  117. package/chunk-QYPE3TS3.js +43 -0
  118. package/{chunk-4DPP773Q.js → chunk-RSHPU4PD.js} +59 -11
  119. package/chunk-RVWMAFIT.js +134 -0
  120. package/{chunk-ESHYE7WU.js → chunk-S73EPYNC.js} +10 -7
  121. package/{chunk-UQNS32WZ.js → chunk-SCMHQUMK.js} +1 -1
  122. package/{chunk-HTVYCXBP.js → chunk-SMENBO3M.js} +354 -120
  123. package/{chunk-OMRJYNCI.js → chunk-SSFDFOVT.js} +26 -31
  124. package/chunk-SW4S4XYB.js +1794 -0
  125. package/{chunk-TB3MIBRC.js → chunk-T6X3D7NB.js} +572 -430
  126. package/chunk-TY3TIUJK.js +89 -0
  127. package/{chunk-X2QRZXZH.js → chunk-TYJ5XFEA.js} +4 -4
  128. package/{chunk-ALFH24P3.js → chunk-TYYRSFBG.js} +197 -155
  129. package/{chunk-7KVZ5LDQ.js → chunk-UBUH2TCC.js} +18 -4
  130. package/chunk-UEILX4EV.js +15 -0
  131. package/chunk-UHTDNB5Y.js +140 -0
  132. package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
  133. package/{chunk-OHOVNO7I.js → chunk-UOKFKFPO.js} +6 -3
  134. package/{chunk-XISEYOGH.js → chunk-USHQX6VT.js} +5 -5
  135. package/chunk-UUPR3TD7.js +53 -0
  136. package/{chunk-HDLLCBRF.js → chunk-VEA7H5FG.js} +2 -2
  137. package/chunk-VHGD6FHV.js +116 -0
  138. package/chunk-VIWDGTDA.js +8 -0
  139. package/{chunk-GOH6RW6F.js → chunk-VJXHL6MH.js} +34 -11
  140. package/{chunk-4XEYAFLY.js → chunk-VL5KOY2C.js} +623 -94
  141. package/{chunk-EADNWBAZ.js → chunk-VP3BINY7.js} +13 -0
  142. package/{chunk-EOARMOVD.js → chunk-W4S6OTSC.js} +6 -3
  143. package/chunk-WD4XYDYC.js +567 -0
  144. package/chunk-WJZOQR2J.js +151 -0
  145. package/{chunk-AUDNYVRC.js → chunk-XETG4RIX.js} +5 -5
  146. package/{chunk-MX574M24.js → chunk-XI7DGLUK.js} +4 -4
  147. package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
  148. package/chunk-XRUSXPCQ.js +514 -0
  149. package/{chunk-I4OPU5TK.js → chunk-XS47QOFV.js} +273 -11
  150. package/{chunk-S5XGT6GB.js → chunk-XZNCX52W.js} +30 -9
  151. package/{chunk-ID7LNBWR.js → chunk-Y2DXOPSO.js} +1920 -644
  152. package/{chunk-5OA5HMTL.js → chunk-YLMMECCH.js} +1 -1
  153. package/{chunk-CFT5HBGW.js → chunk-YVLQXTUB.js} +448 -12
  154. package/chunk-YVPQATSC.js +709 -0
  155. package/{chunk-3DAVPNFT.js → chunk-Z7OJUX6S.js} +122 -107
  156. package/chunk-ZEZC7IIM.js +126 -0
  157. package/{chunk-ALGORS6Y.js → chunk-ZF6526IQ.js} +43 -8
  158. package/chunk-ZIWPQEFU.js +165 -0
  159. package/chunk-ZKZ5X2HS.js +7012 -0
  160. package/chunk-ZRAU6T47.js +56 -0
  161. package/{cliExecutor-AWYR3T33.js → cliExecutor-BWBF2MTI.js} +4 -3
  162. package/{clipboardy-BX4NMYHE.js → clipboardy-GCO3GT3I.js} +3 -8
  163. package/{commandRegistry-2KBOXZQC.js → commandRegistry-XN7C5GHO.js} +183 -107
  164. package/contentThunks-5L7YQI3S.js +84 -0
  165. package/{cooldownCommands-ZLEPIB4A.js → cooldownCommands-JFKTYS2D.js} +2 -2
  166. package/{createAgentAutomationAction-5UGTB26P.js → createAgentAutomationAction-QOPOLCRK.js} +53 -44
  167. package/createDialogAction-MZ66VY5Q.js +76 -0
  168. package/{createPageAction-CDLDKPRM.js → createPageAction-VQDJIXMY.js} +65 -54
  169. package/cursorProvider-YGGNMVWX.js +6123 -0
  170. package/{db-VQSAOWAO.js → db-2QOTXYGH.js} +11 -5
  171. package/{dbSlice-DQ32LYTJ.js → dbSlice-J37OGIXH.js} +19 -13
  172. package/{deleteFile-NX6QHCWZ.js → deleteFile-6JWDDRVP.js} +10 -6
  173. package/dialogCommands-YZLSJB6X.js +113 -0
  174. package/{dialogSlice-N3YB65G5.js → dialogSlice-6RODVYCK.js} +53 -39
  175. package/{docCreateCommands-ZSLGVBZT.js → docCreateCommands-JB2RRMRJ.js} +54 -57
  176. package/{docDeleteCommands-5N4GVZBG.js → docDeleteCommands-AQENULNM.js} +56 -58
  177. package/{docReadCommands-YJSAA7AV.js → docReadCommands-DYD25YLQ.js} +53 -56
  178. package/{docStore-E3CEOV5Q.js → docStore-ZZA3OPM5.js} +25 -16
  179. package/{docUpdateCommands-WEMLSW6W.js → docUpdateCommands-3GVS23QL.js} +54 -57
  180. package/{fetchMessages-67MEFPZR.js → fetchMessages-IIJWQ3HR.js} +5 -4
  181. package/{getPricing-NMMFT3YI.js → getPricing-FKK3F5EJ.js} +11 -9
  182. package/{handleSendMessageAction-DQAD5ERJ.js → handleSendMessageAction-DVG5U26T.js} +422 -118
  183. package/index.js +11 -7
  184. package/{lib-FRRS27KN.js → lib-4YTWAGY7.js} +581 -248
  185. package/{localDialogRead-EBRS242U.js → localDialogRead-FSOMOPDZ.js} +2 -2
  186. package/localRuntimeAdapter-HXRHFKRC.js +244 -0
  187. package/localRuntimeAuthority-JDAD7CB6.js +16 -0
  188. package/{localRuntimeDb-3LRMNLCM.js → localRuntimeDb-CVC62PM5.js} +1 -1
  189. package/{machineCommands-HAP75VSG.js → machineCommands-5KBF4RCC.js} +503 -161
  190. package/{machineInfo-66ZFUMLE.js → machineInfo-UKPTZO5Y.js} +2 -2
  191. package/machineWsRunDispatch-4OQDEDOR.js +169 -0
  192. package/{memberThunks-5ZXPR63F.js → memberThunks-66DH6ABQ.js} +25 -18
  193. package/{models-ZPU5EDF4.js → models-LAS4B2B5.js} +2 -2
  194. package/package.json +1 -1
  195. package/{providerPresetApply-DD6NGWW6.js → providerPresetApply-MY66I6NT.js} +10 -10
  196. package/{providerRegistry-XDRLMYGJ.js → providerRegistry-QOE2FT57.js} +13 -9
  197. package/{read-EPTJRAEF.js → read-DC4NUGN6.js} +12 -8
  198. package/{readDocTool-W4NDXNEX.js → readDocTool-NCJ5NT25.js} +1 -1
  199. package/{readlineWorkspace-7BC66QSX.js → readlineWorkspace-RIE62QVZ.js} +5022 -921
  200. package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
  201. package/{runAgentClientLoop-6E6UC3CE.js → runAgentClientLoop-KLUUXBZS.js} +154 -97
  202. package/{runtimeDoctorCommands-ID23PNNZ.js → runtimeDoctorCommands-GIOGC5SC.js} +17 -17
  203. package/secretCommands-ZXZRLR3R.js +700 -0
  204. package/setDialogExtraReferencesAction-SITRPMYU.js +37 -0
  205. package/{setPrimaryDialogAgentAction-WZ7KI3YA.js → setPrimaryDialogAgentAction-U7N45TGC.js} +30 -29
  206. package/{chunk-SONWNI3L.js → settingThunks-Y7SVJOMZ.js} +223 -928
  207. package/{skillDiscovery-ZBU76COE.js → skillDiscovery-QC35EQY4.js} +2 -2
  208. package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
  209. package/{spaceCommands-UJOVU4XI.js → spaceCommands-ZR5BR3GX.js} +59 -59
  210. package/{streamAgentChatTurn-3UXPYFNX.js → streamAgentChatTurn-MN2SSPGA.js} +309 -165
  211. package/{switchDialogAgentAction-GMR7WN3P.js → switchDialogAgentAction-OMGBD3N2.js} +26 -22
  212. package/{tableCommands-G7RV3RU3.js → tableCommands-U3QDY4L6.js} +19 -17
  213. package/{toolApiClient-CVGWM4PN.js → toolApiClient-7WSJJJBV.js} +6 -5
  214. package/tools-W2MOLERY.js +124 -0
  215. package/tuiSummaryLlmCaller-BM3VSTBU.js +130 -0
  216. package/{updateCommands-4EHDLF5J.js → updateCommands-NQXAGFM7.js} +3 -3
  217. package/{updateDialogTitleAction-UPFV7TDT.js → updateDialogTitleAction-Z4JX6REN.js} +102 -57
  218. package/workloadLifecycle-36DXRZKU.js +320 -0
  219. package/action-GI44T4DR.js +0 -31
  220. package/agentListCommands-IW3GQVUP.js +0 -427
  221. package/agentRecordCommands-VCA76W6B.js +0 -134
  222. package/agentRunCommand-YNLDKVR7.js +0 -161
  223. package/browser-image-compression-MFDTD7K6.js +0 -1763
  224. package/chatQueueReduxAdapter-TJRMXMYA.js +0 -186
  225. package/chromeOpsCommands-IXRLN57H.js +0 -289
  226. package/chunk-36KZDDO5.js +0 -2415
  227. package/chunk-ACQD6YI2.js +0 -25363
  228. package/chunk-CQ3WA2NE.js +0 -299
  229. package/chunk-CYSYR67N.js +0 -93
  230. package/chunk-JBTJAPUF.js +0 -35
  231. package/chunk-K2CSUCHJ.js +0 -620
  232. package/chunk-LTRXGFMS.js +0 -83
  233. package/chunk-M76ECQRD.js +0 -13658
  234. package/chunk-MEYIRKDN.js +0 -8967
  235. package/chunk-OCZKATRC.js +0 -129
  236. package/chunk-OTGFTBLI.js +0 -13
  237. package/chunk-PUOC4YRO.js +0 -394
  238. package/chunk-PZZTFEKK.js +0 -34
  239. package/chunk-URMS4XY2.js +0 -10
  240. package/chunk-UV6VISQJ.js +0 -20
  241. package/chunk-VJVNU77E.js +0 -83
  242. package/chunk-XYJSY4KG.js +0 -13807
  243. package/chunk-Y5GCAMGP.js +0 -9
  244. package/chunk-YPREESF4.js +0 -225
  245. package/contentThunks-BDIQRZR6.js +0 -73
  246. package/createDialogAction-B7VGVEVU.js +0 -66
  247. package/dialogCommands-G7YBVAMC.js +0 -102
  248. package/levelLazyShim-GZBKODGI.js +0 -7
  249. package/machineWsRunDispatch-L32G7C4P.js +0 -149
  250. package/serverStoreFactory-YMXDF4NI.js +0 -20
  251. package/setDialogExtraReferencesAction-M32UYNCG.js +0 -30
  252. package/settingSlice-Q6EKL7EQ.js +0 -204
  253. package/syncMapping-N6RGXGBW.js +0 -437
  254. package/tools-MKYDMWA4.js +0 -111
  255. package/tuiSummaryLlmCaller-3YFNHCTW.js +0 -128
  256. package/{chunk-SV5IJK6K.js → chunk-NBTY7YJF.js} +3 -3
  257. package/{chunk-2SYTUTLI.js → chunk-YBNHPX4S.js} +3 -3
  258. package/{offlineMarxistsAgentCommand-HGXZV4XJ.js → offlineMarxistsAgentCommand-2QTHJCHV.js} +4 -4
@@ -11,17 +11,7 @@ import {
11
11
  getAntigravityUserAgent,
12
12
  normalizeAntigravityTokenPayload,
13
13
  refreshAntigravityToken
14
- } from "./chunk-S5XGT6GB.js";
15
- import {
16
- toErrorMessage
17
- } from "./chunk-HNMXYYJR.js";
18
- import {
19
- writeOAuthCredential
20
- } from "./chunk-ZWQUWF6W.js";
21
- import {
22
- buildEnvFromProfile,
23
- loadProfileConfig
24
- } from "./chunk-TNIX77YM.js";
14
+ } from "./chunk-XZNCX52W.js";
25
15
  import {
26
16
  asOptionalFiniteNumber
27
17
  } from "./chunk-WWC7I6TA.js";
@@ -31,6 +21,16 @@ import {
31
21
  import {
32
22
  asTrimmedString
33
23
  } from "./chunk-3EUW3WEO.js";
24
+ import {
25
+ toErrorMessage
26
+ } from "./chunk-HNMXYYJR.js";
27
+ import {
28
+ buildEnvFromProfile,
29
+ loadProfileConfig
30
+ } from "./chunk-TNIX77YM.js";
31
+ import {
32
+ writeOAuthCredential
33
+ } from "./chunk-ZWQUWF6W.js";
34
34
 
35
35
  // packages/cli/oauth/callback-server.ts
36
36
  import { createServer } from "node:http";
@@ -868,6 +868,257 @@ function resolveServerSyncConfig() {
868
868
  return null;
869
869
  }
870
870
 
871
+ // packages/agent-runtime/workbuddyOAuth.ts
872
+ var WORKBUDDY_APP_VERSION = "2.0.0";
873
+ var WORKBUDDY_UA_VERSION = "5.5.6";
874
+ var WORKBUDDY_POLL_INTERVAL_MS = 1e3;
875
+ var WORKBUDDY_SIGN_IN_TIMEOUT_MS = 5 * 60 * 1e3;
876
+ var WORKBUDDY_EARLY_REFRESH_SKEW_MS = 60 * 1e3;
877
+ var WORKBUDDY_KEEP_RENEWED_MS = 60 * 1e3;
878
+ var WORKBUDDY_REQUEST_TIMEOUT_MS = 3e4;
879
+ var WORKBUDDY_SITES = {
880
+ workbuddy: {
881
+ id: "workbuddy",
882
+ name: "WorkBuddy",
883
+ endpoint: "https://copilot.tencent.com",
884
+ authId: "workbuddy-desktop",
885
+ platform: "workbuddy",
886
+ ai: false
887
+ },
888
+ "workbuddy-ai": {
889
+ id: "workbuddy-ai",
890
+ name: "WorkBuddy AI",
891
+ endpoint: "https://www.workbuddy.ai",
892
+ authId: "workbuddy-desktop-ai",
893
+ platform: "workbuddy-ai",
894
+ ai: true
895
+ }
896
+ };
897
+ function getWorkBuddySite(site) {
898
+ if (site === "workbuddy" || site === "workbuddy-ai") {
899
+ return WORKBUDDY_SITES[site];
900
+ }
901
+ throw new Error(`Unknown WorkBuddy site: "${String(site)}". Expected "workbuddy" or "workbuddy-ai".`);
902
+ }
903
+ function sanitizeWorkBuddyError(message) {
904
+ return message.replace(/Bearer\s+[A-Za-z0-9._~+/-]+=*/gi, "Bearer [REDACTED]").replace(/([?&]|\b)(state|token|accessToken|refreshToken)=[^&\s]+/gi, "$1$2=[REDACTED]").replace(/(["']?(?:accessToken|refreshToken|state|token)["']?\s*:\s*["'])[^"']+["']/gi, '$1[REDACTED]"');
905
+ }
906
+ function sanitizeWorkBuddyDomain(rawDomain, defaultHost) {
907
+ if (typeof rawDomain !== "string" || !rawDomain.trim()) {
908
+ return defaultHost;
909
+ }
910
+ let domain = rawDomain.trim();
911
+ if (domain.startsWith("https://") || domain.startsWith("http://")) {
912
+ try {
913
+ domain = new URL(domain).host;
914
+ } catch {
915
+ return defaultHost;
916
+ }
917
+ }
918
+ const slashIdx = domain.indexOf("/");
919
+ if (slashIdx !== -1) domain = domain.slice(0, slashIdx);
920
+ const qIdx = domain.indexOf("?");
921
+ if (qIdx !== -1) domain = domain.slice(0, qIdx);
922
+ if (!/^[a-zA-Z0-9.-]+(?::[0-9]+)?$/.test(domain)) {
923
+ return defaultHost;
924
+ }
925
+ return domain;
926
+ }
927
+ function normalizeWorkBuddyTokenPayload(siteOrArgs, payloadArg, baseCredentialArg, nowArg) {
928
+ let site;
929
+ let payload;
930
+ let baseCredential;
931
+ let now;
932
+ if (typeof siteOrArgs === "object" && siteOrArgs !== null && "site" in siteOrArgs) {
933
+ site = siteOrArgs.site;
934
+ payload = siteOrArgs.payload ?? {};
935
+ baseCredential = siteOrArgs.baseCredential;
936
+ now = siteOrArgs.now ?? Date.now();
937
+ } else {
938
+ site = siteOrArgs;
939
+ payload = payloadArg ?? {};
940
+ baseCredential = baseCredentialArg;
941
+ now = nowArg ?? Date.now();
942
+ }
943
+ const siteConfig = getWorkBuddySite(site);
944
+ if (typeof payload.accessToken !== "string" || !payload.accessToken.trim()) {
945
+ throw new Error("WorkBuddy token response missing accessToken");
946
+ }
947
+ const accessToken = payload.accessToken.trim();
948
+ let expiresAt;
949
+ const rawExpiresAt = Number(payload.expiresAt);
950
+ const rawExpiresIn = Number(payload.expiresIn);
951
+ if (Number.isFinite(rawExpiresAt) && rawExpiresAt > 0) {
952
+ expiresAt = rawExpiresAt;
953
+ } else if (Number.isFinite(rawExpiresIn) && rawExpiresIn > 0) {
954
+ expiresAt = now + rawExpiresIn * 1e3;
955
+ } else if (typeof baseCredential?.expiresAt === "number") {
956
+ expiresAt = baseCredential.expiresAt;
957
+ } else {
958
+ expiresAt = now + 3600 * 1e3;
959
+ }
960
+ let refreshExpiresAt;
961
+ const rawRefExpAt = Number(payload.refreshExpiresAt);
962
+ const rawRefExpIn = Number(payload.refreshExpiresIn);
963
+ if (Number.isFinite(rawRefExpAt) && rawRefExpAt > 0) {
964
+ refreshExpiresAt = rawRefExpAt;
965
+ } else if (Number.isFinite(rawRefExpIn) && rawRefExpIn > 0) {
966
+ refreshExpiresAt = now + rawRefExpIn * 1e3;
967
+ } else if (typeof baseCredential?.metadata?.refreshExpiresAt === "number") {
968
+ refreshExpiresAt = baseCredential.metadata.refreshExpiresAt;
969
+ }
970
+ const refreshToken = typeof payload.refreshToken === "string" && payload.refreshToken.trim() ? payload.refreshToken.trim() : baseCredential?.refreshToken;
971
+ const uid = typeof payload.uid === "string" && payload.uid.trim() ? payload.uid.trim() : typeof baseCredential?.metadata?.uid === "string" && baseCredential.metadata.uid.trim() ? baseCredential.metadata.uid.trim() : baseCredential?.accountId ?? "";
972
+ const defaultHost = new URL(siteConfig.endpoint).host;
973
+ const domain = sanitizeWorkBuddyDomain(
974
+ payload.domain ?? baseCredential?.metadata?.domain,
975
+ defaultHost
976
+ );
977
+ const rawEnterpriseId = typeof payload.enterpriseId === "string" ? payload.enterpriseId : typeof baseCredential?.metadata?.enterpriseId === "string" ? baseCredential.metadata.enterpriseId : "";
978
+ const enterpriseId = rawEnterpriseId.trim();
979
+ const nickname = typeof payload.nickname === "string" && payload.nickname.trim() ? payload.nickname.trim() : typeof payload.phoneNumber === "string" && payload.phoneNumber.trim() ? payload.phoneNumber.trim() : typeof baseCredential?.metadata?.nickname === "string" ? baseCredential.metadata.nickname : void 0;
980
+ return {
981
+ ...baseCredential ?? {},
982
+ provider: site,
983
+ accessToken,
984
+ ...refreshToken ? { refreshToken } : {},
985
+ expiresAt,
986
+ obtainedAt: now,
987
+ accountId: uid || nickname || siteConfig.name,
988
+ metadata: {
989
+ site,
990
+ uid,
991
+ domain,
992
+ ...enterpriseId ? { enterpriseId } : {},
993
+ ...refreshExpiresAt ? { refreshExpiresAt } : {},
994
+ ...nickname ? { nickname } : {}
995
+ }
996
+ };
997
+ }
998
+ var renewing = /* @__PURE__ */ new Map();
999
+ var renewed = /* @__PURE__ */ new Map();
1000
+ function getWorkBuddyRefreshKey(site, credential) {
1001
+ const accountOrUid = credential.accountId || credential.metadata?.uid || "";
1002
+ const token = credential.refreshToken || "";
1003
+ return `${site}
1004
+ ${accountOrUid}
1005
+ ${token}`;
1006
+ }
1007
+ async function refreshWorkBuddyToken(credential, deps = {}) {
1008
+ if (!credential.refreshToken) {
1009
+ throw new Error("WorkBuddy credential has no refresh_token");
1010
+ }
1011
+ const now = deps.now?.() ?? Date.now();
1012
+ const refreshExpiresAt = credential.metadata?.refreshExpiresAt;
1013
+ if (typeof refreshExpiresAt === "number" && now >= refreshExpiresAt) {
1014
+ throw new Error("this WorkBuddy account is signed out; sign in again");
1015
+ }
1016
+ const site = credential.metadata?.site === "workbuddy-ai" || credential.provider === "workbuddy-ai" ? "workbuddy-ai" : "workbuddy";
1017
+ const siteConfig = getWorkBuddySite(site);
1018
+ const key = getWorkBuddyRefreshKey(site, credential);
1019
+ const cached = renewed.get(key);
1020
+ if (cached && now - cached.at < WORKBUDDY_KEEP_RENEWED_MS) {
1021
+ return cached.credential;
1022
+ }
1023
+ const inflight = renewing.get(key);
1024
+ if (inflight) {
1025
+ return inflight;
1026
+ }
1027
+ const fetchImpl = deps.fetchImpl ?? fetch;
1028
+ const refreshPromise = (async () => {
1029
+ const defaultHost = new URL(siteConfig.endpoint).host;
1030
+ const domain = sanitizeWorkBuddyDomain(credential.metadata?.domain, defaultHost);
1031
+ const enterpriseId = typeof credential.metadata?.enterpriseId === "string" ? credential.metadata.enterpriseId.trim() : "";
1032
+ const headers = {
1033
+ "Content-Type": "application/json",
1034
+ Accept: "application/json",
1035
+ "User-Agent": `WorkBuddy/${WORKBUDDY_UA_VERSION}`,
1036
+ "X-Refresh-Token": credential.refreshToken,
1037
+ "X-Auth-Refresh-Source": "plugin",
1038
+ "X-Domain": domain,
1039
+ ...enterpriseId ? { "X-Enterprise-Id": enterpriseId, "X-Tenant-Id": enterpriseId } : {}
1040
+ };
1041
+ let response;
1042
+ try {
1043
+ response = await fetchImpl(`${siteConfig.endpoint}/v2/plugin/auth/token/refresh`, {
1044
+ method: "POST",
1045
+ headers,
1046
+ body: "{}",
1047
+ signal: AbortSignal.timeout(WORKBUDDY_REQUEST_TIMEOUT_MS)
1048
+ });
1049
+ } catch (error) {
1050
+ throw new Error(sanitizeWorkBuddyError(`WorkBuddy token refresh failed: ${toErrorMessage(error)}`));
1051
+ }
1052
+ let text = "";
1053
+ try {
1054
+ text = await response.text();
1055
+ } catch {
1056
+ }
1057
+ let env = {};
1058
+ try {
1059
+ env = JSON.parse(text);
1060
+ } catch {
1061
+ }
1062
+ const code = typeof env.code === "number" ? env.code : Number.parseInt(String(env.code ?? ""), 10) || 0;
1063
+ if (!response.ok) {
1064
+ const why = String(env.msg || env.message || text.slice(0, 200) || response.statusText);
1065
+ throw new Error(
1066
+ sanitizeWorkBuddyError(
1067
+ `${siteConfig.name} token refresh failed: ${why} (HTTP ${response.status}${code ? `, code ${code}` : ""})`
1068
+ )
1069
+ );
1070
+ }
1071
+ if (code !== 0) {
1072
+ const why = String(env.msg || env.message || "error");
1073
+ throw new Error(
1074
+ sanitizeWorkBuddyError(`${siteConfig.name} token refresh failed: ${why} (${code})`)
1075
+ );
1076
+ }
1077
+ const data = env.data && typeof env.data === "object" ? env.data : env;
1078
+ if (typeof data.accessToken !== "string" || !data.accessToken.trim()) {
1079
+ throw new Error("WorkBuddy gave no refreshed token");
1080
+ }
1081
+ const nextCredential = normalizeWorkBuddyTokenPayload(site, data, credential, now);
1082
+ renewed.set(key, { credential: nextCredential, at: now });
1083
+ return nextCredential;
1084
+ })().finally(() => {
1085
+ renewing.delete(key);
1086
+ });
1087
+ renewing.set(key, refreshPromise);
1088
+ return refreshPromise;
1089
+ }
1090
+ var workbuddyRefresh = refreshWorkBuddyToken;
1091
+ function getWorkBuddyHeaders(credential) {
1092
+ const site = credential.metadata?.site === "workbuddy-ai" || credential.provider === "workbuddy-ai" ? "workbuddy-ai" : "workbuddy";
1093
+ const siteConfig = getWorkBuddySite(site);
1094
+ const defaultHost = new URL(siteConfig.endpoint).host;
1095
+ const domain = sanitizeWorkBuddyDomain(credential.metadata?.domain, defaultHost);
1096
+ const uid = typeof credential.metadata?.uid === "string" ? credential.metadata.uid.trim() : credential.accountId ?? "";
1097
+ const rawEnterpriseId = typeof credential.metadata?.enterpriseId === "string" ? credential.metadata.enterpriseId.trim() : "";
1098
+ const headers = {
1099
+ Authorization: `Bearer ${credential.accessToken}`,
1100
+ "X-User-Id": uid,
1101
+ "X-Domain": domain,
1102
+ "X-Product": "SaaS",
1103
+ "X-IDE-Type": "WorkBuddy",
1104
+ "User-Agent": `WorkBuddy/${WORKBUDDY_UA_VERSION}`,
1105
+ "X-Requested-With": "XMLHttpRequest",
1106
+ "X-Agent-Intent": "craft",
1107
+ "X-Agent-Purpose": "conversation",
1108
+ "X-IDE-Name": "WorkBuddy",
1109
+ "X-IDE-Version": WORKBUDDY_UA_VERSION
1110
+ };
1111
+ if (rawEnterpriseId) {
1112
+ const cleanEnterpriseId = rawEnterpriseId.replace(/[\r\n]/g, "");
1113
+ headers["X-Enterprise-Id"] = cleanEnterpriseId;
1114
+ headers["X-Tenant-Id"] = cleanEnterpriseId;
1115
+ }
1116
+ if (siteConfig.ai) {
1117
+ headers["X-Agent-Type"] = "main";
1118
+ }
1119
+ return headers;
1120
+ }
1121
+
871
1122
  // packages/agent-runtime/xaiOAuth.ts
872
1123
  var XAI_OAUTH_ISSUER = "https://auth.x.ai";
873
1124
  var XAI_OAUTH_DISCOVERY_URL = `${XAI_OAUTH_ISSUER}/.well-known/openid-configuration`;
@@ -1246,6 +1497,17 @@ async function refreshCursorToken(credential, deps = {}) {
1246
1497
  var cursorRefresh = refreshCursorToken;
1247
1498
 
1248
1499
  export {
1500
+ WORKBUDDY_APP_VERSION,
1501
+ WORKBUDDY_UA_VERSION,
1502
+ WORKBUDDY_POLL_INTERVAL_MS,
1503
+ WORKBUDDY_SIGN_IN_TIMEOUT_MS,
1504
+ WORKBUDDY_REQUEST_TIMEOUT_MS,
1505
+ getWorkBuddySite,
1506
+ sanitizeWorkBuddyError,
1507
+ sanitizeWorkBuddyDomain,
1508
+ normalizeWorkBuddyTokenPayload,
1509
+ workbuddyRefresh,
1510
+ getWorkBuddyHeaders,
1249
1511
  startCallbackServer,
1250
1512
  runAntigravityOAuthLogin,
1251
1513
  refreshAntigravityOAuthToken,
@@ -1,18 +1,18 @@
1
+ import {
2
+ asOptionalFiniteNumber
3
+ } from "./chunk-WWC7I6TA.js";
1
4
  import {
2
5
  trimTrailingSlash
3
- } from "./chunk-27ONFIEY.js";
6
+ } from "./chunk-K2AER7RX.js";
4
7
  import {
5
8
  toErrorMessage
6
9
  } from "./chunk-HNMXYYJR.js";
7
10
  import {
8
- asOptionalFiniteNumber
9
- } from "./chunk-WWC7I6TA.js";
11
+ asOptionalTrimmedString
12
+ } from "./chunk-G3SUCT4W.js";
10
13
  import {
11
14
  asTrimmedLowercaseString
12
15
  } from "./chunk-QSJ3HFEF.js";
13
- import {
14
- asOptionalTrimmedString
15
- } from "./chunk-G3SUCT4W.js";
16
16
 
17
17
  // packages/agent-runtime/antigravityOAuth.ts
18
18
  var decodeBase64 = (s) => typeof Buffer !== "undefined" ? Buffer.from(s, "base64").toString("utf8") : typeof atob === "function" ? atob(s) : s;
@@ -39,9 +39,27 @@ var ANTIGRAVITY_ACCESS_TOKEN_CLIENT_SKEW_MS = 5 * 60 * 1e3;
39
39
  var ANTIGRAVITY_TOKEN_REQUEST_TIMEOUT_MS = 3e4;
40
40
  var ANTIGRAVITY_CLOUD_CODE_BASE_URL = "https://daily-cloudcode-pa.googleapis.com";
41
41
  var ANTIGRAVITY_CLOUD_CODE_HOST = "cloudcode-pa.googleapis.com";
42
+ var ANTIGRAVITY_CLOUD_CODE_HOSTS = [
43
+ ANTIGRAVITY_CLOUD_CODE_HOST,
44
+ "daily-cloudcode-pa.googleapis.com"
45
+ ];
46
+ function isAntigravityCloudCodeHostname(rawHost) {
47
+ const hostname = asTrimmedLowercaseString(rawHost ?? "").replace(/\.+$/, "");
48
+ if (!hostname) return false;
49
+ return ANTIGRAVITY_CLOUD_CODE_HOSTS.includes(hostname);
50
+ }
51
+ function isAntigravityCloudCodeBaseUrl(raw) {
52
+ const value = typeof raw === "string" ? raw.trim() : "";
53
+ if (!value) return false;
54
+ try {
55
+ return isAntigravityCloudCodeHostname(new URL(value).hostname);
56
+ } catch {
57
+ return false;
58
+ }
59
+ }
42
60
  var ANTIGRAVITY_LEGACY_GENERIC_BASE_RE = /^https?:\/\/cloudcode-pa\.googleapis\.com$/i;
43
61
  function getAntigravityUserAgent() {
44
- const version = process.env.NOLO_ANTIGRAVITY_VERSION || "2.18.1";
62
+ const version = process.env.NOLO_ANTIGRAVITY_VERSION || "2.23.1";
45
63
  const os = process.platform === "win32" ? "windows" : process.platform;
46
64
  const arch = process.arch === "x64" ? "amd64" : process.arch === "ia32" ? "386" : process.arch;
47
65
  return `antigravity/hub/${version} ${os}/${arch}`;
@@ -50,7 +68,7 @@ function resolveAntigravityCloudCodeBaseUrl(customProviderUrl) {
50
68
  const raw = (customProviderUrl ?? "").trim();
51
69
  if (!raw) return ANTIGRAVITY_CLOUD_CODE_BASE_URL;
52
70
  const trimmed = trimTrailingSlash(raw);
53
- if (trimmed.includes(ANTIGRAVITY_CLOUD_CODE_HOST)) {
71
+ if (isAntigravityCloudCodeBaseUrl(trimmed)) {
54
72
  const base = trimmed.replace(/\/v1internal:.*$/i, "").replace(/\/$/, "");
55
73
  if (ANTIGRAVITY_LEGACY_GENERIC_BASE_RE.test(base)) {
56
74
  return ANTIGRAVITY_CLOUD_CODE_BASE_URL;
@@ -64,7 +82,9 @@ function isAntigravityOAuthAgent(agentConfig) {
64
82
  const apiKeyRef = asTrimmedLowercaseString(agentConfig.apiKeyRef);
65
83
  const provider = asTrimmedLowercaseString(agentConfig.provider);
66
84
  const url = asTrimmedLowercaseString(agentConfig.customProviderUrl);
67
- return apiKeyRef === "antigravity" || provider === "google-antigravity" || url.includes(ANTIGRAVITY_CLOUD_CODE_HOST);
85
+ return apiKeyRef === "antigravity" || provider === "google-antigravity" || // 只看解析后的 hostname(同 resolver):后缀 host / userinfo / path 里的官方串
86
+ // 都不构成 antigravity 身份。
87
+ isAntigravityCloudCodeBaseUrl(url);
68
88
  }
69
89
  function readAntigravityProjectId(metadata) {
70
90
  return asOptionalTrimmedString(metadata?.projectId);
@@ -155,6 +175,7 @@ export {
155
175
  ANTIGRAVITY_CALLBACK_PATH,
156
176
  ANTIGRAVITY_SCOPES,
157
177
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
178
+ isAntigravityCloudCodeBaseUrl,
158
179
  getAntigravityUserAgent,
159
180
  resolveAntigravityCloudCodeBaseUrl,
160
181
  isAntigravityOAuthAgent,