nolo-cli 0.148.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-NFJAMAGJ.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-4KW33JII.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-CMQR4RQ4.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-OZ33K224.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-523WHFSL.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-P4BX6FFU.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-BKWMNZ2X.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-T7F46O36.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-YUWMM4US.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-LPVCRQMM.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-FWQEKRTD.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-DIXLJWCD.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-T767MPHB.js → chunk-SMENBO3M.js} +354 -120
  123. package/{chunk-PCVVZ2MH.js → chunk-SSFDFOVT.js} +26 -31
  124. package/chunk-SW4S4XYB.js +1794 -0
  125. package/{chunk-HUFPWXFW.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-2JMMBU6V.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-DCFPQW22.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-YOEQUA7T.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-5EJL6ROU.js → createAgentAutomationAction-QOPOLCRK.js} +53 -44
  167. package/createDialogAction-MZ66VY5Q.js +76 -0
  168. package/{createPageAction-75ELC64R.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-KSXPGJB2.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-AROBVRCR.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-EGNWHAUB.js → handleSendMessageAction-DVG5U26T.js} +619 -165
  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-ARZYKGGE.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-3XOFVARF.js → readlineWorkspace-RIE62QVZ.js} +5022 -921
  200. package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
  201. package/{runAgentClientLoop-UMF7VZYZ.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-GYGMYOSM.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-4U5W4AMH.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-4YBSYPIY.js +0 -134
  222. package/agentRunCommand-5MU5X5OT.js +0 -161
  223. package/browser-image-compression-MFDTD7K6.js +0 -1763
  224. package/chatQueueReduxAdapter-HVHA2HPM.js +0 -186
  225. package/chromeOpsCommands-IXRLN57H.js +0 -289
  226. package/chunk-42Z3EMC4.js +0 -25363
  227. package/chunk-CQ3WA2NE.js +0 -299
  228. package/chunk-CYSYR67N.js +0 -93
  229. package/chunk-IAG4FHOJ.js +0 -34
  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-QU5A4LYX.js +0 -2415
  239. package/chunk-URMS4XY2.js +0 -10
  240. package/chunk-UV6VISQJ.js +0 -20
  241. package/chunk-VJVNU77E.js +0 -83
  242. package/chunk-WRMKCKZ3.js +0 -13807
  243. package/chunk-Y5GCAMGP.js +0 -9
  244. package/chunk-YPREESF4.js +0 -225
  245. package/contentThunks-AK2F3KNC.js +0 -73
  246. package/createDialogAction-F5WEWA47.js +0 -66
  247. package/dialogCommands-G7YBVAMC.js +0 -102
  248. package/levelLazyShim-GZBKODGI.js +0 -7
  249. package/machineWsRunDispatch-I7F4L532.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-DU4JXVAV.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
@@ -1,124 +1,141 @@
1
+ import {
2
+ fetchAgentContexts,
3
+ responsesJsonToChatCompletions,
4
+ updateAgentTokens
5
+ } from "./chunk-7MOXKPHC.js";
1
6
  import {
2
7
  filterAndCleanMessages,
3
8
  sendOpenAICompletionsRequest
4
- } from "./chunk-DIXLJWCD.js";
9
+ } from "./chunk-PCKVQXYV.js";
5
10
  import "./chunk-JEXVIMYZ.js";
6
- import "./chunk-DCFPQW22.js";
7
- import "./chunk-OCZKATRC.js";
8
- import {
9
- fetchAgentContexts
10
- } from "./chunk-IAG4FHOJ.js";
11
+ import "./chunk-Z7OJUX6S.js";
11
12
  import {
12
13
  generateRequestBody,
13
14
  performFetchRequest,
15
+ resolveAgentCallPlan,
16
+ resolveClientWire,
14
17
  sanitizeOutboundBody
15
- } from "./chunk-P4BX6FFU.js";
16
- import "./chunk-EOARMOVD.js";
18
+ } from "./chunk-AOCM7HPT.js";
19
+ import "./chunk-W4S6OTSC.js";
17
20
  import "./chunk-HS7MLR74.js";
21
+ import "./chunk-Y2DXOPSO.js";
22
+ import "./chunk-JKMLSTZK.js";
23
+ import "./chunk-I2ZMGXXF.js";
24
+ import "./chunk-OXME3PEE.js";
18
25
  import {
19
26
  mergeReferences
20
- } from "./chunk-T767MPHB.js";
21
- import "./chunk-2JMMBU6V.js";
22
- import "./chunk-DY7ANLKG.js";
23
- import "./chunk-5UTFL4QJ.js";
24
- import "./chunk-KQHGZWSV.js";
25
- import "./chunk-BKWMNZ2X.js";
27
+ } from "./chunk-SMENBO3M.js";
28
+ import "./chunk-ES633ZS5.js";
26
29
  import "./chunk-NF64D32W.js";
27
- import "./chunk-3L2WKC3W.js";
28
- import "./chunk-4JMDLJAD.js";
29
- import "./chunk-PCVVZ2MH.js";
30
- import "./chunk-CPUFH46E.js";
31
- import "./chunk-YRRASA5Q.js";
30
+ import "./chunk-XPWGOTBQ.js";
31
+ import "./chunk-ZIWPQEFU.js";
32
+ import "./chunk-CBHGZRCE.js";
33
+ import "./chunk-SCMHQUMK.js";
34
+ import "./chunk-VIDPVFP3.js";
35
+ import "./chunk-5MM7NNO6.js";
36
+ import "./chunk-IA7TRNNR.js";
37
+ import "./chunk-AGIM7IMJ.js";
32
38
  import "./chunk-63W5N6P3.js";
33
39
  import "./chunk-VF4K2QE6.js";
34
- import "./chunk-T7F46O36.js";
35
- import "./chunk-6FGTMQCL.js";
36
- import "./chunk-XPRWFQQK.js";
37
- import "./chunk-UQNS32WZ.js";
38
- import "./chunk-MEYIRKDN.js";
39
- import "./chunk-QU5A4LYX.js";
40
- import "./chunk-ZJ7UHBJS.js";
40
+ import "./chunk-GQN2WLAI.js";
41
+ import "./chunk-ILU2NPWY.js";
42
+ import "./chunk-SSFDFOVT.js";
43
+ import "./chunk-F32Z66T4.js";
44
+ import "./chunk-EYWJT7A2.js";
45
+ import "./chunk-ZKZ5X2HS.js";
41
46
  import {
42
47
  selectAllMsgs,
43
- selectCurrentDialogConfig,
44
- updateTokensAction
45
- } from "./chunk-42Z3EMC4.js";
48
+ selectCurrentDialogConfig
49
+ } from "./chunk-556RW72X.js";
46
50
  import "./chunk-523DITKR.js";
47
- import "./chunk-YYLHWIW6.js";
48
- import "./chunk-6O4IK4V2.js";
49
- import "./chunk-LPVCRQMM.js";
50
- import "./chunk-Z4CSIXYP.js";
51
+ import "./chunk-UKZX3NHN.js";
52
+ import "./chunk-OFFL4DCR.js";
53
+ import "./chunk-QYPE3TS3.js";
54
+ import "./chunk-IZ7OJB6K.js";
55
+ import "./chunk-4JH2UMJR.js";
56
+ import "./chunk-ZJ7UHBJS.js";
57
+ import "./chunk-BYXBJQAS.js";
58
+ import "./chunk-PLSVXHSA.js";
51
59
  import "./chunk-5RGU3J7P.js";
52
- import "./chunk-M76ECQRD.js";
53
- import "./chunk-B6SAMB33.js";
60
+ import "./chunk-OWYYDMGJ.js";
61
+ import "./chunk-ZRAU6T47.js";
62
+ import "./chunk-4LCOCOR5.js";
54
63
  import "./chunk-YDH3FDFQ.js";
55
- import "./chunk-MX574M24.js";
56
- import "./chunk-VIDPVFP3.js";
57
- import "./chunk-AGGIDPCZ.js";
58
- import "./chunk-CU3QB4HW.js";
59
- import "./chunk-B2XUQXQX.js";
60
- import "./chunk-6TPOEJMQ.js";
61
- import "./chunk-AUDNYVRC.js";
62
- import "./chunk-KHCLMKZZ.js";
63
- import "./chunk-N7J63Q6C.js";
64
- import "./chunk-K2CSUCHJ.js";
65
- import "./chunk-PUOC4YRO.js";
66
- import "./chunk-RGNEEJ3Y.js";
67
- import "./chunk-H6A6X4EK.js";
68
- import "./chunk-S5XGT6GB.js";
69
- import "./chunk-27ONFIEY.js";
70
- import "./chunk-AKG5W4LG.js";
71
- import "./chunk-RYZINGPM.js";
72
- import "./chunk-PSCNXBYA.js";
73
- import "./chunk-L36OWPP3.js";
74
- import "./chunk-BYXBJQAS.js";
75
- import "./chunk-DWLEOOGR.js";
76
- import "./chunk-7KVZ5LDQ.js";
77
- import "./chunk-HNMXYYJR.js";
78
- import {
79
- getApiEndpoint
80
- } from "./chunk-3BXNTXYI.js";
81
- import "./chunk-W7XHHYWM.js";
82
- import "./chunk-RSEEDUMS.js";
83
- import "./chunk-UAD2WT54.js";
84
- import "./chunk-ZWQUWF6W.js";
85
- import "./chunk-4VJAC32I.js";
86
- import "./chunk-XUWRURDF.js";
87
- import "./chunk-5J3PYNUP.js";
88
- import "./chunk-CYSYR67N.js";
89
- import "./chunk-Y3PMXGLH.js";
90
64
  import {
91
65
  selectCurrentServer
92
- } from "./chunk-SONWNI3L.js";
93
- import "./chunk-Y5GCAMGP.js";
94
- import "./chunk-QDSINZM3.js";
95
- import "./chunk-KX6YBIHG.js";
66
+ } from "./chunk-QFEW2ULV.js";
67
+ import "./chunk-XI7DGLUK.js";
68
+ import "./chunk-EDX5XSJM.js";
69
+ import "./chunk-UAD2WT54.js";
96
70
  import {
97
71
  read
98
- } from "./chunk-HYZIYH2H.js";
99
- import "./chunk-7CHC4W22.js";
100
- import "./chunk-3AH7LNUB.js";
101
- import "./chunk-WWC7I6TA.js";
102
- import "./chunk-QSJ3HFEF.js";
103
- import "./chunk-IAESIMK7.js";
104
- import "./chunk-WIWM4FE3.js";
105
- import "./chunk-QOKAKDPE.js";
72
+ } from "./chunk-74RAWNQN.js";
73
+ import "./chunk-3PVYUPXK.js";
74
+ import "./chunk-A4MW3YZL.js";
75
+ import "./chunk-AIZE5TDM.js";
76
+ import "./chunk-4YRTZIVN.js";
77
+ import "./chunk-UEILX4EV.js";
78
+ import "./chunk-IJERIUXS.js";
79
+ import "./chunk-6Q7UTJKR.js";
80
+ import "./chunk-QQ56R7KS.js";
81
+ import "./chunk-OW765XBU.js";
106
82
  import {
107
83
  selectIdentityToken
108
84
  } from "./chunk-SEJ5OS6F.js";
109
- import "./chunk-OW765XBU.js";
110
- import "./chunk-GBRG75BQ.js";
111
- import "./chunk-KUG52IAP.js";
112
- import "./chunk-BNGW5ASC.js";
85
+ import "./chunk-D2MDMY2M.js";
86
+ import "./chunk-HIQ4GF53.js";
87
+ import "./chunk-JZX2XLKC.js";
88
+ import "./chunk-EUGTFFO6.js";
89
+ import "./chunk-XETG4RIX.js";
90
+ import "./chunk-GKXCHNTE.js";
91
+ import "./chunk-G6OOUQWJ.js";
92
+ import "./chunk-56GBUMO5.js";
93
+ import "./chunk-WJZOQR2J.js";
94
+ import "./chunk-WD4XYDYC.js";
95
+ import "./chunk-3SZA4U64.js";
96
+ import "./chunk-QLQ573SU.js";
97
+ import "./chunk-3MZAGMYY.js";
98
+ import "./chunk-6CCFTVBP.js";
99
+ import "./chunk-BPMPOFWP.js";
100
+ import "./chunk-5MMAK75Q.js";
101
+ import "./chunk-DWLEOOGR.js";
102
+ import "./chunk-LIQJTQRN.js";
103
+ import "./chunk-UHTDNB5Y.js";
104
+ import "./chunk-KX6YBIHG.js";
105
+ import "./chunk-7DPNBQSV.js";
106
+ import "./chunk-5EBLANFT.js";
107
+ import "./chunk-NYYFIKHI.js";
108
+ import "./chunk-EZVK3N5L.js";
113
109
  import {
114
110
  extractCustomId
115
111
  } from "./chunk-M2EJHDJP.js";
116
- import "./chunk-3EUW3WEO.js";
112
+ import "./chunk-5EMSBTQ6.js";
113
+ import "./chunk-I42VC5KR.js";
117
114
  import "./chunk-U6VC4MU4.js";
115
+ import "./chunk-TYYRSFBG.js";
116
+ import "./chunk-XZNCX52W.js";
117
+ import "./chunk-WWC7I6TA.js";
118
+ import "./chunk-PJNFNEJE.js";
119
+ import "./chunk-PSCNXBYA.js";
120
+ import "./chunk-K2AER7RX.js";
121
+ import "./chunk-UBUH2TCC.js";
122
+ import {
123
+ getApiEndpoint
124
+ } from "./chunk-I4SN4NUQ.js";
125
+ import "./chunk-5BHQICF2.js";
126
+ import "./chunk-KUG52IAP.js";
127
+ import "./chunk-3EUW3WEO.js";
128
+ import "./chunk-HNMXYYJR.js";
118
129
  import "./chunk-LCBAMY2M.js";
119
130
  import "./chunk-4SN6J65J.js";
120
131
  import "./chunk-CF7PE763.js";
121
132
  import "./chunk-G3SUCT4W.js";
133
+ import "./chunk-RVWMAFIT.js";
134
+ import "./chunk-CHCS6XPJ.js";
135
+ import "./chunk-QSJ3HFEF.js";
136
+ import "./chunk-ZWQUWF6W.js";
137
+ import "./chunk-KHCLMKZZ.js";
138
+ import "./chunk-4VJAC32I.js";
122
139
  import "./chunk-4VNS5WPM.js";
123
140
 
124
141
  // packages/integrations/openai/chatCompletionStreamMode.ts
@@ -131,6 +148,24 @@ var applyChatCompletionsStreamMode = (body, stream) => {
131
148
  };
132
149
 
133
150
  // packages/ai/agent/_executeModel.ts
151
+ var parseCompletionByOutboundWire = (raw, agentConfig) => {
152
+ const responsesWire = resolveClientWire(resolveAgentCallPlan(agentConfig)) === "responses";
153
+ if (!responsesWire) return { chatJson: raw, responsesWire };
154
+ return { chatJson: responsesJsonToChatCompletions(raw), responsesWire };
155
+ };
156
+ var describeResponseShape = (raw) => {
157
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
158
+ return `type=${Array.isArray(raw) ? "array" : typeof raw}`;
159
+ }
160
+ const record = raw;
161
+ return [
162
+ `object=${typeof record.object === "string" ? record.object : "-"}`,
163
+ `status=${typeof record.status === "string" ? record.status : "-"}`,
164
+ `output=${Array.isArray(record.output) ? "array" : typeof record.output}`,
165
+ `choices=${Array.isArray(record.choices) ? "array" : typeof record.choices}`,
166
+ `keys=${Object.keys(record).slice(0, 8).join("|")}`
167
+ ].join(" ");
168
+ };
134
169
  var _executeModel = async (options, args, thunkApi) => {
135
170
  const { isStreaming, withAgentContext, withChatHistory, agentConfigOverrides } = options;
136
171
  const { getState, dispatch, rejectWithValue } = thunkApi;
@@ -202,16 +237,24 @@ var _executeModel = async (options, args, thunkApi) => {
202
237
  }
203
238
  throw new Error(message);
204
239
  }
205
- const result = await response.json();
240
+ const rawResult = await response.json();
241
+ const { chatJson: result, responsesWire } = parseCompletionByOutboundWire(
242
+ rawResult,
243
+ resolvedAgentConfig
244
+ );
206
245
  const content2 = result?.choices?.[0]?.message?.content;
207
246
  if (typeof content2 !== "string") {
208
- const upstreamMessage = typeof result?.error?.message === "string" ? result.error.message : "";
247
+ const upstreamMessage = typeof rawResult?.error?.message === "string" ? rawResult.error.message : "";
209
248
  throw new Error(
210
- upstreamMessage.trim() || "Model response missing choices[0].message.content"
249
+ upstreamMessage.trim() || (responsesWire ? (
250
+ // 保留既有错误契约前缀(调用方/测试按此后缀识别「模型没给出可消费内容」),
251
+ // 其后附 Responses wire 的原因与形状线索 —— 上游失败回包的可见原因不能丢。
252
+ `Model response missing choices[0].message.content\uFF1AResponses wire \u56DE\u5305\u65E0\u6CD5\u5F52\u4E00\u6210 chat \u5F62\u72B6\uFF08error \u5E27 / status \u975E completed / \u7F3A output\uFF09\uFF1A${describeResponseShape(rawResult)}`
253
+ ) : `Model response missing choices[0].message.content\uFF1A${describeResponseShape(result)}`)
211
254
  );
212
255
  }
213
256
  if (args.billingDialogKey && result?.usage) {
214
- await updateTokensAction(
257
+ await updateAgentTokens(
215
258
  {
216
259
  dialogId: extractCustomId(args.billingDialogKey),
217
260
  dialogKey: args.billingDialogKey,
@@ -0,0 +1,300 @@
1
+ import {
2
+ createChromeConnectorClientResolver
3
+ } from "./chunk-BU2YQBV4.js";
4
+ import {
5
+ FileDockerQuotaKvStore,
6
+ defaultRunSbx,
7
+ resolveMaxActiveSandboxesFromEnv
8
+ } from "./chunk-YVPQATSC.js";
9
+ import "./chunk-KUG52IAP.js";
10
+ import "./chunk-HNMXYYJR.js";
11
+ import "./chunk-TNIX77YM.js";
12
+ import "./chunk-4VNS5WPM.js";
13
+
14
+ // packages/agent-runtime/docker/accountResolver.ts
15
+ import { homedir } from "node:os";
16
+ import { join, resolve } from "node:path";
17
+
18
+ // packages/agent-runtime/dockerBrowserQuota.ts
19
+ var DOCKER_USAGE_PAGE_URL = "https://agentic-platform.docker.com/usage";
20
+ var DOCKER_USAGE_HOST = "agentic-platform.docker.com";
21
+ var DOCKER_USAGE_PATH = "/usage";
22
+ function parseExactDecimalToNanoUsd(val) {
23
+ if (typeof val !== "string") return null;
24
+ const str = val.trim().replace(/^\$/, "");
25
+ if (!str || str.length > 30) return null;
26
+ if (!/^-?\d+(\.\d+)?$/.test(str)) return null;
27
+ const negative = str.startsWith("-");
28
+ const abs = negative ? str.slice(1) : str;
29
+ const [wholeStr, fracStr = ""] = abs.split(".");
30
+ if (wholeStr.length > 15) return null;
31
+ if (fracStr.length > 9) return null;
32
+ const paddedFrac = fracStr.padEnd(9, "0");
33
+ try {
34
+ const whole = BigInt(wholeStr);
35
+ const frac = BigInt(paddedFrac);
36
+ const nano = whole * 1000000000n + frac;
37
+ return negative ? -nano : nano;
38
+ } catch {
39
+ return null;
40
+ }
41
+ }
42
+ function isMatchingDockerUsageUrl(rawUrl) {
43
+ try {
44
+ const parsed = new URL(rawUrl);
45
+ if (parsed.username || parsed.password) return false;
46
+ if (parsed.protocol !== "https:") return false;
47
+ if (parsed.hostname.toLowerCase() !== DOCKER_USAGE_HOST) return false;
48
+ if (parsed.port !== "" && parsed.port !== "443") return false;
49
+ if (parsed.pathname.replace(/\/+$/, "") !== DOCKER_USAGE_PATH) return false;
50
+ return true;
51
+ } catch {
52
+ return false;
53
+ }
54
+ }
55
+ function extractMediumRuntimeRate(text) {
56
+ const lines = text.split(/\r?\n/);
57
+ const matchedRates = [];
58
+ for (const line of lines) {
59
+ if (!/Compute\s*-\s*Medium/i.test(line) || !/Runtime\s+Seconds/i.test(line)) {
60
+ continue;
61
+ }
62
+ const parts = line.split(/\t+|\s{2,}/).map((p) => p.trim()).filter(Boolean);
63
+ if (parts.length >= 3) {
64
+ const rawRate = parts[2].replace(/^\$/, "").trim();
65
+ const nano = parseExactDecimalToNanoUsd(rawRate);
66
+ if (nano !== null) {
67
+ matchedRates.push({
68
+ rateUsd: rawRate,
69
+ rateNanoUsd: nano,
70
+ unit: "second"
71
+ });
72
+ continue;
73
+ }
74
+ }
75
+ const colMatch = line.match(
76
+ /Compute\s*-\s*Medium\s*\|\s*Runtime\s+Seconds[^\d]*[0-9,]+(?:\.[0-9]+)?\s+\$?([0-9]+(?:\.[0-9]+)?)/i
77
+ );
78
+ if (colMatch) {
79
+ const rawRate = colMatch[1];
80
+ const nano = parseExactDecimalToNanoUsd(rawRate);
81
+ if (nano !== null) {
82
+ matchedRates.push({
83
+ rateUsd: rawRate,
84
+ rateNanoUsd: nano,
85
+ unit: "second"
86
+ });
87
+ }
88
+ }
89
+ }
90
+ if (matchedRates.length === 0) return void 0;
91
+ if (matchedRates.length > 1) {
92
+ const firstRate = matchedRates[0].rateNanoUsd;
93
+ const allSame = matchedRates.every((r) => r.rateNanoUsd === firstRate);
94
+ if (!allSame) return void 0;
95
+ }
96
+ return matchedRates[0];
97
+ }
98
+ function parseDockerUsageContent(content) {
99
+ if (!isMatchingDockerUsageUrl(content.url)) {
100
+ return {
101
+ error: "URL_MISMATCH",
102
+ message: "Tab URL does not match official Docker usage endpoint."
103
+ };
104
+ }
105
+ if (content.truncated) {
106
+ return {
107
+ error: "PAGE_TRUNCATED",
108
+ message: "Page observation was truncated; refusal to parse partial billing text."
109
+ };
110
+ }
111
+ const text = content.text;
112
+ if (/sign\s*in|log\s*in|welcome to docker|create account|docker id to continue/i.test(text) && !/available to spend/i.test(text)) {
113
+ return {
114
+ error: "UNAUTHENTICATED",
115
+ message: "Docker usage page is not authenticated or prompts for login."
116
+ };
117
+ }
118
+ const poolMatches = [...text.matchAll(/available\s+to\s+spend/gi)];
119
+ if (poolMatches.length === 0) {
120
+ return {
121
+ error: "PARSE_FAILED",
122
+ message: "Missing 'Available to spend' label on usage page."
123
+ };
124
+ }
125
+ if (poolMatches.length > 1) {
126
+ return {
127
+ error: "AMBIGUOUS_POOL",
128
+ message: "Multiple 'Available to spend' sections detected; refusing ambiguous pool parsing."
129
+ };
130
+ }
131
+ const availMatch = text.match(/Available\s+to\s+spend[^\d$]*\$?\s*([0-9]+\.[0-9]+)/i);
132
+ if (!availMatch) {
133
+ return {
134
+ error: "PARSE_FAILED",
135
+ message: "Could not extract valid currency amount from 'Available to spend'."
136
+ };
137
+ }
138
+ const availableUsd = availMatch[1];
139
+ const availableNanoUsd = parseExactDecimalToNanoUsd(availableUsd);
140
+ if (availableNanoUsd === null) {
141
+ return {
142
+ error: "PARSE_FAILED",
143
+ message: "Failed to parse available balance decimal or precision exceeds bounds (>9 decimals)."
144
+ };
145
+ }
146
+ const mediumRate = extractMediumRuntimeRate(text);
147
+ return {
148
+ availableUsd,
149
+ availableNanoUsd,
150
+ mediumRate
151
+ };
152
+ }
153
+ async function getDockerBrowserQuota(config) {
154
+ const browser = config.browser;
155
+ const resolver = config.testOverrideResolver ?? createChromeConnectorClientResolver();
156
+ const client = config.testOverrideClient ?? resolver(browser);
157
+ let tabsResult;
158
+ try {
159
+ tabsResult = await client.request("list_tabs", {});
160
+ } catch {
161
+ return {
162
+ ok: false,
163
+ code: "CONNECTOR_UNAVAILABLE",
164
+ message: `Failed to communicate with ${browser} connector RPC.`
165
+ };
166
+ }
167
+ const tabs = Array.isArray(tabsResult?.tabs) ? tabsResult.tabs : [];
168
+ const matchingTabs = tabs.filter((t) => t.url && isMatchingDockerUsageUrl(t.url));
169
+ if (matchingTabs.length === 0) {
170
+ return {
171
+ ok: false,
172
+ code: "USAGE_TAB_NOT_FOUND",
173
+ message: `No open tab found matching ${DOCKER_USAGE_PAGE_URL}. Automatic tab opening is disabled in this phase.`
174
+ };
175
+ }
176
+ if (matchingTabs.length > 1) {
177
+ return {
178
+ ok: false,
179
+ code: "AMBIGUOUS_TAB",
180
+ message: `Multiple (${matchingTabs.length}) Docker usage tabs open; cannot disambiguate account. Please keep only one usage tab open.`
181
+ };
182
+ }
183
+ const matchingTab = matchingTabs[0];
184
+ let readResult;
185
+ const tabId = String(matchingTab.id);
186
+ try {
187
+ readResult = await client.request("read_page", { tabId, detail: "compact" });
188
+ } catch {
189
+ return {
190
+ ok: false,
191
+ code: "CONNECTOR_UNAVAILABLE",
192
+ message: `Failed to read page from ${browser} connector tab ${tabId}.`
193
+ };
194
+ }
195
+ const observation = readResult;
196
+ if (!observation || observation.ok === false) {
197
+ return {
198
+ ok: false,
199
+ code: "PARSE_FAILED",
200
+ message: "Failed to obtain compact page observation."
201
+ };
202
+ }
203
+ const parsed = parseDockerUsageContent({
204
+ url: String(observation.url || ""),
205
+ text: String(observation.text || ""),
206
+ truncated: Boolean(observation.truncated)
207
+ });
208
+ if ("error" in parsed) {
209
+ return {
210
+ ok: false,
211
+ code: parsed.error,
212
+ message: parsed.message
213
+ };
214
+ }
215
+ return {
216
+ ok: true,
217
+ source: "docker-agentic-platform-browser",
218
+ browser,
219
+ observedAt: Date.now(),
220
+ usageLagWarning: "Docker confirmed compute usage may have up to 24-48h billing lag. observedAt is browser read timestamp, not real-time billing ledger time.",
221
+ availableToSpendUsd: parsed.availableUsd,
222
+ availableToSpendNanoUsd: parsed.availableNanoUsd,
223
+ mediumRuntimeRate: parsed.mediumRate
224
+ };
225
+ }
226
+
227
+ // packages/agent-runtime/docker/quotaProvider.ts
228
+ function createDockerQuotaProvider(deps) {
229
+ return async () => {
230
+ try {
231
+ const browser = deps.env.DOCKER_BROWSER_TARGET === "firefox" ? "firefox" : "chrome";
232
+ const result = await getDockerBrowserQuota({ browser });
233
+ if (!result.ok) return { ok: false, reason: result.code || "quota_unverifiable" };
234
+ return {
235
+ ok: true,
236
+ availableNanoUsd: result.availableToSpendNanoUsd,
237
+ rateNanoUsd: result.mediumRuntimeRate?.rateNanoUsd ?? 77780n,
238
+ observedAt: result.observedAt
239
+ };
240
+ } catch {
241
+ return { ok: false, reason: "quota_fetch_failed" };
242
+ }
243
+ };
244
+ }
245
+
246
+ // packages/agent-runtime/docker/accountResolver.ts
247
+ var DockerAccountResolutionError = class extends Error {
248
+ code;
249
+ constructor(code, message) {
250
+ super(message ? `${code}: ${message}` : code);
251
+ this.name = "DockerAccountResolutionError";
252
+ this.code = code;
253
+ }
254
+ };
255
+ function createEnvQuotaStore(env) {
256
+ const mode = env.DOCKER_QUOTA_STORAGE || "auto";
257
+ if (mode !== "local" && mode !== "remote" && mode !== "auto") {
258
+ throw new DockerAccountResolutionError("docker_quota_storage_invalid");
259
+ }
260
+ const serverUrl = (env.NOLO_SERVER || env.BASE_URL || "").trim();
261
+ const authToken = (env.AUTH_TOKEN || env.AUTH || "").trim();
262
+ if (mode === "remote" && (!serverUrl || !authToken)) {
263
+ throw new DockerAccountResolutionError("docker_quota_remote_not_configured");
264
+ }
265
+ if (mode !== "local" && serverUrl && authToken) {
266
+ throw new DockerAccountResolutionError("docker_quota_remote_store_injection_required");
267
+ }
268
+ return new FileDockerQuotaKvStore(join(env.NOLO_HOME || resolve(homedir(), ".nolo"), "docker-quota.json"));
269
+ }
270
+ function createDockerAccountResolver(deps) {
271
+ const env = deps.env;
272
+ return (binding) => {
273
+ if (!binding?.authorizedOwner || !binding.dockerAccount || !binding.credentialContextId) {
274
+ throw new DockerAccountResolutionError("docker_binding_invalid", "Missing required Docker account binding fields");
275
+ }
276
+ const expected = deps.providerDockerAccount ?? env.DOCKER_ACCOUNT;
277
+ if (expected && expected !== binding.dockerAccount || env.DOCKER_ACCOUNT && env.DOCKER_ACCOUNT !== binding.dockerAccount) {
278
+ throw new DockerAccountResolutionError("docker_quota_account_mismatch");
279
+ }
280
+ const probe = deps.quotaProvider ?? createDockerQuotaProvider({ env });
281
+ return {
282
+ runSbx: deps.runSbx ?? defaultRunSbx,
283
+ kvStore: deps.kvStore ?? createEnvQuotaStore(env),
284
+ quotaProvider: async () => {
285
+ if (env.DOCKER_ACCOUNT && env.DOCKER_ACCOUNT !== binding.dockerAccount) {
286
+ return { ok: false, reason: "docker_quota_account_mismatch" };
287
+ }
288
+ return probe();
289
+ },
290
+ owner: binding.authorizedOwner,
291
+ dockerAccount: binding.dockerAccount,
292
+ maxOutputChars: 4e4,
293
+ maxActiveSandboxesPerAccount: resolveMaxActiveSandboxesFromEnv(env) ?? void 0
294
+ };
295
+ };
296
+ }
297
+ export {
298
+ DockerAccountResolutionError,
299
+ createDockerAccountResolver
300
+ };
@@ -0,0 +1,23 @@
1
+ import {
2
+ shareResourceAction
3
+ } from "./chunk-EYWJT7A2.js";
4
+ import "./chunk-QFEW2ULV.js";
5
+ import "./chunk-IJERIUXS.js";
6
+ import "./chunk-6Q7UTJKR.js";
7
+ import "./chunk-QQ56R7KS.js";
8
+ import "./chunk-OW765XBU.js";
9
+ import "./chunk-SEJ5OS6F.js";
10
+ import "./chunk-7DPNBQSV.js";
11
+ import "./chunk-5EMSBTQ6.js";
12
+ import "./chunk-I42VC5KR.js";
13
+ import "./chunk-U6VC4MU4.js";
14
+ import "./chunk-WWC7I6TA.js";
15
+ import "./chunk-3EUW3WEO.js";
16
+ import "./chunk-LCBAMY2M.js";
17
+ import "./chunk-4SN6J65J.js";
18
+ import "./chunk-CF7PE763.js";
19
+ import "./chunk-G3SUCT4W.js";
20
+ import "./chunk-4VNS5WPM.js";
21
+ export {
22
+ shareResourceAction
23
+ };
@@ -1,27 +1,33 @@
1
1
  import {
2
2
  addContentAction
3
- } from "./chunk-RSEEDUMS.js";
3
+ } from "./chunk-EDX5XSJM.js";
4
4
  import "./chunk-UAD2WT54.js";
5
- import "./chunk-HYZIYH2H.js";
6
- import "./chunk-7CHC4W22.js";
7
- import "./chunk-3AH7LNUB.js";
8
- import "./chunk-WWC7I6TA.js";
9
- import "./chunk-QSJ3HFEF.js";
10
- import "./chunk-IAESIMK7.js";
11
- import "./chunk-WIWM4FE3.js";
12
- import "./chunk-QOKAKDPE.js";
13
- import "./chunk-SEJ5OS6F.js";
5
+ import "./chunk-74RAWNQN.js";
6
+ import "./chunk-3PVYUPXK.js";
7
+ import "./chunk-A4MW3YZL.js";
8
+ import "./chunk-AIZE5TDM.js";
9
+ import "./chunk-4YRTZIVN.js";
10
+ import "./chunk-UEILX4EV.js";
11
+ import "./chunk-IJERIUXS.js";
12
+ import "./chunk-6Q7UTJKR.js";
13
+ import "./chunk-QQ56R7KS.js";
14
14
  import "./chunk-OW765XBU.js";
15
- import "./chunk-GBRG75BQ.js";
16
- import "./chunk-KUG52IAP.js";
17
- import "./chunk-BNGW5ASC.js";
15
+ import "./chunk-SEJ5OS6F.js";
16
+ import "./chunk-D2MDMY2M.js";
17
+ import "./chunk-7DPNBQSV.js";
18
+ import "./chunk-EZVK3N5L.js";
18
19
  import "./chunk-M2EJHDJP.js";
19
- import "./chunk-3EUW3WEO.js";
20
+ import "./chunk-5EMSBTQ6.js";
21
+ import "./chunk-I42VC5KR.js";
20
22
  import "./chunk-U6VC4MU4.js";
23
+ import "./chunk-WWC7I6TA.js";
24
+ import "./chunk-KUG52IAP.js";
25
+ import "./chunk-3EUW3WEO.js";
21
26
  import "./chunk-LCBAMY2M.js";
22
27
  import "./chunk-4SN6J65J.js";
23
28
  import "./chunk-CF7PE763.js";
24
29
  import "./chunk-G3SUCT4W.js";
30
+ import "./chunk-QSJ3HFEF.js";
25
31
  import "./chunk-4VNS5WPM.js";
26
32
  export {
27
33
  addContentAction