nolo-cli 0.144.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 (433) hide show
  1. package/README.md +2 -0
  2. package/{_executeModel-VA7AOJ7I.js → _executeModel-M3FASQ2Z.js} +13 -13
  3. package/{agentDeleteCommand-Z3UO4OJU.js → agentDeleteCommand-K7GCEEVS.js} +3 -3
  4. package/{agentEmailCommands-73TKP5CA.js → agentEmailCommands-MNXRO36L.js} +14 -14
  5. package/{agentListCommands-Y7QPH22N.js → agentListCommands-KMZR6VVM.js} +3 -3
  6. package/{agentMachineCommands-NTV2CIGF.js → agentMachineCommands-75TIBYDY.js} +4 -4
  7. package/{agentRecordCommands-XOXZQYL3.js → agentRecordCommands-RDO5L3N4.js} +14 -14
  8. package/{agentRunCommand-6C7BR2AM.js → agentRunCommand-FVJJPL27.js} +14 -14
  9. package/{agentRuntimeLocal-3FUYPU7E.js → agentRuntimeLocal-DAK7RCER.js} +3 -3
  10. package/{agentSlice-FK2FY7UE.js → agentSlice-6MRJR2BJ.js} +1 -1
  11. package/{appDeleteCommands-L6IDOOI7.js → appDeleteCommands-JMMXK3XT.js} +3 -3
  12. package/{appDeployCommands-XTT6FWGB.js → appDeployCommands-JFU6GALI.js} +3 -3
  13. package/{appDeployStatusCommands-3USXE3N3.js → appDeployStatusCommands-AXTZ4GAN.js} +3 -3
  14. package/{appGetCommands-PHADWOLO.js → appGetCommands-CR2W3DCM.js} +3 -3
  15. package/{appListCommands-YM22HHY5.js → appListCommands-2TV6P3EU.js} +3 -3
  16. package/{authCommand-XLCNATZR.js → authCommand-UBJ4EWYZ.js} +1 -1
  17. package/{authCommands-GBIFZWD3.js → authCommands-H6WKKCRW.js} +1 -1
  18. package/{builtinSkillRegistry-HRI7DXC2.js → builtinSkillRegistry-ZMF6YGNO.js} +2 -2
  19. package/{chatQueueReduxAdapter-ZHUJO77G.js → chatQueueReduxAdapter-CDOHVTSE.js} +2 -2
  20. package/{chromeCommands-K27J4OVZ.js → chromeCommands-2N6MEWRU.js} +3 -3
  21. package/{chunk-LQNRUDVN.js → chunk-2TKVOEQF.js} +5 -5
  22. package/{chunk-3AOSNKIZ.js → chunk-5XYFIDFU.js} +5 -5
  23. package/{chunk-EM7HELS5.js → chunk-62XHRZG4.js} +2 -2
  24. package/{chunk-EMBK4B7D.js → chunk-6TPOEJMQ.js} +1 -1
  25. package/{chunk-BRCOB2YF.js → chunk-7YAK46ML.js} +2 -2
  26. package/{chunk-YFIUVDQY.js → chunk-A6FNUMCF.js} +46 -5
  27. package/{chunk-EP34KKT6.js → chunk-ANX7Z7Z2.js} +8 -8
  28. package/{chunk-MOFAGINP.js → chunk-B2XUQXQX.js} +1 -1
  29. package/chunk-GNMAFAIS.js +29 -0
  30. package/{chunk-6YSYZTKW.js → chunk-HKBFZONG.js} +1 -1
  31. package/{chunk-VPFEPRME.js → chunk-IVZJWTDI.js} +3 -0
  32. package/{chunk-AQTJUKN6.js → chunk-JLQKV2ZJ.js} +1 -1
  33. package/{chunk-3T6MH737.js → chunk-M76SRQ3H.js} +19 -9
  34. package/{chunk-L55HWODG.js → chunk-OKSJZ4UU.js} +10 -10
  35. package/{chunk-OJL4DA6B.js → chunk-QFZM5BFI.js} +1 -1
  36. package/{chunk-QMJG7UFL.js → chunk-RHDOQWXZ.js} +164 -10
  37. package/{chunk-6Z5V5T6Q.js → chunk-UMB7CHAY.js} +3 -3
  38. package/{chunk-XPV3S4HP.js → chunk-VJ4FUWPC.js} +3 -3
  39. package/{chunk-2KHRSBYS.js → chunk-VZVTPDPL.js} +3 -3
  40. package/{chunk-XGO2LIJZ.js → chunk-XNXNHAAP.js} +1 -1
  41. package/{chunk-TIPZHRUE.js → chunk-Y6XHJ4JJ.js} +19 -7
  42. package/{commandRegistry-VN3VYRTY.js → commandRegistry-ZF6YXQWV.js} +54 -54
  43. package/{contentThunks-GLALFCSA.js → contentThunks-6Y6ATG3A.js} +3 -3
  44. package/{createAgentAutomationAction-AJYCFU4M.js → createAgentAutomationAction-OQTLA2FC.js} +3 -3
  45. package/{createDialogAction-RHUDYILB.js → createDialogAction-IF5EZMBD.js} +5 -5
  46. package/{createPageAction-QNBURBCT.js → createPageAction-GU766R3L.js} +3 -3
  47. package/{dialogCommands-FUZOZGN2.js → dialogCommands-QV7XAX2V.js} +3 -3
  48. package/{dialogSlice-OXWSQS6J.js → dialogSlice-CVHMDSVV.js} +2 -2
  49. package/{docCreateCommands-TKWA2BQD.js → docCreateCommands-FSBANQTO.js} +3 -3
  50. package/{docDeleteCommands-BEBGKH2B.js → docDeleteCommands-4IR4YSGU.js} +3 -3
  51. package/{docReadCommands-5GWHRUJF.js → docReadCommands-4EYPGUE3.js} +3 -3
  52. package/{docStore-RMY3R4VP.js → docStore-RQOWPNON.js} +1 -1
  53. package/{docUpdateCommands-WTKBMMUQ.js → docUpdateCommands-RW2BYLSE.js} +3 -3
  54. package/{handleSendMessageAction-D7XLCRJJ.js → handleSendMessageAction-UDTPG5WK.js} +2 -2
  55. package/index.js +3 -3
  56. package/{machineCommands-DHJHXKIL.js → machineCommands-WBQ4TCPD.js} +14 -14
  57. package/{machineWsRunDispatch-KP636B54.js → machineWsRunDispatch-7DNDXUOS.js} +14 -14
  58. package/node_modules/abstract-level/CHANGELOG.md +150 -0
  59. package/node_modules/abstract-level/LICENSE +21 -0
  60. package/node_modules/abstract-level/README.md +1957 -0
  61. package/node_modules/abstract-level/UPGRADING.md +669 -0
  62. package/node_modules/abstract-level/abstract-chained-batch.js +397 -0
  63. package/node_modules/abstract-level/abstract-iterator.js +404 -0
  64. package/node_modules/abstract-level/abstract-level.js +1127 -0
  65. package/node_modules/abstract-level/abstract-snapshot.js +84 -0
  66. package/node_modules/abstract-level/index.d.ts +52 -0
  67. package/node_modules/abstract-level/index.js +9 -0
  68. package/node_modules/abstract-level/lib/abstract-sublevel-iterator.js +141 -0
  69. package/node_modules/abstract-level/lib/abstract-sublevel.js +290 -0
  70. package/node_modules/abstract-level/lib/common.js +33 -0
  71. package/node_modules/abstract-level/lib/default-chained-batch.js +29 -0
  72. package/node_modules/abstract-level/lib/default-kv-iterator.js +74 -0
  73. package/node_modules/abstract-level/lib/deferred-iterator.js +110 -0
  74. package/node_modules/abstract-level/lib/deferred-queue.js +84 -0
  75. package/node_modules/abstract-level/lib/errors.js +21 -0
  76. package/node_modules/abstract-level/lib/event-monitor.js +30 -0
  77. package/node_modules/abstract-level/lib/hooks.js +78 -0
  78. package/node_modules/abstract-level/lib/prefixes.js +21 -0
  79. package/node_modules/abstract-level/lib/prewrite-batch.js +96 -0
  80. package/node_modules/abstract-level/lib/range-options.js +26 -0
  81. package/node_modules/abstract-level/package.json +66 -0
  82. package/node_modules/abstract-level/test/async-iterator-test.js +132 -0
  83. package/node_modules/abstract-level/test/batch-test.js +214 -0
  84. package/node_modules/abstract-level/test/chained-batch-test.js +315 -0
  85. package/node_modules/abstract-level/test/clear-range-test.js +262 -0
  86. package/node_modules/abstract-level/test/clear-test.js +110 -0
  87. package/node_modules/abstract-level/test/common.js +90 -0
  88. package/node_modules/abstract-level/test/deferred-open-test.js +209 -0
  89. package/node_modules/abstract-level/test/del-test.js +65 -0
  90. package/node_modules/abstract-level/test/encoding-buffer-test.js +336 -0
  91. package/node_modules/abstract-level/test/encoding-custom-test.js +92 -0
  92. package/node_modules/abstract-level/test/encoding-decode-error-test.js +85 -0
  93. package/node_modules/abstract-level/test/encoding-json-test.js +75 -0
  94. package/node_modules/abstract-level/test/encoding-test.js +130 -0
  95. package/node_modules/abstract-level/test/events/write.js +132 -0
  96. package/node_modules/abstract-level/test/factory-test.js +36 -0
  97. package/node_modules/abstract-level/test/get-many-test.js +157 -0
  98. package/node_modules/abstract-level/test/get-sync-test.js +61 -0
  99. package/node_modules/abstract-level/test/get-test.js +83 -0
  100. package/node_modules/abstract-level/test/has-many-test.js +144 -0
  101. package/node_modules/abstract-level/test/has-test.js +81 -0
  102. package/node_modules/abstract-level/test/hooks/newsub.js +57 -0
  103. package/node_modules/abstract-level/test/hooks/postopen.js +229 -0
  104. package/node_modules/abstract-level/test/hooks/prewrite.js +816 -0
  105. package/node_modules/abstract-level/test/hooks/shared.js +38 -0
  106. package/node_modules/abstract-level/test/index.js +86 -0
  107. package/node_modules/abstract-level/test/iterator-explicit-snapshot-test.js +393 -0
  108. package/node_modules/abstract-level/test/iterator-no-snapshot-test.js +49 -0
  109. package/node_modules/abstract-level/test/iterator-range-test.js +277 -0
  110. package/node_modules/abstract-level/test/iterator-seek-test.js +335 -0
  111. package/node_modules/abstract-level/test/iterator-snapshot-test.js +56 -0
  112. package/node_modules/abstract-level/test/iterator-test.js +621 -0
  113. package/node_modules/abstract-level/test/manifest-test.js +21 -0
  114. package/node_modules/abstract-level/test/open-create-if-missing-test.js +39 -0
  115. package/node_modules/abstract-level/test/open-error-if-exists-test.js +25 -0
  116. package/node_modules/abstract-level/test/open-test.js +263 -0
  117. package/node_modules/abstract-level/test/put-get-del-test.js +97 -0
  118. package/node_modules/abstract-level/test/put-test.js +70 -0
  119. package/node_modules/abstract-level/test/self/abstract-iterator-test.js +182 -0
  120. package/node_modules/abstract-level/test/self/async-iterator-test.js +242 -0
  121. package/node_modules/abstract-level/test/self/attach-resource-test.js +74 -0
  122. package/node_modules/abstract-level/test/self/defer-test.js +140 -0
  123. package/node_modules/abstract-level/test/self/deferred-iterator-test.js +314 -0
  124. package/node_modules/abstract-level/test/self/deferred-operations-test.js +86 -0
  125. package/node_modules/abstract-level/test/self/deferred-queue-test.js +93 -0
  126. package/node_modules/abstract-level/test/self/encoding-test.js +391 -0
  127. package/node_modules/abstract-level/test/self/errors-test.js +11 -0
  128. package/node_modules/abstract-level/test/self/iterator-test.js +1050 -0
  129. package/node_modules/abstract-level/test/self/sublevel-test.js +1039 -0
  130. package/node_modules/abstract-level/test/self.js +905 -0
  131. package/node_modules/abstract-level/test/sublevel-test.js +209 -0
  132. package/node_modules/abstract-level/test/traits/closed.js +42 -0
  133. package/node_modules/abstract-level/test/traits/index.js +4 -0
  134. package/node_modules/abstract-level/test/traits/open.js +62 -0
  135. package/node_modules/abstract-level/test/util.js +275 -0
  136. package/node_modules/abstract-level/types/abstract-chained-batch.d.ts +124 -0
  137. package/node_modules/abstract-level/types/abstract-iterator.d.ts +241 -0
  138. package/node_modules/abstract-level/types/abstract-level.d.ts +636 -0
  139. package/node_modules/abstract-level/types/abstract-snapshot.d.ts +30 -0
  140. package/node_modules/abstract-level/types/abstract-sublevel.d.ts +76 -0
  141. package/node_modules/abstract-level/types/interfaces.d.ts +43 -0
  142. package/node_modules/base64-js/LICENSE +21 -0
  143. package/node_modules/base64-js/README.md +34 -0
  144. package/node_modules/base64-js/base64js.min.js +1 -0
  145. package/node_modules/base64-js/index.d.ts +3 -0
  146. package/node_modules/base64-js/index.js +150 -0
  147. package/node_modules/base64-js/package.json +47 -0
  148. package/node_modules/browser-level/CHANGELOG.md +44 -0
  149. package/node_modules/browser-level/LICENSE +21 -0
  150. package/node_modules/browser-level/README.md +124 -0
  151. package/node_modules/browser-level/UPGRADING.md +143 -0
  152. package/node_modules/browser-level/index.d.ts +108 -0
  153. package/node_modules/browser-level/index.js +323 -0
  154. package/node_modules/browser-level/iterator.js +239 -0
  155. package/node_modules/browser-level/package.json +48 -0
  156. package/node_modules/browser-level/util/clear.js +38 -0
  157. package/node_modules/browser-level/util/deserialize.js +17 -0
  158. package/node_modules/browser-level/util/key-range.js +20 -0
  159. package/node_modules/buffer/AUTHORS.md +73 -0
  160. package/node_modules/buffer/LICENSE +21 -0
  161. package/node_modules/buffer/README.md +410 -0
  162. package/node_modules/buffer/index.d.ts +194 -0
  163. package/node_modules/buffer/index.js +2106 -0
  164. package/node_modules/buffer/package.json +93 -0
  165. package/node_modules/classic-level/CHANGELOG.md +115 -0
  166. package/node_modules/classic-level/LICENSE +21 -0
  167. package/node_modules/classic-level/README.md +274 -0
  168. package/node_modules/classic-level/UPGRADING.md +131 -0
  169. package/node_modules/classic-level/binding.cc +2652 -0
  170. package/node_modules/classic-level/binding.gyp +71 -0
  171. package/node_modules/classic-level/binding.js +1 -0
  172. package/node_modules/classic-level/chained-batch.js +35 -0
  173. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/LICENSE +27 -0
  174. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/Makefile +424 -0
  175. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/build_detect_platform +256 -0
  176. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/autocompact_test.cc +118 -0
  177. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.cc +88 -0
  178. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.h +34 -0
  179. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c.cc +595 -0
  180. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c_test.c +390 -0
  181. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/corruption_test.cc +374 -0
  182. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_bench.cc +1020 -0
  183. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.cc +1568 -0
  184. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.h +212 -0
  185. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.cc +317 -0
  186. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.h +28 -0
  187. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_test.cc +2158 -0
  188. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.cc +140 -0
  189. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.h +230 -0
  190. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat_test.cc +112 -0
  191. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dumpfile.cc +225 -0
  192. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/fault_injection_test.cc +554 -0
  193. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.cc +144 -0
  194. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.h +85 -0
  195. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename_test.cc +123 -0
  196. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/leveldbutil.cc +64 -0
  197. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_format.h +35 -0
  198. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.cc +284 -0
  199. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.h +113 -0
  200. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_test.cc +591 -0
  201. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.cc +112 -0
  202. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.h +54 -0
  203. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.cc +145 -0
  204. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.h +89 -0
  205. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/recovery_test.cc +324 -0
  206. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/repair.cc +461 -0
  207. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist.h +384 -0
  208. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist_test.cc +378 -0
  209. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/snapshot.h +67 -0
  210. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.cc +127 -0
  211. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.h +61 -0
  212. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.cc +266 -0
  213. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.h +107 -0
  214. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit_test.cc +46 -0
  215. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.cc +1535 -0
  216. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.h +399 -0
  217. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set_test.cc +179 -0
  218. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch.cc +147 -0
  219. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_internal.h +50 -0
  220. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_test.cc +120 -0
  221. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.cc +398 -0
  222. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.h +20 -0
  223. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv_test.cc +241 -0
  224. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/c.h +290 -0
  225. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/cache.h +110 -0
  226. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/comparator.h +63 -0
  227. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/db.h +164 -0
  228. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/dumpfile.h +25 -0
  229. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/env.h +351 -0
  230. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/filter_policy.h +70 -0
  231. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/iterator.h +100 -0
  232. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/options.h +213 -0
  233. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/slice.h +109 -0
  234. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/status.h +112 -0
  235. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table.h +85 -0
  236. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table_builder.h +92 -0
  237. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/value_sink.h +26 -0
  238. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/write_batch.h +64 -0
  239. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue178_test.cc +92 -0
  240. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue200_test.cc +59 -0
  241. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/atomic_pointer.h +242 -0
  242. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port.h +21 -0
  243. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_example.h +141 -0
  244. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.cc +53 -0
  245. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.h +156 -0
  246. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix_sse.cc +129 -0
  247. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/thread_annotations.h +60 -0
  248. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/win/stdint.h +24 -0
  249. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.cc +268 -0
  250. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.h +44 -0
  251. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.cc +109 -0
  252. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.h +57 -0
  253. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.cc +111 -0
  254. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.h +68 -0
  255. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block_test.cc +128 -0
  256. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.cc +144 -0
  257. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.h +108 -0
  258. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator.cc +67 -0
  259. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator_wrapper.h +66 -0
  260. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.cc +197 -0
  261. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.h +26 -0
  262. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table.cc +285 -0
  263. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_builder.cc +270 -0
  264. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_test.cc +876 -0
  265. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.cc +182 -0
  266. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.h +34 -0
  267. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.cc +68 -0
  268. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.h +68 -0
  269. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena_test.cc +68 -0
  270. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom.cc +95 -0
  271. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom_test.cc +162 -0
  272. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache.cc +405 -0
  273. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache_test.cc +226 -0
  274. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.cc +194 -0
  275. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.h +104 -0
  276. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding_test.cc +196 -0
  277. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/comparator.cc +81 -0
  278. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.cc +350 -0
  279. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.h +45 -0
  280. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c_test.cc +72 -0
  281. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env.cc +100 -0
  282. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix.cc +695 -0
  283. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test.cc +66 -0
  284. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test_helper.h +28 -0
  285. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_test.cc +106 -0
  286. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/filter_policy.cc +11 -0
  287. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.cc +52 -0
  288. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.h +19 -0
  289. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash_test.cc +54 -0
  290. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.cc +139 -0
  291. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.h +42 -0
  292. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.cc +72 -0
  293. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.h +43 -0
  294. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/mutexlock.h +41 -0
  295. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/options.cc +30 -0
  296. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/posix_logger.h +98 -0
  297. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/random.h +64 -0
  298. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/status.cc +75 -0
  299. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.cc +77 -0
  300. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.h +138 -0
  301. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.cc +51 -0
  302. package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.h +63 -0
  303. package/node_modules/classic-level/deps/leveldb/leveldb.gyp +282 -0
  304. package/node_modules/classic-level/deps/leveldb/patches/001-value-sink.patch +164 -0
  305. package/node_modules/classic-level/deps/leveldb/port-libuv/atomic_pointer_win.h +48 -0
  306. package/node_modules/classic-level/deps/leveldb/port-libuv/env_win.cc +692 -0
  307. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.cc +36 -0
  308. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h +157 -0
  309. package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h.bak +153 -0
  310. package/node_modules/classic-level/deps/leveldb/port-libuv/stdint-msvc2008.h +247 -0
  311. package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar.h +45 -0
  312. package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar_posix.cc +139 -0
  313. package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.cc +79 -0
  314. package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.h +28 -0
  315. package/node_modules/classic-level/deps/snappy/freebsd/config.h +135 -0
  316. package/node_modules/classic-level/deps/snappy/freebsd/snappy-stubs-public.h +100 -0
  317. package/node_modules/classic-level/deps/snappy/linux/config.h +135 -0
  318. package/node_modules/classic-level/deps/snappy/linux/snappy-stubs-public.h +100 -0
  319. package/node_modules/classic-level/deps/snappy/mac/config.h +137 -0
  320. package/node_modules/classic-level/deps/snappy/mac/snappy-stubs-public.h +100 -0
  321. package/node_modules/classic-level/deps/snappy/openbsd/config.h +135 -0
  322. package/node_modules/classic-level/deps/snappy/openbsd/snappy-stubs-public.h +100 -0
  323. package/node_modules/classic-level/deps/snappy/snappy/COPYING +54 -0
  324. package/node_modules/classic-level/deps/snappy/snappy/cmake/SnappyConfig.cmake +1 -0
  325. package/node_modules/classic-level/deps/snappy/snappy/cmake/config.h.in +62 -0
  326. package/node_modules/classic-level/deps/snappy/snappy/snappy-c.cc +90 -0
  327. package/node_modules/classic-level/deps/snappy/snappy/snappy-c.h +138 -0
  328. package/node_modules/classic-level/deps/snappy/snappy/snappy-internal.h +224 -0
  329. package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.cc +104 -0
  330. package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.h +182 -0
  331. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.cc +42 -0
  332. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.h +561 -0
  333. package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-public.h.in +94 -0
  334. package/node_modules/classic-level/deps/snappy/snappy/snappy-test.cc +612 -0
  335. package/node_modules/classic-level/deps/snappy/snappy/snappy-test.h +573 -0
  336. package/node_modules/classic-level/deps/snappy/snappy/snappy.cc +1515 -0
  337. package/node_modules/classic-level/deps/snappy/snappy/snappy.h +203 -0
  338. package/node_modules/classic-level/deps/snappy/snappy/snappy_unittest.cc +1410 -0
  339. package/node_modules/classic-level/deps/snappy/snappy.gyp +119 -0
  340. package/node_modules/classic-level/deps/snappy/solaris/config.h +135 -0
  341. package/node_modules/classic-level/deps/snappy/solaris/snappy-stubs-public.h +100 -0
  342. package/node_modules/classic-level/deps/snappy/win32/config.h +29 -0
  343. package/node_modules/classic-level/deps/snappy/win32/snappy-stubs-public.h +100 -0
  344. package/node_modules/classic-level/index.d.ts +343 -0
  345. package/node_modules/classic-level/index.js +311 -0
  346. package/node_modules/classic-level/iterator.js +122 -0
  347. package/node_modules/classic-level/package.json +70 -0
  348. package/node_modules/classic-level/prebuilds/android-arm/classic-level.armv7.node +0 -0
  349. package/node_modules/classic-level/prebuilds/android-arm64/classic-level.armv8.node +0 -0
  350. package/node_modules/classic-level/prebuilds/darwin-x64+arm64/classic-level.node +0 -0
  351. package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv6.node +0 -0
  352. package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv7.node +0 -0
  353. package/node_modules/classic-level/prebuilds/linux-arm64/classic-level.armv8.node +0 -0
  354. package/node_modules/classic-level/prebuilds/linux-x64/classic-level.musl.node +0 -0
  355. package/node_modules/classic-level/prebuilds/linux-x64/classic-level.node +0 -0
  356. package/node_modules/classic-level/prebuilds/win32-ia32/classic-level.node +0 -0
  357. package/node_modules/classic-level/prebuilds/win32-x64/classic-level.node +0 -0
  358. package/node_modules/ieee754/LICENSE +11 -0
  359. package/node_modules/ieee754/README.md +51 -0
  360. package/node_modules/ieee754/index.d.ts +10 -0
  361. package/node_modules/ieee754/index.js +85 -0
  362. package/node_modules/ieee754/package.json +52 -0
  363. package/node_modules/is-buffer/LICENSE +21 -0
  364. package/node_modules/is-buffer/README.md +54 -0
  365. package/node_modules/is-buffer/index.d.ts +2 -0
  366. package/node_modules/is-buffer/index.js +11 -0
  367. package/node_modules/is-buffer/package.json +65 -0
  368. package/node_modules/level/CHANGELOG.md +532 -0
  369. package/node_modules/level/LICENSE +21 -0
  370. package/node_modules/level/README.md +107 -0
  371. package/node_modules/level/UPGRADING.md +413 -0
  372. package/node_modules/level/browser.js +1 -0
  373. package/node_modules/level/index.d.ts +75 -0
  374. package/node_modules/level/index.js +1 -0
  375. package/node_modules/level/package.json +62 -0
  376. package/node_modules/level-supports/CHANGELOG.md +140 -0
  377. package/node_modules/level-supports/LICENSE +21 -0
  378. package/node_modules/level-supports/README.md +276 -0
  379. package/node_modules/level-supports/index.d.ts +137 -0
  380. package/node_modules/level-supports/index.js +26 -0
  381. package/node_modules/level-supports/package.json +46 -0
  382. package/node_modules/level-supports/test/cloneable.js +26 -0
  383. package/node_modules/level-supports/test/index.js +24 -0
  384. package/node_modules/level-supports/test/self.js +86 -0
  385. package/node_modules/level-supports/test/shape.js +23 -0
  386. package/node_modules/level-transcoder/CHANGELOG.md +15 -0
  387. package/node_modules/level-transcoder/LICENSE +21 -0
  388. package/node_modules/level-transcoder/README.md +214 -0
  389. package/node_modules/level-transcoder/UPGRADING.md +13 -0
  390. package/node_modules/level-transcoder/index.d.ts +27 -0
  391. package/node_modules/level-transcoder/index.js +158 -0
  392. package/node_modules/level-transcoder/lib/encoding.d.ts +158 -0
  393. package/node_modules/level-transcoder/lib/encoding.js +105 -0
  394. package/node_modules/level-transcoder/lib/encodings.d.ts +9 -0
  395. package/node_modules/level-transcoder/lib/encodings.js +135 -0
  396. package/node_modules/level-transcoder/lib/formats.d.ts +13 -0
  397. package/node_modules/level-transcoder/lib/formats.js +111 -0
  398. package/node_modules/level-transcoder/lib/text-endec.d.ts +6 -0
  399. package/node_modules/level-transcoder/lib/text-endec.js +19 -0
  400. package/node_modules/level-transcoder/package.json +46 -0
  401. package/node_modules/maybe-combine-errors/LICENSE.md +21 -0
  402. package/node_modules/maybe-combine-errors/README.md +94 -0
  403. package/node_modules/maybe-combine-errors/index.js +60 -0
  404. package/node_modules/maybe-combine-errors/package.json +33 -0
  405. package/node_modules/module-error/CHANGELOG.md +23 -0
  406. package/node_modules/module-error/LICENSE +21 -0
  407. package/node_modules/module-error/README.md +89 -0
  408. package/node_modules/module-error/index.d.ts +18 -0
  409. package/node_modules/module-error/index.js +22 -0
  410. package/node_modules/module-error/package.json +36 -0
  411. package/node_modules/napi-macros/LICENSE +21 -0
  412. package/node_modules/napi-macros/README.md +277 -0
  413. package/node_modules/napi-macros/index.js +1 -0
  414. package/node_modules/napi-macros/napi-macros.h +255 -0
  415. package/node_modules/napi-macros/package.json +22 -0
  416. package/node_modules/node-gyp-build/LICENSE +21 -0
  417. package/node_modules/node-gyp-build/README.md +58 -0
  418. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  419. package/node_modules/node-gyp-build/bin.js +84 -0
  420. package/node_modules/node-gyp-build/build-test.js +19 -0
  421. package/node_modules/node-gyp-build/index.js +6 -0
  422. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  423. package/node_modules/node-gyp-build/optional.js +7 -0
  424. package/node_modules/node-gyp-build/package.json +43 -0
  425. package/package.json +6 -3
  426. package/{readlineWorkspace-5P24E57Z.js → readlineWorkspace-LO6ZLFTO.js} +1368 -1305
  427. package/{runAgentClientLoop-AXFKKSVY.js → runAgentClientLoop-KAYGKVTK.js} +11 -11
  428. package/{runtimeDoctorCommands-3USD722U.js → runtimeDoctorCommands-ID23PNNZ.js} +28 -0
  429. package/{spaceCommands-TRABD7YR.js → spaceCommands-FA6RCZ2Y.js} +3 -3
  430. package/{streamAgentChatTurn-RG7NWZWY.js → streamAgentChatTurn-DFNDU2UY.js} +12 -12
  431. package/{tools-GIXG5YIO.js → tools-6HKH75NT.js} +8 -8
  432. package/{tuiSummaryLlmCaller-RVWN63CP.js → tuiSummaryLlmCaller-CFFVXQWX.js} +1 -1
  433. package/{updateDialogTitleAction-JXZ2K54W.js → updateDialogTitleAction-FFSYTLBC.js} +3 -3
@@ -0,0 +1,397 @@
1
+ 'use strict'
2
+
3
+ const combineErrors = require('maybe-combine-errors')
4
+ const ModuleError = require('module-error')
5
+ const { getOptions, emptyOptions, noop } = require('./lib/common')
6
+ const { prefixDescendantKey, isDescendant } = require('./lib/prefixes')
7
+ const { PrewriteBatch } = require('./lib/prewrite-batch')
8
+
9
+ const kPublicOperations = Symbol('publicOperations')
10
+ const kPrivateOperations = Symbol('privateOperations')
11
+
12
+ class AbstractChainedBatch {
13
+ #status = 'open'
14
+ #length = 0
15
+ #closePromise = null
16
+ #publicOperations
17
+ #prewriteRun
18
+ #prewriteBatch
19
+ #prewriteData
20
+ #addMode
21
+
22
+ constructor (db, options) {
23
+ if (typeof db !== 'object' || db === null) {
24
+ const hint = db === null ? 'null' : typeof db
25
+ throw new TypeError(`The first argument must be an abstract-level database, received ${hint}`)
26
+ }
27
+
28
+ const enableWriteEvent = db.listenerCount('write') > 0
29
+ const enablePrewriteHook = !db.hooks.prewrite.noop
30
+
31
+ // Operations for write event. We can skip populating this array (and cloning of
32
+ // operations, which is the expensive part) if there are 0 write event listeners.
33
+ this.#publicOperations = enableWriteEvent ? [] : null
34
+
35
+ this.#addMode = getOptions(options, emptyOptions).add === true
36
+
37
+ if (enablePrewriteHook) {
38
+ // Use separate arrays to collect operations added by hook functions, because
39
+ // we wait to apply those until write(). Store these arrays in PrewriteData which
40
+ // exists to separate internal data from the public PrewriteBatch interface.
41
+ const data = new PrewriteData([], enableWriteEvent ? [] : null)
42
+
43
+ this.#prewriteData = data
44
+ this.#prewriteBatch = new PrewriteBatch(db, data[kPrivateOperations], data[kPublicOperations])
45
+ this.#prewriteRun = db.hooks.prewrite.run // TODO: document why
46
+ } else {
47
+ this.#prewriteData = null
48
+ this.#prewriteBatch = null
49
+ this.#prewriteRun = null
50
+ }
51
+
52
+ this.db = db
53
+ this.db.attachResource(this)
54
+ }
55
+
56
+ get length () {
57
+ if (this.#prewriteData !== null) {
58
+ return this.#length + this.#prewriteData.length
59
+ } else {
60
+ return this.#length
61
+ }
62
+ }
63
+
64
+ put (key, value, options) {
65
+ this.#assertStatus()
66
+ options = getOptions(options, emptyOptions)
67
+
68
+ const delegated = options.sublevel != null
69
+ const db = delegated ? options.sublevel : this.db
70
+
71
+ db._assertValidKey(key)
72
+ db._assertValidValue(value)
73
+
74
+ const op = {
75
+ ...options,
76
+ type: 'put',
77
+ key,
78
+ value,
79
+ keyEncoding: db.keyEncoding(options.keyEncoding),
80
+ valueEncoding: db.valueEncoding(options.valueEncoding)
81
+ }
82
+
83
+ if (this.#prewriteRun !== null) {
84
+ try {
85
+ // Note: we could have chosen to recurse here so that prewriteBatch.put() would
86
+ // call this.put(). But then operations added by hook functions would be inserted
87
+ // before rather than after user operations. Instead we process those operations
88
+ // lazily in write(). This does hurt the only performance benefit benefit of a
89
+ // chained batch though, which is that it avoids blocking the event loop with
90
+ // more than one operation at a time. On the other hand, if operations added by
91
+ // hook functions are adjacent (i.e. sorted) committing them should be faster.
92
+ this.#prewriteRun(op, this.#prewriteBatch)
93
+
94
+ // Normalize encodings again in case they were modified
95
+ op.keyEncoding = db.keyEncoding(op.keyEncoding)
96
+ op.valueEncoding = db.valueEncoding(op.valueEncoding)
97
+ } catch (err) {
98
+ throw new ModuleError('The prewrite hook failed on batch.put()', {
99
+ code: 'LEVEL_HOOK_ERROR',
100
+ cause: err
101
+ })
102
+ }
103
+ }
104
+
105
+ // Encode data for private API
106
+ const keyEncoding = op.keyEncoding
107
+ const preencodedKey = keyEncoding.encode(op.key)
108
+ const keyFormat = keyEncoding.format
109
+
110
+ // If the sublevel is not a descendant then forward that option to the parent db
111
+ // so that we don't erroneously add our own prefix to the key of the operation.
112
+ const siblings = delegated && !isDescendant(op.sublevel, this.db) && op.sublevel !== this.db
113
+ const encodedKey = delegated && !siblings
114
+ ? prefixDescendantKey(preencodedKey, keyFormat, db, this.db)
115
+ : preencodedKey
116
+
117
+ const valueEncoding = op.valueEncoding
118
+ const encodedValue = valueEncoding.encode(op.value)
119
+ const valueFormat = valueEncoding.format
120
+
121
+ // Only prefix once
122
+ if (delegated && !siblings) {
123
+ op.sublevel = null
124
+ }
125
+
126
+ // If the sublevel is not a descendant then we shouldn't emit events
127
+ if (this.#publicOperations !== null && !siblings) {
128
+ // Clone op before we mutate it for the private API
129
+ const publicOperation = { ...op }
130
+ publicOperation.encodedKey = encodedKey
131
+ publicOperation.encodedValue = encodedValue
132
+
133
+ if (delegated) {
134
+ // Ensure emitted data makes sense in the context of this db
135
+ publicOperation.key = encodedKey
136
+ publicOperation.value = encodedValue
137
+ publicOperation.keyEncoding = this.db.keyEncoding(keyFormat)
138
+ publicOperation.valueEncoding = this.db.valueEncoding(valueFormat)
139
+ }
140
+
141
+ this.#publicOperations.push(publicOperation)
142
+ }
143
+
144
+ // If we're forwarding the sublevel option then don't prefix the key yet
145
+ op.key = siblings ? encodedKey : this.db.prefixKey(encodedKey, keyFormat, true)
146
+ op.value = encodedValue
147
+ op.keyEncoding = keyFormat
148
+ op.valueEncoding = valueFormat
149
+
150
+ if (this.#addMode) {
151
+ this._add(op)
152
+ } else {
153
+ // This "operation as options" trick avoids further cloning
154
+ this._put(op.key, encodedValue, op)
155
+ }
156
+
157
+ // Increment only on success
158
+ this.#length++
159
+ return this
160
+ }
161
+
162
+ _put (key, value, options) {}
163
+
164
+ del (key, options) {
165
+ this.#assertStatus()
166
+ options = getOptions(options, emptyOptions)
167
+
168
+ const delegated = options.sublevel != null
169
+ const db = delegated ? options.sublevel : this.db
170
+
171
+ db._assertValidKey(key)
172
+
173
+ const op = {
174
+ ...options,
175
+ type: 'del',
176
+ key,
177
+ keyEncoding: db.keyEncoding(options.keyEncoding)
178
+ }
179
+
180
+ if (this.#prewriteRun !== null) {
181
+ try {
182
+ this.#prewriteRun(op, this.#prewriteBatch)
183
+
184
+ // Normalize encoding again in case it was modified
185
+ op.keyEncoding = db.keyEncoding(op.keyEncoding)
186
+ } catch (err) {
187
+ throw new ModuleError('The prewrite hook failed on batch.del()', {
188
+ code: 'LEVEL_HOOK_ERROR',
189
+ cause: err
190
+ })
191
+ }
192
+ }
193
+
194
+ // Encode data for private API
195
+ const keyEncoding = op.keyEncoding
196
+ const preencodedKey = keyEncoding.encode(op.key)
197
+ const keyFormat = keyEncoding.format
198
+ const encodedKey = delegated ? prefixDescendantKey(preencodedKey, keyFormat, db, this.db) : preencodedKey
199
+
200
+ // Prevent double prefixing
201
+ if (delegated) op.sublevel = null
202
+
203
+ if (this.#publicOperations !== null) {
204
+ // Clone op before we mutate it for the private API
205
+ const publicOperation = { ...op }
206
+ publicOperation.encodedKey = encodedKey
207
+
208
+ if (delegated) {
209
+ // Ensure emitted data makes sense in the context of this db
210
+ publicOperation.key = encodedKey
211
+ publicOperation.keyEncoding = this.db.keyEncoding(keyFormat)
212
+ }
213
+
214
+ this.#publicOperations.push(publicOperation)
215
+ }
216
+
217
+ op.key = this.db.prefixKey(encodedKey, keyFormat, true)
218
+ op.keyEncoding = keyFormat
219
+
220
+ if (this.#addMode) {
221
+ this._add(op)
222
+ } else {
223
+ // This "operation as options" trick avoids further cloning
224
+ this._del(op.key, op)
225
+ }
226
+
227
+ // Increment only on success
228
+ this.#length++
229
+ return this
230
+ }
231
+
232
+ _del (key, options) {}
233
+
234
+ _add (op) {}
235
+
236
+ clear () {
237
+ this.#assertStatus()
238
+ this._clear()
239
+
240
+ if (this.#publicOperations !== null) this.#publicOperations = []
241
+ if (this.#prewriteData !== null) this.#prewriteData.clear()
242
+
243
+ this.#length = 0
244
+ return this
245
+ }
246
+
247
+ _clear () {}
248
+
249
+ async write (options) {
250
+ this.#assertStatus()
251
+ options = getOptions(options)
252
+
253
+ if (this.#length === 0) {
254
+ return this.close()
255
+ } else {
256
+ this.#status = 'writing'
257
+
258
+ // Prepare promise in case close() is called in the mean time
259
+ const close = this.#prepareClose()
260
+
261
+ try {
262
+ // Process operations added by prewrite hook functions
263
+ if (this.#prewriteData !== null) {
264
+ const publicOperations = this.#prewriteData[kPublicOperations]
265
+ const privateOperations = this.#prewriteData[kPrivateOperations]
266
+ const length = this.#prewriteData.length
267
+
268
+ for (let i = 0; i < length; i++) {
269
+ const op = privateOperations[i]
270
+
271
+ // We can _add(), _put() or _del() even though status is now 'writing' because
272
+ // status isn't exposed to the private API, so there's no difference in state
273
+ // from that perspective, unless an implementation overrides the public write()
274
+ // method at its own risk.
275
+ if (this.#addMode) {
276
+ this._add(op)
277
+ } else if (op.type === 'put') {
278
+ this._put(op.key, op.value, op)
279
+ } else {
280
+ this._del(op.key, op)
281
+ }
282
+ }
283
+
284
+ if (publicOperations !== null && length !== 0) {
285
+ this.#publicOperations = this.#publicOperations.concat(publicOperations)
286
+ }
287
+ }
288
+
289
+ await this._write(options)
290
+ } catch (err) {
291
+ close()
292
+
293
+ try {
294
+ await this.#closePromise
295
+ } catch (closeErr) {
296
+ // eslint-disable-next-line no-ex-assign
297
+ err = combineErrors([err, closeErr])
298
+ }
299
+
300
+ throw err
301
+ }
302
+
303
+ close()
304
+
305
+ // Emit after initiating the closing, because event may trigger a
306
+ // db close which in turn triggers (idempotently) closing this batch.
307
+ if (this.#publicOperations !== null) {
308
+ this.db.emit('write', this.#publicOperations)
309
+ }
310
+
311
+ return this.#closePromise
312
+ }
313
+ }
314
+
315
+ async _write (options) {}
316
+
317
+ async close () {
318
+ if (this.#closePromise !== null) {
319
+ // First caller of close() or write() is responsible for error
320
+ return this.#closePromise.catch(noop)
321
+ } else {
322
+ // Wrap promise to avoid race issues on recursive calls
323
+ this.#prepareClose()()
324
+ return this.#closePromise
325
+ }
326
+ }
327
+
328
+ async _close () {}
329
+
330
+ #assertStatus () {
331
+ if (this.#status !== 'open') {
332
+ throw new ModuleError('Batch is not open: cannot change operations after write() or close()', {
333
+ code: 'LEVEL_BATCH_NOT_OPEN'
334
+ })
335
+ }
336
+
337
+ // Can technically be removed, because it's no longer possible to call db.batch() when
338
+ // status is not 'open', and db.close() closes the batch. Keep for now, in case of
339
+ // unforseen userland behaviors.
340
+ if (this.db.status !== 'open') {
341
+ /* istanbul ignore next */
342
+ throw new ModuleError('Database is not open', {
343
+ code: 'LEVEL_DATABASE_NOT_OPEN'
344
+ })
345
+ }
346
+ }
347
+
348
+ #prepareClose () {
349
+ let close
350
+
351
+ this.#closePromise = new Promise((resolve, reject) => {
352
+ close = () => {
353
+ this.#privateClose().then(resolve, reject)
354
+ }
355
+ })
356
+
357
+ return close
358
+ }
359
+
360
+ async #privateClose () {
361
+ // TODO: should we not set status earlier?
362
+ this.#status = 'closing'
363
+ await this._close()
364
+ this.db.detachResource(this)
365
+ }
366
+ }
367
+
368
+ if (typeof Symbol.asyncDispose === 'symbol') {
369
+ AbstractChainedBatch.prototype[Symbol.asyncDispose] = async function () {
370
+ return this.close()
371
+ }
372
+ }
373
+
374
+ class PrewriteData {
375
+ constructor (privateOperations, publicOperations) {
376
+ this[kPrivateOperations] = privateOperations
377
+ this[kPublicOperations] = publicOperations
378
+ }
379
+
380
+ get length () {
381
+ return this[kPrivateOperations].length
382
+ }
383
+
384
+ clear () {
385
+ // Clear operation arrays if present.
386
+ for (const k of [kPublicOperations, kPrivateOperations]) {
387
+ const ops = this[k]
388
+
389
+ if (ops !== null) {
390
+ // Keep array alive because PrewriteBatch has a reference to it
391
+ ops.splice(0, ops.length)
392
+ }
393
+ }
394
+ }
395
+ }
396
+
397
+ exports.AbstractChainedBatch = AbstractChainedBatch