karajan-code 3.4.0 → 3.4.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 (749) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@karajan/core/package.json +12 -1
  3. package/package.json +4 -2
  4. package/packages/hu-board/src/routes/api.js +70 -49
  5. package/packages/hu-board/src/zombie-reaper.js +1 -1
  6. package/scripts/verify-pack.mjs +108 -0
  7. package/src/agents/aider-agent.js +1 -1
  8. package/src/agents/gemini-agent.js +1 -1
  9. package/src/agents/opencode-agent.js +1 -1
  10. package/src/audit/agent-readiness.js +2 -1
  11. package/src/audit/deterministic-summary.js +11 -5
  12. package/src/audit/issue-filter.js +3 -6
  13. package/src/audit/plan-adherence.js +3 -1
  14. package/src/audit/semgrep-findings.js +5 -1
  15. package/src/brain/agent-error-classifier.js +8 -1
  16. package/src/brain/decisor.js +2 -2
  17. package/src/brain/solomon-consult.js +2 -2
  18. package/src/brain/standby-scheduler.js +0 -2
  19. package/src/commands/audit.js +8 -3
  20. package/src/commands/board.js +1 -1
  21. package/src/commands/standby.js +4 -1
  22. package/src/config/loader.js +2 -2
  23. package/src/golden/asserter.js +3 -1
  24. package/src/golden/schema.js +1 -1
  25. package/src/hu/auto-generator.js +1 -1
  26. package/src/lang/tree-sitter-loader.js +1 -5
  27. package/src/mcp/handlers/management-handlers.js +4 -3
  28. package/src/orchestrator/drivers/post-loop.js +43 -91
  29. package/src/orchestrator/flow-runner.js +25 -0
  30. package/src/orchestrator/fs-leak-detector.js +6 -1
  31. package/src/orchestrator/preflight-checks.js +51 -0
  32. package/src/orchestrator/solomon-rules.js +12 -1
  33. package/src/prompts/audit.js +12 -11
  34. package/src/prompts/hu-reviewer.js +1 -1
  35. package/src/prompts/planner.js +1 -1
  36. package/src/rag/embedders/factory.js +0 -1
  37. package/src/rag/retriever.js +1 -1
  38. package/src/roles/agent-role.js +1 -1
  39. package/src/roles/audit-role.js +10 -2
  40. package/src/session/journal/write-all.js +89 -0
  41. package/src/sonar/discovery.js +2 -1
  42. package/src/sonar/scanner.js +1 -1
  43. package/src/utils/cli-progress.js +4 -2
  44. package/src/utils/escape-regexp.js +15 -0
  45. package/src/utils/paths.js +0 -1
  46. package/src/utils/port-occupant.js +2 -1
  47. package/src/utils/project-detect.js +1 -1
  48. package/node_modules/@sec-ant/readable-stream/LICENSE +0 -21
  49. package/node_modules/@sec-ant/readable-stream/README.md +0 -230
  50. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +0 -1
  51. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +0 -27
  52. package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +0 -6
  53. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +0 -2
  54. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +0 -5
  55. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +0 -2
  56. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +0 -5
  57. package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +0 -2
  58. package/node_modules/@sec-ant/readable-stream/dist/index/index.js +0 -8
  59. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +0 -1
  60. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +0 -3
  61. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +0 -1
  62. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +0 -2
  63. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +0 -2
  64. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +0 -4
  65. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +0 -1
  66. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +0 -89
  67. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +0 -1
  68. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +0 -34
  69. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +0 -2
  70. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +0 -6
  71. package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +0 -11
  72. package/node_modules/@sec-ant/readable-stream/package.json +0 -96
  73. package/node_modules/@sindresorhus/merge-streams/index.d.ts +0 -44
  74. package/node_modules/@sindresorhus/merge-streams/index.js +0 -265
  75. package/node_modules/@sindresorhus/merge-streams/license +0 -9
  76. package/node_modules/@sindresorhus/merge-streams/package.json +0 -49
  77. package/node_modules/@sindresorhus/merge-streams/readme.md +0 -53
  78. package/node_modules/base64-js/LICENSE +0 -21
  79. package/node_modules/base64-js/README.md +0 -34
  80. package/node_modules/base64-js/base64js.min.js +0 -1
  81. package/node_modules/base64-js/index.d.ts +0 -3
  82. package/node_modules/base64-js/index.js +0 -150
  83. package/node_modules/base64-js/package.json +0 -47
  84. package/node_modules/better-sqlite3/LICENSE +0 -21
  85. package/node_modules/better-sqlite3/README.md +0 -99
  86. package/node_modules/better-sqlite3/binding.gyp +0 -38
  87. package/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  88. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  89. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  90. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  91. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  92. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  93. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -268879
  94. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14335
  95. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  96. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  97. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  98. package/node_modules/better-sqlite3/lib/database.js +0 -90
  99. package/node_modules/better-sqlite3/lib/index.js +0 -3
  100. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  101. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  102. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  103. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  104. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  105. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  106. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  107. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  108. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  109. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  110. package/node_modules/better-sqlite3/lib/util.js +0 -12
  111. package/node_modules/better-sqlite3/package.json +0 -59
  112. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  113. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  114. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  115. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  116. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  117. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  118. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  119. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  120. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  121. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  122. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  123. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  124. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  125. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  126. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  127. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  128. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  129. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  130. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  131. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -83
  132. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  133. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  134. package/node_modules/bindings/LICENSE.md +0 -22
  135. package/node_modules/bindings/README.md +0 -98
  136. package/node_modules/bindings/bindings.js +0 -221
  137. package/node_modules/bindings/package.json +0 -28
  138. package/node_modules/bl/.travis.yml +0 -17
  139. package/node_modules/bl/BufferList.js +0 -396
  140. package/node_modules/bl/LICENSE.md +0 -13
  141. package/node_modules/bl/README.md +0 -247
  142. package/node_modules/bl/bl.js +0 -84
  143. package/node_modules/bl/package.json +0 -37
  144. package/node_modules/bl/test/convert.js +0 -21
  145. package/node_modules/bl/test/indexOf.js +0 -492
  146. package/node_modules/bl/test/isBufferList.js +0 -32
  147. package/node_modules/bl/test/test.js +0 -869
  148. package/node_modules/buffer/AUTHORS.md +0 -70
  149. package/node_modules/buffer/LICENSE +0 -21
  150. package/node_modules/buffer/README.md +0 -410
  151. package/node_modules/buffer/index.d.ts +0 -186
  152. package/node_modules/buffer/index.js +0 -1817
  153. package/node_modules/buffer/package.json +0 -96
  154. package/node_modules/chownr/LICENSE +0 -15
  155. package/node_modules/chownr/README.md +0 -3
  156. package/node_modules/chownr/chownr.js +0 -167
  157. package/node_modules/chownr/package.json +0 -29
  158. package/node_modules/cross-spawn/LICENSE +0 -21
  159. package/node_modules/cross-spawn/README.md +0 -89
  160. package/node_modules/cross-spawn/index.js +0 -39
  161. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  162. package/node_modules/cross-spawn/lib/parse.js +0 -91
  163. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  164. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  165. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  166. package/node_modules/cross-spawn/package.json +0 -73
  167. package/node_modules/decompress-response/index.d.ts +0 -22
  168. package/node_modules/decompress-response/index.js +0 -58
  169. package/node_modules/decompress-response/license +0 -9
  170. package/node_modules/decompress-response/package.json +0 -56
  171. package/node_modules/decompress-response/readme.md +0 -48
  172. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  173. package/node_modules/deep-extend/LICENSE +0 -20
  174. package/node_modules/deep-extend/README.md +0 -91
  175. package/node_modules/deep-extend/index.js +0 -1
  176. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  177. package/node_modules/deep-extend/package.json +0 -62
  178. package/node_modules/detect-libc/LICENSE +0 -201
  179. package/node_modules/detect-libc/README.md +0 -163
  180. package/node_modules/detect-libc/index.d.ts +0 -14
  181. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  182. package/node_modules/detect-libc/lib/elf.js +0 -39
  183. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  184. package/node_modules/detect-libc/lib/process.js +0 -24
  185. package/node_modules/detect-libc/package.json +0 -44
  186. package/node_modules/end-of-stream/LICENSE +0 -21
  187. package/node_modules/end-of-stream/README.md +0 -54
  188. package/node_modules/end-of-stream/index.js +0 -96
  189. package/node_modules/end-of-stream/package.json +0 -37
  190. package/node_modules/execa/index.d.ts +0 -27
  191. package/node_modules/execa/index.js +0 -28
  192. package/node_modules/execa/lib/arguments/command.js +0 -20
  193. package/node_modules/execa/lib/arguments/cwd.js +0 -39
  194. package/node_modules/execa/lib/arguments/encoding-option.js +0 -50
  195. package/node_modules/execa/lib/arguments/escape.js +0 -88
  196. package/node_modules/execa/lib/arguments/fd-options.js +0 -108
  197. package/node_modules/execa/lib/arguments/file-url.js +0 -25
  198. package/node_modules/execa/lib/arguments/options.js +0 -96
  199. package/node_modules/execa/lib/arguments/shell.js +0 -11
  200. package/node_modules/execa/lib/arguments/specific.js +0 -111
  201. package/node_modules/execa/lib/convert/add.js +0 -15
  202. package/node_modules/execa/lib/convert/concurrent.js +0 -33
  203. package/node_modules/execa/lib/convert/duplex.js +0 -69
  204. package/node_modules/execa/lib/convert/iterable.js +0 -34
  205. package/node_modules/execa/lib/convert/readable.js +0 -113
  206. package/node_modules/execa/lib/convert/shared.js +0 -46
  207. package/node_modules/execa/lib/convert/writable.js +0 -90
  208. package/node_modules/execa/lib/io/contents.js +0 -116
  209. package/node_modules/execa/lib/io/input-sync.js +0 -44
  210. package/node_modules/execa/lib/io/iterate.js +0 -110
  211. package/node_modules/execa/lib/io/max-buffer.js +0 -89
  212. package/node_modules/execa/lib/io/output-async.js +0 -80
  213. package/node_modules/execa/lib/io/output-sync.js +0 -135
  214. package/node_modules/execa/lib/io/pipeline.js +0 -48
  215. package/node_modules/execa/lib/io/strip-newline.js +0 -12
  216. package/node_modules/execa/lib/ipc/array.js +0 -4
  217. package/node_modules/execa/lib/ipc/buffer-messages.js +0 -47
  218. package/node_modules/execa/lib/ipc/forward.js +0 -56
  219. package/node_modules/execa/lib/ipc/get-each.js +0 -89
  220. package/node_modules/execa/lib/ipc/get-one.js +0 -69
  221. package/node_modules/execa/lib/ipc/graceful.js +0 -72
  222. package/node_modules/execa/lib/ipc/incoming.js +0 -79
  223. package/node_modules/execa/lib/ipc/ipc-input.js +0 -44
  224. package/node_modules/execa/lib/ipc/methods.js +0 -49
  225. package/node_modules/execa/lib/ipc/outgoing.js +0 -47
  226. package/node_modules/execa/lib/ipc/reference.js +0 -44
  227. package/node_modules/execa/lib/ipc/send.js +0 -91
  228. package/node_modules/execa/lib/ipc/strict.js +0 -113
  229. package/node_modules/execa/lib/ipc/validation.js +0 -111
  230. package/node_modules/execa/lib/methods/bind.js +0 -23
  231. package/node_modules/execa/lib/methods/command.js +0 -43
  232. package/node_modules/execa/lib/methods/create.js +0 -65
  233. package/node_modules/execa/lib/methods/main-async.js +0 -194
  234. package/node_modules/execa/lib/methods/main-sync.js +0 -163
  235. package/node_modules/execa/lib/methods/node.js +0 -51
  236. package/node_modules/execa/lib/methods/parameters.js +0 -31
  237. package/node_modules/execa/lib/methods/promise.js +0 -15
  238. package/node_modules/execa/lib/methods/script.js +0 -22
  239. package/node_modules/execa/lib/methods/template.js +0 -153
  240. package/node_modules/execa/lib/pipe/abort.js +0 -20
  241. package/node_modules/execa/lib/pipe/pipe-arguments.js +0 -91
  242. package/node_modules/execa/lib/pipe/sequence.js +0 -24
  243. package/node_modules/execa/lib/pipe/setup.js +0 -72
  244. package/node_modules/execa/lib/pipe/streaming.js +0 -51
  245. package/node_modules/execa/lib/pipe/throw.js +0 -58
  246. package/node_modules/execa/lib/resolve/all-async.js +0 -46
  247. package/node_modules/execa/lib/resolve/all-sync.js +0 -33
  248. package/node_modules/execa/lib/resolve/exit-async.js +0 -54
  249. package/node_modules/execa/lib/resolve/exit-sync.js +0 -25
  250. package/node_modules/execa/lib/resolve/stdio.js +0 -47
  251. package/node_modules/execa/lib/resolve/wait-stream.js +0 -96
  252. package/node_modules/execa/lib/resolve/wait-subprocess.js +0 -146
  253. package/node_modules/execa/lib/return/duration.js +0 -8
  254. package/node_modules/execa/lib/return/early-error.js +0 -60
  255. package/node_modules/execa/lib/return/final-error.js +0 -40
  256. package/node_modules/execa/lib/return/message.js +0 -157
  257. package/node_modules/execa/lib/return/reject.js +0 -13
  258. package/node_modules/execa/lib/return/result.js +0 -186
  259. package/node_modules/execa/lib/stdio/direction.js +0 -76
  260. package/node_modules/execa/lib/stdio/duplicate.js +0 -116
  261. package/node_modules/execa/lib/stdio/handle-async.js +0 -52
  262. package/node_modules/execa/lib/stdio/handle-sync.js +0 -57
  263. package/node_modules/execa/lib/stdio/handle.js +0 -214
  264. package/node_modules/execa/lib/stdio/input-option.js +0 -50
  265. package/node_modules/execa/lib/stdio/native.js +0 -106
  266. package/node_modules/execa/lib/stdio/stdio-option.js +0 -60
  267. package/node_modules/execa/lib/stdio/type.js +0 -173
  268. package/node_modules/execa/lib/terminate/cancel.js +0 -20
  269. package/node_modules/execa/lib/terminate/cleanup.js +0 -16
  270. package/node_modules/execa/lib/terminate/graceful.js +0 -71
  271. package/node_modules/execa/lib/terminate/kill.js +0 -93
  272. package/node_modules/execa/lib/terminate/signal.js +0 -70
  273. package/node_modules/execa/lib/terminate/timeout.js +0 -21
  274. package/node_modules/execa/lib/transform/encoding-transform.js +0 -51
  275. package/node_modules/execa/lib/transform/generator.js +0 -107
  276. package/node_modules/execa/lib/transform/normalize.js +0 -111
  277. package/node_modules/execa/lib/transform/object-mode.js +0 -41
  278. package/node_modules/execa/lib/transform/run-async.js +0 -60
  279. package/node_modules/execa/lib/transform/run-sync.js +0 -50
  280. package/node_modules/execa/lib/transform/split.js +0 -110
  281. package/node_modules/execa/lib/transform/validate.js +0 -43
  282. package/node_modules/execa/lib/utils/abort-signal.js +0 -8
  283. package/node_modules/execa/lib/utils/deferred.js +0 -7
  284. package/node_modules/execa/lib/utils/max-listeners.js +0 -14
  285. package/node_modules/execa/lib/utils/standard-stream.js +0 -6
  286. package/node_modules/execa/lib/utils/uint-array.js +0 -69
  287. package/node_modules/execa/lib/verbose/complete.js +0 -24
  288. package/node_modules/execa/lib/verbose/custom.js +0 -26
  289. package/node_modules/execa/lib/verbose/default.js +0 -54
  290. package/node_modules/execa/lib/verbose/error.js +0 -13
  291. package/node_modules/execa/lib/verbose/info.js +0 -39
  292. package/node_modules/execa/lib/verbose/ipc.js +0 -15
  293. package/node_modules/execa/lib/verbose/log.js +0 -54
  294. package/node_modules/execa/lib/verbose/output.js +0 -60
  295. package/node_modules/execa/lib/verbose/start.js +0 -15
  296. package/node_modules/execa/lib/verbose/values.js +0 -33
  297. package/node_modules/execa/license +0 -9
  298. package/node_modules/execa/package.json +0 -105
  299. package/node_modules/execa/readme.md +0 -461
  300. package/node_modules/execa/types/arguments/encoding-option.d.ts +0 -19
  301. package/node_modules/execa/types/arguments/fd-options.d.ts +0 -8
  302. package/node_modules/execa/types/arguments/options.d.ts +0 -400
  303. package/node_modules/execa/types/arguments/specific.d.ts +0 -52
  304. package/node_modules/execa/types/convert.d.ts +0 -58
  305. package/node_modules/execa/types/ipc.d.ts +0 -156
  306. package/node_modules/execa/types/methods/command.d.ts +0 -114
  307. package/node_modules/execa/types/methods/main-async.d.ts +0 -379
  308. package/node_modules/execa/types/methods/main-sync.d.ts +0 -59
  309. package/node_modules/execa/types/methods/node.d.ts +0 -62
  310. package/node_modules/execa/types/methods/script.d.ts +0 -115
  311. package/node_modules/execa/types/methods/template.d.ts +0 -18
  312. package/node_modules/execa/types/pipe.d.ts +0 -58
  313. package/node_modules/execa/types/return/final-error.d.ts +0 -51
  314. package/node_modules/execa/types/return/ignore.d.ts +0 -26
  315. package/node_modules/execa/types/return/result-all.d.ts +0 -30
  316. package/node_modules/execa/types/return/result-ipc.d.ts +0 -27
  317. package/node_modules/execa/types/return/result-stdio.d.ts +0 -17
  318. package/node_modules/execa/types/return/result-stdout.d.ts +0 -50
  319. package/node_modules/execa/types/return/result.d.ts +0 -203
  320. package/node_modules/execa/types/stdio/array.d.ts +0 -16
  321. package/node_modules/execa/types/stdio/direction.d.ts +0 -12
  322. package/node_modules/execa/types/stdio/option.d.ts +0 -40
  323. package/node_modules/execa/types/stdio/type.d.ts +0 -170
  324. package/node_modules/execa/types/subprocess/all.d.ts +0 -17
  325. package/node_modules/execa/types/subprocess/stdio.d.ts +0 -18
  326. package/node_modules/execa/types/subprocess/stdout.d.ts +0 -22
  327. package/node_modules/execa/types/subprocess/subprocess.d.ts +0 -117
  328. package/node_modules/execa/types/transform/normalize.d.ts +0 -57
  329. package/node_modules/execa/types/transform/object-mode.d.ts +0 -21
  330. package/node_modules/execa/types/utils.d.ts +0 -13
  331. package/node_modules/execa/types/verbose.d.ts +0 -98
  332. package/node_modules/expand-template/.travis.yml +0 -6
  333. package/node_modules/expand-template/LICENSE +0 -21
  334. package/node_modules/expand-template/README.md +0 -43
  335. package/node_modules/expand-template/index.js +0 -26
  336. package/node_modules/expand-template/package.json +0 -29
  337. package/node_modules/expand-template/test.js +0 -67
  338. package/node_modules/figures/index.d.ts +0 -279
  339. package/node_modules/figures/index.js +0 -292
  340. package/node_modules/figures/license +0 -9
  341. package/node_modules/figures/package.json +0 -49
  342. package/node_modules/figures/readme.md +0 -337
  343. package/node_modules/file-uri-to-path/.npmignore +0 -1
  344. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  345. package/node_modules/file-uri-to-path/History.md +0 -21
  346. package/node_modules/file-uri-to-path/LICENSE +0 -20
  347. package/node_modules/file-uri-to-path/README.md +0 -74
  348. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  349. package/node_modules/file-uri-to-path/index.js +0 -66
  350. package/node_modules/file-uri-to-path/package.json +0 -32
  351. package/node_modules/file-uri-to-path/test/test.js +0 -24
  352. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  353. package/node_modules/fs-constants/LICENSE +0 -21
  354. package/node_modules/fs-constants/README.md +0 -26
  355. package/node_modules/fs-constants/browser.js +0 -1
  356. package/node_modules/fs-constants/index.js +0 -1
  357. package/node_modules/fs-constants/package.json +0 -19
  358. package/node_modules/get-stream/license +0 -9
  359. package/node_modules/get-stream/package.json +0 -60
  360. package/node_modules/get-stream/readme.md +0 -303
  361. package/node_modules/get-stream/source/array-buffer.js +0 -84
  362. package/node_modules/get-stream/source/array.js +0 -32
  363. package/node_modules/get-stream/source/buffer.js +0 -19
  364. package/node_modules/get-stream/source/contents.js +0 -121
  365. package/node_modules/get-stream/source/exports.js +0 -5
  366. package/node_modules/get-stream/source/index.d.ts +0 -121
  367. package/node_modules/get-stream/source/index.js +0 -13
  368. package/node_modules/get-stream/source/stream.js +0 -65
  369. package/node_modules/get-stream/source/string.js +0 -41
  370. package/node_modules/get-stream/source/utils.js +0 -11
  371. package/node_modules/github-from-package/.travis.yml +0 -4
  372. package/node_modules/github-from-package/LICENSE +0 -18
  373. package/node_modules/github-from-package/example/package.json +0 -8
  374. package/node_modules/github-from-package/example/url.js +0 -3
  375. package/node_modules/github-from-package/index.js +0 -17
  376. package/node_modules/github-from-package/package.json +0 -30
  377. package/node_modules/github-from-package/readme.markdown +0 -53
  378. package/node_modules/github-from-package/test/a.json +0 -8
  379. package/node_modules/github-from-package/test/b.json +0 -5
  380. package/node_modules/github-from-package/test/c.json +0 -5
  381. package/node_modules/github-from-package/test/d.json +0 -7
  382. package/node_modules/github-from-package/test/e.json +0 -5
  383. package/node_modules/github-from-package/test/url.js +0 -19
  384. package/node_modules/human-signals/LICENSE +0 -201
  385. package/node_modules/human-signals/README.md +0 -171
  386. package/node_modules/human-signals/build/src/core.js +0 -273
  387. package/node_modules/human-signals/build/src/main.d.ts +0 -206
  388. package/node_modules/human-signals/build/src/main.js +0 -70
  389. package/node_modules/human-signals/build/src/realtime.js +0 -16
  390. package/node_modules/human-signals/build/src/signals.js +0 -34
  391. package/node_modules/human-signals/package.json +0 -66
  392. package/node_modules/ieee754/LICENSE +0 -11
  393. package/node_modules/ieee754/README.md +0 -51
  394. package/node_modules/ieee754/index.d.ts +0 -10
  395. package/node_modules/ieee754/index.js +0 -85
  396. package/node_modules/ieee754/package.json +0 -52
  397. package/node_modules/inherits/LICENSE +0 -16
  398. package/node_modules/inherits/README.md +0 -42
  399. package/node_modules/inherits/inherits.js +0 -9
  400. package/node_modules/inherits/inherits_browser.js +0 -27
  401. package/node_modules/inherits/package.json +0 -29
  402. package/node_modules/ini/LICENSE +0 -15
  403. package/node_modules/ini/README.md +0 -102
  404. package/node_modules/ini/ini.js +0 -206
  405. package/node_modules/ini/package.json +0 -33
  406. package/node_modules/is-plain-obj/index.d.ts +0 -35
  407. package/node_modules/is-plain-obj/index.js +0 -8
  408. package/node_modules/is-plain-obj/license +0 -9
  409. package/node_modules/is-plain-obj/package.json +0 -41
  410. package/node_modules/is-plain-obj/readme.md +0 -58
  411. package/node_modules/is-stream/index.d.ts +0 -90
  412. package/node_modules/is-stream/index.js +0 -37
  413. package/node_modules/is-stream/license +0 -9
  414. package/node_modules/is-stream/package.json +0 -48
  415. package/node_modules/is-stream/readme.md +0 -57
  416. package/node_modules/is-unicode-supported/index.d.ts +0 -12
  417. package/node_modules/is-unicode-supported/index.js +0 -21
  418. package/node_modules/is-unicode-supported/license +0 -9
  419. package/node_modules/is-unicode-supported/package.json +0 -47
  420. package/node_modules/is-unicode-supported/readme.md +0 -35
  421. package/node_modules/isexe/.npmignore +0 -2
  422. package/node_modules/isexe/LICENSE +0 -15
  423. package/node_modules/isexe/README.md +0 -51
  424. package/node_modules/isexe/index.js +0 -57
  425. package/node_modules/isexe/mode.js +0 -41
  426. package/node_modules/isexe/package.json +0 -31
  427. package/node_modules/isexe/test/basic.js +0 -221
  428. package/node_modules/isexe/windows.js +0 -42
  429. package/node_modules/mimic-response/index.d.ts +0 -17
  430. package/node_modules/mimic-response/index.js +0 -77
  431. package/node_modules/mimic-response/license +0 -9
  432. package/node_modules/mimic-response/package.json +0 -42
  433. package/node_modules/mimic-response/readme.md +0 -78
  434. package/node_modules/minimist/.eslintrc +0 -29
  435. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  436. package/node_modules/minimist/.nycrc +0 -14
  437. package/node_modules/minimist/CHANGELOG.md +0 -298
  438. package/node_modules/minimist/LICENSE +0 -18
  439. package/node_modules/minimist/README.md +0 -121
  440. package/node_modules/minimist/example/parse.js +0 -4
  441. package/node_modules/minimist/index.js +0 -263
  442. package/node_modules/minimist/package.json +0 -75
  443. package/node_modules/minimist/test/all_bool.js +0 -34
  444. package/node_modules/minimist/test/bool.js +0 -177
  445. package/node_modules/minimist/test/dash.js +0 -43
  446. package/node_modules/minimist/test/default_bool.js +0 -37
  447. package/node_modules/minimist/test/dotted.js +0 -24
  448. package/node_modules/minimist/test/kv_short.js +0 -32
  449. package/node_modules/minimist/test/long.js +0 -33
  450. package/node_modules/minimist/test/num.js +0 -38
  451. package/node_modules/minimist/test/parse.js +0 -209
  452. package/node_modules/minimist/test/parse_modified.js +0 -11
  453. package/node_modules/minimist/test/proto.js +0 -64
  454. package/node_modules/minimist/test/short.js +0 -69
  455. package/node_modules/minimist/test/stop_early.js +0 -17
  456. package/node_modules/minimist/test/unknown.js +0 -104
  457. package/node_modules/minimist/test/whitespace.js +0 -10
  458. package/node_modules/mkdirp-classic/LICENSE +0 -21
  459. package/node_modules/mkdirp-classic/README.md +0 -18
  460. package/node_modules/mkdirp-classic/index.js +0 -98
  461. package/node_modules/mkdirp-classic/package.json +0 -18
  462. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  463. package/node_modules/napi-build-utils/LICENSE +0 -21
  464. package/node_modules/napi-build-utils/README.md +0 -52
  465. package/node_modules/napi-build-utils/index.js +0 -214
  466. package/node_modules/napi-build-utils/index.md +0 -0
  467. package/node_modules/napi-build-utils/package.json +0 -42
  468. package/node_modules/node-abi/LICENSE +0 -21
  469. package/node_modules/node-abi/README.md +0 -54
  470. package/node_modules/node-abi/abi_registry.json +0 -446
  471. package/node_modules/node-abi/index.js +0 -179
  472. package/node_modules/node-abi/package.json +0 -45
  473. package/node_modules/npm-run-path/index.d.ts +0 -90
  474. package/node_modules/npm-run-path/index.js +0 -55
  475. package/node_modules/npm-run-path/license +0 -9
  476. package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +0 -31
  477. package/node_modules/npm-run-path/node_modules/path-key/index.js +0 -12
  478. package/node_modules/npm-run-path/node_modules/path-key/license +0 -9
  479. package/node_modules/npm-run-path/node_modules/path-key/package.json +0 -41
  480. package/node_modules/npm-run-path/node_modules/path-key/readme.md +0 -57
  481. package/node_modules/npm-run-path/package.json +0 -52
  482. package/node_modules/npm-run-path/readme.md +0 -104
  483. package/node_modules/once/LICENSE +0 -15
  484. package/node_modules/once/README.md +0 -79
  485. package/node_modules/once/once.js +0 -42
  486. package/node_modules/once/package.json +0 -33
  487. package/node_modules/parse-ms/index.d.ts +0 -30
  488. package/node_modules/parse-ms/index.js +0 -45
  489. package/node_modules/parse-ms/license +0 -9
  490. package/node_modules/parse-ms/package.json +0 -47
  491. package/node_modules/parse-ms/readme.md +0 -46
  492. package/node_modules/path-key/index.d.ts +0 -40
  493. package/node_modules/path-key/index.js +0 -16
  494. package/node_modules/path-key/license +0 -9
  495. package/node_modules/path-key/package.json +0 -39
  496. package/node_modules/path-key/readme.md +0 -61
  497. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  498. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  499. package/node_modules/prebuild-install/LICENSE +0 -21
  500. package/node_modules/prebuild-install/README.md +0 -163
  501. package/node_modules/prebuild-install/asset.js +0 -44
  502. package/node_modules/prebuild-install/bin.js +0 -78
  503. package/node_modules/prebuild-install/download.js +0 -142
  504. package/node_modules/prebuild-install/error.js +0 -14
  505. package/node_modules/prebuild-install/help.txt +0 -16
  506. package/node_modules/prebuild-install/index.js +0 -1
  507. package/node_modules/prebuild-install/log.js +0 -33
  508. package/node_modules/prebuild-install/package.json +0 -67
  509. package/node_modules/prebuild-install/proxy.js +0 -35
  510. package/node_modules/prebuild-install/rc.js +0 -64
  511. package/node_modules/prebuild-install/util.js +0 -143
  512. package/node_modules/pretty-ms/index.d.ts +0 -157
  513. package/node_modules/pretty-ms/index.js +0 -149
  514. package/node_modules/pretty-ms/license +0 -9
  515. package/node_modules/pretty-ms/package.json +0 -55
  516. package/node_modules/pretty-ms/readme.md +0 -179
  517. package/node_modules/pump/.github/FUNDING.yml +0 -2
  518. package/node_modules/pump/.travis.yml +0 -5
  519. package/node_modules/pump/LICENSE +0 -21
  520. package/node_modules/pump/README.md +0 -74
  521. package/node_modules/pump/SECURITY.md +0 -5
  522. package/node_modules/pump/empty.js +0 -1
  523. package/node_modules/pump/index.js +0 -86
  524. package/node_modules/pump/package.json +0 -30
  525. package/node_modules/pump/test-browser.js +0 -66
  526. package/node_modules/pump/test-node.js +0 -53
  527. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  528. package/node_modules/rc/LICENSE.BSD +0 -26
  529. package/node_modules/rc/LICENSE.MIT +0 -24
  530. package/node_modules/rc/README.md +0 -227
  531. package/node_modules/rc/browser.js +0 -7
  532. package/node_modules/rc/cli.js +0 -4
  533. package/node_modules/rc/index.js +0 -53
  534. package/node_modules/rc/lib/utils.js +0 -104
  535. package/node_modules/rc/package.json +0 -29
  536. package/node_modules/rc/test/ini.js +0 -16
  537. package/node_modules/rc/test/nested-env-vars.js +0 -50
  538. package/node_modules/rc/test/test.js +0 -59
  539. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  540. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  541. package/node_modules/readable-stream/LICENSE +0 -47
  542. package/node_modules/readable-stream/README.md +0 -106
  543. package/node_modules/readable-stream/errors-browser.js +0 -127
  544. package/node_modules/readable-stream/errors.js +0 -116
  545. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  546. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  547. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  548. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  549. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  550. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  551. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  552. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  553. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  554. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  555. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  556. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  557. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  558. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  559. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  560. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  561. package/node_modules/readable-stream/package.json +0 -68
  562. package/node_modules/readable-stream/readable-browser.js +0 -9
  563. package/node_modules/readable-stream/readable.js +0 -16
  564. package/node_modules/safe-buffer/LICENSE +0 -21
  565. package/node_modules/safe-buffer/README.md +0 -584
  566. package/node_modules/safe-buffer/index.d.ts +0 -187
  567. package/node_modules/safe-buffer/index.js +0 -65
  568. package/node_modules/safe-buffer/package.json +0 -51
  569. package/node_modules/semver/LICENSE +0 -15
  570. package/node_modules/semver/README.md +0 -665
  571. package/node_modules/semver/bin/semver.js +0 -191
  572. package/node_modules/semver/classes/comparator.js +0 -143
  573. package/node_modules/semver/classes/index.js +0 -7
  574. package/node_modules/semver/classes/range.js +0 -557
  575. package/node_modules/semver/classes/semver.js +0 -333
  576. package/node_modules/semver/functions/clean.js +0 -8
  577. package/node_modules/semver/functions/cmp.js +0 -54
  578. package/node_modules/semver/functions/coerce.js +0 -62
  579. package/node_modules/semver/functions/compare-build.js +0 -9
  580. package/node_modules/semver/functions/compare-loose.js +0 -5
  581. package/node_modules/semver/functions/compare.js +0 -7
  582. package/node_modules/semver/functions/diff.js +0 -60
  583. package/node_modules/semver/functions/eq.js +0 -5
  584. package/node_modules/semver/functions/gt.js +0 -5
  585. package/node_modules/semver/functions/gte.js +0 -5
  586. package/node_modules/semver/functions/inc.js +0 -21
  587. package/node_modules/semver/functions/lt.js +0 -5
  588. package/node_modules/semver/functions/lte.js +0 -5
  589. package/node_modules/semver/functions/major.js +0 -5
  590. package/node_modules/semver/functions/minor.js +0 -5
  591. package/node_modules/semver/functions/neq.js +0 -5
  592. package/node_modules/semver/functions/parse.js +0 -18
  593. package/node_modules/semver/functions/patch.js +0 -5
  594. package/node_modules/semver/functions/prerelease.js +0 -8
  595. package/node_modules/semver/functions/rcompare.js +0 -5
  596. package/node_modules/semver/functions/rsort.js +0 -5
  597. package/node_modules/semver/functions/satisfies.js +0 -12
  598. package/node_modules/semver/functions/sort.js +0 -5
  599. package/node_modules/semver/functions/valid.js +0 -8
  600. package/node_modules/semver/index.js +0 -91
  601. package/node_modules/semver/internal/constants.js +0 -37
  602. package/node_modules/semver/internal/debug.js +0 -11
  603. package/node_modules/semver/internal/identifiers.js +0 -29
  604. package/node_modules/semver/internal/lrucache.js +0 -42
  605. package/node_modules/semver/internal/parse-options.js +0 -17
  606. package/node_modules/semver/internal/re.js +0 -223
  607. package/node_modules/semver/package.json +0 -78
  608. package/node_modules/semver/preload.js +0 -4
  609. package/node_modules/semver/range.bnf +0 -16
  610. package/node_modules/semver/ranges/gtr.js +0 -6
  611. package/node_modules/semver/ranges/intersects.js +0 -9
  612. package/node_modules/semver/ranges/ltr.js +0 -6
  613. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  614. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  615. package/node_modules/semver/ranges/min-version.js +0 -63
  616. package/node_modules/semver/ranges/outside.js +0 -82
  617. package/node_modules/semver/ranges/simplify.js +0 -49
  618. package/node_modules/semver/ranges/subset.js +0 -249
  619. package/node_modules/semver/ranges/to-comparators.js +0 -10
  620. package/node_modules/semver/ranges/valid.js +0 -13
  621. package/node_modules/shebang-command/index.js +0 -19
  622. package/node_modules/shebang-command/license +0 -9
  623. package/node_modules/shebang-command/package.json +0 -34
  624. package/node_modules/shebang-command/readme.md +0 -34
  625. package/node_modules/shebang-regex/index.d.ts +0 -22
  626. package/node_modules/shebang-regex/index.js +0 -2
  627. package/node_modules/shebang-regex/license +0 -9
  628. package/node_modules/shebang-regex/package.json +0 -35
  629. package/node_modules/shebang-regex/readme.md +0 -33
  630. package/node_modules/signal-exit/LICENSE.txt +0 -16
  631. package/node_modules/signal-exit/README.md +0 -74
  632. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  633. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  634. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  635. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  636. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  637. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  638. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  639. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  640. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  641. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  642. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  643. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  644. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  645. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  646. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  647. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  648. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  649. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  650. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  651. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  652. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  653. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  654. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  655. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  656. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  657. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  658. package/node_modules/signal-exit/package.json +0 -106
  659. package/node_modules/simple-concat/.travis.yml +0 -3
  660. package/node_modules/simple-concat/LICENSE +0 -20
  661. package/node_modules/simple-concat/README.md +0 -44
  662. package/node_modules/simple-concat/index.js +0 -15
  663. package/node_modules/simple-concat/package.json +0 -47
  664. package/node_modules/simple-concat/test/basic.js +0 -41
  665. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  666. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  667. package/node_modules/simple-get/LICENSE +0 -20
  668. package/node_modules/simple-get/README.md +0 -333
  669. package/node_modules/simple-get/index.js +0 -108
  670. package/node_modules/simple-get/package.json +0 -67
  671. package/node_modules/sqlite-vec/README.md +0 -1
  672. package/node_modules/sqlite-vec/index.cjs +0 -46
  673. package/node_modules/sqlite-vec/index.d.ts +0 -17
  674. package/node_modules/sqlite-vec/index.mjs +0 -47
  675. package/node_modules/sqlite-vec/package.json +0 -1
  676. package/node_modules/sqlite-vec-linux-x64/README.md +0 -1
  677. package/node_modules/sqlite-vec-linux-x64/package.json +0 -1
  678. package/node_modules/sqlite-vec-linux-x64/vec0.so +0 -0
  679. package/node_modules/string_decoder/LICENSE +0 -48
  680. package/node_modules/string_decoder/README.md +0 -47
  681. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  682. package/node_modules/string_decoder/package.json +0 -34
  683. package/node_modules/strip-final-newline/index.d.ts +0 -18
  684. package/node_modules/strip-final-newline/index.js +0 -26
  685. package/node_modules/strip-final-newline/license +0 -9
  686. package/node_modules/strip-final-newline/package.json +0 -49
  687. package/node_modules/strip-final-newline/readme.md +0 -34
  688. package/node_modules/strip-json-comments/index.js +0 -70
  689. package/node_modules/strip-json-comments/license +0 -21
  690. package/node_modules/strip-json-comments/package.json +0 -42
  691. package/node_modules/strip-json-comments/readme.md +0 -64
  692. package/node_modules/tar-fs/.travis.yml +0 -6
  693. package/node_modules/tar-fs/LICENSE +0 -21
  694. package/node_modules/tar-fs/README.md +0 -165
  695. package/node_modules/tar-fs/index.js +0 -363
  696. package/node_modules/tar-fs/package.json +0 -41
  697. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  698. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  699. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  700. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  701. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  702. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  703. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  704. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  705. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  706. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  707. package/node_modules/tar-fs/test/index.js +0 -346
  708. package/node_modules/tar-stream/LICENSE +0 -21
  709. package/node_modules/tar-stream/README.md +0 -168
  710. package/node_modules/tar-stream/extract.js +0 -257
  711. package/node_modules/tar-stream/headers.js +0 -295
  712. package/node_modules/tar-stream/index.js +0 -2
  713. package/node_modules/tar-stream/pack.js +0 -255
  714. package/node_modules/tar-stream/package.json +0 -58
  715. package/node_modules/tar-stream/sandbox.js +0 -11
  716. package/node_modules/tunnel-agent/LICENSE +0 -55
  717. package/node_modules/tunnel-agent/README.md +0 -4
  718. package/node_modules/tunnel-agent/index.js +0 -244
  719. package/node_modules/tunnel-agent/package.json +0 -22
  720. package/node_modules/unicorn-magic/default.d.ts +0 -13
  721. package/node_modules/unicorn-magic/default.js +0 -14
  722. package/node_modules/unicorn-magic/license +0 -9
  723. package/node_modules/unicorn-magic/node.d.ts +0 -125
  724. package/node_modules/unicorn-magic/node.js +0 -49
  725. package/node_modules/unicorn-magic/package.json +0 -62
  726. package/node_modules/unicorn-magic/readme.md +0 -25
  727. package/node_modules/util-deprecate/History.md +0 -16
  728. package/node_modules/util-deprecate/LICENSE +0 -24
  729. package/node_modules/util-deprecate/README.md +0 -53
  730. package/node_modules/util-deprecate/browser.js +0 -67
  731. package/node_modules/util-deprecate/node.js +0 -6
  732. package/node_modules/util-deprecate/package.json +0 -27
  733. package/node_modules/which/CHANGELOG.md +0 -166
  734. package/node_modules/which/LICENSE +0 -15
  735. package/node_modules/which/README.md +0 -54
  736. package/node_modules/which/bin/node-which +0 -52
  737. package/node_modules/which/package.json +0 -43
  738. package/node_modules/which/which.js +0 -125
  739. package/node_modules/wrappy/LICENSE +0 -15
  740. package/node_modules/wrappy/README.md +0 -36
  741. package/node_modules/wrappy/package.json +0 -29
  742. package/node_modules/wrappy/wrappy.js +0 -33
  743. package/node_modules/yoctocolors/base.d.ts +0 -47
  744. package/node_modules/yoctocolors/base.js +0 -94
  745. package/node_modules/yoctocolors/index.d.ts +0 -2
  746. package/node_modules/yoctocolors/index.js +0 -2
  747. package/node_modules/yoctocolors/license +0 -9
  748. package/node_modules/yoctocolors/package.json +0 -69
  749. package/node_modules/yoctocolors/readme.md +0 -138
@@ -1,48 +0,0 @@
1
- import {finished} from 'node:stream/promises';
2
- import {isStandardStream} from '../utils/standard-stream.js';
3
-
4
- // Similar to `Stream.pipeline(source, destination)`, but does not destroy standard streams
5
- export const pipeStreams = (source, destination) => {
6
- source.pipe(destination);
7
- onSourceFinish(source, destination);
8
- onDestinationFinish(source, destination);
9
- };
10
-
11
- // `source.pipe(destination)` makes `destination` end when `source` ends.
12
- // But it does not propagate aborts or errors. This function does it.
13
- const onSourceFinish = async (source, destination) => {
14
- if (isStandardStream(source) || isStandardStream(destination)) {
15
- return;
16
- }
17
-
18
- try {
19
- await finished(source, {cleanup: true, readable: true, writable: false});
20
- } catch {}
21
-
22
- endDestinationStream(destination);
23
- };
24
-
25
- export const endDestinationStream = destination => {
26
- if (destination.writable) {
27
- destination.end();
28
- }
29
- };
30
-
31
- // We do the same thing in the other direction as well.
32
- const onDestinationFinish = async (source, destination) => {
33
- if (isStandardStream(source) || isStandardStream(destination)) {
34
- return;
35
- }
36
-
37
- try {
38
- await finished(destination, {cleanup: true, readable: false, writable: true});
39
- } catch {}
40
-
41
- abortSourceStream(source);
42
- };
43
-
44
- export const abortSourceStream = source => {
45
- if (source.readable) {
46
- source.destroy();
47
- }
48
- };
@@ -1,12 +0,0 @@
1
- import stripFinalNewlineFunction from 'strip-final-newline';
2
-
3
- // Apply `stripFinalNewline` option, which applies to `result.stdout|stderr|all|stdio[*]`.
4
- // If the `lines` option is used, it is applied on each line, but using a different function.
5
- export const stripNewline = (value, {stripFinalNewline}, fdNumber) => getStripFinalNewline(stripFinalNewline, fdNumber) && value !== undefined && !Array.isArray(value)
6
- ? stripFinalNewlineFunction(value)
7
- : value;
8
-
9
- // Retrieve `stripFinalNewline` option value, including with `subprocess.all`
10
- export const getStripFinalNewline = (stripFinalNewline, fdNumber) => fdNumber === 'all'
11
- ? stripFinalNewline[1] || stripFinalNewline[2]
12
- : stripFinalNewline[fdNumber];
@@ -1,4 +0,0 @@
1
- // The `ipc` option adds an `ipc` item to the `stdio` option
2
- export const normalizeIpcStdioArray = (stdioArray, ipc) => ipc && !stdioArray.includes('ipc')
3
- ? [...stdioArray, 'ipc']
4
- : stdioArray;
@@ -1,47 +0,0 @@
1
- import {checkIpcMaxBuffer} from '../io/max-buffer.js';
2
- import {shouldLogIpc, logIpcOutput} from '../verbose/ipc.js';
3
- import {getFdSpecificValue} from '../arguments/specific.js';
4
- import {loopOnMessages} from './get-each.js';
5
-
6
- // Iterate through IPC messages sent by the subprocess
7
- export const waitForIpcOutput = async ({
8
- subprocess,
9
- buffer: bufferArray,
10
- maxBuffer: maxBufferArray,
11
- ipc,
12
- ipcOutput,
13
- verboseInfo,
14
- }) => {
15
- if (!ipc) {
16
- return ipcOutput;
17
- }
18
-
19
- const isVerbose = shouldLogIpc(verboseInfo);
20
- const buffer = getFdSpecificValue(bufferArray, 'ipc');
21
- const maxBuffer = getFdSpecificValue(maxBufferArray, 'ipc');
22
-
23
- for await (const message of loopOnMessages({
24
- anyProcess: subprocess,
25
- channel: subprocess.channel,
26
- isSubprocess: false,
27
- ipc,
28
- shouldAwait: false,
29
- reference: true,
30
- })) {
31
- if (buffer) {
32
- checkIpcMaxBuffer(subprocess, ipcOutput, maxBuffer);
33
- ipcOutput.push(message);
34
- }
35
-
36
- if (isVerbose) {
37
- logIpcOutput(message, verboseInfo);
38
- }
39
- }
40
-
41
- return ipcOutput;
42
- };
43
-
44
- export const getBufferedIpcOutput = async (ipcOutputPromise, ipcOutput) => {
45
- await Promise.allSettled([ipcOutputPromise]);
46
- return ipcOutput;
47
- };
@@ -1,56 +0,0 @@
1
- import {EventEmitter} from 'node:events';
2
- import {onMessage, onDisconnect} from './incoming.js';
3
- import {undoAddedReferences} from './reference.js';
4
-
5
- // Forward the `message` and `disconnect` events from the process and subprocess to a proxy emitter.
6
- // This prevents the `error` event from stopping IPC.
7
- // This also allows debouncing the `message` event.
8
- export const getIpcEmitter = (anyProcess, channel, isSubprocess) => {
9
- if (IPC_EMITTERS.has(anyProcess)) {
10
- return IPC_EMITTERS.get(anyProcess);
11
- }
12
-
13
- // Use an `EventEmitter`, like the `process` that is being proxied
14
- // eslint-disable-next-line unicorn/prefer-event-target
15
- const ipcEmitter = new EventEmitter();
16
- ipcEmitter.connected = true;
17
- IPC_EMITTERS.set(anyProcess, ipcEmitter);
18
- forwardEvents({
19
- ipcEmitter,
20
- anyProcess,
21
- channel,
22
- isSubprocess,
23
- });
24
- return ipcEmitter;
25
- };
26
-
27
- const IPC_EMITTERS = new WeakMap();
28
-
29
- // The `message` and `disconnect` events are buffered in the subprocess until the first listener is setup.
30
- // However, unbuffering happens after one tick, so this give enough time for the caller to setup the listener on the proxy emitter first.
31
- // See https://github.com/nodejs/node/blob/2aaeaa863c35befa2ebaa98fb7737ec84df4d8e9/lib/internal/child_process.js#L721
32
- const forwardEvents = ({ipcEmitter, anyProcess, channel, isSubprocess}) => {
33
- const boundOnMessage = onMessage.bind(undefined, {
34
- anyProcess,
35
- channel,
36
- isSubprocess,
37
- ipcEmitter,
38
- });
39
- anyProcess.on('message', boundOnMessage);
40
- anyProcess.once('disconnect', onDisconnect.bind(undefined, {
41
- anyProcess,
42
- channel,
43
- isSubprocess,
44
- ipcEmitter,
45
- boundOnMessage,
46
- }));
47
- undoAddedReferences(channel, isSubprocess);
48
- };
49
-
50
- // Check whether there might still be some `message` events to receive
51
- export const isConnected = anyProcess => {
52
- const ipcEmitter = IPC_EMITTERS.get(anyProcess);
53
- return ipcEmitter === undefined
54
- ? anyProcess.channel !== null
55
- : ipcEmitter.connected;
56
- };
@@ -1,89 +0,0 @@
1
- import {once, on} from 'node:events';
2
- import {validateIpcMethod, disconnect, getStrictResponseError} from './validation.js';
3
- import {getIpcEmitter, isConnected} from './forward.js';
4
- import {addReference, removeReference} from './reference.js';
5
-
6
- // Like `[sub]process.on('message')` but promise-based
7
- export const getEachMessage = ({anyProcess, channel, isSubprocess, ipc}, {reference = true} = {}) => loopOnMessages({
8
- anyProcess,
9
- channel,
10
- isSubprocess,
11
- ipc,
12
- shouldAwait: !isSubprocess,
13
- reference,
14
- });
15
-
16
- // Same but used internally
17
- export const loopOnMessages = ({anyProcess, channel, isSubprocess, ipc, shouldAwait, reference}) => {
18
- validateIpcMethod({
19
- methodName: 'getEachMessage',
20
- isSubprocess,
21
- ipc,
22
- isConnected: isConnected(anyProcess),
23
- });
24
-
25
- addReference(channel, reference);
26
- const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
27
- const controller = new AbortController();
28
- const state = {};
29
- stopOnDisconnect(anyProcess, ipcEmitter, controller);
30
- abortOnStrictError({
31
- ipcEmitter,
32
- isSubprocess,
33
- controller,
34
- state,
35
- });
36
- return iterateOnMessages({
37
- anyProcess,
38
- channel,
39
- ipcEmitter,
40
- isSubprocess,
41
- shouldAwait,
42
- controller,
43
- state,
44
- reference,
45
- });
46
- };
47
-
48
- const stopOnDisconnect = async (anyProcess, ipcEmitter, controller) => {
49
- try {
50
- await once(ipcEmitter, 'disconnect', {signal: controller.signal});
51
- controller.abort();
52
- } catch {}
53
- };
54
-
55
- const abortOnStrictError = async ({ipcEmitter, isSubprocess, controller, state}) => {
56
- try {
57
- const [error] = await once(ipcEmitter, 'strict:error', {signal: controller.signal});
58
- state.error = getStrictResponseError(error, isSubprocess);
59
- controller.abort();
60
- } catch {}
61
- };
62
-
63
- const iterateOnMessages = async function * ({anyProcess, channel, ipcEmitter, isSubprocess, shouldAwait, controller, state, reference}) {
64
- try {
65
- for await (const [message] of on(ipcEmitter, 'message', {signal: controller.signal})) {
66
- throwIfStrictError(state);
67
- yield message;
68
- }
69
- } catch {
70
- throwIfStrictError(state);
71
- } finally {
72
- controller.abort();
73
- removeReference(channel, reference);
74
-
75
- if (!isSubprocess) {
76
- disconnect(anyProcess);
77
- }
78
-
79
- if (shouldAwait) {
80
- await anyProcess;
81
- }
82
- }
83
- };
84
-
85
- const throwIfStrictError = ({error}) => {
86
- if (error) {
87
- throw error;
88
- }
89
- };
@@ -1,69 +0,0 @@
1
- import {once, on} from 'node:events';
2
- import {
3
- validateIpcMethod,
4
- throwOnEarlyDisconnect,
5
- disconnect,
6
- getStrictResponseError,
7
- } from './validation.js';
8
- import {getIpcEmitter, isConnected} from './forward.js';
9
- import {addReference, removeReference} from './reference.js';
10
-
11
- // Like `[sub]process.once('message')` but promise-based
12
- export const getOneMessage = ({anyProcess, channel, isSubprocess, ipc}, {reference = true, filter} = {}) => {
13
- validateIpcMethod({
14
- methodName: 'getOneMessage',
15
- isSubprocess,
16
- ipc,
17
- isConnected: isConnected(anyProcess),
18
- });
19
-
20
- return getOneMessageAsync({
21
- anyProcess,
22
- channel,
23
- isSubprocess,
24
- filter,
25
- reference,
26
- });
27
- };
28
-
29
- const getOneMessageAsync = async ({anyProcess, channel, isSubprocess, filter, reference}) => {
30
- addReference(channel, reference);
31
- const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
32
- const controller = new AbortController();
33
- try {
34
- return await Promise.race([
35
- getMessage(ipcEmitter, filter, controller),
36
- throwOnDisconnect(ipcEmitter, isSubprocess, controller),
37
- throwOnStrictError(ipcEmitter, isSubprocess, controller),
38
- ]);
39
- } catch (error) {
40
- disconnect(anyProcess);
41
- throw error;
42
- } finally {
43
- controller.abort();
44
- removeReference(channel, reference);
45
- }
46
- };
47
-
48
- const getMessage = async (ipcEmitter, filter, {signal}) => {
49
- if (filter === undefined) {
50
- const [message] = await once(ipcEmitter, 'message', {signal});
51
- return message;
52
- }
53
-
54
- for await (const [message] of on(ipcEmitter, 'message', {signal})) {
55
- if (filter(message)) {
56
- return message;
57
- }
58
- }
59
- };
60
-
61
- const throwOnDisconnect = async (ipcEmitter, isSubprocess, {signal}) => {
62
- await once(ipcEmitter, 'disconnect', {signal});
63
- throwOnEarlyDisconnect(isSubprocess);
64
- };
65
-
66
- const throwOnStrictError = async (ipcEmitter, isSubprocess, {signal}) => {
67
- const [error] = await once(ipcEmitter, 'strict:error', {signal});
68
- throw getStrictResponseError(error, isSubprocess);
69
- };
@@ -1,72 +0,0 @@
1
- import {scheduler} from 'node:timers/promises';
2
- import {sendOneMessage} from './send.js';
3
- import {getIpcEmitter} from './forward.js';
4
- import {validateConnection, getAbortDisconnectError, throwOnMissingParent} from './validation.js';
5
-
6
- // Send an IPC message so the subprocess performs a graceful termination
7
- export const sendAbort = (subprocess, message) => {
8
- const methodName = 'cancelSignal';
9
- validateConnection(methodName, false, subprocess.connected);
10
- return sendOneMessage({
11
- anyProcess: subprocess,
12
- methodName,
13
- isSubprocess: false,
14
- wrappedMessage: {type: GRACEFUL_CANCEL_TYPE, message},
15
- message,
16
- });
17
- };
18
-
19
- // When the signal is being used, start listening for incoming messages.
20
- // Unbuffering messages takes one microtask to complete, so this must be async.
21
- export const getCancelSignal = async ({anyProcess, channel, isSubprocess, ipc}) => {
22
- await startIpc({
23
- anyProcess,
24
- channel,
25
- isSubprocess,
26
- ipc,
27
- });
28
- return cancelController.signal;
29
- };
30
-
31
- const startIpc = async ({anyProcess, channel, isSubprocess, ipc}) => {
32
- if (cancelListening) {
33
- return;
34
- }
35
-
36
- cancelListening = true;
37
-
38
- if (!ipc) {
39
- throwOnMissingParent();
40
- return;
41
- }
42
-
43
- if (channel === null) {
44
- abortOnDisconnect();
45
- return;
46
- }
47
-
48
- getIpcEmitter(anyProcess, channel, isSubprocess);
49
- await scheduler.yield();
50
- };
51
-
52
- let cancelListening = false;
53
-
54
- // Reception of IPC message to perform a graceful termination
55
- export const handleAbort = wrappedMessage => {
56
- if (wrappedMessage?.type !== GRACEFUL_CANCEL_TYPE) {
57
- return false;
58
- }
59
-
60
- cancelController.abort(wrappedMessage.message);
61
- return true;
62
- };
63
-
64
- const GRACEFUL_CANCEL_TYPE = 'execa:ipc:cancel';
65
-
66
- // When the current process disconnects early, the subprocess `cancelSignal` is aborted.
67
- // Otherwise, the signal would never be able to be aborted later on.
68
- export const abortOnDisconnect = () => {
69
- cancelController.abort(getAbortDisconnectError());
70
- };
71
-
72
- const cancelController = new AbortController();
@@ -1,79 +0,0 @@
1
- import {once} from 'node:events';
2
- import {scheduler} from 'node:timers/promises';
3
- import {waitForOutgoingMessages} from './outgoing.js';
4
- import {redoAddedReferences} from './reference.js';
5
- import {handleStrictRequest, handleStrictResponse} from './strict.js';
6
- import {handleAbort, abortOnDisconnect} from './graceful.js';
7
-
8
- // By default, Node.js buffers `message` events.
9
- // - Buffering happens when there is a `message` event is emitted but there is no handler.
10
- // - As soon as a `message` event handler is set, all buffered `message` events are emitted, emptying the buffer.
11
- // - This happens both in the current process and the subprocess.
12
- // - See https://github.com/nodejs/node/blob/501546e8f37059cd577041e23941b640d0d4d406/lib/internal/child_process.js#L719
13
- // This is helpful. Notably, this allows sending messages to a subprocess that's still initializing.
14
- // However, it has several problems.
15
- // - This works with `events.on()` but not `events.once()` since all buffered messages are emitted at once.
16
- // For example, users cannot call `await getOneMessage()`/`getEachMessage()` multiple times in a row.
17
- // - When a user intentionally starts listening to `message` at a specific point in time, past `message` events are replayed, which might be unexpected.
18
- // - Buffering is unlimited, which might lead to an out-of-memory crash.
19
- // - This does not work well with multiple consumers.
20
- // For example, Execa consumes events with both `result.ipcOutput` and manual IPC calls like `getOneMessage()`.
21
- // Since `result.ipcOutput` reads all incoming messages, no buffering happens for manual IPC calls.
22
- // - Forgetting to setup a `message` listener, or setting it up too late, is a programming mistake.
23
- // The default behavior does not allow users to realize they made that mistake.
24
- // To solve those problems, instead of buffering messages, we debounce them.
25
- // The `message` event so it is emitted at most once per macrotask.
26
- export const onMessage = async ({anyProcess, channel, isSubprocess, ipcEmitter}, wrappedMessage) => {
27
- if (handleStrictResponse(wrappedMessage) || handleAbort(wrappedMessage)) {
28
- return;
29
- }
30
-
31
- if (!INCOMING_MESSAGES.has(anyProcess)) {
32
- INCOMING_MESSAGES.set(anyProcess, []);
33
- }
34
-
35
- const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
36
- incomingMessages.push(wrappedMessage);
37
-
38
- if (incomingMessages.length > 1) {
39
- return;
40
- }
41
-
42
- while (incomingMessages.length > 0) {
43
- // eslint-disable-next-line no-await-in-loop
44
- await waitForOutgoingMessages(anyProcess, ipcEmitter, wrappedMessage);
45
- // eslint-disable-next-line no-await-in-loop
46
- await scheduler.yield();
47
-
48
- // eslint-disable-next-line no-await-in-loop
49
- const message = await handleStrictRequest({
50
- wrappedMessage: incomingMessages[0],
51
- anyProcess,
52
- channel,
53
- isSubprocess,
54
- ipcEmitter,
55
- });
56
-
57
- incomingMessages.shift();
58
- ipcEmitter.emit('message', message);
59
- ipcEmitter.emit('message:done');
60
- }
61
- };
62
-
63
- // If the `message` event is currently debounced, the `disconnect` event must wait for it
64
- export const onDisconnect = async ({anyProcess, channel, isSubprocess, ipcEmitter, boundOnMessage}) => {
65
- abortOnDisconnect();
66
-
67
- const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
68
- while (incomingMessages?.length > 0) {
69
- // eslint-disable-next-line no-await-in-loop
70
- await once(ipcEmitter, 'message:done');
71
- }
72
-
73
- anyProcess.removeListener('message', boundOnMessage);
74
- redoAddedReferences(channel, isSubprocess);
75
- ipcEmitter.connected = false;
76
- ipcEmitter.emit('disconnect');
77
- };
78
-
79
- const INCOMING_MESSAGES = new WeakMap();
@@ -1,44 +0,0 @@
1
- import {serialize} from 'node:v8';
2
-
3
- // Validate the `ipcInput` option
4
- export const validateIpcInputOption = ({ipcInput, ipc, serialization}) => {
5
- if (ipcInput === undefined) {
6
- return;
7
- }
8
-
9
- if (!ipc) {
10
- throw new Error('The `ipcInput` option cannot be set unless the `ipc` option is `true`.');
11
- }
12
-
13
- validateIpcInput[serialization](ipcInput);
14
- };
15
-
16
- const validateAdvancedInput = ipcInput => {
17
- try {
18
- serialize(ipcInput);
19
- } catch (error) {
20
- throw new Error('The `ipcInput` option is not serializable with a structured clone.', {cause: error});
21
- }
22
- };
23
-
24
- const validateJsonInput = ipcInput => {
25
- try {
26
- JSON.stringify(ipcInput);
27
- } catch (error) {
28
- throw new Error('The `ipcInput` option is not serializable with JSON.', {cause: error});
29
- }
30
- };
31
-
32
- const validateIpcInput = {
33
- advanced: validateAdvancedInput,
34
- json: validateJsonInput,
35
- };
36
-
37
- // When the `ipcInput` option is set, it is sent as an initial IPC message to the subprocess
38
- export const sendIpcInput = async (subprocess, ipcInput) => {
39
- if (ipcInput === undefined) {
40
- return;
41
- }
42
-
43
- await subprocess.sendMessage(ipcInput);
44
- };
@@ -1,49 +0,0 @@
1
- import process from 'node:process';
2
- import {sendMessage} from './send.js';
3
- import {getOneMessage} from './get-one.js';
4
- import {getEachMessage} from './get-each.js';
5
- import {getCancelSignal} from './graceful.js';
6
-
7
- // Add promise-based IPC methods in current process
8
- export const addIpcMethods = (subprocess, {ipc}) => {
9
- Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
10
- };
11
-
12
- // Get promise-based IPC in the subprocess
13
- export const getIpcExport = () => {
14
- const anyProcess = process;
15
- const isSubprocess = true;
16
- const ipc = process.channel !== undefined;
17
-
18
- return {
19
- ...getIpcMethods(anyProcess, isSubprocess, ipc),
20
- getCancelSignal: getCancelSignal.bind(undefined, {
21
- anyProcess,
22
- channel: anyProcess.channel,
23
- isSubprocess,
24
- ipc,
25
- }),
26
- };
27
- };
28
-
29
- // Retrieve the `ipc` shared by both the current process and the subprocess
30
- const getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
31
- sendMessage: sendMessage.bind(undefined, {
32
- anyProcess,
33
- channel: anyProcess.channel,
34
- isSubprocess,
35
- ipc,
36
- }),
37
- getOneMessage: getOneMessage.bind(undefined, {
38
- anyProcess,
39
- channel: anyProcess.channel,
40
- isSubprocess,
41
- ipc,
42
- }),
43
- getEachMessage: getEachMessage.bind(undefined, {
44
- anyProcess,
45
- channel: anyProcess.channel,
46
- isSubprocess,
47
- ipc,
48
- }),
49
- });
@@ -1,47 +0,0 @@
1
- import {createDeferred} from '../utils/deferred.js';
2
- import {getFdSpecificValue} from '../arguments/specific.js';
3
- import {SUBPROCESS_OPTIONS} from '../arguments/fd-options.js';
4
- import {validateStrictDeadlock} from './strict.js';
5
-
6
- // When `sendMessage()` is ongoing, any `message` being received waits before being emitted.
7
- // This allows calling one or multiple `await sendMessage()` followed by `await getOneMessage()`/`await getEachMessage()`.
8
- // Without running into a race condition when the other process sends a response too fast, before the current process set up a listener.
9
- export const startSendMessage = (anyProcess, wrappedMessage, strict) => {
10
- if (!OUTGOING_MESSAGES.has(anyProcess)) {
11
- OUTGOING_MESSAGES.set(anyProcess, new Set());
12
- }
13
-
14
- const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
15
- const onMessageSent = createDeferred();
16
- const id = strict ? wrappedMessage.id : undefined;
17
- const outgoingMessage = {onMessageSent, id};
18
- outgoingMessages.add(outgoingMessage);
19
- return {outgoingMessages, outgoingMessage};
20
- };
21
-
22
- export const endSendMessage = ({outgoingMessages, outgoingMessage}) => {
23
- outgoingMessages.delete(outgoingMessage);
24
- outgoingMessage.onMessageSent.resolve();
25
- };
26
-
27
- // Await while `sendMessage()` is ongoing, unless there is already a `message` listener
28
- export const waitForOutgoingMessages = async (anyProcess, ipcEmitter, wrappedMessage) => {
29
- while (!hasMessageListeners(anyProcess, ipcEmitter) && OUTGOING_MESSAGES.get(anyProcess)?.size > 0) {
30
- const outgoingMessages = [...OUTGOING_MESSAGES.get(anyProcess)];
31
- validateStrictDeadlock(outgoingMessages, wrappedMessage);
32
- // eslint-disable-next-line no-await-in-loop
33
- await Promise.all(outgoingMessages.map(({onMessageSent}) => onMessageSent));
34
- }
35
- };
36
-
37
- const OUTGOING_MESSAGES = new WeakMap();
38
-
39
- // Whether any `message` listener is setup
40
- export const hasMessageListeners = (anyProcess, ipcEmitter) => ipcEmitter.listenerCount('message') > getMinListenerCount(anyProcess);
41
-
42
- // When `buffer` is `false`, we set up a `message` listener that should be ignored.
43
- // That listener is only meant to intercept `strict` acknowledgement responses.
44
- const getMinListenerCount = anyProcess => SUBPROCESS_OPTIONS.has(anyProcess)
45
- && !getFdSpecificValue(SUBPROCESS_OPTIONS.get(anyProcess).options.buffer, 'ipc')
46
- ? 1
47
- : 0;
@@ -1,44 +0,0 @@
1
- // By default, Node.js keeps the subprocess alive while it has a `message` or `disconnect` listener.
2
- // We replicate the same logic for the events that we proxy.
3
- // This ensures the subprocess is kept alive while `getOneMessage()` and `getEachMessage()` are ongoing.
4
- // This is not a problem with `sendMessage()` since Node.js handles that method automatically.
5
- // We do not use `anyProcess.channel.ref()` since this would prevent the automatic `.channel.refCounted()` Node.js is doing.
6
- // We keep a reference to `anyProcess.channel` since it might be `null` while `getOneMessage()` or `getEachMessage()` is still processing debounced messages.
7
- // See https://github.com/nodejs/node/blob/2aaeaa863c35befa2ebaa98fb7737ec84df4d8e9/lib/internal/child_process.js#L547
8
- export const addReference = (channel, reference) => {
9
- if (reference) {
10
- addReferenceCount(channel);
11
- }
12
- };
13
-
14
- const addReferenceCount = channel => {
15
- channel.refCounted();
16
- };
17
-
18
- export const removeReference = (channel, reference) => {
19
- if (reference) {
20
- removeReferenceCount(channel);
21
- }
22
- };
23
-
24
- const removeReferenceCount = channel => {
25
- channel.unrefCounted();
26
- };
27
-
28
- // To proxy events, we setup some global listeners on the `message` and `disconnect` events.
29
- // Those should not keep the subprocess alive, so we remove the automatic counting that Node.js is doing.
30
- // See https://github.com/nodejs/node/blob/1b965270a9c273d4cf70e8808e9d28b9ada7844f/lib/child_process.js#L180
31
- export const undoAddedReferences = (channel, isSubprocess) => {
32
- if (isSubprocess) {
33
- removeReferenceCount(channel);
34
- removeReferenceCount(channel);
35
- }
36
- };
37
-
38
- // Reverse it during `disconnect`
39
- export const redoAddedReferences = (channel, isSubprocess) => {
40
- if (isSubprocess) {
41
- addReferenceCount(channel);
42
- addReferenceCount(channel);
43
- }
44
- };