cline 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/bin/cline +0 -0
  2. package/bin/cline-darwin-amd64 +0 -0
  3. package/bin/cline-darwin-arm64 +0 -0
  4. package/bin/cline-host +0 -0
  5. package/bin/cline-host-darwin-amd64 +0 -0
  6. package/bin/cline-host-darwin-arm64 +0 -0
  7. package/bin/cline-host-linux-amd64 +0 -0
  8. package/bin/cline-host-linux-arm64 +0 -0
  9. package/bin/cline-linux-amd64 +0 -0
  10. package/bin/cline-linux-arm64 +0 -0
  11. package/cline-core.js +24143 -16610
  12. package/extension/package.json +12 -4
  13. package/node_modules/b4a/LICENSE +201 -0
  14. package/node_modules/b4a/README.md +153 -0
  15. package/node_modules/b4a/browser.js +563 -0
  16. package/node_modules/b4a/index.js +188 -0
  17. package/node_modules/b4a/lib/ascii.js +31 -0
  18. package/node_modules/b4a/lib/base64.js +65 -0
  19. package/node_modules/b4a/lib/hex.js +51 -0
  20. package/node_modules/b4a/lib/utf16le.js +40 -0
  21. package/node_modules/b4a/lib/utf8.js +141 -0
  22. package/node_modules/b4a/package.json +49 -0
  23. package/node_modules/b4a/react-native.js +5 -0
  24. package/node_modules/bare-events/LICENSE +201 -0
  25. package/node_modules/bare-events/README.md +25 -0
  26. package/node_modules/bare-events/global.d.ts +15 -0
  27. package/node_modules/bare-events/global.js +5 -0
  28. package/node_modules/bare-events/index.d.ts +94 -0
  29. package/node_modules/bare-events/index.js +355 -0
  30. package/node_modules/bare-events/lib/errors.js +32 -0
  31. package/node_modules/bare-events/package.json +61 -0
  32. package/node_modules/bare-events/web.d.ts +79 -0
  33. package/node_modules/bare-events/web.js +347 -0
  34. package/node_modules/bare-fs/CMakeLists.txt +13 -0
  35. package/node_modules/bare-fs/LICENSE +201 -0
  36. package/node_modules/bare-fs/README.md +29 -0
  37. package/node_modules/bare-fs/binding.c +2238 -0
  38. package/node_modules/bare-fs/binding.js +1 -0
  39. package/node_modules/bare-fs/index.d.ts +1115 -0
  40. package/node_modules/bare-fs/index.js +2330 -0
  41. package/node_modules/bare-fs/lib/constants.d.ts +49 -0
  42. package/node_modules/bare-fs/lib/constants.js +49 -0
  43. package/node_modules/bare-fs/lib/errors.d.ts +11 -0
  44. package/node_modules/bare-fs/lib/errors.js +55 -0
  45. package/node_modules/bare-fs/package.json +71 -0
  46. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  47. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  48. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  49. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  50. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  51. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  52. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  53. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  54. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  55. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  56. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  57. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  58. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  59. package/node_modules/bare-fs/promises.d.ts +282 -0
  60. package/node_modules/bare-fs/promises.js +90 -0
  61. package/node_modules/bare-os/CMakeLists.txt +13 -0
  62. package/node_modules/bare-os/LICENSE +201 -0
  63. package/node_modules/bare-os/README.md +11 -0
  64. package/node_modules/bare-os/binding.c +1119 -0
  65. package/node_modules/bare-os/binding.js +1 -0
  66. package/node_modules/bare-os/index.d.ts +109 -0
  67. package/node_modules/bare-os/index.js +99 -0
  68. package/node_modules/bare-os/lib/constants.js +6 -0
  69. package/node_modules/bare-os/lib/errors.js +22 -0
  70. package/node_modules/bare-os/package.json +46 -0
  71. package/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
  72. package/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
  73. package/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
  74. package/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
  75. package/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
  76. package/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
  77. package/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
  78. package/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
  79. package/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
  80. package/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
  81. package/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
  82. package/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
  83. package/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
  84. package/node_modules/bare-path/LICENSE +201 -0
  85. package/node_modules/bare-path/NOTICE +28 -0
  86. package/node_modules/bare-path/README.md +19 -0
  87. package/node_modules/bare-path/index.js +11 -0
  88. package/node_modules/bare-path/lib/constants.js +11 -0
  89. package/node_modules/bare-path/lib/posix.js +242 -0
  90. package/node_modules/bare-path/lib/shared.js +67 -0
  91. package/node_modules/bare-path/lib/win32.js +513 -0
  92. package/node_modules/bare-path/package.json +36 -0
  93. package/node_modules/bare-stream/LICENSE +201 -0
  94. package/node_modules/bare-stream/README.md +15 -0
  95. package/node_modules/bare-stream/global.js +8 -0
  96. package/node_modules/bare-stream/index.d.ts +237 -0
  97. package/node_modules/bare-stream/index.js +355 -0
  98. package/node_modules/bare-stream/package.json +61 -0
  99. package/node_modules/bare-stream/promises.js +3 -0
  100. package/node_modules/bare-stream/web.d.ts +73 -0
  101. package/node_modules/bare-stream/web.js +229 -0
  102. package/node_modules/bare-url/CMakeLists.txt +27 -0
  103. package/node_modules/bare-url/LICENSE +201 -0
  104. package/node_modules/bare-url/README.md +19 -0
  105. package/node_modules/bare-url/binding.c +188 -0
  106. package/node_modules/bare-url/binding.js +1 -0
  107. package/node_modules/bare-url/global.d.ts +12 -0
  108. package/node_modules/bare-url/global.js +2 -0
  109. package/node_modules/bare-url/index.d.ts +39 -0
  110. package/node_modules/bare-url/index.js +450 -0
  111. package/node_modules/bare-url/lib/errors.d.ts +8 -0
  112. package/node_modules/bare-url/lib/errors.js +38 -0
  113. package/node_modules/bare-url/lib/url-search-params.d.ts +21 -0
  114. package/node_modules/bare-url/lib/url-search-params.js +176 -0
  115. package/node_modules/bare-url/package.json +51 -0
  116. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  117. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  118. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  119. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  120. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  121. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  122. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  123. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  124. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  125. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  126. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  127. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  128. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  129. package/node_modules/better-sqlite3/deps/download.sh +1 -1
  130. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +122 -81
  131. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +45 -45
  132. package/node_modules/better-sqlite3/lib/database.js +1 -1
  133. package/node_modules/better-sqlite3/package.json +4 -7
  134. package/node_modules/better-sqlite3/src/addon.cpp +47 -0
  135. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +44 -2164
  136. package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
  137. package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
  138. package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
  139. package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
  140. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
  141. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
  142. package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
  143. package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
  144. package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
  145. package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
  146. package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
  147. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
  148. package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
  149. package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
  150. package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
  151. package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
  152. package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
  153. package/node_modules/better-sqlite3/src/util/macros.cpp +63 -0
  154. package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
  155. package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
  156. package/node_modules/events-universal/LICENSE +201 -0
  157. package/node_modules/events-universal/README.md +17 -0
  158. package/node_modules/events-universal/bare.js +1 -0
  159. package/node_modules/events-universal/default.js +1 -0
  160. package/node_modules/events-universal/index.js +1 -0
  161. package/node_modules/events-universal/package.json +39 -0
  162. package/node_modules/events-universal/react-native.js +1 -0
  163. package/node_modules/{fs-constants → fast-fifo}/LICENSE +1 -1
  164. package/node_modules/fast-fifo/README.md +78 -0
  165. package/node_modules/fast-fifo/fixed-size.js +39 -0
  166. package/node_modules/fast-fifo/index.js +48 -0
  167. package/node_modules/fast-fifo/package.json +28 -0
  168. package/node_modules/{base64-js → streamx}/LICENSE +1 -1
  169. package/node_modules/streamx/README.md +489 -0
  170. package/node_modules/streamx/index.js +1184 -0
  171. package/node_modules/streamx/package.json +34 -0
  172. package/node_modules/tar-fs/README.md +23 -34
  173. package/node_modules/tar-fs/index.js +211 -184
  174. package/node_modules/tar-fs/package.json +27 -7
  175. package/node_modules/tar-stream/README.md +34 -19
  176. package/node_modules/tar-stream/constants.js +14 -0
  177. package/node_modules/tar-stream/extract.js +341 -192
  178. package/node_modules/tar-stream/headers.js +201 -175
  179. package/node_modules/tar-stream/pack.js +226 -194
  180. package/node_modules/tar-stream/package.json +23 -46
  181. package/node_modules/text-decoder/LICENSE +201 -0
  182. package/node_modules/text-decoder/README.md +36 -0
  183. package/node_modules/text-decoder/index.js +64 -0
  184. package/node_modules/text-decoder/lib/browser-decoder.js +17 -0
  185. package/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
  186. package/node_modules/text-decoder/lib/utf8-decoder.js +104 -0
  187. package/node_modules/text-decoder/package.json +38 -0
  188. package/package.json +1 -1
  189. package/proto/cline/account.proto +10 -8
  190. package/proto/cline/browser.proto +3 -1
  191. package/proto/cline/checkpoints.proto +5 -3
  192. package/proto/cline/commands.proto +4 -2
  193. package/proto/cline/common.proto +5 -7
  194. package/proto/cline/dictation.proto +3 -1
  195. package/proto/cline/file.proto +36 -34
  196. package/proto/cline/hooks.proto +3 -2
  197. package/proto/cline/mcp.proto +6 -4
  198. package/proto/cline/models.proto +189 -19
  199. package/proto/cline/oca_account.proto +6 -7
  200. package/proto/cline/slash.proto +3 -1
  201. package/proto/cline/state.proto +144 -292
  202. package/proto/cline/task.proto +4 -2
  203. package/proto/cline/ui.proto +25 -24
  204. package/proto/cline/web.proto +3 -1
  205. package/proto/descriptor_set.pb +0 -0
  206. package/proto/host/diff.proto +5 -4
  207. package/proto/host/env.proto +8 -7
  208. package/proto/host/testing.proto +3 -3
  209. package/proto/host/window.proto +2 -2
  210. package/proto/host/workspace.proto +13 -12
  211. package/node_modules/base64-js/README.md +0 -34
  212. package/node_modules/base64-js/base64js.min.js +0 -1
  213. package/node_modules/base64-js/index.d.ts +0 -3
  214. package/node_modules/base64-js/index.js +0 -150
  215. package/node_modules/base64-js/package.json +0 -47
  216. package/node_modules/better-sqlite3/src/better_sqlite3.hpp +0 -1036
  217. package/node_modules/bl/.travis.yml +0 -17
  218. package/node_modules/bl/BufferList.js +0 -396
  219. package/node_modules/bl/LICENSE.md +0 -13
  220. package/node_modules/bl/README.md +0 -247
  221. package/node_modules/bl/bl.js +0 -84
  222. package/node_modules/bl/package.json +0 -37
  223. package/node_modules/bl/test/convert.js +0 -21
  224. package/node_modules/bl/test/indexOf.js +0 -492
  225. package/node_modules/bl/test/isBufferList.js +0 -32
  226. package/node_modules/bl/test/test.js +0 -869
  227. package/node_modules/buffer/AUTHORS.md +0 -70
  228. package/node_modules/buffer/LICENSE +0 -21
  229. package/node_modules/buffer/README.md +0 -410
  230. package/node_modules/buffer/index.d.ts +0 -186
  231. package/node_modules/buffer/index.js +0 -1817
  232. package/node_modules/buffer/package.json +0 -96
  233. package/node_modules/chownr/LICENSE +0 -15
  234. package/node_modules/chownr/README.md +0 -3
  235. package/node_modules/chownr/chownr.js +0 -167
  236. package/node_modules/chownr/package.json +0 -29
  237. package/node_modules/fs-constants/README.md +0 -26
  238. package/node_modules/fs-constants/browser.js +0 -1
  239. package/node_modules/fs-constants/index.js +0 -1
  240. package/node_modules/fs-constants/package.json +0 -19
  241. package/node_modules/ieee754/LICENSE +0 -11
  242. package/node_modules/ieee754/README.md +0 -51
  243. package/node_modules/ieee754/index.d.ts +0 -10
  244. package/node_modules/ieee754/index.js +0 -85
  245. package/node_modules/ieee754/package.json +0 -52
  246. package/node_modules/inherits/LICENSE +0 -16
  247. package/node_modules/inherits/README.md +0 -42
  248. package/node_modules/inherits/inherits.js +0 -9
  249. package/node_modules/inherits/inherits_browser.js +0 -27
  250. package/node_modules/inherits/package.json +0 -29
  251. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  252. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  253. package/node_modules/readable-stream/LICENSE +0 -47
  254. package/node_modules/readable-stream/README.md +0 -106
  255. package/node_modules/readable-stream/errors-browser.js +0 -127
  256. package/node_modules/readable-stream/errors.js +0 -116
  257. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  258. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  259. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  260. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  261. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  262. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  263. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  264. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  265. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  266. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  267. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  268. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  269. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  270. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  271. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  272. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  273. package/node_modules/readable-stream/package.json +0 -68
  274. package/node_modules/readable-stream/readable-browser.js +0 -9
  275. package/node_modules/readable-stream/readable.js +0 -16
  276. package/node_modules/string_decoder/LICENSE +0 -48
  277. package/node_modules/string_decoder/README.md +0 -47
  278. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  279. package/node_modules/string_decoder/package.json +0 -34
  280. package/node_modules/tar-fs/.travis.yml +0 -6
  281. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  282. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  283. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  284. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  285. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  286. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  287. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  288. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  289. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  290. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  291. package/node_modules/tar-fs/test/index.js +0 -346
  292. package/node_modules/tar-stream/sandbox.js +0 -11
  293. package/node_modules/util-deprecate/History.md +0 -16
  294. package/node_modules/util-deprecate/LICENSE +0 -24
  295. package/node_modules/util-deprecate/README.md +0 -53
  296. package/node_modules/util-deprecate/browser.js +0 -67
  297. package/node_modules/util-deprecate/node.js +0 -6
  298. package/node_modules/util-deprecate/package.json +0 -27
  299. package/test-startup.sh +0 -14
@@ -0,0 +1,563 @@
1
+ const ascii = require('./lib/ascii')
2
+ const base64 = require('./lib/base64')
3
+ const hex = require('./lib/hex')
4
+ const utf8 = require('./lib/utf8')
5
+ const utf16le = require('./lib/utf16le')
6
+
7
+ const LE = new Uint8Array(Uint16Array.of(0xff).buffer)[0] === 0xff
8
+
9
+ function codecFor(encoding) {
10
+ switch (encoding) {
11
+ case 'ascii':
12
+ return ascii
13
+ case 'base64':
14
+ return base64
15
+ case 'hex':
16
+ return hex
17
+ case 'utf8':
18
+ case 'utf-8':
19
+ case undefined:
20
+ case null:
21
+ return utf8
22
+ case 'ucs2':
23
+ case 'ucs-2':
24
+ case 'utf16le':
25
+ case 'utf-16le':
26
+ return utf16le
27
+ default:
28
+ throw new Error(`Unknown encoding '${encoding}'`)
29
+ }
30
+ }
31
+
32
+ function isBuffer(value) {
33
+ return value instanceof Uint8Array
34
+ }
35
+
36
+ function isEncoding(encoding) {
37
+ try {
38
+ codecFor(encoding)
39
+ return true
40
+ } catch {
41
+ return false
42
+ }
43
+ }
44
+
45
+ function alloc(size, fill, encoding) {
46
+ const buffer = new Uint8Array(size)
47
+ if (fill !== undefined) {
48
+ exports.fill(buffer, fill, 0, buffer.byteLength, encoding)
49
+ }
50
+ return buffer
51
+ }
52
+
53
+ function allocUnsafe(size) {
54
+ return new Uint8Array(size)
55
+ }
56
+
57
+ function allocUnsafeSlow(size) {
58
+ return new Uint8Array(size)
59
+ }
60
+
61
+ function byteLength(string, encoding) {
62
+ return codecFor(encoding).byteLength(string)
63
+ }
64
+
65
+ function compare(a, b) {
66
+ if (a === b) return 0
67
+
68
+ const len = Math.min(a.byteLength, b.byteLength)
69
+
70
+ a = new DataView(a.buffer, a.byteOffset, a.byteLength)
71
+ b = new DataView(b.buffer, b.byteOffset, b.byteLength)
72
+
73
+ let i = 0
74
+
75
+ for (let n = len - (len % 4); i < n; i += 4) {
76
+ const x = a.getUint32(i, LE)
77
+ const y = b.getUint32(i, LE)
78
+ if (x !== y) break
79
+ }
80
+
81
+ for (; i < len; i++) {
82
+ const x = a.getUint8(i)
83
+ const y = b.getUint8(i)
84
+ if (x < y) return -1
85
+ if (x > y) return 1
86
+ }
87
+
88
+ return a.byteLength > b.byteLength ? 1 : a.byteLength < b.byteLength ? -1 : 0
89
+ }
90
+
91
+ function concat(buffers, length) {
92
+ if (length === undefined) {
93
+ length = buffers.reduce((len, buffer) => len + buffer.byteLength, 0)
94
+ }
95
+
96
+ const result = new Uint8Array(length)
97
+
98
+ let offset = 0
99
+
100
+ for (const buffer of buffers) {
101
+ if (offset + buffer.byteLength > result.byteLength) {
102
+ result.set(buffer.subarray(0, result.byteLength - offset), offset)
103
+ return result
104
+ }
105
+
106
+ result.set(buffer, offset)
107
+ offset += buffer.byteLength
108
+ }
109
+
110
+ return result
111
+ }
112
+
113
+ function copy(
114
+ source,
115
+ target,
116
+ targetStart = 0,
117
+ sourceStart = 0,
118
+ sourceEnd = source.byteLength
119
+ ) {
120
+ if (targetStart < 0) targetStart = 0
121
+ if (targetStart >= target.byteLength) return 0
122
+
123
+ const targetLength = target.byteLength - targetStart
124
+
125
+ if (sourceStart < 0) sourceStart = 0
126
+ if (sourceStart >= source.byteLength) return 0
127
+
128
+ if (sourceEnd <= sourceStart) return 0
129
+ if (sourceEnd > source.byteLength) sourceEnd = source.byteLength
130
+
131
+ if (sourceEnd - sourceStart > targetLength) {
132
+ sourceEnd = sourceStart + targetLength
133
+ }
134
+
135
+ const sourceLength = sourceEnd - sourceStart
136
+
137
+ if (source === target) {
138
+ target.copyWithin(targetStart, sourceStart, sourceEnd)
139
+ } else {
140
+ if (sourceStart !== 0 || sourceEnd !== source.byteLength) {
141
+ source = source.subarray(sourceStart, sourceEnd)
142
+ }
143
+
144
+ target.set(source, targetStart)
145
+ }
146
+
147
+ return sourceLength
148
+ }
149
+
150
+ function equals(a, b) {
151
+ if (a === b) return true
152
+ if (a.byteLength !== b.byteLength) return false
153
+
154
+ return compare(a, b) === 0
155
+ }
156
+
157
+ function fill(
158
+ buffer,
159
+ value,
160
+ offset = 0,
161
+ end = buffer.byteLength,
162
+ encoding = 'utf8'
163
+ ) {
164
+ if (typeof value === 'string') {
165
+ if (typeof offset === 'string') {
166
+ // fill(string, encoding)
167
+ encoding = offset
168
+ offset = 0
169
+ end = buffer.byteLength
170
+ } else if (typeof end === 'string') {
171
+ // fill(string, offset, encoding)
172
+ encoding = end
173
+ end = buffer.byteLength
174
+ }
175
+ } else if (typeof value === 'number') {
176
+ value = value & 0xff
177
+ } else if (typeof value === 'boolean') {
178
+ value = +value
179
+ }
180
+
181
+ if (offset < 0) offset = 0
182
+ if (offset >= buffer.byteLength) return buffer
183
+
184
+ if (end <= offset) return buffer
185
+ if (end > buffer.byteLength) end = buffer.byteLength
186
+
187
+ if (typeof value === 'number') return buffer.fill(value, offset, end)
188
+
189
+ if (typeof value === 'string') value = exports.from(value, encoding)
190
+
191
+ const len = value.byteLength
192
+
193
+ for (let i = 0, n = end - offset; i < n; ++i) {
194
+ buffer[i + offset] = value[i % len]
195
+ }
196
+
197
+ return buffer
198
+ }
199
+
200
+ function from(value, encodingOrOffset, length) {
201
+ // from(string, encoding)
202
+ if (typeof value === 'string') return fromString(value, encodingOrOffset)
203
+
204
+ // from(array)
205
+ if (Array.isArray(value)) return fromArray(value)
206
+
207
+ // from(buffer)
208
+ if (ArrayBuffer.isView(value)) return fromBuffer(value)
209
+
210
+ // from(arrayBuffer[, byteOffset[, length]])
211
+ return fromArrayBuffer(value, encodingOrOffset, length)
212
+ }
213
+
214
+ function fromString(string, encoding) {
215
+ const codec = codecFor(encoding)
216
+ const buffer = new Uint8Array(codec.byteLength(string))
217
+ codec.write(buffer, string)
218
+ return buffer
219
+ }
220
+
221
+ function fromArray(array) {
222
+ const buffer = new Uint8Array(array.length)
223
+ buffer.set(array)
224
+ return buffer
225
+ }
226
+
227
+ function fromBuffer(buffer) {
228
+ const copy = new Uint8Array(buffer.byteLength)
229
+ copy.set(buffer)
230
+ return copy
231
+ }
232
+
233
+ function fromArrayBuffer(arrayBuffer, byteOffset, length) {
234
+ return new Uint8Array(arrayBuffer, byteOffset, length)
235
+ }
236
+
237
+ function includes(buffer, value, byteOffset, encoding) {
238
+ return indexOf(buffer, value, byteOffset, encoding) !== -1
239
+ }
240
+
241
+ function indexOf(buffer, value, byteOffset, encoding) {
242
+ return bidirectionalIndexOf(
243
+ buffer,
244
+ value,
245
+ byteOffset,
246
+ encoding,
247
+ true /* first */
248
+ )
249
+ }
250
+
251
+ function lastIndexOf(buffer, value, byteOffset, encoding) {
252
+ return bidirectionalIndexOf(
253
+ buffer,
254
+ value,
255
+ byteOffset,
256
+ encoding,
257
+ false /* last */
258
+ )
259
+ }
260
+
261
+ function bidirectionalIndexOf(buffer, value, byteOffset, encoding, first) {
262
+ if (buffer.byteLength === 0) return -1
263
+
264
+ if (typeof byteOffset === 'string') {
265
+ encoding = byteOffset
266
+ byteOffset = 0
267
+ } else if (byteOffset === undefined) {
268
+ byteOffset = first ? 0 : buffer.length - 1
269
+ } else if (byteOffset < 0) {
270
+ byteOffset += buffer.byteLength
271
+ }
272
+
273
+ if (byteOffset >= buffer.byteLength) {
274
+ if (first) return -1
275
+ else byteOffset = buffer.byteLength - 1
276
+ } else if (byteOffset < 0) {
277
+ if (first) byteOffset = 0
278
+ else return -1
279
+ }
280
+
281
+ if (typeof value === 'string') {
282
+ value = from(value, encoding)
283
+ } else if (typeof value === 'number') {
284
+ value = value & 0xff
285
+
286
+ if (first) {
287
+ return buffer.indexOf(value, byteOffset)
288
+ } else {
289
+ return buffer.lastIndexOf(value, byteOffset)
290
+ }
291
+ }
292
+
293
+ if (value.byteLength === 0) return -1
294
+
295
+ if (first) {
296
+ let foundIndex = -1
297
+
298
+ for (let i = byteOffset; i < buffer.byteLength; i++) {
299
+ if (buffer[i] === value[foundIndex === -1 ? 0 : i - foundIndex]) {
300
+ if (foundIndex === -1) foundIndex = i
301
+ if (i - foundIndex + 1 === value.byteLength) return foundIndex
302
+ } else {
303
+ if (foundIndex !== -1) i -= i - foundIndex
304
+ foundIndex = -1
305
+ }
306
+ }
307
+ } else {
308
+ if (byteOffset + value.byteLength > buffer.byteLength) {
309
+ byteOffset = buffer.byteLength - value.byteLength
310
+ }
311
+
312
+ for (let i = byteOffset; i >= 0; i--) {
313
+ let found = true
314
+
315
+ for (let j = 0; j < value.byteLength; j++) {
316
+ if (buffer[i + j] !== value[j]) {
317
+ found = false
318
+ break
319
+ }
320
+ }
321
+
322
+ if (found) return i
323
+ }
324
+ }
325
+
326
+ return -1
327
+ }
328
+
329
+ function swap(buffer, n, m) {
330
+ const i = buffer[n]
331
+ buffer[n] = buffer[m]
332
+ buffer[m] = i
333
+ }
334
+
335
+ function swap16(buffer) {
336
+ const len = buffer.byteLength
337
+
338
+ if (len % 2 !== 0)
339
+ throw new RangeError('Buffer size must be a multiple of 16-bits')
340
+
341
+ for (let i = 0; i < len; i += 2) swap(buffer, i, i + 1)
342
+
343
+ return buffer
344
+ }
345
+
346
+ function swap32(buffer) {
347
+ const len = buffer.byteLength
348
+
349
+ if (len % 4 !== 0)
350
+ throw new RangeError('Buffer size must be a multiple of 32-bits')
351
+
352
+ for (let i = 0; i < len; i += 4) {
353
+ swap(buffer, i, i + 3)
354
+ swap(buffer, i + 1, i + 2)
355
+ }
356
+
357
+ return buffer
358
+ }
359
+
360
+ function swap64(buffer) {
361
+ const len = buffer.byteLength
362
+
363
+ if (len % 8 !== 0)
364
+ throw new RangeError('Buffer size must be a multiple of 64-bits')
365
+
366
+ for (let i = 0; i < len; i += 8) {
367
+ swap(buffer, i, i + 7)
368
+ swap(buffer, i + 1, i + 6)
369
+ swap(buffer, i + 2, i + 5)
370
+ swap(buffer, i + 3, i + 4)
371
+ }
372
+
373
+ return buffer
374
+ }
375
+
376
+ function toBuffer(buffer) {
377
+ return buffer
378
+ }
379
+
380
+ function toString(
381
+ buffer,
382
+ encoding = 'utf8',
383
+ start = 0,
384
+ end = buffer.byteLength
385
+ ) {
386
+ // toString(buffer)
387
+ if (arguments.length === 1) return utf8.toString(buffer)
388
+
389
+ // toString(buffer, encoding)
390
+ if (arguments.length === 2) return codecFor(encoding).toString(buffer)
391
+
392
+ if (start < 0) start = 0
393
+ if (start >= buffer.byteLength) return ''
394
+
395
+ if (end <= start) return ''
396
+ if (end > buffer.byteLength) end = buffer.byteLength
397
+
398
+ if (start !== 0 || end !== buffer.byteLength) {
399
+ buffer = buffer.subarray(start, end)
400
+ }
401
+
402
+ return codecFor(encoding).toString(buffer)
403
+ }
404
+
405
+ function write(buffer, string, offset, length, encoding) {
406
+ // write(buffer, string)
407
+ if (arguments.length === 2) return utf8.write(buffer, string)
408
+
409
+ if (typeof offset === 'string') {
410
+ // write(buffer, string, encoding)
411
+ encoding = offset
412
+ offset = 0
413
+ length = buffer.byteLength
414
+ } else if (typeof length === 'string') {
415
+ // write(buffer, string, offset, encoding)
416
+ encoding = length
417
+ length = buffer.byteLength - offset
418
+ }
419
+
420
+ length = Math.min(length, exports.byteLength(string, encoding))
421
+
422
+ let start = offset
423
+ if (start < 0) start = 0
424
+ if (start >= buffer.byteLength) return 0
425
+
426
+ let end = offset + length
427
+ if (end <= start) return 0
428
+ if (end > buffer.byteLength) end = buffer.byteLength
429
+
430
+ if (start !== 0 || end !== buffer.byteLength) {
431
+ buffer = buffer.subarray(start, end)
432
+ }
433
+
434
+ return codecFor(encoding).write(buffer, string)
435
+ }
436
+
437
+ function readDoubleBE(buffer, offset = 0) {
438
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
439
+ return view.getFloat64(offset, false)
440
+ }
441
+
442
+ function readDoubleLE(buffer, offset = 0) {
443
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
444
+ return view.getFloat64(offset, true)
445
+ }
446
+
447
+ function readFloatBE(buffer, offset = 0) {
448
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
449
+ return view.getFloat32(offset, false)
450
+ }
451
+
452
+ function readFloatLE(buffer, offset = 0) {
453
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
454
+ return view.getFloat32(offset, true)
455
+ }
456
+
457
+ function readInt32BE(buffer, offset = 0) {
458
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
459
+ return view.getInt32(offset, false)
460
+ }
461
+
462
+ function readInt32LE(buffer, offset = 0) {
463
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
464
+ return view.getInt32(offset, true)
465
+ }
466
+
467
+ function readUInt32BE(buffer, offset = 0) {
468
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
469
+ return view.getUint32(offset, false)
470
+ }
471
+
472
+ function readUInt32LE(buffer, offset = 0) {
473
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
474
+ return view.getUint32(offset, true)
475
+ }
476
+
477
+ function writeDoubleBE(buffer, value, offset = 0) {
478
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
479
+ view.setFloat64(offset, value, false)
480
+ return offset + 8
481
+ }
482
+
483
+ function writeDoubleLE(buffer, value, offset = 0) {
484
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
485
+ view.setFloat64(offset, value, true)
486
+ return offset + 8
487
+ }
488
+
489
+ function writeFloatBE(buffer, value, offset = 0) {
490
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
491
+ view.setFloat32(offset, value, false)
492
+ return offset + 4
493
+ }
494
+
495
+ function writeFloatLE(buffer, value, offset = 0) {
496
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
497
+ view.setFloat32(offset, value, true)
498
+ return offset + 4
499
+ }
500
+
501
+ function writeInt32BE(buffer, value, offset = 0) {
502
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
503
+ view.setInt32(offset, value, false)
504
+ return offset + 4
505
+ }
506
+
507
+ function writeInt32LE(buffer, value, offset = 0) {
508
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
509
+ view.setInt32(offset, value, true)
510
+ return offset + 4
511
+ }
512
+
513
+ function writeUInt32BE(buffer, value, offset = 0) {
514
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
515
+ view.setUint32(offset, value, false)
516
+ return offset + 4
517
+ }
518
+
519
+ function writeUInt32LE(buffer, value, offset = 0) {
520
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)
521
+ view.setUint32(offset, value, true)
522
+ return offset + 4
523
+ }
524
+
525
+ module.exports = exports = {
526
+ isBuffer,
527
+ isEncoding,
528
+ alloc,
529
+ allocUnsafe,
530
+ allocUnsafeSlow,
531
+ byteLength,
532
+ compare,
533
+ concat,
534
+ copy,
535
+ equals,
536
+ fill,
537
+ from,
538
+ includes,
539
+ indexOf,
540
+ lastIndexOf,
541
+ swap16,
542
+ swap32,
543
+ swap64,
544
+ toBuffer,
545
+ toString,
546
+ write,
547
+ readDoubleBE,
548
+ readDoubleLE,
549
+ readFloatBE,
550
+ readFloatLE,
551
+ readInt32BE,
552
+ readInt32LE,
553
+ readUInt32BE,
554
+ readUInt32LE,
555
+ writeDoubleBE,
556
+ writeDoubleLE,
557
+ writeFloatBE,
558
+ writeFloatLE,
559
+ writeInt32BE,
560
+ writeInt32LE,
561
+ writeUInt32BE,
562
+ writeUInt32LE
563
+ }