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,186 +0,0 @@
1
- import {
2
- createChatQueueRuntime,
3
- createTurnRequest
4
- } from "./chunk-YPREESF4.js";
5
- import {
6
- handleSendMessage
7
- } from "./chunk-42Z3EMC4.js";
8
- import "./chunk-523DITKR.js";
9
- import "./chunk-YYLHWIW6.js";
10
- import "./chunk-6O4IK4V2.js";
11
- import "./chunk-LPVCRQMM.js";
12
- import "./chunk-Z4CSIXYP.js";
13
- import "./chunk-5RGU3J7P.js";
14
- import "./chunk-M76ECQRD.js";
15
- import {
16
- clearPendingUserInputQueue,
17
- dequeueUserInput,
18
- enqueueUserInput,
19
- getLoopStopReason,
20
- getPendingUserInputQueue
21
- } from "./chunk-B6SAMB33.js";
22
- import "./chunk-YDH3FDFQ.js";
23
- import "./chunk-MX574M24.js";
24
- import "./chunk-AGGIDPCZ.js";
25
- import "./chunk-AKG5W4LG.js";
26
- import "./chunk-RYZINGPM.js";
27
- import "./chunk-PSCNXBYA.js";
28
- import "./chunk-L36OWPP3.js";
29
- import "./chunk-BYXBJQAS.js";
30
- import "./chunk-DWLEOOGR.js";
31
- import "./chunk-7KVZ5LDQ.js";
32
- import "./chunk-HNMXYYJR.js";
33
- import "./chunk-3BXNTXYI.js";
34
- import "./chunk-W7XHHYWM.js";
35
- import "./chunk-RSEEDUMS.js";
36
- import "./chunk-UAD2WT54.js";
37
- import "./chunk-ZWQUWF6W.js";
38
- import "./chunk-CYSYR67N.js";
39
- import "./chunk-Y3PMXGLH.js";
40
- import "./chunk-SONWNI3L.js";
41
- import "./chunk-Y5GCAMGP.js";
42
- import "./chunk-QDSINZM3.js";
43
- import "./chunk-KX6YBIHG.js";
44
- import "./chunk-HYZIYH2H.js";
45
- import "./chunk-7CHC4W22.js";
46
- import "./chunk-3AH7LNUB.js";
47
- import "./chunk-WWC7I6TA.js";
48
- import "./chunk-QSJ3HFEF.js";
49
- import "./chunk-IAESIMK7.js";
50
- import "./chunk-WIWM4FE3.js";
51
- import "./chunk-QOKAKDPE.js";
52
- import "./chunk-SEJ5OS6F.js";
53
- import "./chunk-OW765XBU.js";
54
- import "./chunk-GBRG75BQ.js";
55
- import "./chunk-KUG52IAP.js";
56
- import "./chunk-BNGW5ASC.js";
57
- import "./chunk-M2EJHDJP.js";
58
- import "./chunk-3EUW3WEO.js";
59
- import "./chunk-U6VC4MU4.js";
60
- import "./chunk-LCBAMY2M.js";
61
- import "./chunk-4SN6J65J.js";
62
- import "./chunk-CF7PE763.js";
63
- import "./chunk-G3SUCT4W.js";
64
- import "./chunk-4VNS5WPM.js";
65
-
66
- // packages/chat/queue/chatQueueReduxAdapter.ts
67
- var ChatQueueReduxAdapter = class {
68
- runtimes = /* @__PURE__ */ new Map();
69
- store;
70
- opts;
71
- /** Pending drain promises per dialog, so notifyTurnEnd can be awaited. */
72
- pendingDrains = /* @__PURE__ */ new Map();
73
- constructor(store, opts = {}) {
74
- this.store = store;
75
- this.opts = opts;
76
- }
77
- /**
78
- * Get (or lazily create) the runtime for a dialog. The runtime is seeded from
79
- * dialogRuntimeStore `pendingUserInputQueue` so we don't lose queued items
80
- * written before the adapter existed.
81
- */
82
- getRuntime(dialogKey) {
83
- let rt = this.runtimes.get(dialogKey);
84
- if (rt) return rt;
85
- const legacyQueue = getPendingUserInputQueue(dialogKey);
86
- const seed = {
87
- running: false,
88
- queue: Array.isArray(legacyQueue) ? legacyQueue.map((t) => createTurnRequest(t)) : [],
89
- drainPaused: getLoopStopReason(dialogKey) === "pending",
90
- lastDrainError: null
91
- };
92
- rt = createChatQueueRuntime(seed);
93
- this.runtimes.set(dialogKey, rt);
94
- rt.on("drain-ready", ({ text }) => {
95
- const dispatch = this.store.dispatch;
96
- const runtime = rt;
97
- const promise = (async () => {
98
- try {
99
- if (this.opts.sendDrainedText) {
100
- await this.opts.sendDrainedText({ dialogKey, text, dispatch });
101
- } else {
102
- await dispatch(
103
- handleSendMessage({
104
- dialogKey,
105
- userInput: text
106
- })
107
- );
108
- }
109
- runtime.send({ type: "dequeue" });
110
- dequeueUserInput({ dialogKey });
111
- } catch (error) {
112
- const message = error instanceof Error ? error.message : typeof error === "string" ? error : "drain send failed";
113
- runtime.send({ type: "drain-error", message });
114
- } finally {
115
- this.pendingDrains.delete(dialogKey);
116
- }
117
- })();
118
- this.pendingDrains.set(dialogKey, promise);
119
- });
120
- return rt;
121
- }
122
- /** Drop a dialog's runtime (e.g. when the dialog is closed/deleted). */
123
- disposeRuntime(dialogKey) {
124
- const rt = this.runtimes.get(dialogKey);
125
- if (rt) {
126
- rt.dispose();
127
- this.runtimes.delete(dialogKey);
128
- }
129
- }
130
- /** Call when an agent turn starts streaming for this dialog. */
131
- notifyTurnStart(dialogKey) {
132
- this.getRuntime(dialogKey).send({ type: "turn-start" });
133
- }
134
- /**
135
- * Call when an agent turn ends for this dialog.
136
- * `ok` false without `aborted` keeps the queue (failure stop); `aborted`
137
- * clears the queue (user abandoned follow-ups) both in the core and in the
138
- * dialogRuntimeStore shadow.
139
- *
140
- * Returns a promise that resolves once any drain triggered by this turn-end
141
- * has committed (sent + dequeued) or failed. Callers that need to assert on
142
- * the post-drain state should await it.
143
- */
144
- notifyTurnEnd(dialogKey, outcome) {
145
- const rt = this.getRuntime(dialogKey);
146
- rt.send({ type: "turn-end", ...outcome });
147
- if (outcome.aborted) {
148
- clearPendingUserInputQueue({ dialogKey });
149
- }
150
- const pending = this.pendingDrains.get(dialogKey);
151
- return pending ? pending.then(() => void 0) : Promise.resolve();
152
- }
153
- /**
154
- * Enqueue a user input through the adapter. This writes to both the core
155
- * runtime and the dialogRuntimeStore queue so existing UI hooks keep working
156
- * during the migration.
157
- *
158
- * Order matters: we touch the runtime first (creating it if needed, seeded
159
- * from the *current* store shadow) and then mirror into the store. Doing it
160
- * the other way around would let the seed read back the value we just wrote
161
- * and double-count it.
162
- */
163
- enqueue(dialogKey, text) {
164
- const runtime = this.getRuntime(dialogKey);
165
- runtime.send({ type: "enqueue", text });
166
- enqueueUserInput({ text, dialogKey });
167
- return {
168
- accepted: true,
169
- queueLength: runtime.getState().queue.length
170
- };
171
- }
172
- /** Current queue snapshot (from the core runtime). */
173
- getQueue(dialogKey) {
174
- return this.getRuntime(dialogKey).getState().queue.map((req) => req.text);
175
- }
176
- /** Reflect `loopStopReason === "pending"` into the runtime's pause flag. */
177
- syncDrainPause(dialogKey) {
178
- const paused = getLoopStopReason(dialogKey) === "pending";
179
- const rt = this.getRuntime(dialogKey);
180
- if (paused) rt.send({ type: "pause-drain" });
181
- else rt.send({ type: "resume-drain" });
182
- }
183
- };
184
- export {
185
- ChatQueueReduxAdapter
186
- };
@@ -1,289 +0,0 @@
1
- import {
2
- createChromeConnectorClient
3
- } from "./chunk-YUNJN43V.js";
4
- import {
5
- toErrorMessage
6
- } from "./chunk-HNMXYYJR.js";
7
- import {
8
- readOption
9
- } from "./chunk-A7GB5UGH.js";
10
- import "./chunk-OLZBQWZU.js";
11
- import "./chunk-KUG52IAP.js";
12
- import "./chunk-LCBAMY2M.js";
13
- import "./chunk-4SN6J65J.js";
14
- import "./chunk-CF7PE763.js";
15
- import "./chunk-G3SUCT4W.js";
16
- import "./chunk-4VNS5WPM.js";
17
-
18
- // packages/cli/chromeOpsCommands.ts
19
- import { writeFile } from "node:fs/promises";
20
- function wantsHelp(args) {
21
- return args.includes("--help") || args.includes("-h");
22
- }
23
- function readTrimmedOption(args, flag) {
24
- return (readOption(args, flag) ?? "").trim();
25
- }
26
- function readAllOptions(args, flag) {
27
- const values = [];
28
- for (let i = 0; i < args.length; i++) {
29
- if (args[i] === flag && i + 1 < args.length) {
30
- const val = args[i + 1].trim();
31
- if (val && !val.startsWith("--")) {
32
- values.push(val);
33
- }
34
- }
35
- }
36
- return values;
37
- }
38
- function readIntOption(args, flag, usage) {
39
- const raw = readOption(args, flag);
40
- if (raw === void 0) return void 0;
41
- const value = Number.parseInt(raw, 10);
42
- if (!Number.isFinite(value)) {
43
- throw new Error(`Invalid ${flag} <N>. Usage: ${usage}`);
44
- }
45
- return value;
46
- }
47
- function requireTabId(args, usage) {
48
- const tabId = readTrimmedOption(args, "--tab");
49
- if (!tabId) {
50
- throw new Error(`Missing required --tab <id>. Usage: ${usage}`);
51
- }
52
- return tabId;
53
- }
54
- function requireTarget(args, usage) {
55
- const elementRef = readTrimmedOption(args, "--ref");
56
- const selector = readTrimmedOption(args, "--selector");
57
- if (!elementRef && !selector) {
58
- throw new Error(
59
- `Provide --ref <elementRef> (from read-page) or --selector <css>. Usage: ${usage}`
60
- );
61
- }
62
- return {
63
- ...elementRef ? { elementRef } : {},
64
- ...selector ? { selector } : {}
65
- };
66
- }
67
- var CHROME_OPS_SUBCOMMANDS = {
68
- "list-tabs": {
69
- action: "list_tabs",
70
- usage: "nolo chrome list-tabs",
71
- payload: () => ({})
72
- },
73
- "open-tab": {
74
- action: "open_tab",
75
- usage: "nolo chrome open-tab --url <url> [--active]",
76
- payload: (args, usage) => {
77
- const url = readTrimmedOption(args, "--url");
78
- if (!url) {
79
- throw new Error(`Missing required --url <url>. Usage: ${usage}`);
80
- }
81
- return { url, active: args.includes("--active") };
82
- }
83
- },
84
- "close-tab": {
85
- action: "close_tab",
86
- usage: "nolo chrome close-tab --tab <id>",
87
- payload: (args, usage) => ({ tabId: requireTabId(args, usage) })
88
- },
89
- "read-page": {
90
- action: "read_page",
91
- usage: "nolo chrome read-page --tab <id> [--selector <css>] [--detail compact|full] [--max-elements N]",
92
- payload: (args, usage) => {
93
- const payload = { tabId: requireTabId(args, usage) };
94
- const selector = readTrimmedOption(args, "--selector");
95
- if (selector) payload.selector = selector;
96
- const detail = readTrimmedOption(args, "--detail");
97
- if (detail) payload.detail = detail;
98
- const maxElements = readIntOption(args, "--max-elements", usage);
99
- if (maxElements !== void 0) payload.maxElements = maxElements;
100
- return payload;
101
- }
102
- },
103
- click: {
104
- action: "click",
105
- usage: "nolo chrome click --tab <id> (--ref <elementRef> | --selector <css>)",
106
- payload: (args, usage) => ({
107
- tabId: requireTabId(args, usage),
108
- ...requireTarget(args, usage)
109
- })
110
- },
111
- type: {
112
- action: "type",
113
- usage: "nolo chrome type --tab <id> (--ref <elementRef> | --selector <css>) --text <text> [--append]",
114
- payload: (args, usage) => {
115
- const text = readOption(args, "--text");
116
- if (text === void 0 || text.startsWith("--")) {
117
- throw new Error(`Missing required --text <text>. Usage: ${usage}`);
118
- }
119
- return {
120
- tabId: requireTabId(args, usage),
121
- ...requireTarget(args, usage),
122
- text,
123
- ...args.includes("--append") ? { clearFirst: false } : {}
124
- };
125
- }
126
- },
127
- upload: {
128
- action: "set_files",
129
- usage: "nolo chrome upload --tab <id> (--ref <elementRef> | --selector <css>) --file <path> [--file <path>...]",
130
- payload: (args, usage) => {
131
- const files = readAllOptions(args, "--file");
132
- if (files.length === 0) {
133
- throw new Error(`Missing required --file <path>. Usage: ${usage}`);
134
- }
135
- const target = requireTarget(args, usage);
136
- const tabId = requireTabId(args, usage);
137
- return {
138
- tabId,
139
- ...target,
140
- ...target.elementRef ? { ref: target.elementRef } : {},
141
- files
142
- };
143
- }
144
- },
145
- press: {
146
- action: "press",
147
- usage: "nolo chrome press --tab <id> --key <key>",
148
- payload: (args, usage) => {
149
- const key = readTrimmedOption(args, "--key");
150
- if (!key) {
151
- throw new Error(`Missing required --key <key>. Usage: ${usage}`);
152
- }
153
- return { tabId: requireTabId(args, usage), key };
154
- }
155
- },
156
- scroll: {
157
- action: "scroll",
158
- usage: "nolo chrome scroll --tab <id> [--delta-x N] [--delta-y N]",
159
- payload: (args, usage) => {
160
- const payload = { tabId: requireTabId(args, usage) };
161
- const deltaX = readIntOption(args, "--delta-x", usage);
162
- const deltaY = readIntOption(args, "--delta-y", usage);
163
- if (deltaX !== void 0) payload.deltaX = deltaX;
164
- if (deltaY !== void 0) payload.deltaY = deltaY;
165
- return payload;
166
- }
167
- },
168
- screenshot: {
169
- action: "screenshot",
170
- usage: "nolo chrome screenshot --tab <id> [--out <path>] [--full-page]",
171
- payload: (args, usage) => ({
172
- tabId: requireTabId(args, usage),
173
- ...args.includes("--full-page") ? { fullPage: true } : {}
174
- })
175
- },
176
- "read-console": {
177
- action: "read_console",
178
- usage: "nolo chrome read-console --tab <id> [--limit N]",
179
- payload: (args, usage) => {
180
- const payload = { tabId: requireTabId(args, usage) };
181
- const limit = readIntOption(args, "--limit", usage);
182
- if (limit !== void 0) payload.limit = limit;
183
- return payload;
184
- }
185
- },
186
- "read-network": {
187
- action: "read_network",
188
- usage: "nolo chrome read-network --tab <id> [--limit N] [--include-assets]",
189
- payload: (args, usage) => {
190
- const payload = { tabId: requireTabId(args, usage) };
191
- const limit = readIntOption(args, "--limit", usage);
192
- if (limit !== void 0) payload.limit = limit;
193
- if (args.includes("--include-assets")) payload.includeAssets = true;
194
- return payload;
195
- }
196
- }
197
- };
198
- function renderChromeOpsHelp() {
199
- const lines = [
200
- "Operate the user's browser (Chrome or Firefox) through the Nolo Browser Connector",
201
- "(the desktop bridge; the same RPC the browser_* agent tools use \u2014 legacy `chrome_*` names still work).",
202
- "",
203
- "Usage:",
204
- " nolo chrome <subcommand> [flags]",
205
- "",
206
- "Subcommands:",
207
- ...Object.values(CHROME_OPS_SUBCOMMANDS).map(
208
- (spec) => ` ${spec.usage.replace(/^nolo chrome /, "")}`
209
- ),
210
- "",
211
- "Notes:",
212
- " --ref takes an elementRef copied from `nolo chrome read-page` (revision-scoped,",
213
- " preferred over --selector); --selector takes a CSS selector.",
214
- " Actions the connector classifies as irreversible (Submit / Delete / Pay ...)",
215
- " are refused with CONFIRMATION_REQUIRED \u2014 ask the user to perform them.",
216
- " read-console / read-network / upload work on Chrome only (Firefox lacks chrome.debugger).",
217
- " Every subcommand prints the connector's raw JSON result; failures exit 1.",
218
- " Endpoint: NOLO_CHROME_CONNECTOR_RPC_URL or http://127.0.0.1:38947/rpc."
219
- ];
220
- return lines.join("\n");
221
- }
222
- var CHROME_OPS_HELP_TEXT = renderChromeOpsHelp();
223
- async function runChromeOpsCommand(subcommand, args, deps = {}) {
224
- const io = {
225
- stdout: (text) => console.log(text),
226
- stderr: (text) => console.error(text),
227
- ...deps.io
228
- };
229
- const spec = CHROME_OPS_SUBCOMMANDS[subcommand];
230
- if (!spec) {
231
- io.stderr(`Unknown chrome subcommand: ${subcommand}
232
-
233
- ${CHROME_OPS_HELP_TEXT}`);
234
- return 1;
235
- }
236
- if (wantsHelp(args)) {
237
- io.stdout(CHROME_OPS_HELP_TEXT);
238
- return 0;
239
- }
240
- let payload;
241
- try {
242
- payload = spec.payload(args, spec.usage);
243
- } catch (error) {
244
- io.stderr(toErrorMessage(error));
245
- return 1;
246
- }
247
- let result;
248
- try {
249
- const client = deps.client ?? createChromeConnectorClient();
250
- result = await client.request(spec.action, payload);
251
- } catch (error) {
252
- const code = typeof error?.code === "string" ? error.code : "CHROME_COMMAND_FAILED";
253
- io.stderr(JSON.stringify({ ok: false, error: { code, message: toErrorMessage(error) } }, null, 2));
254
- return 1;
255
- }
256
- if (subcommand === "screenshot") {
257
- const out = readTrimmedOption(args, "--out");
258
- const dataUrl = result?.dataUrl;
259
- if (out && typeof dataUrl === "string") {
260
- const base64 = dataUrl.includes(",") ? dataUrl.slice(dataUrl.indexOf(",") + 1) : dataUrl;
261
- const bytes = Buffer.from(base64, "base64");
262
- try {
263
- await writeFile(out, bytes);
264
- } catch (error) {
265
- io.stderr(
266
- JSON.stringify(
267
- {
268
- ok: false,
269
- error: { code: "SCREENSHOT_WRITE_FAILED", message: toErrorMessage(error) }
270
- },
271
- null,
272
- 2
273
- )
274
- );
275
- return 1;
276
- }
277
- io.stdout(JSON.stringify({ ok: true, result: { savedTo: out, bytes: bytes.byteLength } }, null, 2));
278
- return 0;
279
- }
280
- }
281
- io.stdout(JSON.stringify({ ok: true, result }, null, 2));
282
- return 0;
283
- }
284
- export {
285
- CHROME_OPS_HELP_TEXT,
286
- CHROME_OPS_SUBCOMMANDS,
287
- renderChromeOpsHelp,
288
- runChromeOpsCommand
289
- };