nolo-cli 0.143.0-alpha.1 → 0.145.0-alpha.1

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 (455) hide show
  1. package/README.md +2 -0
  2. package/{_executeModel-QK43QR2R.js → _executeModel-M3FASQ2Z.js} +18 -17
  3. package/{agentDeleteCommand-SE4WUIRR.js → agentDeleteCommand-K7GCEEVS.js} +10 -9
  4. package/{agentEmailCommands-LW5JMYH2.js → agentEmailCommands-MNXRO36L.js} +24 -23
  5. package/{agentListCommands-LGZG2OQR.js → agentListCommands-KMZR6VVM.js} +12 -11
  6. package/{agentMachineCommands-BNOXYSPZ.js → agentMachineCommands-75TIBYDY.js} +10 -9
  7. package/{agentProviderCommands-AOG3OZJA.js → agentProviderCommands-TWB6E5WD.js} +1 -1
  8. package/{agentRecordCommands-W5ZXPHZV.js → agentRecordCommands-RDO5L3N4.js} +23 -22
  9. package/{agentRunCommand-VRLCL57M.js → agentRunCommand-FVJJPL27.js} +23 -22
  10. package/{agentRuntimeLocal-VOQ3UYZB.js → agentRuntimeLocal-DAK7RCER.js} +8 -7
  11. package/{agentSlice-4AK24F5F.js → agentSlice-6MRJR2BJ.js} +1 -1
  12. package/{appDeleteCommands-XWAIUHTN.js → appDeleteCommands-JMMXK3XT.js} +11 -10
  13. package/{appDeployCommands-CBJJCUMG.js → appDeployCommands-JFU6GALI.js} +11 -10
  14. package/{appDeployStatusCommands-LTTZTJQS.js → appDeployStatusCommands-AXTZ4GAN.js} +11 -10
  15. package/{appGetCommands-QHUB7MFF.js → appGetCommands-CR2W3DCM.js} +11 -10
  16. package/{appListCommands-HINIDJE7.js → appListCommands-2TV6P3EU.js} +11 -10
  17. package/{authCommand-LARLQ3GC.js → authCommand-UBJ4EWYZ.js} +6 -6
  18. package/{authCommands-GBIFZWD3.js → authCommands-H6WKKCRW.js} +1 -1
  19. package/{builtinSkillRegistry-AFPSTTAU.js → builtinSkillRegistry-ZMF6YGNO.js} +4 -3
  20. package/{chatQueueReduxAdapter-KIQ3FQ62.js → chatQueueReduxAdapter-CDOHVTSE.js} +2 -2
  21. package/{chromeCommands-NKU3OWKH.js → chromeCommands-2N6MEWRU.js} +94 -23
  22. package/{chromeOpsCommands-OQDJGD4Y.js → chromeOpsCommands-IXRLN57H.js} +4 -3
  23. package/{chunk-7MUSNQ6E.js → chunk-27ONFIEY.js} +20 -2
  24. package/{chunk-OZ6V53WV.js → chunk-2EE5UD3N.js} +1 -1
  25. package/{chunk-44QZPYLI.js → chunk-2SYTUTLI.js} +92 -20
  26. package/{chunk-DID5AVGT.js → chunk-2TKVOEQF.js} +11 -10
  27. package/chunk-5J3PYNUP.js +255 -0
  28. package/{chunk-OUOJE2P2.js → chunk-5XYFIDFU.js} +5 -5
  29. package/{chunk-WTUVMKSQ.js → chunk-62XHRZG4.js} +2 -2
  30. package/{chunk-WC6A2Q7S.js → chunk-6TPOEJMQ.js} +5 -2
  31. package/{chunk-RRMAZ2BI.js → chunk-7NANRWL4.js} +1 -1
  32. package/{chunk-44F6KKUE.js → chunk-7YAK46ML.js} +3 -3
  33. package/{chunk-NOGH7HCP.js → chunk-A6FNUMCF.js} +47 -6
  34. package/{chunk-OFYHCA6W.js → chunk-AATZZAZE.js} +1 -1
  35. package/{chunk-KUPDS66Q.js → chunk-ANX7Z7Z2.js} +8 -8
  36. package/{chunk-J5H6SUOW.js → chunk-B2XUQXQX.js} +2 -2
  37. package/{chunk-A5MB5RIT.js → chunk-CCOXTK3I.js} +1 -1
  38. package/chunk-GNMAFAIS.js +29 -0
  39. package/{chunk-GZQNKKDG.js → chunk-HKBFZONG.js} +1 -1
  40. package/{chunk-7LLWEG6F.js → chunk-I44MDY73.js} +3 -3
  41. package/{chunk-QDT5T7MK.js → chunk-I4OPU5TK.js} +1 -1
  42. package/{chunk-VPFEPRME.js → chunk-IVZJWTDI.js} +3 -0
  43. package/{chunk-CTGZO35O.js → chunk-JLQKV2ZJ.js} +2 -2
  44. package/{chunk-PQVOC2CZ.js → chunk-M2YBIBBS.js} +1 -1
  45. package/{chunk-ZOI6KA4N.js → chunk-M76SRQ3H.js} +34 -22
  46. package/{chunk-K25DK52L.js → chunk-OKSJZ4UU.js} +21 -223
  47. package/{chunk-U5QTKTZE.js → chunk-P6GMCCAT.js} +1 -1
  48. package/{chunk-L6RB42ZR.js → chunk-QFZM5BFI.js} +3 -3
  49. package/{chunk-GH4MH73K.js → chunk-RHDOQWXZ.js} +175 -17
  50. package/{chunk-M6NK74VP.js → chunk-S5XGT6GB.js} +1 -1
  51. package/{chunk-KUWT3C2P.js → chunk-T76D3OYX.js} +1 -1
  52. package/{chunk-MXRUAINC.js → chunk-UMB7CHAY.js} +3 -3
  53. package/{chunk-VVUSRF5D.js → chunk-VJ4FUWPC.js} +3 -3
  54. package/{chunk-T36EFAW7.js → chunk-VZVTPDPL.js} +3 -3
  55. package/{chunk-AAROOKLX.js → chunk-X2QRZXZH.js} +1 -1
  56. package/{chunk-WYYO2YOL.js → chunk-XNXNHAAP.js} +1 -1
  57. package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
  58. package/{chunk-DOBBRISY.js → chunk-Y6XHJ4JJ.js} +22 -10
  59. package/{chunk-W247GBSQ.js → chunk-YU2THNST.js} +1 -1
  60. package/{chunk-OY5IJI2N.js → chunk-YUNJN43V.js} +23 -3
  61. package/{commandRegistry-DETYXF5I.js → commandRegistry-ZF6YXQWV.js} +76 -65
  62. package/{contentThunks-6QBTPLWT.js → contentThunks-6Y6ATG3A.js} +3 -3
  63. package/{createAgentAutomationAction-TZVIJTZ7.js → createAgentAutomationAction-OQTLA2FC.js} +3 -3
  64. package/{createDialogAction-KTDAEA42.js → createDialogAction-IF5EZMBD.js} +6 -5
  65. package/{createPageAction-4RASVDAU.js → createPageAction-GU766R3L.js} +3 -3
  66. package/{dialogCommands-GY7LRERG.js → dialogCommands-QV7XAX2V.js} +11 -10
  67. package/{dialogSlice-J24APUGG.js → dialogSlice-CVHMDSVV.js} +2 -2
  68. package/{docCreateCommands-T7KII3WP.js → docCreateCommands-FSBANQTO.js} +10 -9
  69. package/{docDeleteCommands-SQ26EFE6.js → docDeleteCommands-4IR4YSGU.js} +11 -10
  70. package/{docReadCommands-I6NA2ZKV.js → docReadCommands-4EYPGUE3.js} +10 -9
  71. package/{docStore-SPOGE7K3.js → docStore-RQOWPNON.js} +1 -1
  72. package/{docUpdateCommands-IG43SZ6U.js → docUpdateCommands-RW2BYLSE.js} +10 -9
  73. package/{handleSendMessageAction-I2IN64DS.js → handleSendMessageAction-UDTPG5WK.js} +4 -3
  74. package/index.js +4 -4
  75. package/{machineCommands-U7VABJPW.js → machineCommands-WBQ4TCPD.js} +22 -21
  76. package/{machineWsRunDispatch-ZNU6LRNG.js → machineWsRunDispatch-7DNDXUOS.js} +22 -21
  77. package/node_modules/abstract-level/CHANGELOG.md +150 -0
  78. package/node_modules/abstract-level/LICENSE +21 -0
  79. package/node_modules/abstract-level/README.md +1957 -0
  80. package/node_modules/abstract-level/UPGRADING.md +669 -0
  81. package/node_modules/abstract-level/abstract-chained-batch.js +397 -0
  82. package/node_modules/abstract-level/abstract-iterator.js +404 -0
  83. package/node_modules/abstract-level/abstract-level.js +1127 -0
  84. package/node_modules/abstract-level/abstract-snapshot.js +84 -0
  85. package/node_modules/abstract-level/index.d.ts +52 -0
  86. package/node_modules/abstract-level/index.js +9 -0
  87. package/node_modules/abstract-level/lib/abstract-sublevel-iterator.js +141 -0
  88. package/node_modules/abstract-level/lib/abstract-sublevel.js +290 -0
  89. package/node_modules/abstract-level/lib/common.js +33 -0
  90. package/node_modules/abstract-level/lib/default-chained-batch.js +29 -0
  91. package/node_modules/abstract-level/lib/default-kv-iterator.js +74 -0
  92. package/node_modules/abstract-level/lib/deferred-iterator.js +110 -0
  93. package/node_modules/abstract-level/lib/deferred-queue.js +84 -0
  94. package/node_modules/abstract-level/lib/errors.js +21 -0
  95. package/node_modules/abstract-level/lib/event-monitor.js +30 -0
  96. package/node_modules/abstract-level/lib/hooks.js +78 -0
  97. package/node_modules/abstract-level/lib/prefixes.js +21 -0
  98. package/node_modules/abstract-level/lib/prewrite-batch.js +96 -0
  99. package/node_modules/abstract-level/lib/range-options.js +26 -0
  100. package/node_modules/abstract-level/package.json +66 -0
  101. package/node_modules/abstract-level/test/async-iterator-test.js +132 -0
  102. package/node_modules/abstract-level/test/batch-test.js +214 -0
  103. package/node_modules/abstract-level/test/chained-batch-test.js +315 -0
  104. package/node_modules/abstract-level/test/clear-range-test.js +262 -0
  105. package/node_modules/abstract-level/test/clear-test.js +110 -0
  106. package/node_modules/abstract-level/test/common.js +90 -0
  107. package/node_modules/abstract-level/test/deferred-open-test.js +209 -0
  108. package/node_modules/abstract-level/test/del-test.js +65 -0
  109. package/node_modules/abstract-level/test/encoding-buffer-test.js +336 -0
  110. package/node_modules/abstract-level/test/encoding-custom-test.js +92 -0
  111. package/node_modules/abstract-level/test/encoding-decode-error-test.js +85 -0
  112. package/node_modules/abstract-level/test/encoding-json-test.js +75 -0
  113. package/node_modules/abstract-level/test/encoding-test.js +130 -0
  114. package/node_modules/abstract-level/test/events/write.js +132 -0
  115. package/node_modules/abstract-level/test/factory-test.js +36 -0
  116. package/node_modules/abstract-level/test/get-many-test.js +157 -0
  117. package/node_modules/abstract-level/test/get-sync-test.js +61 -0
  118. package/node_modules/abstract-level/test/get-test.js +83 -0
  119. package/node_modules/abstract-level/test/has-many-test.js +144 -0
  120. package/node_modules/abstract-level/test/has-test.js +81 -0
  121. package/node_modules/abstract-level/test/hooks/newsub.js +57 -0
  122. package/node_modules/abstract-level/test/hooks/postopen.js +229 -0
  123. package/node_modules/abstract-level/test/hooks/prewrite.js +816 -0
  124. package/node_modules/abstract-level/test/hooks/shared.js +38 -0
  125. package/node_modules/abstract-level/test/index.js +86 -0
  126. package/node_modules/abstract-level/test/iterator-explicit-snapshot-test.js +393 -0
  127. package/node_modules/abstract-level/test/iterator-no-snapshot-test.js +49 -0
  128. package/node_modules/abstract-level/test/iterator-range-test.js +277 -0
  129. package/node_modules/abstract-level/test/iterator-seek-test.js +335 -0
  130. package/node_modules/abstract-level/test/iterator-snapshot-test.js +56 -0
  131. package/node_modules/abstract-level/test/iterator-test.js +621 -0
  132. package/node_modules/abstract-level/test/manifest-test.js +21 -0
  133. package/node_modules/abstract-level/test/open-create-if-missing-test.js +39 -0
  134. package/node_modules/abstract-level/test/open-error-if-exists-test.js +25 -0
  135. package/node_modules/abstract-level/test/open-test.js +263 -0
  136. package/node_modules/abstract-level/test/put-get-del-test.js +97 -0
  137. package/node_modules/abstract-level/test/put-test.js +70 -0
  138. package/node_modules/abstract-level/test/self/abstract-iterator-test.js +182 -0
  139. package/node_modules/abstract-level/test/self/async-iterator-test.js +242 -0
  140. package/node_modules/abstract-level/test/self/attach-resource-test.js +74 -0
  141. package/node_modules/abstract-level/test/self/defer-test.js +140 -0
  142. package/node_modules/abstract-level/test/self/deferred-iterator-test.js +314 -0
  143. package/node_modules/abstract-level/test/self/deferred-operations-test.js +86 -0
  144. package/node_modules/abstract-level/test/self/deferred-queue-test.js +93 -0
  145. package/node_modules/abstract-level/test/self/encoding-test.js +391 -0
  146. package/node_modules/abstract-level/test/self/errors-test.js +11 -0
  147. package/node_modules/abstract-level/test/self/iterator-test.js +1050 -0
  148. package/node_modules/abstract-level/test/self/sublevel-test.js +1039 -0
  149. package/node_modules/abstract-level/test/self.js +905 -0
  150. package/node_modules/abstract-level/test/sublevel-test.js +209 -0
  151. package/node_modules/abstract-level/test/traits/closed.js +42 -0
  152. package/node_modules/abstract-level/test/traits/index.js +4 -0
  153. package/node_modules/abstract-level/test/traits/open.js +62 -0
  154. package/node_modules/abstract-level/test/util.js +275 -0
  155. package/node_modules/abstract-level/types/abstract-chained-batch.d.ts +124 -0
  156. package/node_modules/abstract-level/types/abstract-iterator.d.ts +241 -0
  157. package/node_modules/abstract-level/types/abstract-level.d.ts +636 -0
  158. package/node_modules/abstract-level/types/abstract-snapshot.d.ts +30 -0
  159. package/node_modules/abstract-level/types/abstract-sublevel.d.ts +76 -0
  160. package/node_modules/abstract-level/types/interfaces.d.ts +43 -0
  161. package/node_modules/base64-js/LICENSE +21 -0
  162. package/node_modules/base64-js/README.md +34 -0
  163. package/node_modules/base64-js/base64js.min.js +1 -0
  164. package/node_modules/base64-js/index.d.ts +3 -0
  165. package/node_modules/base64-js/index.js +150 -0
  166. package/node_modules/base64-js/package.json +47 -0
  167. package/node_modules/browser-level/CHANGELOG.md +44 -0
  168. package/node_modules/browser-level/LICENSE +21 -0
  169. package/node_modules/browser-level/README.md +124 -0
  170. package/node_modules/browser-level/UPGRADING.md +143 -0
  171. package/node_modules/browser-level/index.d.ts +108 -0
  172. package/node_modules/browser-level/index.js +323 -0
  173. package/node_modules/browser-level/iterator.js +239 -0
  174. package/node_modules/browser-level/package.json +48 -0
  175. package/node_modules/browser-level/util/clear.js +38 -0
  176. package/node_modules/browser-level/util/deserialize.js +17 -0
  177. package/node_modules/browser-level/util/key-range.js +20 -0
  178. package/node_modules/buffer/AUTHORS.md +73 -0
  179. package/node_modules/buffer/LICENSE +21 -0
  180. package/node_modules/buffer/README.md +410 -0
  181. package/node_modules/buffer/index.d.ts +194 -0
  182. package/node_modules/buffer/index.js +2106 -0
  183. package/node_modules/buffer/package.json +93 -0
  184. package/node_modules/classic-level/CHANGELOG.md +115 -0
  185. package/node_modules/classic-level/LICENSE +21 -0
  186. package/node_modules/classic-level/README.md +274 -0
  187. package/node_modules/classic-level/UPGRADING.md +131 -0
  188. package/node_modules/classic-level/binding.cc +2652 -0
  189. package/node_modules/classic-level/binding.gyp +71 -0
  190. package/node_modules/classic-level/binding.js +1 -0
  191. package/node_modules/classic-level/chained-batch.js +35 -0
  192. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/LICENSE +27 -0
  193. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/Makefile +424 -0
  194. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/build_detect_platform +256 -0
  195. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/autocompact_test.cc +118 -0
  196. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.cc +88 -0
  197. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.h +34 -0
  198. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c.cc +595 -0
  199. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c_test.c +390 -0
  200. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/corruption_test.cc +374 -0
  201. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_bench.cc +1020 -0
  202. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.cc +1568 -0
  203. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.h +212 -0
  204. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.cc +317 -0
  205. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.h +28 -0
  206. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_test.cc +2158 -0
  207. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.cc +140 -0
  208. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.h +230 -0
  209. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat_test.cc +112 -0
  210. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dumpfile.cc +225 -0
  211. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/fault_injection_test.cc +554 -0
  212. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.cc +144 -0
  213. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.h +85 -0
  214. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename_test.cc +123 -0
  215. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/leveldbutil.cc +64 -0
  216. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_format.h +35 -0
  217. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.cc +284 -0
  218. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.h +113 -0
  219. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_test.cc +591 -0
  220. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.cc +112 -0
  221. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.h +54 -0
  222. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.cc +145 -0
  223. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.h +89 -0
  224. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/recovery_test.cc +324 -0
  225. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/repair.cc +461 -0
  226. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist.h +384 -0
  227. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist_test.cc +378 -0
  228. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/snapshot.h +67 -0
  229. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.cc +127 -0
  230. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.h +61 -0
  231. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.cc +266 -0
  232. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.h +107 -0
  233. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit_test.cc +46 -0
  234. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.cc +1535 -0
  235. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.h +399 -0
  236. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set_test.cc +179 -0
  237. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch.cc +147 -0
  238. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_internal.h +50 -0
  239. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_test.cc +120 -0
  240. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.cc +398 -0
  241. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.h +20 -0
  242. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv_test.cc +241 -0
  243. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/c.h +290 -0
  244. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/cache.h +110 -0
  245. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/comparator.h +63 -0
  246. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/db.h +164 -0
  247. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/dumpfile.h +25 -0
  248. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/env.h +351 -0
  249. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/filter_policy.h +70 -0
  250. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/iterator.h +100 -0
  251. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/options.h +213 -0
  252. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/slice.h +109 -0
  253. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/status.h +112 -0
  254. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table.h +85 -0
  255. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table_builder.h +92 -0
  256. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/value_sink.h +26 -0
  257. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/write_batch.h +64 -0
  258. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue178_test.cc +92 -0
  259. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue200_test.cc +59 -0
  260. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/atomic_pointer.h +242 -0
  261. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port.h +21 -0
  262. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_example.h +141 -0
  263. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.cc +53 -0
  264. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.h +156 -0
  265. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix_sse.cc +129 -0
  266. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/thread_annotations.h +60 -0
  267. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/win/stdint.h +24 -0
  268. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.cc +268 -0
  269. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.h +44 -0
  270. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.cc +109 -0
  271. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.h +57 -0
  272. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.cc +111 -0
  273. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.h +68 -0
  274. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block_test.cc +128 -0
  275. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.cc +144 -0
  276. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.h +108 -0
  277. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator.cc +67 -0
  278. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator_wrapper.h +66 -0
  279. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.cc +197 -0
  280. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.h +26 -0
  281. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table.cc +285 -0
  282. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_builder.cc +270 -0
  283. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_test.cc +876 -0
  284. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.cc +182 -0
  285. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.h +34 -0
  286. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.cc +68 -0
  287. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.h +68 -0
  288. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena_test.cc +68 -0
  289. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom.cc +95 -0
  290. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom_test.cc +162 -0
  291. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache.cc +405 -0
  292. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache_test.cc +226 -0
  293. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.cc +194 -0
  294. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.h +104 -0
  295. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding_test.cc +196 -0
  296. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/comparator.cc +81 -0
  297. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.cc +350 -0
  298. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.h +45 -0
  299. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c_test.cc +72 -0
  300. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env.cc +100 -0
  301. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix.cc +695 -0
  302. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test.cc +66 -0
  303. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test_helper.h +28 -0
  304. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_test.cc +106 -0
  305. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/filter_policy.cc +11 -0
  306. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.cc +52 -0
  307. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.h +19 -0
  308. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash_test.cc +54 -0
  309. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.cc +139 -0
  310. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.h +42 -0
  311. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.cc +72 -0
  312. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.h +43 -0
  313. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/mutexlock.h +41 -0
  314. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/options.cc +30 -0
  315. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/posix_logger.h +98 -0
  316. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/random.h +64 -0
  317. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/status.cc +75 -0
  318. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.cc +77 -0
  319. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.h +138 -0
  320. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.cc +51 -0
  321. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.h +63 -0
  322. package/node_modules/classic-level/deps/leveldb/leveldb.gyp +282 -0
  323. package/node_modules/classic-level/deps/leveldb/patches/001-value-sink.patch +164 -0
  324. package/node_modules/classic-level/deps/leveldb/port-libuv/atomic_pointer_win.h +48 -0
  325. package/node_modules/classic-level/deps/leveldb/port-libuv/env_win.cc +692 -0
  326. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.cc +36 -0
  327. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h +157 -0
  328. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h.bak +153 -0
  329. package/node_modules/classic-level/deps/leveldb/port-libuv/stdint-msvc2008.h +247 -0
  330. package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar.h +45 -0
  331. package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar_posix.cc +139 -0
  332. package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.cc +79 -0
  333. package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.h +28 -0
  334. package/node_modules/classic-level/deps/snappy/freebsd/config.h +135 -0
  335. package/node_modules/classic-level/deps/snappy/freebsd/snappy-stubs-public.h +100 -0
  336. package/node_modules/classic-level/deps/snappy/linux/config.h +135 -0
  337. package/node_modules/classic-level/deps/snappy/linux/snappy-stubs-public.h +100 -0
  338. package/node_modules/classic-level/deps/snappy/mac/config.h +137 -0
  339. package/node_modules/classic-level/deps/snappy/mac/snappy-stubs-public.h +100 -0
  340. package/node_modules/classic-level/deps/snappy/openbsd/config.h +135 -0
  341. package/node_modules/classic-level/deps/snappy/openbsd/snappy-stubs-public.h +100 -0
  342. package/node_modules/classic-level/deps/snappy/snappy/COPYING +54 -0
  343. package/node_modules/classic-level/deps/snappy/snappy/cmake/SnappyConfig.cmake +1 -0
  344. package/node_modules/classic-level/deps/snappy/snappy/cmake/config.h.in +62 -0
  345. package/node_modules/classic-level/deps/snappy/snappy/snappy-c.cc +90 -0
  346. package/node_modules/classic-level/deps/snappy/snappy/snappy-c.h +138 -0
  347. package/node_modules/classic-level/deps/snappy/snappy/snappy-internal.h +224 -0
  348. package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.cc +104 -0
  349. package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.h +182 -0
  350. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.cc +42 -0
  351. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.h +561 -0
  352. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-public.h.in +94 -0
  353. package/node_modules/classic-level/deps/snappy/snappy/snappy-test.cc +612 -0
  354. package/node_modules/classic-level/deps/snappy/snappy/snappy-test.h +573 -0
  355. package/node_modules/classic-level/deps/snappy/snappy/snappy.cc +1515 -0
  356. package/node_modules/classic-level/deps/snappy/snappy/snappy.h +203 -0
  357. package/node_modules/classic-level/deps/snappy/snappy/snappy_unittest.cc +1410 -0
  358. package/node_modules/classic-level/deps/snappy/snappy.gyp +119 -0
  359. package/node_modules/classic-level/deps/snappy/solaris/config.h +135 -0
  360. package/node_modules/classic-level/deps/snappy/solaris/snappy-stubs-public.h +100 -0
  361. package/node_modules/classic-level/deps/snappy/win32/config.h +29 -0
  362. package/node_modules/classic-level/deps/snappy/win32/snappy-stubs-public.h +100 -0
  363. package/node_modules/classic-level/index.d.ts +343 -0
  364. package/node_modules/classic-level/index.js +311 -0
  365. package/node_modules/classic-level/iterator.js +122 -0
  366. package/node_modules/classic-level/package.json +70 -0
  367. package/node_modules/classic-level/prebuilds/android-arm/classic-level.armv7.node +0 -0
  368. package/node_modules/classic-level/prebuilds/android-arm64/classic-level.armv8.node +0 -0
  369. package/node_modules/classic-level/prebuilds/darwin-x64+arm64/classic-level.node +0 -0
  370. package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv6.node +0 -0
  371. package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv7.node +0 -0
  372. package/node_modules/classic-level/prebuilds/linux-arm64/classic-level.armv8.node +0 -0
  373. package/node_modules/classic-level/prebuilds/linux-x64/classic-level.musl.node +0 -0
  374. package/node_modules/classic-level/prebuilds/linux-x64/classic-level.node +0 -0
  375. package/node_modules/classic-level/prebuilds/win32-ia32/classic-level.node +0 -0
  376. package/node_modules/classic-level/prebuilds/win32-x64/classic-level.node +0 -0
  377. package/node_modules/ieee754/LICENSE +11 -0
  378. package/node_modules/ieee754/README.md +51 -0
  379. package/node_modules/ieee754/index.d.ts +10 -0
  380. package/node_modules/ieee754/index.js +85 -0
  381. package/node_modules/ieee754/package.json +52 -0
  382. package/node_modules/is-buffer/LICENSE +21 -0
  383. package/node_modules/is-buffer/README.md +54 -0
  384. package/node_modules/is-buffer/index.d.ts +2 -0
  385. package/node_modules/is-buffer/index.js +11 -0
  386. package/node_modules/is-buffer/package.json +65 -0
  387. package/node_modules/level/CHANGELOG.md +532 -0
  388. package/node_modules/level/LICENSE +21 -0
  389. package/node_modules/level/README.md +107 -0
  390. package/node_modules/level/UPGRADING.md +413 -0
  391. package/node_modules/level/browser.js +1 -0
  392. package/node_modules/level/index.d.ts +75 -0
  393. package/node_modules/level/index.js +1 -0
  394. package/node_modules/level/package.json +62 -0
  395. package/node_modules/level-supports/CHANGELOG.md +140 -0
  396. package/node_modules/level-supports/LICENSE +21 -0
  397. package/node_modules/level-supports/README.md +276 -0
  398. package/node_modules/level-supports/index.d.ts +137 -0
  399. package/node_modules/level-supports/index.js +26 -0
  400. package/node_modules/level-supports/package.json +46 -0
  401. package/node_modules/level-supports/test/cloneable.js +26 -0
  402. package/node_modules/level-supports/test/index.js +24 -0
  403. package/node_modules/level-supports/test/self.js +86 -0
  404. package/node_modules/level-supports/test/shape.js +23 -0
  405. package/node_modules/level-transcoder/CHANGELOG.md +15 -0
  406. package/node_modules/level-transcoder/LICENSE +21 -0
  407. package/node_modules/level-transcoder/README.md +214 -0
  408. package/node_modules/level-transcoder/UPGRADING.md +13 -0
  409. package/node_modules/level-transcoder/index.d.ts +27 -0
  410. package/node_modules/level-transcoder/index.js +158 -0
  411. package/node_modules/level-transcoder/lib/encoding.d.ts +158 -0
  412. package/node_modules/level-transcoder/lib/encoding.js +105 -0
  413. package/node_modules/level-transcoder/lib/encodings.d.ts +9 -0
  414. package/node_modules/level-transcoder/lib/encodings.js +135 -0
  415. package/node_modules/level-transcoder/lib/formats.d.ts +13 -0
  416. package/node_modules/level-transcoder/lib/formats.js +111 -0
  417. package/node_modules/level-transcoder/lib/text-endec.d.ts +6 -0
  418. package/node_modules/level-transcoder/lib/text-endec.js +19 -0
  419. package/node_modules/level-transcoder/package.json +46 -0
  420. package/node_modules/maybe-combine-errors/LICENSE.md +21 -0
  421. package/node_modules/maybe-combine-errors/README.md +94 -0
  422. package/node_modules/maybe-combine-errors/index.js +60 -0
  423. package/node_modules/maybe-combine-errors/package.json +33 -0
  424. package/node_modules/module-error/CHANGELOG.md +23 -0
  425. package/node_modules/module-error/LICENSE +21 -0
  426. package/node_modules/module-error/README.md +89 -0
  427. package/node_modules/module-error/index.d.ts +18 -0
  428. package/node_modules/module-error/index.js +22 -0
  429. package/node_modules/module-error/package.json +36 -0
  430. package/node_modules/napi-macros/LICENSE +21 -0
  431. package/node_modules/napi-macros/README.md +277 -0
  432. package/node_modules/napi-macros/index.js +1 -0
  433. package/node_modules/napi-macros/napi-macros.h +255 -0
  434. package/node_modules/napi-macros/package.json +22 -0
  435. package/node_modules/node-gyp-build/LICENSE +21 -0
  436. package/node_modules/node-gyp-build/README.md +58 -0
  437. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  438. package/node_modules/node-gyp-build/bin.js +84 -0
  439. package/node_modules/node-gyp-build/build-test.js +19 -0
  440. package/node_modules/node-gyp-build/index.js +6 -0
  441. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  442. package/node_modules/node-gyp-build/optional.js +7 -0
  443. package/node_modules/node-gyp-build/package.json +43 -0
  444. package/package.json +6 -3
  445. package/{providerPresetApply-7XEHTODR.js → providerPresetApply-XTEXOH7X.js} +3 -3
  446. package/{providerRegistry-GNV4FFSA.js → providerRegistry-ADYDSLKR.js} +3 -3
  447. package/{readlineWorkspace-46KDFUHN.js → readlineWorkspace-LO6ZLFTO.js} +1381 -1317
  448. package/{runAgentClientLoop-CQWLWU4W.js → runAgentClientLoop-KAYGKVTK.js} +16 -15
  449. package/{runtimeDoctorCommands-3USD722U.js → runtimeDoctorCommands-ID23PNNZ.js} +28 -0
  450. package/{spaceCommands-TSBC5UWP.js → spaceCommands-FA6RCZ2Y.js} +10 -9
  451. package/{streamAgentChatTurn-XD5JEJXA.js → streamAgentChatTurn-DFNDU2UY.js} +17 -16
  452. package/{tools-5NAJJTFN.js → tools-6HKH75NT.js} +13 -12
  453. package/{tuiSummaryLlmCaller-7KLLDP22.js → tuiSummaryLlmCaller-CFFVXQWX.js} +2 -2
  454. package/{updateCommands-XYMGOKF4.js → updateCommands-4EHDLF5J.js} +1 -1
  455. package/{updateDialogTitleAction-IKZPJCRA.js → updateDialogTitleAction-FFSYTLBC.js} +3 -3
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  NOLO_CHROME_CONNECTOR_EXTENSION_ID,
3
3
  NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION,
4
+ NOLO_CONNECTOR_EXTENSION_IDS,
5
+ NOLO_FIREFOX_CONNECTOR_EXTENSION_ID,
4
6
  REQUIRED_CHROME_CONNECTOR_FEATURES,
5
7
  createChromeConnectorClient
6
- } from "./chunk-OY5IJI2N.js";
8
+ } from "./chunk-YUNJN43V.js";
7
9
  import {
8
10
  toErrorMessage
9
11
  } from "./chunk-HNMXYYJR.js";
@@ -11,11 +13,11 @@ import "./chunk-KUG52IAP.js";
11
13
  import "./chunk-4VNS5WPM.js";
12
14
 
13
15
  // packages/cli/chromeCommands.ts
14
- import { existsSync as existsSync2, readFileSync as readFileSync2, statSync } from "node:fs";
16
+ import { existsSync as existsSync2, readFileSync as readFileSync2, statSync as statSync2 } from "node:fs";
15
17
  import { resolve as resolve2 } from "node:path";
16
18
 
17
19
  // packages/desktop-chrome-connector/nativeHostInstall.mjs
18
- import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
20
+ import { chmodSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
19
21
  import { createHash, randomBytes } from "node:crypto";
20
22
  import { dirname, resolve } from "node:path";
21
23
  import { execFileSync } from "node:child_process";
@@ -144,6 +146,21 @@ var CLI_CONNECTOR_ROOT_CANDIDATES = [
144
146
  var FULL_SUPPORT_CHROME_FEATURES = [
145
147
  ...new Set(Object.values(REQUIRED_CHROME_CONNECTOR_FEATURES).flat())
146
148
  ].sort();
149
+ var FIREFOX_UNAVAILABLE_FEATURES = ["browser_debug", "file_upload"];
150
+ function resolveConnectorBrowser(extensionId) {
151
+ if (!extensionId) return null;
152
+ if (extensionId === NOLO_FIREFOX_CONNECTOR_EXTENSION_ID) return "firefox";
153
+ if (NOLO_CONNECTOR_EXTENSION_IDS.includes(extensionId)) return "chrome";
154
+ return null;
155
+ }
156
+ function expectedFeaturesForBrowser(browser) {
157
+ return browser === "firefox" ? FULL_SUPPORT_CHROME_FEATURES.filter(
158
+ (feature) => !FIREFOX_UNAVAILABLE_FEATURES.includes(feature)
159
+ ) : FULL_SUPPORT_CHROME_FEATURES;
160
+ }
161
+ function browserLabel(browser) {
162
+ return browser === "firefox" ? "Firefox" : browser === "chrome" ? "Chrome" : "browser";
163
+ }
147
164
  function pickCliConnectorRoot(candidates) {
148
165
  for (const candidate of candidates) {
149
166
  if (existsSync2(resolve2(candidate, "extension", "manifest.json"))) return candidate;
@@ -183,7 +200,7 @@ function detectWorktreeCheckout(connectorRoot) {
183
200
  if (existsSync2(gitEntry)) {
184
201
  let isGitFile = null;
185
202
  try {
186
- isGitFile = statSync(gitEntry).isFile();
203
+ isGitFile = statSync2(gitEntry).isFile();
187
204
  } catch {
188
205
  }
189
206
  if (isGitFile === true) {
@@ -258,9 +275,13 @@ async function probeConnectorRpc(requestChrome) {
258
275
  }
259
276
  }
260
277
  function resolveStatusNextStep(report) {
278
+ const targetBrowser = report.rpc.browser ?? report.nativeHost.browser;
279
+ const installCmd = targetBrowser === "firefox" ? "nolo chrome install --browser firefox" : "nolo chrome install";
280
+ const connectedLabel = browserLabel(targetBrowser);
281
+ const browserText = connectedLabel === "browser" ? "the browser" : connectedLabel;
261
282
  if (!report.connectorRoot) {
262
283
  if (report.rpc.online && report.rpc.protocolVersion === report.rpc.expectedProtocolVersion) {
263
- return "Chrome connector is online, but this CLI cannot see a connector checkout, so `nolo chrome install` / manifest checks are unavailable here. Set NOLO_CHROME_CONNECTOR_ROOT (or run the CLI from a repo checkout) to enable them.";
284
+ return "The Nolo Browser Connector is online, but this CLI cannot see a connector checkout, so `nolo chrome install` / manifest checks are unavailable here. Set NOLO_CHROME_CONNECTOR_ROOT (or run the CLI from a repo checkout) to enable them.";
264
285
  }
265
286
  return "Run the CLI from a repo checkout that contains packages/desktop-chrome-connector, or set NOLO_CHROME_CONNECTOR_ROOT to one, then rerun `nolo chrome status`.";
266
287
  }
@@ -268,20 +289,20 @@ function resolveStatusNextStep(report) {
268
289
  return `This platform has no supported native messaging host install (Chrome looks the host up through a registry value on Windows), so non-interactive install is not available: ${report.nativeHost.platformError ?? "unsupported platform"}`;
269
290
  }
270
291
  if (!report.nativeHost.installed || !report.token.present) {
271
- return "nolo chrome install";
292
+ return installCmd;
272
293
  }
273
294
  if (!report.nativeHost.wrapperPathMatches || !report.nativeHost.allowedOriginMatches) {
274
295
  const installedWrapperPath = report.nativeHost.installedWrapperPath;
275
296
  if (!report.nativeHost.wrapperPathMatches && installedWrapperPath && installedWrapperPath !== report.nativeHost.wrapperPath && existsSync2(installedWrapperPath)) {
276
- return `Native host is installed for a different checkout (${installedWrapperPath}); this CLI is looking at ${report.connectorRoot}. Run \`nolo chrome status\` from the checkout that installed it, or run \`nolo chrome install\` from here only if Chrome should switch to this one.`;
297
+ return `Native host is installed for a different checkout (${installedWrapperPath}); this CLI is looking at ${report.connectorRoot}. Run \`nolo chrome status\` from the checkout that installed it, or run \`${installCmd}\` from here only if ${browserText} should switch to this one.`;
277
298
  }
278
- return "nolo chrome install (the installed manifest does not point at this checkout's wrapper / extension id, which Chrome silently ignores)";
299
+ return `${installCmd} (the installed manifest does not point at this checkout's wrapper / extension id, which ${browserText} silently ignores)`;
279
300
  }
280
301
  if (!report.rpc.online) {
281
- return `Load the unpacked extension from ${report.extension.path} in chrome://extensions (Developer mode), or install the Nolo Browser Connector from https://nolo.chat/downloads (Chrome or Firefox), then rerun \`nolo chrome status\`.`;
302
+ return `Load the unpacked extension from ${report.extension.path} in chrome://extensions (Chrome) or about:debugging#/runtime/this-firefox (Firefox), or install the Nolo Browser Connector from https://nolo.chat/downloads, then rerun \`nolo chrome status\`.`;
282
303
  }
283
- if (report.rpc.extensionId && report.rpc.extensionId !== report.extension.expectedId) {
284
- return `The connected extension (${report.rpc.extensionId}) is not the connector at ${report.extension.path}; remove the other copy and rerun \`nolo chrome status\`.`;
304
+ if (report.rpc.extensionId && report.rpc.browser === null) {
305
+ return `The connected extension (${report.rpc.extensionId}) is not a recognized Nolo Browser Connector build; reload it (\`nolo chrome reload\`) or remove the other copy, then rerun \`nolo chrome status\`.`;
285
306
  }
286
307
  if (report.rpc.protocolVersion !== report.rpc.expectedProtocolVersion) {
287
308
  return `nolo chrome reload (the running extension does not speak protocol ${report.rpc.expectedProtocolVersion}; a reload restarts the worker with the files on disk)`;
@@ -289,7 +310,7 @@ function resolveStatusNextStep(report) {
289
310
  if (report.rpc.missingFeatures.length > 0) {
290
311
  return `nolo chrome reload (the running extension is missing ${report.rpc.missingFeatures.join(", ")}); if that persists, the checkout's extension is older than the CLI expects.`;
291
312
  }
292
- return "Chrome connector is online: chrome_* tools execute against this Chrome profile.";
313
+ return `The Nolo Browser Connector is online (${connectedLabel}): connector tools execute against this ${connectedLabel} profile.`;
293
314
  }
294
315
  async function buildChromeConnectorStatus(args = {}) {
295
316
  const env = args.env ?? process.env;
@@ -320,7 +341,8 @@ async function buildChromeConnectorStatus(args = {}) {
320
341
  wrapperPath: null,
321
342
  installedWrapperPath: null,
322
343
  wrapperPathMatches: false,
323
- allowedOriginMatches: false
344
+ allowedOriginMatches: false,
345
+ browser: null
324
346
  },
325
347
  token: { path: null, present: false },
326
348
  rpc: {
@@ -328,6 +350,7 @@ async function buildChromeConnectorStatus(args = {}) {
328
350
  extensionId: null,
329
351
  protocolVersion: null,
330
352
  features: [],
353
+ browser: null,
331
354
  missingFeatures: [...FULL_SUPPORT_CHROME_FEATURES],
332
355
  expectedProtocolVersion: NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION
333
356
  },
@@ -339,19 +362,48 @@ async function buildChromeConnectorStatus(args = {}) {
339
362
  report.rpc.extensionId = probe.extensionId;
340
363
  report.rpc.protocolVersion = probe.protocolVersion;
341
364
  report.rpc.features = probe.features;
342
- report.rpc.missingFeatures = FULL_SUPPORT_CHROME_FEATURES.filter(
365
+ report.rpc.browser = probe.online ? resolveConnectorBrowser(probe.extensionId) ?? (probe.extensionId === expectedId ? "chrome" : null) : null;
366
+ report.rpc.missingFeatures = expectedFeaturesForBrowser(report.rpc.browser).filter(
343
367
  (feature) => !probe.features.includes(feature)
344
368
  );
345
369
  if (!probe.online) report.rpc.error = probe.error;
346
370
  if (!connectorRoot) {
347
371
  if (rootError) report.connectorRootError = rootError;
348
- report.ok = report.rpc.online && probe.extensionId === expectedId && probe.protocolVersion === NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION && report.rpc.missingFeatures.length === 0;
372
+ report.nativeHost.browser = report.rpc.browser;
373
+ report.ok = report.rpc.online && report.rpc.browser !== null && probe.protocolVersion === NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION && report.rpc.missingFeatures.length === 0;
349
374
  report.nextStep = resolveStatusNextStep(report);
350
375
  return report;
351
376
  }
377
+ let manifestBrowser = report.rpc.browser === "firefox" ? "firefox" : "chrome";
378
+ if (!report.rpc.browser) {
379
+ try {
380
+ const chromeManifestPath = resolveNativeHostInstallPaths({
381
+ home,
382
+ connectorRoot,
383
+ platform,
384
+ browser: "chrome"
385
+ }).nativeManifestPath;
386
+ const firefoxManifestPath = resolveNativeHostInstallPaths({
387
+ home,
388
+ connectorRoot,
389
+ platform,
390
+ browser: "firefox"
391
+ }).nativeManifestPath;
392
+ if (!existsSync2(chromeManifestPath) && existsSync2(firefoxManifestPath)) {
393
+ manifestBrowser = "firefox";
394
+ }
395
+ } catch {
396
+ }
397
+ }
398
+ report.nativeHost.browser = manifestBrowser;
352
399
  let paths = null;
353
400
  try {
354
- paths = resolveNativeHostInstallPaths({ home, connectorRoot, platform });
401
+ paths = resolveNativeHostInstallPaths({
402
+ home,
403
+ connectorRoot,
404
+ platform,
405
+ browser: manifestBrowser
406
+ });
355
407
  } catch (error) {
356
408
  report.nativeHost.supported = false;
357
409
  report.nativeHost.platformError = toErrorMessage(error);
@@ -365,8 +417,7 @@ async function buildChromeConnectorStatus(args = {}) {
365
417
  report.nativeHost.installed = installedManifest !== null;
366
418
  report.nativeHost.installedWrapperPath = typeof installedManifest?.path === "string" ? installedManifest.path : null;
367
419
  report.nativeHost.wrapperPathMatches = report.nativeHost.installedWrapperPath === paths.wrapperPath;
368
- const expectedOrigin = `chrome-extension://${expectedId}/`;
369
- report.nativeHost.allowedOriginMatches = Array.isArray(installedManifest?.allowed_origins) && installedManifest.allowed_origins.includes(expectedOrigin);
420
+ report.nativeHost.allowedOriginMatches = manifestBrowser === "firefox" ? Array.isArray(installedManifest?.allowed_extensions) && installedManifest.allowed_extensions.includes(NOLO_FIREFOX_CONNECTOR_EXTENSION_ID) : Array.isArray(installedManifest?.allowed_origins) && installedManifest.allowed_origins.includes(`chrome-extension://${expectedId}/`);
370
421
  if (existsSync2(paths.tokenPath)) {
371
422
  try {
372
423
  report.token.present = readFileSync2(paths.tokenPath, "utf8").trim().length > 0;
@@ -374,7 +425,7 @@ async function buildChromeConnectorStatus(args = {}) {
374
425
  report.token.present = false;
375
426
  }
376
427
  }
377
- report.ok = report.nativeHost.supported && report.nativeHost.installed && report.nativeHost.wrapperPathMatches && report.nativeHost.allowedOriginMatches && report.token.present && probe.online && probe.extensionId === expectedId && probe.protocolVersion === NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION && report.rpc.missingFeatures.length === 0;
428
+ report.ok = report.nativeHost.supported && report.nativeHost.installed && report.nativeHost.wrapperPathMatches && report.nativeHost.allowedOriginMatches && report.token.present && probe.online && report.rpc.browser !== null && probe.protocolVersion === NOLO_CHROME_CONNECTOR_PROTOCOL_VERSION && report.rpc.missingFeatures.length === 0;
378
429
  report.nextStep = resolveStatusNextStep(report);
379
430
  return report;
380
431
  }
@@ -382,7 +433,7 @@ function yesNo(value) {
382
433
  return value ? "ok" : "mismatch";
383
434
  }
384
435
  function formatChromeConnectorStatus(report) {
385
- const lines = ["Nolo Chrome connector"];
436
+ const lines = ["Nolo Browser Connector"];
386
437
  lines.push(
387
438
  ` connector source : ${report.connectorRoot ?? "(not found)"}`
388
439
  );
@@ -402,7 +453,7 @@ function formatChromeConnectorStatus(report) {
402
453
  const rpc = report.rpc;
403
454
  if (rpc.online) {
404
455
  lines.push(
405
- ` RPC : online extension ${rpc.extensionId ?? "unknown"} protocolVersion ${rpc.protocolVersion ?? "unknown"} features ${rpc.features.length > 0 ? rpc.features.join(", ") : "(none)"}`
456
+ ` RPC : online browser ${rpc.browser ?? "unrecognized"} extension ${rpc.extensionId ?? "unknown"} protocolVersion ${rpc.protocolVersion ?? "unknown"} features ${rpc.features.length > 0 ? rpc.features.join(", ") : "(none)"}`
406
457
  );
407
458
  } else {
408
459
  lines.push(
@@ -431,9 +482,25 @@ async function runChromeStatusCommand(args, deps = {}) {
431
482
  }
432
483
  return report.ok ? 0 : 1;
433
484
  }
485
+ function readBrowserOption(args) {
486
+ const equalsForm = args.find((arg) => arg.startsWith("--browser="));
487
+ const index = args.indexOf("--browser");
488
+ const raw = equalsForm !== void 0 ? equalsForm.slice("--browser=".length) : index >= 0 ? args[index + 1] : void 0;
489
+ if (raw === void 0) return "chrome";
490
+ const value = raw.trim();
491
+ if (value === "chrome" || value === "firefox") return value;
492
+ return null;
493
+ }
434
494
  async function runChromeInstallCommand(args, deps = {}) {
435
495
  const env = deps.env ?? process.env;
436
496
  const output = deps.output ?? process.stdout;
497
+ const browser = readBrowserOption(args);
498
+ if (browser === null) {
499
+ output.write(
500
+ '[nolo] Chrome native host install failed: --browser must be "chrome" or "firefox".\n'
501
+ );
502
+ return 1;
503
+ }
437
504
  const install = deps.installNativeHost ?? installNativeHostManifest;
438
505
  let connectorRoot;
439
506
  try {
@@ -457,6 +524,7 @@ async function runChromeInstallCommand(args, deps = {}) {
457
524
  result = install({
458
525
  home: deps.home ?? env.HOME ?? "",
459
526
  connectorRoot,
527
+ browser,
460
528
  ...deps.platform ? { platform: deps.platform } : {},
461
529
  ...deps.nodePath ? { nodePath: deps.nodePath } : {}
462
530
  });
@@ -471,12 +539,12 @@ async function runChromeInstallCommand(args, deps = {}) {
471
539
  } else {
472
540
  output.write(
473
541
  [
474
- "Nolo Chrome connector native host installed.",
542
+ `Nolo Browser Connector native host installed (${browser}).`,
475
543
  ` manifest : ${result.nativeManifestPath}`,
476
544
  ` wrapper : ${result.wrapperPath} -> ${result.nodePath}`,
477
545
  ` token : ${result.tokenPath} (an existing token is kept, so reruns are idempotent)`,
478
546
  ` extension: ${result.extensionId}`,
479
- `Next step: load the unpacked extension from ${resolve2(connectorRoot, "extension")} in chrome://extensions (Developer mode), or install the Nolo Browser Connector from https://nolo.chat/downloads (Chrome or Firefox), then run \`nolo chrome status\`.`,
547
+ `Next step: load the unpacked extension from ${resolve2(connectorRoot, "extension")} in ` + (browser === "firefox" ? "about:debugging#/runtime/this-firefox, or install the signed Nolo Browser Connector add-on from https://nolo.chat/downloads, then run `nolo chrome status`." : "chrome://extensions (Developer mode), or install the Nolo Browser Connector from https://nolo.chat/downloads (Chrome or Firefox), then run `nolo chrome status`."),
480
548
  ""
481
549
  ].join("\n")
482
550
  );
@@ -513,11 +581,14 @@ The connector service worker restarts within ~1s; verify with \`nolo chrome stat
513
581
  }
514
582
  export {
515
583
  CLI_CONNECTOR_ROOT_CANDIDATES,
584
+ FIREFOX_UNAVAILABLE_FEATURES,
516
585
  FULL_SUPPORT_CHROME_FEATURES,
517
586
  buildChromeConnectorStatus,
518
587
  detectWorktreeCheckout,
588
+ expectedFeaturesForBrowser,
519
589
  formatChromeConnectorStatus,
520
590
  resolveCliConnectorRoot,
591
+ resolveConnectorBrowser,
521
592
  runChromeInstallCommand,
522
593
  runChromeReloadCommand,
523
594
  runChromeStatusCommand
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createChromeConnectorClient
3
- } from "./chunk-OY5IJI2N.js";
3
+ } from "./chunk-YUNJN43V.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
@@ -197,8 +197,8 @@ var CHROME_OPS_SUBCOMMANDS = {
197
197
  };
198
198
  function renderChromeOpsHelp() {
199
199
  const lines = [
200
- "Operate the user's Chrome through the Nolo Chrome connector (the desktop bridge;",
201
- "the same RPC the chrome_* agent tools use).",
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
202
  "",
203
203
  "Usage:",
204
204
  " nolo chrome <subcommand> [flags]",
@@ -213,6 +213,7 @@ function renderChromeOpsHelp() {
213
213
  " preferred over --selector); --selector takes a CSS selector.",
214
214
  " Actions the connector classifies as irreversible (Submit / Delete / Pay ...)",
215
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).",
216
217
  " Every subcommand prints the connector's raw JSON result; failures exit 1.",
217
218
  " Endpoint: NOLO_CHROME_CONNECTOR_RPC_URL or http://127.0.0.1:38947/rpc."
218
219
  ];
@@ -164,10 +164,28 @@ function resolveProviderAuthHeaderName(args) {
164
164
  if (/xiaomimimo\.com/i.test(args.endpoint)) return "api-key";
165
165
  return "Authorization";
166
166
  }
167
+ var OPENCODE_GO_ENDPOINT_RE = /^https?:\/\/opencode\.ai\/zen\/go\//i;
168
+ var OPENCODE_SESSION_HEADER = "x-opencode-session";
169
+ var OPENCODE_USER_AGENT = "nolo-agent/1.0";
170
+ var PROCESS_FALLBACK_SESSION_ID = `nolo-${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;
171
+ function isOpenCodeGoEndpoint(endpoint) {
172
+ return typeof endpoint === "string" && OPENCODE_GO_ENDPOINT_RE.test(endpoint.trim());
173
+ }
174
+ function buildProviderSessionHeaders(args) {
175
+ if (!isOpenCodeGoEndpoint(args.endpoint)) return {};
176
+ return {
177
+ [OPENCODE_SESSION_HEADER]: args.sessionId?.trim() || PROCESS_FALLBACK_SESSION_ID,
178
+ "User-Agent": OPENCODE_USER_AGENT
179
+ };
180
+ }
167
181
  function buildProviderAuthHeaders(args) {
168
- if (!args.apiKey) return {};
182
+ const sessionHeaders = buildProviderSessionHeaders(args);
183
+ if (!args.apiKey) return sessionHeaders;
169
184
  const headerName = resolveProviderAuthHeaderName(args);
170
- return headerName.toLowerCase() === "authorization" ? { Authorization: `Bearer ${args.apiKey}` } : { [headerName]: args.apiKey };
185
+ return {
186
+ ...sessionHeaders,
187
+ ...headerName.toLowerCase() === "authorization" ? { Authorization: `Bearer ${args.apiKey}` } : { [headerName]: args.apiKey }
188
+ };
171
189
  }
172
190
  async function buildProviderExecutionPlan(args) {
173
191
  const { agentConfig, env } = args;
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-H6A6X4EK.js";
10
10
  import {
11
11
  isAntigravityOAuthAgent
12
- } from "./chunk-M6NK74VP.js";
12
+ } from "./chunk-S5XGT6GB.js";
13
13
  import {
14
14
  getModelAbility
15
15
  } from "./chunk-CYSYR67N.js";
@@ -362,6 +362,27 @@ const isWithin = (root, candidate) => {
362
362
  const quoteCmd = (value) => '"' + String(value).replace(/"/g, '""') + '"';
363
363
  const quotePowerShell = (value) => "'" + String(value).replace(/'/g, "''") + "'";
364
364
  const quoteSh = (value) => "'" + String(value).replace(/'/g, "'\\''") + "'";
365
+
366
+ let stagedDirReferenced = false;
367
+ let lockOwnershipLost = false;
368
+ let shimLeftUnrestored = false;
369
+
370
+ const assertLockOwnership = () => {
371
+ try {
372
+ if (!existsSync(payload.lockPath)) {
373
+ throw new Error("Update lock was released or removed; aborting to avoid racing another process");
374
+ }
375
+ const raw = readFileSync(payload.lockPath, "utf8").trim();
376
+ const owner = raw.startsWith("{") ? JSON.parse(raw).updateId : raw;
377
+ if (owner !== payload.updateId) {
378
+ throw new Error("Update lock was reclaimed by " + owner + "; aborting to avoid racing another updater");
379
+ }
380
+ } catch (e) {
381
+ lockOwnershipLost = true;
382
+ throw new Error("Lock ownership check failed: " + (e && e.message ? e.message : String(e)));
383
+ }
384
+ };
385
+
365
386
  const switchWindowsShims = (shimDir, entrypoint) => {
366
387
  const shims = [
367
388
  { path: join(shimDir, "nolo.cmd"), content: "@ECHO off\r\n" + quoteCmd(payload.nodePath) + " " + quoteCmd(entrypoint) + " %*\r\n" },
@@ -376,14 +397,45 @@ const switchWindowsShims = (shimDir, entrypoint) => {
376
397
  return { ...shim, temp, backup, existed: existsSync(shim.path) };
377
398
  });
378
399
  const activated = [];
400
+ const attemptRollback = () => {
401
+ let allRestored = true;
402
+ for (const shim of [...activated].reverse()) {
403
+ try { rmSync(shim.path, { force: true }); } catch (e) {
404
+ log("CRITICAL: Failed to remove new shim " + shim.path + ": " + (e && e.message ? e.message : String(e)));
405
+ }
406
+ if (shim.existed) {
407
+ try {
408
+ renameSync(shim.backup, shim.path);
409
+ } catch (e) {
410
+ allRestored = false;
411
+ log("CRITICAL: Failed to restore backup shim for " + shim.path + ": " + (e && e.message ? e.message : String(e)));
412
+ }
413
+ } else if (existsSync(shim.path)) {
414
+ // The delete above did not remove this shim (locked file, ACL, ...).
415
+ // It still points at the staged directory, so the rollback is NOT clean.
416
+ allRestored = false;
417
+ log("CRITICAL: New shim still present after rollback attempt: " + shim.path);
418
+ }
419
+ }
420
+ for (const shim of prepared) try { rmSync(shim.temp, { force: true }); } catch {}
421
+ stagedDirReferenced = !allRestored;
422
+ return allRestored;
423
+ };
424
+
379
425
  try {
380
426
  for (const shim of prepared) {
381
427
  if (shim.existed) renameSync(shim.path, shim.backup);
382
428
  try {
383
429
  renameSync(shim.temp, shim.path);
430
+ stagedDirReferenced = true;
384
431
  } catch (error) {
385
432
  if (shim.existed) {
386
- try { renameSync(shim.backup, shim.path); } catch {}
433
+ try {
434
+ renameSync(shim.backup, shim.path);
435
+ } catch (restoreErr) {
436
+ shimLeftUnrestored = true;
437
+ log("CRITICAL: Failed to restore backup shim for " + shim.path + ": " + (restoreErr && restoreErr.message ? restoreErr.message : String(restoreErr)));
438
+ }
387
439
  }
388
440
  throw error;
389
441
  }
@@ -391,22 +443,19 @@ const switchWindowsShims = (shimDir, entrypoint) => {
391
443
  activated.push(shim);
392
444
  }
393
445
  } catch (error) {
394
- for (const shim of [...activated].reverse()) {
395
- try { rmSync(shim.path, { force: true }); } catch {}
396
- if (shim.existed) {
397
- try { renameSync(shim.backup, shim.path); } catch {}
446
+ if (!attemptRollback() || shimLeftUnrestored) {
447
+ if (error && typeof error === "object") {
448
+ error.message = (error.message ? error.message : String(error)) + "; rollback incomplete";
398
449
  }
450
+ log("CRITICAL: Rollback incomplete while switching launch shims");
399
451
  }
400
- for (const shim of prepared) try { rmSync(shim.temp, { force: true }); } catch {}
401
452
  throw error;
402
453
  }
403
454
  return {
404
455
  rollback: () => {
405
- for (const shim of [...activated].reverse()) {
406
- try { rmSync(shim.path, { force: true }); } catch {}
407
- if (shim.existed) {
408
- try { renameSync(shim.backup, shim.path); } catch {}
409
- }
456
+ const restored = attemptRollback();
457
+ if (!restored) {
458
+ throw new Error("Rollback incomplete: one or more launch shims could not be restored or removed");
410
459
  }
411
460
  },
412
461
  commit: () => {
@@ -492,6 +541,7 @@ const switchWindowsShims = (shimDir, entrypoint) => {
492
541
  }
493
542
  const stagedEntrypoint = join(versionPrefix, "node_modules", "nolo-cli", "index.js");
494
543
  if (!existsSync(stagedEntrypoint)) throw new Error("Staged nolo entrypoint is missing");
544
+ assertLockOwnership();
495
545
  progress = setPhase(progress, "switch-shims", 60 * 1000);
496
546
  const switchedShims = switchWindowsShims(prefix, stagedEntrypoint);
497
547
  const verify = spawnSync(payload.nodePath, [stagedEntrypoint, "-v"], {
@@ -502,17 +552,31 @@ const switchWindowsShims = (shimDir, entrypoint) => {
502
552
  timeout: 30 * 1000,
503
553
  });
504
554
  if (verify.error || verify.status !== 0 || !String(verify.stdout || "").includes(targetVersion)) {
505
- switchedShims.rollback();
555
+ let rollbackError = null;
556
+ try {
557
+ switchedShims.rollback();
558
+ } catch (e) {
559
+ rollbackError = e;
560
+ }
561
+ if (rollbackError) {
562
+ throw new Error(
563
+ "The staged CLI failed its post-switch version check; " +
564
+ (rollbackError && rollbackError.message ? rollbackError.message : String(rollbackError)),
565
+ );
566
+ }
506
567
  throw new Error("The staged CLI failed its post-switch version check; the previous launch shims were restored");
507
568
  }
569
+ // The lock could have been reclaimed (stale timeout / competing updater)
570
+ // during the verify window. Re-check before committing so we never claim
571
+ // success for an update we no longer own. We deliberately do not roll the
572
+ // shims back here: a competing updater may be mid-switch, and nothing is
573
+ // deleted, so leaving our shims in place is recoverable (last writer wins).
574
+ assertLockOwnership();
508
575
  switchedShims.commit();
509
576
  uncommittedVersionPrefix = null;
510
- for (const entry of readdirSync(payload.managedRoot)) {
511
- const candidate = join(payload.managedRoot, entry);
512
- if (normalize(candidate) !== normalize(versionPrefix)) {
513
- try { rmSync(candidate, { recursive: true, force: true }); } catch {}
514
- }
515
- }
577
+ // Previous versions are intentionally retained (unbounded until a
578
+ // reference-aware cleanup exists) because deleting them risks removing a
579
+ // directory that a shim or a rolled-back update still references.
516
580
  log("Verified nolo-cli " + targetVersion + " at " + stagedEntrypoint);
517
581
  } else {
518
582
  log("Already current at " + targetVersion);
@@ -522,9 +586,17 @@ const switchWindowsShims = (shimDir, entrypoint) => {
522
586
  const message = error && error.message ? error.message : String(error);
523
587
  log("ERROR: " + message);
524
588
  if (uncommittedVersionPrefix) {
525
- try { rmSync(uncommittedVersionPrefix, { recursive: true, force: true }); } catch {}
589
+ if (stagedDirReferenced) {
590
+ log("PRESERVING staged directory " + uncommittedVersionPrefix + " because launch shims may still reference it; deleting it would cause MODULE_NOT_FOUND");
591
+ } else {
592
+ try { rmSync(uncommittedVersionPrefix, { recursive: true, force: true }); } catch {}
593
+ }
594
+ }
595
+ if (lockOwnershipLost) {
596
+ log("Not writing a failed status record: the update lock belongs to another updater");
597
+ } else {
598
+ writeState({ ...progress, status: "failed", finishedAt: new Date().toISOString(), message });
526
599
  }
527
- writeState({ ...progress, status: "failed", finishedAt: new Date().toISOString(), message });
528
600
  process.exitCode = 1;
529
601
  } finally {
530
602
  try {
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  clipMultilineText,
12
12
  fetchAndSerializeTable
13
- } from "./chunk-K25DK52L.js";
13
+ } from "./chunk-OKSJZ4UU.js";
14
14
  import {
15
15
  resolvePageReadMarkdown,
16
16
  slateToSimplifiedMarkdown
@@ -20,19 +20,19 @@ import {
20
20
  } from "./chunk-MEYIRKDN.js";
21
21
  import {
22
22
  fetchAndCacheMessages
23
- } from "./chunk-KUPDS66Q.js";
23
+ } from "./chunk-ANX7Z7Z2.js";
24
24
  import {
25
25
  shouldUseServerProxy
26
26
  } from "./chunk-YYLHWIW6.js";
27
27
  import {
28
28
  fetchServerSyncedCredential
29
- } from "./chunk-MXRUAINC.js";
29
+ } from "./chunk-UMB7CHAY.js";
30
30
  import {
31
31
  buildSkillGuidancePromptBlock,
32
32
  extractRuntimePageCapabilities,
33
33
  resolveBuiltinSkillPage,
34
34
  resolveSkillGraphFromRoots
35
- } from "./chunk-J5H6SUOW.js";
35
+ } from "./chunk-B2XUQXQX.js";
36
36
  import {
37
37
  DELETE_SAFETY_RED_LINE,
38
38
  buildIdentityBlock,
@@ -41,7 +41,7 @@ import {
41
41
  detectDispatchIntentFromMessages,
42
42
  normalizeChatCompletionsBodyForProvider,
43
43
  resolveToolGuidedSections
44
- } from "./chunk-CTGZO35O.js";
44
+ } from "./chunk-JLQKV2ZJ.js";
45
45
  import {
46
46
  convertMessagesToResponsesInput,
47
47
  getUsageRequestOptions,
@@ -51,10 +51,10 @@ import {
51
51
  import {
52
52
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
53
53
  isAntigravityOAuthAgent
54
- } from "./chunk-M6NK74VP.js";
54
+ } from "./chunk-S5XGT6GB.js";
55
55
  import {
56
56
  buildProviderAuthHeaders
57
- } from "./chunk-7MUSNQ6E.js";
57
+ } from "./chunk-27ONFIEY.js";
58
58
  import {
59
59
  estimateTokenCount
60
60
  } from "./chunk-PSCNXBYA.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-2GRGFCF6.js";
85
85
  import {
86
86
  canonicalizeToolNames
87
- } from "./chunk-O6OSWFZQ.js";
87
+ } from "./chunk-XUWRURDF.js";
88
88
  import {
89
89
  isDeepInfraKimiModel,
90
90
  isFireworksKimiModel,
@@ -1124,7 +1124,7 @@ var buildProxyPayload = (bodyData, api, agentConfig, dialogId) => {
1124
1124
  };
1125
1125
  };
1126
1126
  var fetchDirectly = async (params) => {
1127
- const { api, agentConfig, bodyData, signal, currentServer, token } = params;
1127
+ const { api, agentConfig, bodyData, signal, currentServer, token, dialogId } = params;
1128
1128
  try {
1129
1129
  const apiKey = await resolveDirectRequestApiKey(agentConfig, {
1130
1130
  syncFetcher: currentServer && token ? (ref) => fetchServerSyncedCredential({ currentServer, authToken: token }, ref) : void 0,
@@ -1144,7 +1144,8 @@ var fetchDirectly = async (params) => {
1144
1144
  const authHeaders = buildProviderAuthHeaders({
1145
1145
  endpoint: api,
1146
1146
  apiKey: apiKey ?? "",
1147
- apiKeyHeader: agentConfig.apiKeyHeader
1147
+ apiKeyHeader: agentConfig.apiKeyHeader,
1148
+ sessionId: dialogId || agentConfig.dbKey || agentConfig.key
1148
1149
  });
1149
1150
  return await fetch(api, {
1150
1151
  method: "POST",