groove-dev 0.27.92 → 0.27.94

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 (501) hide show
  1. package/moe-training/package.json +2 -1
  2. package/node_modules/@groove-dev/cli/package.json +1 -1
  3. package/node_modules/@groove-dev/daemon/package.json +1 -1
  4. package/node_modules/@groove-dev/daemon/src/api.js +17 -9
  5. package/node_modules/@groove-dev/daemon/src/process.js +2 -0
  6. package/node_modules/@groove-dev/gui/dist/assets/{codemirror-BBL3i_JW.js → codemirror-CFF1Lrnz.js} +10 -10
  7. package/{packages/gui/dist/assets/index-DWv32qyJ.js → node_modules/@groove-dev/gui/dist/assets/index-B3GUKInH.js} +1740 -1740
  8. package/{packages/gui/dist/assets/index-Bo6AeNmM.css → node_modules/@groove-dev/gui/dist/assets/index-C1k-GuDg.css} +1 -1
  9. package/node_modules/@groove-dev/gui/dist/index.html +3 -3
  10. package/node_modules/@groove-dev/gui/package.json +1 -1
  11. package/node_modules/@groove-dev/gui/src/components/agents/agent-panel.jsx +2 -0
  12. package/node_modules/@groove-dev/gui/src/components/editor/code-editor.jsx +3 -3
  13. package/node_modules/@groove-dev/gui/src/stores/groove.js +23 -16
  14. package/node_modules/@groove-dev/gui/src/views/agents.jsx +44 -113
  15. package/node_modules/base64-js/LICENSE +21 -0
  16. package/node_modules/base64-js/README.md +34 -0
  17. package/node_modules/base64-js/base64js.min.js +1 -0
  18. package/node_modules/base64-js/index.d.ts +3 -0
  19. package/node_modules/base64-js/index.js +150 -0
  20. package/node_modules/base64-js/package.json +47 -0
  21. package/node_modules/better-sqlite3/LICENSE +21 -0
  22. package/node_modules/better-sqlite3/README.md +99 -0
  23. package/node_modules/better-sqlite3/binding.gyp +38 -0
  24. package/node_modules/better-sqlite3/deps/common.gypi +68 -0
  25. package/node_modules/better-sqlite3/deps/copy.js +31 -0
  26. package/node_modules/better-sqlite3/deps/defines.gypi +41 -0
  27. package/node_modules/better-sqlite3/deps/download.sh +122 -0
  28. package/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
  29. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +268845 -0
  30. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +14335 -0
  31. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +739 -0
  32. package/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
  33. package/node_modules/better-sqlite3/deps/test_extension.c +21 -0
  34. package/node_modules/better-sqlite3/lib/database.js +90 -0
  35. package/node_modules/better-sqlite3/lib/index.js +3 -0
  36. package/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  37. package/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  38. package/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  39. package/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  40. package/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  41. package/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  42. package/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  43. package/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  44. package/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  45. package/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  46. package/node_modules/better-sqlite3/lib/util.js +12 -0
  47. package/node_modules/better-sqlite3/package.json +59 -0
  48. package/node_modules/better-sqlite3/src/addon.cpp +47 -0
  49. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +74 -0
  50. package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
  51. package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
  52. package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
  53. package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
  54. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
  55. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
  56. package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
  57. package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
  58. package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
  59. package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
  60. package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
  61. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
  62. package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
  63. package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
  64. package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
  65. package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
  66. package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
  67. package/node_modules/better-sqlite3/src/util/macros.cpp +83 -0
  68. package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
  69. package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
  70. package/node_modules/bindings/LICENSE.md +22 -0
  71. package/node_modules/bindings/README.md +98 -0
  72. package/node_modules/bindings/bindings.js +221 -0
  73. package/node_modules/bindings/package.json +28 -0
  74. package/node_modules/bl/.travis.yml +17 -0
  75. package/node_modules/bl/BufferList.js +396 -0
  76. package/node_modules/bl/LICENSE.md +13 -0
  77. package/node_modules/bl/README.md +247 -0
  78. package/node_modules/bl/bl.js +84 -0
  79. package/node_modules/bl/package.json +37 -0
  80. package/node_modules/bl/test/convert.js +21 -0
  81. package/node_modules/bl/test/indexOf.js +492 -0
  82. package/node_modules/bl/test/isBufferList.js +32 -0
  83. package/node_modules/bl/test/test.js +869 -0
  84. package/node_modules/buffer/AUTHORS.md +70 -0
  85. package/node_modules/buffer/LICENSE +21 -0
  86. package/node_modules/buffer/README.md +410 -0
  87. package/node_modules/buffer/index.d.ts +186 -0
  88. package/node_modules/buffer/index.js +1817 -0
  89. package/node_modules/buffer/package.json +96 -0
  90. package/node_modules/decompress-response/index.d.ts +22 -0
  91. package/node_modules/decompress-response/index.js +58 -0
  92. package/node_modules/decompress-response/license +9 -0
  93. package/node_modules/decompress-response/node_modules/mimic-response/index.d.ts +17 -0
  94. package/node_modules/decompress-response/node_modules/mimic-response/index.js +77 -0
  95. package/node_modules/decompress-response/node_modules/mimic-response/license +9 -0
  96. package/node_modules/decompress-response/node_modules/mimic-response/package.json +42 -0
  97. package/node_modules/decompress-response/node_modules/mimic-response/readme.md +78 -0
  98. package/node_modules/decompress-response/package.json +56 -0
  99. package/node_modules/decompress-response/readme.md +48 -0
  100. package/node_modules/deep-extend/LICENSE +20 -0
  101. package/node_modules/deep-extend/README.md +91 -0
  102. package/node_modules/deep-extend/index.js +1 -0
  103. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  104. package/node_modules/deep-extend/package.json +62 -0
  105. package/node_modules/end-of-stream/LICENSE +21 -0
  106. package/node_modules/end-of-stream/README.md +54 -0
  107. package/node_modules/end-of-stream/index.js +96 -0
  108. package/node_modules/end-of-stream/package.json +37 -0
  109. package/node_modules/expand-template/.travis.yml +6 -0
  110. package/node_modules/expand-template/LICENSE +21 -0
  111. package/node_modules/expand-template/README.md +43 -0
  112. package/node_modules/expand-template/index.js +26 -0
  113. package/node_modules/expand-template/package.json +29 -0
  114. package/node_modules/expand-template/test.js +67 -0
  115. package/node_modules/file-uri-to-path/.npmignore +1 -0
  116. package/node_modules/file-uri-to-path/.travis.yml +30 -0
  117. package/node_modules/file-uri-to-path/History.md +21 -0
  118. package/node_modules/file-uri-to-path/LICENSE +20 -0
  119. package/node_modules/file-uri-to-path/README.md +74 -0
  120. package/node_modules/file-uri-to-path/index.d.ts +2 -0
  121. package/node_modules/file-uri-to-path/index.js +66 -0
  122. package/node_modules/file-uri-to-path/package.json +32 -0
  123. package/node_modules/file-uri-to-path/test/test.js +24 -0
  124. package/node_modules/file-uri-to-path/test/tests.json +13 -0
  125. package/node_modules/fs-constants/LICENSE +21 -0
  126. package/node_modules/fs-constants/README.md +26 -0
  127. package/node_modules/fs-constants/browser.js +1 -0
  128. package/node_modules/fs-constants/index.js +1 -0
  129. package/node_modules/fs-constants/package.json +19 -0
  130. package/node_modules/github-from-package/.travis.yml +4 -0
  131. package/node_modules/github-from-package/LICENSE +18 -0
  132. package/node_modules/github-from-package/example/package.json +8 -0
  133. package/node_modules/github-from-package/example/url.js +3 -0
  134. package/node_modules/github-from-package/index.js +17 -0
  135. package/node_modules/github-from-package/package.json +30 -0
  136. package/node_modules/github-from-package/readme.markdown +53 -0
  137. package/node_modules/github-from-package/test/a.json +8 -0
  138. package/node_modules/github-from-package/test/b.json +5 -0
  139. package/node_modules/github-from-package/test/c.json +5 -0
  140. package/node_modules/github-from-package/test/d.json +7 -0
  141. package/node_modules/github-from-package/test/e.json +5 -0
  142. package/node_modules/github-from-package/test/url.js +19 -0
  143. package/node_modules/ieee754/LICENSE +11 -0
  144. package/node_modules/ieee754/README.md +51 -0
  145. package/node_modules/ieee754/index.d.ts +10 -0
  146. package/node_modules/ieee754/index.js +85 -0
  147. package/node_modules/ieee754/package.json +52 -0
  148. package/node_modules/ini/LICENSE +15 -0
  149. package/node_modules/ini/README.md +102 -0
  150. package/node_modules/ini/ini.js +206 -0
  151. package/node_modules/ini/package.json +33 -0
  152. package/node_modules/minimist/.eslintrc +29 -0
  153. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  154. package/node_modules/minimist/.nycrc +14 -0
  155. package/node_modules/minimist/CHANGELOG.md +298 -0
  156. package/node_modules/minimist/LICENSE +18 -0
  157. package/node_modules/minimist/README.md +121 -0
  158. package/node_modules/minimist/example/parse.js +4 -0
  159. package/node_modules/minimist/index.js +263 -0
  160. package/node_modules/minimist/package.json +75 -0
  161. package/node_modules/minimist/test/all_bool.js +34 -0
  162. package/node_modules/minimist/test/bool.js +177 -0
  163. package/node_modules/minimist/test/dash.js +43 -0
  164. package/node_modules/minimist/test/default_bool.js +37 -0
  165. package/node_modules/minimist/test/dotted.js +24 -0
  166. package/node_modules/minimist/test/kv_short.js +32 -0
  167. package/node_modules/minimist/test/long.js +33 -0
  168. package/node_modules/minimist/test/num.js +38 -0
  169. package/node_modules/minimist/test/parse.js +209 -0
  170. package/node_modules/minimist/test/parse_modified.js +11 -0
  171. package/node_modules/minimist/test/proto.js +64 -0
  172. package/node_modules/minimist/test/short.js +69 -0
  173. package/node_modules/minimist/test/stop_early.js +17 -0
  174. package/node_modules/minimist/test/unknown.js +104 -0
  175. package/node_modules/minimist/test/whitespace.js +10 -0
  176. package/node_modules/mkdirp-classic/LICENSE +21 -0
  177. package/node_modules/mkdirp-classic/README.md +18 -0
  178. package/node_modules/mkdirp-classic/index.js +98 -0
  179. package/node_modules/mkdirp-classic/package.json +18 -0
  180. package/node_modules/moe-training/DEPLOY_CENTRAL_COMMAND.md +413 -0
  181. package/node_modules/moe-training/client/consent.js +96 -0
  182. package/node_modules/moe-training/client/envelope-builder.js +56 -0
  183. package/node_modules/moe-training/client/index.js +10 -0
  184. package/node_modules/moe-training/client/parsers/claude-code.js +108 -0
  185. package/node_modules/moe-training/client/parsers/codex.js +80 -0
  186. package/node_modules/moe-training/client/parsers/gemini.js +80 -0
  187. package/node_modules/moe-training/client/parsers/grok.js +16 -0
  188. package/node_modules/moe-training/client/parsers/index.js +20 -0
  189. package/node_modules/moe-training/client/scrubber.js +128 -0
  190. package/node_modules/moe-training/client/session-attestation.js +115 -0
  191. package/node_modules/moe-training/client/step-classifier.js +68 -0
  192. package/node_modules/moe-training/client/trajectory-capture.js +307 -0
  193. package/node_modules/moe-training/client/transmission-queue.js +104 -0
  194. package/node_modules/moe-training/package.json +21 -0
  195. package/node_modules/moe-training/server/enrichment.js +24 -0
  196. package/node_modules/moe-training/server/index.js +119 -0
  197. package/node_modules/moe-training/server/ledger.js +110 -0
  198. package/node_modules/moe-training/server/routes/ingest.js +96 -0
  199. package/node_modules/moe-training/server/routes/sessions.js +43 -0
  200. package/node_modules/moe-training/server/routes/stats.js +31 -0
  201. package/node_modules/moe-training/server/scoring.js +63 -0
  202. package/node_modules/moe-training/server/session-registry.js +156 -0
  203. package/node_modules/moe-training/server/stats.js +129 -0
  204. package/node_modules/moe-training/server/stitcher.js +69 -0
  205. package/node_modules/moe-training/server/storage.js +147 -0
  206. package/node_modules/moe-training/server/verifier.js +102 -0
  207. package/node_modules/moe-training/shared/constants.js +30 -0
  208. package/node_modules/moe-training/shared/crypto.js +45 -0
  209. package/node_modules/moe-training/shared/envelope-schema.js +220 -0
  210. package/node_modules/moe-training/test/client/consent.test.js +121 -0
  211. package/node_modules/moe-training/test/client/envelope-builder.test.js +107 -0
  212. package/node_modules/moe-training/test/client/parsers/claude-code.test.js +119 -0
  213. package/node_modules/moe-training/test/client/parsers/codex.test.js +83 -0
  214. package/node_modules/moe-training/test/client/parsers/gemini.test.js +99 -0
  215. package/node_modules/moe-training/test/client/scrubber.test.js +143 -0
  216. package/node_modules/moe-training/test/client/session-attestation-security.test.js +95 -0
  217. package/node_modules/moe-training/test/client/step-classifier.test.js +135 -0
  218. package/node_modules/moe-training/test/client/transmission-queue.test.js +33 -0
  219. package/node_modules/moe-training/test/integration/handshake.test.js +260 -0
  220. package/node_modules/moe-training/test/server/ingest-security.test.js +166 -0
  221. package/node_modules/moe-training/test/server/ledger.test.js +131 -0
  222. package/node_modules/moe-training/test/server/scoring.test.js +242 -0
  223. package/node_modules/moe-training/test/server/session-registry.test.js +125 -0
  224. package/node_modules/moe-training/test/server/stitcher.test.js +157 -0
  225. package/node_modules/moe-training/test/server/verifier.test.js +232 -0
  226. package/node_modules/moe-training/test/shared/crypto.test.js +87 -0
  227. package/node_modules/moe-training/test/shared/envelope-schema.test.js +351 -0
  228. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  229. package/node_modules/napi-build-utils/LICENSE +21 -0
  230. package/node_modules/napi-build-utils/README.md +52 -0
  231. package/node_modules/napi-build-utils/index.js +214 -0
  232. package/node_modules/napi-build-utils/index.md +0 -0
  233. package/node_modules/napi-build-utils/package.json +42 -0
  234. package/node_modules/prebuild-install/CHANGELOG.md +131 -0
  235. package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  236. package/node_modules/prebuild-install/LICENSE +21 -0
  237. package/node_modules/prebuild-install/README.md +163 -0
  238. package/node_modules/prebuild-install/asset.js +44 -0
  239. package/node_modules/prebuild-install/bin.js +78 -0
  240. package/node_modules/prebuild-install/download.js +142 -0
  241. package/node_modules/prebuild-install/error.js +14 -0
  242. package/node_modules/prebuild-install/help.txt +16 -0
  243. package/node_modules/prebuild-install/index.js +1 -0
  244. package/node_modules/prebuild-install/log.js +33 -0
  245. package/node_modules/prebuild-install/node_modules/node-abi/LICENSE +21 -0
  246. package/node_modules/prebuild-install/node_modules/node-abi/README.md +54 -0
  247. package/node_modules/prebuild-install/node_modules/node-abi/abi_registry.json +439 -0
  248. package/node_modules/prebuild-install/node_modules/node-abi/index.js +179 -0
  249. package/node_modules/prebuild-install/node_modules/node-abi/package.json +45 -0
  250. package/node_modules/prebuild-install/node_modules/semver/LICENSE +15 -0
  251. package/node_modules/prebuild-install/node_modules/semver/README.md +665 -0
  252. package/node_modules/prebuild-install/node_modules/semver/bin/semver.js +191 -0
  253. package/node_modules/prebuild-install/node_modules/semver/classes/comparator.js +143 -0
  254. package/node_modules/prebuild-install/node_modules/semver/classes/index.js +7 -0
  255. package/node_modules/prebuild-install/node_modules/semver/classes/range.js +557 -0
  256. package/node_modules/prebuild-install/node_modules/semver/classes/semver.js +333 -0
  257. package/node_modules/prebuild-install/node_modules/semver/functions/clean.js +8 -0
  258. package/node_modules/prebuild-install/node_modules/semver/functions/cmp.js +54 -0
  259. package/node_modules/prebuild-install/node_modules/semver/functions/coerce.js +62 -0
  260. package/node_modules/prebuild-install/node_modules/semver/functions/compare-build.js +9 -0
  261. package/node_modules/prebuild-install/node_modules/semver/functions/compare-loose.js +5 -0
  262. package/node_modules/prebuild-install/node_modules/semver/functions/compare.js +7 -0
  263. package/node_modules/prebuild-install/node_modules/semver/functions/diff.js +60 -0
  264. package/node_modules/prebuild-install/node_modules/semver/functions/eq.js +5 -0
  265. package/node_modules/prebuild-install/node_modules/semver/functions/gt.js +5 -0
  266. package/node_modules/prebuild-install/node_modules/semver/functions/gte.js +5 -0
  267. package/node_modules/prebuild-install/node_modules/semver/functions/inc.js +21 -0
  268. package/node_modules/prebuild-install/node_modules/semver/functions/lt.js +5 -0
  269. package/node_modules/prebuild-install/node_modules/semver/functions/lte.js +5 -0
  270. package/node_modules/prebuild-install/node_modules/semver/functions/major.js +5 -0
  271. package/node_modules/prebuild-install/node_modules/semver/functions/minor.js +5 -0
  272. package/node_modules/prebuild-install/node_modules/semver/functions/neq.js +5 -0
  273. package/node_modules/prebuild-install/node_modules/semver/functions/parse.js +18 -0
  274. package/node_modules/prebuild-install/node_modules/semver/functions/patch.js +5 -0
  275. package/node_modules/prebuild-install/node_modules/semver/functions/prerelease.js +8 -0
  276. package/node_modules/prebuild-install/node_modules/semver/functions/rcompare.js +5 -0
  277. package/node_modules/prebuild-install/node_modules/semver/functions/rsort.js +5 -0
  278. package/node_modules/prebuild-install/node_modules/semver/functions/satisfies.js +12 -0
  279. package/node_modules/prebuild-install/node_modules/semver/functions/sort.js +5 -0
  280. package/node_modules/prebuild-install/node_modules/semver/functions/valid.js +8 -0
  281. package/node_modules/prebuild-install/node_modules/semver/index.js +91 -0
  282. package/node_modules/prebuild-install/node_modules/semver/internal/constants.js +37 -0
  283. package/node_modules/prebuild-install/node_modules/semver/internal/debug.js +11 -0
  284. package/node_modules/prebuild-install/node_modules/semver/internal/identifiers.js +29 -0
  285. package/node_modules/prebuild-install/node_modules/semver/internal/lrucache.js +42 -0
  286. package/node_modules/prebuild-install/node_modules/semver/internal/parse-options.js +17 -0
  287. package/node_modules/prebuild-install/node_modules/semver/internal/re.js +223 -0
  288. package/node_modules/prebuild-install/node_modules/semver/package.json +78 -0
  289. package/node_modules/prebuild-install/node_modules/semver/preload.js +4 -0
  290. package/node_modules/prebuild-install/node_modules/semver/range.bnf +16 -0
  291. package/node_modules/prebuild-install/node_modules/semver/ranges/gtr.js +6 -0
  292. package/node_modules/prebuild-install/node_modules/semver/ranges/intersects.js +9 -0
  293. package/node_modules/prebuild-install/node_modules/semver/ranges/ltr.js +6 -0
  294. package/node_modules/prebuild-install/node_modules/semver/ranges/max-satisfying.js +27 -0
  295. package/node_modules/prebuild-install/node_modules/semver/ranges/min-satisfying.js +26 -0
  296. package/node_modules/prebuild-install/node_modules/semver/ranges/min-version.js +63 -0
  297. package/node_modules/prebuild-install/node_modules/semver/ranges/outside.js +82 -0
  298. package/node_modules/prebuild-install/node_modules/semver/ranges/simplify.js +49 -0
  299. package/node_modules/prebuild-install/node_modules/semver/ranges/subset.js +249 -0
  300. package/node_modules/prebuild-install/node_modules/semver/ranges/to-comparators.js +10 -0
  301. package/node_modules/prebuild-install/node_modules/semver/ranges/valid.js +13 -0
  302. package/node_modules/prebuild-install/package.json +67 -0
  303. package/node_modules/prebuild-install/proxy.js +35 -0
  304. package/node_modules/prebuild-install/rc.js +64 -0
  305. package/node_modules/prebuild-install/util.js +143 -0
  306. package/node_modules/pump/.github/FUNDING.yml +2 -0
  307. package/node_modules/pump/.travis.yml +5 -0
  308. package/node_modules/pump/LICENSE +21 -0
  309. package/node_modules/pump/README.md +74 -0
  310. package/node_modules/pump/SECURITY.md +5 -0
  311. package/node_modules/pump/empty.js +1 -0
  312. package/node_modules/pump/index.js +86 -0
  313. package/node_modules/pump/package.json +30 -0
  314. package/node_modules/pump/test-browser.js +66 -0
  315. package/node_modules/pump/test-node.js +53 -0
  316. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  317. package/node_modules/rc/LICENSE.BSD +26 -0
  318. package/node_modules/rc/LICENSE.MIT +24 -0
  319. package/node_modules/rc/README.md +227 -0
  320. package/node_modules/rc/browser.js +7 -0
  321. package/node_modules/rc/cli.js +4 -0
  322. package/node_modules/rc/index.js +53 -0
  323. package/node_modules/rc/lib/utils.js +104 -0
  324. package/node_modules/rc/package.json +29 -0
  325. package/node_modules/rc/test/ini.js +16 -0
  326. package/node_modules/rc/test/nested-env-vars.js +50 -0
  327. package/node_modules/rc/test/test.js +59 -0
  328. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  329. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  330. package/node_modules/readable-stream/LICENSE +47 -0
  331. package/node_modules/readable-stream/README.md +106 -0
  332. package/node_modules/readable-stream/errors-browser.js +127 -0
  333. package/node_modules/readable-stream/errors.js +116 -0
  334. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  335. package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  336. package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  337. package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  338. package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  339. package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  340. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  341. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  342. package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  343. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  344. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  345. package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  346. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  347. package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  348. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  349. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  350. package/node_modules/readable-stream/package.json +68 -0
  351. package/node_modules/readable-stream/readable-browser.js +9 -0
  352. package/node_modules/readable-stream/readable.js +16 -0
  353. package/node_modules/simple-concat/.travis.yml +3 -0
  354. package/node_modules/simple-concat/LICENSE +20 -0
  355. package/node_modules/simple-concat/README.md +44 -0
  356. package/node_modules/simple-concat/index.js +15 -0
  357. package/node_modules/simple-concat/package.json +47 -0
  358. package/node_modules/simple-concat/test/basic.js +41 -0
  359. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  360. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  361. package/node_modules/simple-get/LICENSE +20 -0
  362. package/node_modules/simple-get/README.md +333 -0
  363. package/node_modules/simple-get/index.js +108 -0
  364. package/node_modules/simple-get/package.json +67 -0
  365. package/node_modules/string_decoder/LICENSE +48 -0
  366. package/node_modules/string_decoder/README.md +47 -0
  367. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  368. package/node_modules/string_decoder/package.json +34 -0
  369. package/node_modules/strip-json-comments/index.js +70 -0
  370. package/node_modules/strip-json-comments/license +21 -0
  371. package/node_modules/strip-json-comments/package.json +42 -0
  372. package/node_modules/strip-json-comments/readme.md +64 -0
  373. package/node_modules/tar-fs/.travis.yml +6 -0
  374. package/node_modules/tar-fs/LICENSE +21 -0
  375. package/node_modules/tar-fs/README.md +165 -0
  376. package/node_modules/tar-fs/index.js +363 -0
  377. package/node_modules/tar-fs/node_modules/chownr/LICENSE +15 -0
  378. package/node_modules/tar-fs/node_modules/chownr/README.md +3 -0
  379. package/node_modules/tar-fs/node_modules/chownr/chownr.js +167 -0
  380. package/node_modules/tar-fs/node_modules/chownr/package.json +29 -0
  381. package/node_modules/tar-fs/package.json +41 -0
  382. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  383. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  384. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  385. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  386. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  387. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  388. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  389. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  390. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  391. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  392. package/node_modules/tar-fs/test/index.js +346 -0
  393. package/node_modules/tar-stream/LICENSE +21 -0
  394. package/node_modules/tar-stream/README.md +168 -0
  395. package/node_modules/tar-stream/extract.js +257 -0
  396. package/node_modules/tar-stream/headers.js +295 -0
  397. package/node_modules/tar-stream/index.js +2 -0
  398. package/node_modules/tar-stream/pack.js +255 -0
  399. package/node_modules/tar-stream/package.json +58 -0
  400. package/node_modules/tar-stream/sandbox.js +11 -0
  401. package/node_modules/tunnel-agent/LICENSE +55 -0
  402. package/node_modules/tunnel-agent/README.md +4 -0
  403. package/node_modules/tunnel-agent/index.js +244 -0
  404. package/node_modules/tunnel-agent/package.json +22 -0
  405. package/node_modules/util-deprecate/History.md +16 -0
  406. package/node_modules/util-deprecate/LICENSE +24 -0
  407. package/node_modules/util-deprecate/README.md +53 -0
  408. package/node_modules/util-deprecate/browser.js +67 -0
  409. package/node_modules/util-deprecate/node.js +6 -0
  410. package/node_modules/util-deprecate/package.json +27 -0
  411. package/node_modules/uuid/CHANGELOG.md +274 -0
  412. package/node_modules/uuid/CONTRIBUTING.md +18 -0
  413. package/node_modules/uuid/LICENSE.md +9 -0
  414. package/node_modules/uuid/README.md +466 -0
  415. package/node_modules/uuid/dist/bin/uuid +2 -0
  416. package/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
  417. package/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
  418. package/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
  419. package/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
  420. package/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
  421. package/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
  422. package/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
  423. package/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
  424. package/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
  425. package/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
  426. package/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
  427. package/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
  428. package/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
  429. package/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
  430. package/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
  431. package/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
  432. package/node_modules/uuid/dist/esm-browser/index.js +9 -0
  433. package/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  434. package/node_modules/uuid/dist/esm-browser/native.js +4 -0
  435. package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  436. package/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  437. package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  438. package/node_modules/uuid/dist/esm-browser/rng.js +18 -0
  439. package/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  440. package/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
  441. package/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  442. package/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  443. package/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  444. package/node_modules/uuid/dist/esm-browser/v4.js +29 -0
  445. package/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  446. package/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  447. package/node_modules/uuid/dist/esm-browser/version.js +11 -0
  448. package/node_modules/uuid/dist/esm-node/index.js +9 -0
  449. package/node_modules/uuid/dist/esm-node/md5.js +13 -0
  450. package/node_modules/uuid/dist/esm-node/native.js +4 -0
  451. package/node_modules/uuid/dist/esm-node/nil.js +1 -0
  452. package/node_modules/uuid/dist/esm-node/parse.js +35 -0
  453. package/node_modules/uuid/dist/esm-node/regex.js +1 -0
  454. package/node_modules/uuid/dist/esm-node/rng.js +12 -0
  455. package/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  456. package/node_modules/uuid/dist/esm-node/stringify.js +33 -0
  457. package/node_modules/uuid/dist/esm-node/v1.js +95 -0
  458. package/node_modules/uuid/dist/esm-node/v3.js +4 -0
  459. package/node_modules/uuid/dist/esm-node/v35.js +66 -0
  460. package/node_modules/uuid/dist/esm-node/v4.js +29 -0
  461. package/node_modules/uuid/dist/esm-node/v5.js +4 -0
  462. package/node_modules/uuid/dist/esm-node/validate.js +7 -0
  463. package/node_modules/uuid/dist/esm-node/version.js +11 -0
  464. package/node_modules/uuid/dist/index.js +79 -0
  465. package/node_modules/uuid/dist/md5-browser.js +223 -0
  466. package/node_modules/uuid/dist/md5.js +23 -0
  467. package/node_modules/uuid/dist/native-browser.js +11 -0
  468. package/node_modules/uuid/dist/native.js +15 -0
  469. package/node_modules/uuid/dist/nil.js +8 -0
  470. package/node_modules/uuid/dist/parse.js +45 -0
  471. package/node_modules/uuid/dist/regex.js +8 -0
  472. package/node_modules/uuid/dist/rng-browser.js +25 -0
  473. package/node_modules/uuid/dist/rng.js +24 -0
  474. package/node_modules/uuid/dist/sha1-browser.js +104 -0
  475. package/node_modules/uuid/dist/sha1.js +23 -0
  476. package/node_modules/uuid/dist/stringify.js +44 -0
  477. package/node_modules/uuid/dist/uuid-bin.js +85 -0
  478. package/node_modules/uuid/dist/v1.js +107 -0
  479. package/node_modules/uuid/dist/v3.js +16 -0
  480. package/node_modules/uuid/dist/v35.js +80 -0
  481. package/node_modules/uuid/dist/v4.js +43 -0
  482. package/node_modules/uuid/dist/v5.js +16 -0
  483. package/node_modules/uuid/dist/validate.js +17 -0
  484. package/node_modules/uuid/dist/version.js +21 -0
  485. package/node_modules/uuid/package.json +135 -0
  486. package/node_modules/uuid/wrapper.mjs +10 -0
  487. package/package.json +5 -3
  488. package/packages/cli/package.json +1 -1
  489. package/packages/daemon/package.json +1 -1
  490. package/packages/daemon/src/api.js +17 -9
  491. package/packages/daemon/src/process.js +2 -0
  492. package/packages/gui/dist/assets/{codemirror-BBL3i_JW.js → codemirror-CFF1Lrnz.js} +10 -10
  493. package/{node_modules/@groove-dev/gui/dist/assets/index-DWv32qyJ.js → packages/gui/dist/assets/index-B3GUKInH.js} +1740 -1740
  494. package/{node_modules/@groove-dev/gui/dist/assets/index-Bo6AeNmM.css → packages/gui/dist/assets/index-C1k-GuDg.css} +1 -1
  495. package/packages/gui/dist/index.html +3 -3
  496. package/packages/gui/package.json +1 -1
  497. package/packages/gui/src/components/agents/agent-panel.jsx +2 -0
  498. package/packages/gui/src/components/editor/code-editor.jsx +3 -3
  499. package/packages/gui/src/stores/groove.js +23 -16
  500. package/packages/gui/src/views/agents.jsx +44 -113
  501. package/workspace.png +0 -0
@@ -0,0 +1,143 @@
1
+ const path = require('path')
2
+ const github = require('github-from-package')
3
+ const home = require('os').homedir
4
+ const crypto = require('crypto')
5
+ const expandTemplate = require('expand-template')()
6
+
7
+ function getDownloadUrl (opts) {
8
+ const pkgName = opts.pkg.name.replace(/^@[a-zA-Z0-9_\-.~]+\//, '')
9
+ return expandTemplate(urlTemplate(opts), {
10
+ name: pkgName,
11
+ package_name: pkgName,
12
+ version: opts.pkg.version,
13
+ major: opts.pkg.version.split('.')[0],
14
+ minor: opts.pkg.version.split('.')[1],
15
+ patch: opts.pkg.version.split('.')[2],
16
+ prerelease: opts.pkg.version.split('-')[1],
17
+ build: opts.pkg.version.split('+')[1],
18
+ abi: opts.abi || process.versions.modules,
19
+ node_abi: process.versions.modules,
20
+ runtime: opts.runtime || 'node',
21
+ platform: opts.platform,
22
+ arch: opts.arch,
23
+ libc: opts.libc || '',
24
+ configuration: (opts.debug ? 'Debug' : 'Release'),
25
+ module_name: opts.pkg.binary && opts.pkg.binary.module_name,
26
+ tag_prefix: opts['tag-prefix']
27
+ })
28
+ }
29
+
30
+ function getApiUrl (opts) {
31
+ return github(opts.pkg).replace('github.com', 'api.github.com/repos') + '/releases'
32
+ }
33
+
34
+ function getAssetUrl (opts, assetId) {
35
+ return getApiUrl(opts) + '/assets/' + assetId
36
+ }
37
+
38
+ function urlTemplate (opts) {
39
+ if (typeof opts.download === 'string') {
40
+ return opts.download
41
+ }
42
+
43
+ const packageName = '{name}-v{version}-{runtime}-v{abi}-{platform}{libc}-{arch}.tar.gz'
44
+ const hostMirrorUrl = getHostMirrorUrl(opts)
45
+
46
+ if (hostMirrorUrl) {
47
+ return hostMirrorUrl + '/{tag_prefix}{version}/' + packageName
48
+ }
49
+
50
+ if (opts.pkg.binary && opts.pkg.binary.host) {
51
+ return [
52
+ opts.pkg.binary.host,
53
+ opts.pkg.binary.remote_path,
54
+ opts.pkg.binary.package_name || packageName
55
+ ].map(function (path) {
56
+ return trimSlashes(path)
57
+ }).filter(Boolean).join('/')
58
+ }
59
+
60
+ return github(opts.pkg) + '/releases/download/{tag_prefix}{version}/' + packageName
61
+ }
62
+
63
+ function getEnvPrefix (pkgName) {
64
+ return 'npm_config_' + (pkgName || '').replace(/[^a-zA-Z0-9]/g, '_').replace(/^_/, '')
65
+ }
66
+
67
+ function getHostMirrorUrl (opts) {
68
+ const propName = getEnvPrefix(opts.pkg.name) + '_binary_host'
69
+ return process.env[propName] || process.env[propName + '_mirror']
70
+ }
71
+
72
+ function trimSlashes (str) {
73
+ if (str) return str.replace(/^\.\/|^\/|\/$/g, '')
74
+ }
75
+
76
+ function cachedPrebuild (url) {
77
+ const digest = crypto.createHash('sha512').update(url).digest('hex').slice(0, 6)
78
+ return path.join(prebuildCache(), digest + '-' + path.basename(url).replace(/[^a-zA-Z0-9.]+/g, '-'))
79
+ }
80
+
81
+ function npmCache () {
82
+ const env = process.env
83
+ return env.npm_config_cache || (env.APPDATA ? path.join(env.APPDATA, 'npm-cache') : path.join(home(), '.npm'))
84
+ }
85
+
86
+ function prebuildCache () {
87
+ return path.join(npmCache(), '_prebuilds')
88
+ }
89
+
90
+ function tempFile (cached) {
91
+ return cached + '.' + process.pid + '-' + Math.random().toString(16).slice(2) + '.tmp'
92
+ }
93
+
94
+ function packageOrigin (env, pkg) {
95
+ // npm <= 6: metadata is stored on disk in node_modules
96
+ if (pkg._from) {
97
+ return pkg._from
98
+ }
99
+
100
+ // npm 7: metadata is exposed to environment by arborist
101
+ if (env.npm_package_from) {
102
+ // NOTE: seems undefined atm (npm 7.0.2)
103
+ return env.npm_package_from
104
+ }
105
+
106
+ if (env.npm_package_resolved) {
107
+ // NOTE: not sure about the difference with _from, but it's all we have
108
+ return env.npm_package_resolved
109
+ }
110
+ }
111
+
112
+ function localPrebuild (url, opts) {
113
+ const propName = getEnvPrefix(opts.pkg.name) + '_local_prebuilds'
114
+ const prefix = process.env[propName] || opts['local-prebuilds'] || 'prebuilds'
115
+ return path.join(prefix, path.basename(url))
116
+ }
117
+
118
+ const noopLogger = {
119
+ http: function () {},
120
+ silly: function () {},
121
+ debug: function () {},
122
+ info: function () {},
123
+ warn: function () {},
124
+ error: function () {},
125
+ critical: function () {},
126
+ alert: function () {},
127
+ emergency: function () {},
128
+ notice: function () {},
129
+ verbose: function () {},
130
+ fatal: function () {}
131
+ }
132
+
133
+ exports.getDownloadUrl = getDownloadUrl
134
+ exports.getApiUrl = getApiUrl
135
+ exports.getAssetUrl = getAssetUrl
136
+ exports.urlTemplate = urlTemplate
137
+ exports.cachedPrebuild = cachedPrebuild
138
+ exports.localPrebuild = localPrebuild
139
+ exports.prebuildCache = prebuildCache
140
+ exports.npmCache = npmCache
141
+ exports.tempFile = tempFile
142
+ exports.packageOrigin = packageOrigin
143
+ exports.noopLogger = noopLogger
@@ -0,0 +1,2 @@
1
+ github: mafintosh
2
+ tidelift: "npm/pump"
@@ -0,0 +1,5 @@
1
+ language: node_js
2
+ node_js:
3
+ - "0.10"
4
+
5
+ script: "npm test"
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Mathias Buus
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,74 @@
1
+ # pump
2
+
3
+ pump is a small node module that pipes streams together and destroys all of them if one of them closes.
4
+
5
+ ```
6
+ npm install pump
7
+ ```
8
+
9
+ [![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump)
10
+
11
+ ## What problem does it solve?
12
+
13
+ When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error.
14
+ You are also not able to provide a callback to tell when then pipe has finished.
15
+
16
+ pump does these two things for you
17
+
18
+ ## Usage
19
+
20
+ Simply pass the streams you want to pipe together to pump and add an optional callback
21
+
22
+ ``` js
23
+ var pump = require('pump')
24
+ var fs = require('fs')
25
+
26
+ var source = fs.createReadStream('/dev/random')
27
+ var dest = fs.createWriteStream('/dev/null')
28
+
29
+ pump(source, dest, function(err) {
30
+ console.log('pipe finished', err)
31
+ })
32
+
33
+ setTimeout(function() {
34
+ dest.destroy() // when dest is closed pump will destroy source
35
+ }, 1000)
36
+ ```
37
+
38
+ You can use pump to pipe more than two streams together as well
39
+
40
+ ``` js
41
+ var transform = someTransformStream()
42
+
43
+ pump(source, transform, anotherTransform, dest, function(err) {
44
+ console.log('pipe finished', err)
45
+ })
46
+ ```
47
+
48
+ If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed.
49
+
50
+ Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you can do:
51
+
52
+ ```
53
+ return pump(s1, s2) // returns s2
54
+ ```
55
+
56
+ Note that `pump` attaches error handlers to the streams to do internal error handling, so if `s2` emits an
57
+ error in the above scenario, it will not trigger a `proccess.on('uncaughtException')` if you do not listen for it.
58
+
59
+ If you want to return a stream that combines *both* s1 and s2 to a single stream use
60
+ [pumpify](https://github.com/mafintosh/pumpify) instead.
61
+
62
+ ## License
63
+
64
+ MIT
65
+
66
+ ## Related
67
+
68
+ `pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.
69
+
70
+ ## For enterprise
71
+
72
+ Available as part of the Tidelift Subscription.
73
+
74
+ The maintainers of pump and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-pump?utm_source=npm-pump&utm_medium=referral&utm_campaign=enterprise)
@@ -0,0 +1,5 @@
1
+ ## Security contact information
2
+
3
+ To report a security vulnerability, please use the
4
+ [Tidelift security contact](https://tidelift.com/security).
5
+ Tidelift will coordinate the fix and disclosure.
@@ -0,0 +1 @@
1
+ module.exports = null
@@ -0,0 +1,86 @@
1
+ var once = require('once')
2
+ var eos = require('end-of-stream')
3
+ var fs
4
+
5
+ try {
6
+ fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes
7
+ } catch (e) {}
8
+
9
+ var noop = function () {}
10
+ var ancient = typeof process === 'undefined' ? false : /^v?\.0/.test(process.version)
11
+
12
+ var isFn = function (fn) {
13
+ return typeof fn === 'function'
14
+ }
15
+
16
+ var isFS = function (stream) {
17
+ if (!ancient) return false // newer node version do not need to care about fs is a special way
18
+ if (!fs) return false // browser
19
+ return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)
20
+ }
21
+
22
+ var isRequest = function (stream) {
23
+ return stream.setHeader && isFn(stream.abort)
24
+ }
25
+
26
+ var destroyer = function (stream, reading, writing, callback) {
27
+ callback = once(callback)
28
+
29
+ var closed = false
30
+ stream.on('close', function () {
31
+ closed = true
32
+ })
33
+
34
+ eos(stream, {readable: reading, writable: writing}, function (err) {
35
+ if (err) return callback(err)
36
+ closed = true
37
+ callback()
38
+ })
39
+
40
+ var destroyed = false
41
+ return function (err) {
42
+ if (closed) return
43
+ if (destroyed) return
44
+ destroyed = true
45
+
46
+ if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks
47
+ if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want
48
+
49
+ if (isFn(stream.destroy)) return stream.destroy()
50
+
51
+ callback(err || new Error('stream was destroyed'))
52
+ }
53
+ }
54
+
55
+ var call = function (fn) {
56
+ fn()
57
+ }
58
+
59
+ var pipe = function (from, to) {
60
+ return from.pipe(to)
61
+ }
62
+
63
+ var pump = function () {
64
+ var streams = Array.prototype.slice.call(arguments)
65
+ var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop
66
+
67
+ if (Array.isArray(streams[0])) streams = streams[0]
68
+ if (streams.length < 2) throw new Error('pump requires two streams per minimum')
69
+
70
+ var error
71
+ var destroys = streams.map(function (stream, i) {
72
+ var reading = i < streams.length - 1
73
+ var writing = i > 0
74
+ return destroyer(stream, reading, writing, function (err) {
75
+ if (!error) error = err
76
+ if (err) destroys.forEach(call)
77
+ if (reading) return
78
+ destroys.forEach(call)
79
+ callback(error)
80
+ })
81
+ })
82
+
83
+ return streams.reduce(pipe)
84
+ }
85
+
86
+ module.exports = pump
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "pump",
3
+ "version": "3.0.4",
4
+ "repository": "git://github.com/mafintosh/pump.git",
5
+ "license": "MIT",
6
+ "description": "pipe streams together and close all of them if one of them closes",
7
+ "browser": {
8
+ "fs": false
9
+ },
10
+ "imports": {
11
+ "fs": {
12
+ "bare": "./empty.js",
13
+ "default": "fs"
14
+ }
15
+ },
16
+ "keywords": [
17
+ "streams",
18
+ "pipe",
19
+ "destroy",
20
+ "callback"
21
+ ],
22
+ "author": "Mathias Buus Madsen <mathiasbuus@gmail.com>",
23
+ "dependencies": {
24
+ "end-of-stream": "^1.1.0",
25
+ "once": "^1.3.1"
26
+ },
27
+ "scripts": {
28
+ "test": "node test-browser.js && node test-node.js"
29
+ }
30
+ }
@@ -0,0 +1,66 @@
1
+ var stream = require('stream')
2
+ var pump = require('./index')
3
+
4
+ var rs = new stream.Readable()
5
+ var ws = new stream.Writable()
6
+
7
+ rs._read = function (size) {
8
+ this.push(Buffer(size).fill('abc'))
9
+ }
10
+
11
+ ws._write = function (chunk, encoding, cb) {
12
+ setTimeout(function () {
13
+ cb()
14
+ }, 100)
15
+ }
16
+
17
+ var toHex = function () {
18
+ var reverse = new (require('stream').Transform)()
19
+
20
+ reverse._transform = function (chunk, enc, callback) {
21
+ reverse.push(chunk.toString('hex'))
22
+ callback()
23
+ }
24
+
25
+ return reverse
26
+ }
27
+
28
+ var wsClosed = false
29
+ var rsClosed = false
30
+ var callbackCalled = false
31
+
32
+ var check = function () {
33
+ if (wsClosed && rsClosed && callbackCalled) {
34
+ console.log('test-browser.js passes')
35
+ clearTimeout(timeout)
36
+ }
37
+ }
38
+
39
+ ws.on('finish', function () {
40
+ wsClosed = true
41
+ check()
42
+ })
43
+
44
+ rs.on('end', function () {
45
+ rsClosed = true
46
+ check()
47
+ })
48
+
49
+ var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
50
+ callbackCalled = true
51
+ check()
52
+ })
53
+
54
+ if (res !== ws) {
55
+ throw new Error('should return last stream')
56
+ }
57
+
58
+ setTimeout(function () {
59
+ rs.push(null)
60
+ rs.emit('close')
61
+ }, 1000)
62
+
63
+ var timeout = setTimeout(function () {
64
+ check()
65
+ throw new Error('timeout')
66
+ }, 5000)
@@ -0,0 +1,53 @@
1
+ var pump = require('./index')
2
+
3
+ var rs = require('fs').createReadStream('/dev/random')
4
+ var ws = require('fs').createWriteStream('/dev/null')
5
+
6
+ var toHex = function () {
7
+ var reverse = new (require('stream').Transform)()
8
+
9
+ reverse._transform = function (chunk, enc, callback) {
10
+ reverse.push(chunk.toString('hex'))
11
+ callback()
12
+ }
13
+
14
+ return reverse
15
+ }
16
+
17
+ var wsClosed = false
18
+ var rsClosed = false
19
+ var callbackCalled = false
20
+
21
+ var check = function () {
22
+ if (wsClosed && rsClosed && callbackCalled) {
23
+ console.log('test-node.js passes')
24
+ clearTimeout(timeout)
25
+ }
26
+ }
27
+
28
+ ws.on('close', function () {
29
+ wsClosed = true
30
+ check()
31
+ })
32
+
33
+ rs.on('close', function () {
34
+ rsClosed = true
35
+ check()
36
+ })
37
+
38
+ var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
39
+ callbackCalled = true
40
+ check()
41
+ })
42
+
43
+ if (res !== ws) {
44
+ throw new Error('should return last stream')
45
+ }
46
+
47
+ setTimeout(function () {
48
+ rs.destroy()
49
+ }, 1000)
50
+
51
+ var timeout = setTimeout(function () {
52
+ throw new Error('timeout')
53
+ }, 5000)
@@ -0,0 +1,15 @@
1
+ Apache License, Version 2.0
2
+
3
+ Copyright (c) 2011 Dominic Tarr
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2013, Dominic Tarr
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
17
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
+
24
+ The views and conclusions contained in the software and documentation are those
25
+ of the authors and should not be interpreted as representing official policies,
26
+ either expressed or implied, of the FreeBSD Project.
@@ -0,0 +1,24 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2011 Dominic Tarr
4
+
5
+ Permission is hereby granted, free of charge,
6
+ to any person obtaining a copy of this software and
7
+ associated documentation files (the "Software"), to
8
+ deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify,
10
+ merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom
12
+ the Software is furnished to do so,
13
+ subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice
16
+ shall be included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
22
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.