nexus-agents 8.82.1 → 8.82.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 (330) hide show
  1. package/dist/{chunk-K3DV7HIH.js → chunk-2TR3B7MN.js} +2 -2
  2. package/dist/{chunk-N7OF5OLJ.js → chunk-AOGHVE7R.js} +2 -2
  3. package/dist/{chunk-CBM4AIBL.js → chunk-HXIN7YWW.js} +3 -3
  4. package/dist/{chunk-DJWWAPWD.js → chunk-IDV4V5UL.js} +7 -7
  5. package/dist/{chunk-HQLLYWTD.js → chunk-OHBE6HR2.js} +3 -3
  6. package/dist/{chunk-W6LC7UIY.js → chunk-RRTISAC5.js} +2 -2
  7. package/dist/cli.js +7 -7
  8. package/dist/{consensus-vote-X4BV3FKZ.js → consensus-vote-2OADIAQL.js} +4 -4
  9. package/dist/{improvement-review-MMH4XD66.js → improvement-review-WOR3EFIY.js} +4 -4
  10. package/dist/index.js +6 -6
  11. package/dist/{setup-data-dir-YUXVTYJ7.js → setup-data-dir-ZHSJ3AQ5.js} +3 -3
  12. package/node_modules/fast-uri/.github/dependabot.yml +42 -2
  13. package/node_modules/fast-uri/.github/workflows/ci.yml +54 -6
  14. package/node_modules/fast-uri/.github/workflows/lock-threads.yml +1 -1
  15. package/node_modules/fast-uri/.github/workflows/ossf-scorecard.yml +45 -0
  16. package/node_modules/fast-uri/README.md +11 -9
  17. package/node_modules/fast-uri/SECURITY.md +222 -0
  18. package/node_modules/fast-uri/benchmark/benchmark.mjs +71 -0
  19. package/node_modules/fast-uri/benchmark/encoder.mjs +54 -0
  20. package/node_modules/fast-uri/index.js +41 -3
  21. package/node_modules/fast-uri/lib/schemes.js +435 -3
  22. package/node_modules/fast-uri/lib/utils.js +197 -94
  23. package/node_modules/fast-uri/package.json +4 -4
  24. package/node_modules/fast-uri/test/equal.test.js +63 -0
  25. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +23 -1
  26. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +23 -1
  27. package/node_modules/fast-uri/test/ipv6-validation.test.js +160 -0
  28. package/node_modules/fast-uri/test/mailto-authority-security.test.js +125 -0
  29. package/node_modules/fast-uri/test/mailto-field-name-security.test.js +151 -0
  30. package/node_modules/fast-uri/test/parse.test.js +143 -0
  31. package/node_modules/fast-uri/test/scheme-normalization.test.js +16 -0
  32. package/node_modules/fast-uri/test/scheme-validation.test.js +2 -4
  33. package/node_modules/fast-uri/test/security-utf8-encoding.test.js +0 -0
  34. package/node_modules/fast-uri/test/serialize.test.js +144 -0
  35. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +0 -3
  36. package/node_modules/fast-uri/test/uri-js.test.js +4 -4
  37. package/node_modules/fast-uri/test/util.test.js +9 -0
  38. package/node_modules/fast-uri/tsconfig.json +8 -7
  39. package/node_modules/fast-uri/types/index.d.ts +20 -9
  40. package/node_modules/fast-uri/types/index.tst.ts +31 -0
  41. package/node_modules/protobufjs/README.md +259 -562
  42. package/node_modules/protobufjs/dist/light/protobuf.js +3230 -1917
  43. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  44. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  45. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  46. package/node_modules/protobufjs/dist/minimal/protobuf.js +1985 -1179
  47. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  48. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  49. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  50. package/node_modules/protobufjs/dist/protobuf.js +3428 -1977
  51. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  52. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  53. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  54. package/node_modules/protobufjs/ext/README.md +70 -0
  55. package/node_modules/protobufjs/ext/descriptor/README.md +3 -70
  56. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -193
  57. package/node_modules/protobufjs/ext/descriptor/index.js +1 -1185
  58. package/node_modules/protobufjs/ext/descriptor.d.ts +87 -0
  59. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +424 -0
  60. package/node_modules/protobufjs/ext/descriptor.js +1396 -0
  61. package/node_modules/protobufjs/ext/protojson.LICENSE +201 -0
  62. package/node_modules/protobufjs/ext/protojson.d.ts +20 -0
  63. package/node_modules/protobufjs/ext/protojson.generated.d.ts +49 -0
  64. package/node_modules/protobufjs/ext/protojson.js +961 -0
  65. package/node_modules/protobufjs/ext/textformat.d.ts +19 -0
  66. package/node_modules/protobufjs/ext/textformat.generated.d.ts +33 -0
  67. package/node_modules/protobufjs/ext/textformat.js +1280 -0
  68. package/node_modules/protobufjs/google/api/annotations.json +3 -1
  69. package/node_modules/protobufjs/google/api/http.json +2 -1
  70. package/node_modules/protobufjs/google/protobuf/api.json +12 -6
  71. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +126 -0
  72. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +47 -0
  73. package/node_modules/protobufjs/google/protobuf/descriptor.json +190 -88
  74. package/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -9
  75. package/node_modules/protobufjs/google/protobuf/source_context.json +2 -1
  76. package/node_modules/protobufjs/google/protobuf/type.json +14 -7
  77. package/node_modules/protobufjs/index.d.ts +1090 -704
  78. package/node_modules/protobufjs/package.json +25 -51
  79. package/node_modules/protobufjs/src/common.js +14 -8
  80. package/node_modules/protobufjs/src/converter.js +90 -52
  81. package/node_modules/protobufjs/src/decoder.js +209 -65
  82. package/node_modules/protobufjs/src/encoder.js +27 -7
  83. package/node_modules/protobufjs/src/enum.js +33 -7
  84. package/node_modules/protobufjs/src/field.js +77 -20
  85. package/node_modules/protobufjs/src/index-light.js +29 -29
  86. package/node_modules/protobufjs/src/index-minimal.js +12 -13
  87. package/node_modules/protobufjs/src/index.js +6 -6
  88. package/node_modules/protobufjs/src/mapfield.js +26 -8
  89. package/node_modules/protobufjs/src/message.js +5 -11
  90. package/node_modules/protobufjs/src/method.js +30 -7
  91. package/node_modules/protobufjs/src/namespace.js +26 -10
  92. package/node_modules/protobufjs/src/object.js +44 -31
  93. package/node_modules/protobufjs/src/oneof.js +12 -1
  94. package/node_modules/protobufjs/src/parse.js +194 -67
  95. package/node_modules/protobufjs/src/reader.js +479 -56
  96. package/node_modules/protobufjs/src/reader_buffer.js +31 -5
  97. package/node_modules/protobufjs/src/root.js +16 -4
  98. package/node_modules/protobufjs/src/rpc/service.js +18 -5
  99. package/node_modules/protobufjs/src/service.js +15 -2
  100. package/node_modules/protobufjs/src/tokenize.js +6 -1
  101. package/node_modules/protobufjs/src/type.js +90 -36
  102. package/node_modules/protobufjs/src/typescript.js +25 -0
  103. package/node_modules/{@protobufjs/aspromise/index.d.ts → protobufjs/src/util/aspromise.d.ts} +13 -13
  104. package/node_modules/{@protobufjs/aspromise/index.js → protobufjs/src/util/aspromise.js} +52 -52
  105. package/node_modules/{@protobufjs/base64/index.d.ts → protobufjs/src/util/base64.d.ts} +32 -32
  106. package/node_modules/{@protobufjs/base64/index.js → protobufjs/src/util/base64.js} +146 -139
  107. package/node_modules/{@protobufjs/codegen/index.d.ts → protobufjs/src/util/codegen.d.ts} +31 -31
  108. package/node_modules/{@protobufjs/codegen/index.js → protobufjs/src/util/codegen.js} +120 -112
  109. package/node_modules/{@protobufjs/eventemitter/index.d.ts → protobufjs/src/util/eventemitter.d.ts} +45 -45
  110. package/node_modules/{@protobufjs/eventemitter/index.js → protobufjs/src/util/eventemitter.js} +86 -86
  111. package/node_modules/{@protobufjs/fetch/index.d.ts → protobufjs/src/util/fetch.d.ts} +56 -56
  112. package/node_modules/{@protobufjs/fetch/index.js → protobufjs/src/util/fetch.js} +112 -112
  113. package/node_modules/{@protobufjs/float/index.js → protobufjs/src/util/float.js} +335 -335
  114. package/node_modules/protobufjs/src/util/longbits.js +10 -6
  115. package/node_modules/protobufjs/src/util/minimal.js +71 -51
  116. package/node_modules/{@protobufjs/path/index.d.ts → protobufjs/src/util/path.d.ts} +22 -22
  117. package/node_modules/{@protobufjs/path/index.js → protobufjs/src/util/path.js} +100 -65
  118. package/node_modules/{@protobufjs/pool/index.d.ts → protobufjs/src/util/pool.d.ts} +32 -32
  119. package/node_modules/{@protobufjs/pool/index.js → protobufjs/src/util/pool.js} +48 -48
  120. package/node_modules/{@protobufjs/utf8/index.d.ts → protobufjs/src/util/utf8.d.ts} +24 -24
  121. package/node_modules/protobufjs/src/util/utf8.js +164 -0
  122. package/node_modules/protobufjs/src/util.js +51 -17
  123. package/node_modules/protobufjs/src/verifier.js +19 -14
  124. package/node_modules/protobufjs/src/wrappers.js +2 -3
  125. package/node_modules/protobufjs/src/writer.js +428 -189
  126. package/node_modules/protobufjs/src/writer_buffer.js +41 -26
  127. package/node_modules/protobufjs/tsconfig.json +3 -5
  128. package/package.json +41 -1
  129. package/node_modules/@protobufjs/aspromise/LICENSE +0 -26
  130. package/node_modules/@protobufjs/aspromise/README.md +0 -13
  131. package/node_modules/@protobufjs/aspromise/package.json +0 -21
  132. package/node_modules/@protobufjs/aspromise/tests/index.js +0 -130
  133. package/node_modules/@protobufjs/base64/LICENSE +0 -26
  134. package/node_modules/@protobufjs/base64/README.md +0 -19
  135. package/node_modules/@protobufjs/base64/package.json +0 -21
  136. package/node_modules/@protobufjs/base64/tests/index.js +0 -46
  137. package/node_modules/@protobufjs/codegen/LICENSE +0 -26
  138. package/node_modules/@protobufjs/codegen/README.md +0 -49
  139. package/node_modules/@protobufjs/codegen/package.json +0 -13
  140. package/node_modules/@protobufjs/codegen/tests/index.js +0 -13
  141. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +0 -8
  142. package/node_modules/@protobufjs/eventemitter/LICENSE +0 -26
  143. package/node_modules/@protobufjs/eventemitter/README.md +0 -22
  144. package/node_modules/@protobufjs/eventemitter/package.json +0 -21
  145. package/node_modules/@protobufjs/eventemitter/tests/index.js +0 -83
  146. package/node_modules/@protobufjs/fetch/CHANGELOG.md +0 -8
  147. package/node_modules/@protobufjs/fetch/LICENSE +0 -26
  148. package/node_modules/@protobufjs/fetch/README.md +0 -13
  149. package/node_modules/@protobufjs/fetch/package.json +0 -27
  150. package/node_modules/@protobufjs/fetch/tests/data/file.txt +0 -1
  151. package/node_modules/@protobufjs/fetch/tests/index.js +0 -158
  152. package/node_modules/@protobufjs/fetch/util/fs.js +0 -11
  153. package/node_modules/@protobufjs/float/LICENSE +0 -26
  154. package/node_modules/@protobufjs/float/README.md +0 -102
  155. package/node_modules/@protobufjs/float/bench/index.js +0 -87
  156. package/node_modules/@protobufjs/float/bench/suite.js +0 -46
  157. package/node_modules/@protobufjs/float/package.json +0 -26
  158. package/node_modules/@protobufjs/float/tests/index.js +0 -100
  159. package/node_modules/@protobufjs/path/LICENSE +0 -26
  160. package/node_modules/@protobufjs/path/README.md +0 -19
  161. package/node_modules/@protobufjs/path/package.json +0 -21
  162. package/node_modules/@protobufjs/path/tests/index.js +0 -60
  163. package/node_modules/@protobufjs/pool/.npmignore +0 -3
  164. package/node_modules/@protobufjs/pool/LICENSE +0 -26
  165. package/node_modules/@protobufjs/pool/README.md +0 -13
  166. package/node_modules/@protobufjs/pool/package.json +0 -21
  167. package/node_modules/@protobufjs/pool/tests/index.js +0 -33
  168. package/node_modules/@protobufjs/utf8/CHANGELOG.md +0 -8
  169. package/node_modules/@protobufjs/utf8/LICENSE +0 -26
  170. package/node_modules/@protobufjs/utf8/README.md +0 -20
  171. package/node_modules/@protobufjs/utf8/index.js +0 -115
  172. package/node_modules/@protobufjs/utf8/package.json +0 -21
  173. package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +0 -207
  174. package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +0 -216
  175. package/node_modules/@protobufjs/utf8/tests/index.js +0 -79
  176. package/node_modules/@types/node/LICENSE +0 -21
  177. package/node_modules/@types/node/README.md +0 -15
  178. package/node_modules/@types/node/assert/strict.d.ts +0 -68
  179. package/node_modules/@types/node/assert.d.ts +0 -1077
  180. package/node_modules/@types/node/async_hooks.d.ts +0 -711
  181. package/node_modules/@types/node/buffer.buffer.d.ts +0 -471
  182. package/node_modules/@types/node/buffer.d.ts +0 -1800
  183. package/node_modules/@types/node/child_process.d.ts +0 -1361
  184. package/node_modules/@types/node/cluster.d.ts +0 -432
  185. package/node_modules/@types/node/console.d.ts +0 -93
  186. package/node_modules/@types/node/constants.d.ts +0 -14
  187. package/node_modules/@types/node/crypto.d.ts +0 -3964
  188. package/node_modules/@types/node/dgram.d.ts +0 -652
  189. package/node_modules/@types/node/diagnostics_channel.d.ts +0 -794
  190. package/node_modules/@types/node/dns/promises.d.ts +0 -497
  191. package/node_modules/@types/node/dns.d.ts +0 -876
  192. package/node_modules/@types/node/domain.d.ts +0 -150
  193. package/node_modules/@types/node/events.d.ts +0 -1008
  194. package/node_modules/@types/node/ffi.d.ts +0 -500
  195. package/node_modules/@types/node/fs/promises.d.ts +0 -1477
  196. package/node_modules/@types/node/fs.d.ts +0 -4803
  197. package/node_modules/@types/node/globals.d.ts +0 -150
  198. package/node_modules/@types/node/globals.typedarray.d.ts +0 -101
  199. package/node_modules/@types/node/http.d.ts +0 -2218
  200. package/node_modules/@types/node/http2.d.ts +0 -2498
  201. package/node_modules/@types/node/https.d.ts +0 -400
  202. package/node_modules/@types/node/index.d.ts +0 -116
  203. package/node_modules/@types/node/inspector/promises.d.ts +0 -35
  204. package/node_modules/@types/node/inspector.d.ts +0 -265
  205. package/node_modules/@types/node/inspector.generated.d.ts +0 -4406
  206. package/node_modules/@types/node/module.d.ts +0 -726
  207. package/node_modules/@types/node/net.d.ts +0 -1074
  208. package/node_modules/@types/node/os.d.ts +0 -498
  209. package/node_modules/@types/node/package.json +0 -140
  210. package/node_modules/@types/node/path/posix.d.ts +0 -8
  211. package/node_modules/@types/node/path/win32.d.ts +0 -8
  212. package/node_modules/@types/node/path.d.ts +0 -178
  213. package/node_modules/@types/node/perf_hooks.d.ts +0 -617
  214. package/node_modules/@types/node/process.d.ts +0 -2269
  215. package/node_modules/@types/node/punycode.d.ts +0 -89
  216. package/node_modules/@types/node/querystring.d.ts +0 -139
  217. package/node_modules/@types/node/quic.d.ts +0 -2191
  218. package/node_modules/@types/node/readline/promises.d.ts +0 -158
  219. package/node_modules/@types/node/readline.d.ts +0 -508
  220. package/node_modules/@types/node/repl.d.ts +0 -420
  221. package/node_modules/@types/node/sea.d.ts +0 -47
  222. package/node_modules/@types/node/sqlite.d.ts +0 -1140
  223. package/node_modules/@types/node/stream/consumers.d.ts +0 -114
  224. package/node_modules/@types/node/stream/iter.d.ts +0 -449
  225. package/node_modules/@types/node/stream/promises.d.ts +0 -211
  226. package/node_modules/@types/node/stream/web.d.ts +0 -320
  227. package/node_modules/@types/node/stream.d.ts +0 -1806
  228. package/node_modules/@types/node/string_decoder.d.ts +0 -27
  229. package/node_modules/@types/node/test/reporters.d.ts +0 -60
  230. package/node_modules/@types/node/test.d.ts +0 -2558
  231. package/node_modules/@types/node/timers/promises.d.ts +0 -93
  232. package/node_modules/@types/node/timers.d.ts +0 -149
  233. package/node_modules/@types/node/tls.d.ts +0 -1232
  234. package/node_modules/@types/node/trace_events.d.ts +0 -103
  235. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -467
  236. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  237. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
  238. package/node_modules/@types/node/ts5.6/index.d.ts +0 -118
  239. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  240. package/node_modules/@types/node/ts5.7/index.d.ts +0 -118
  241. package/node_modules/@types/node/tty.d.ts +0 -226
  242. package/node_modules/@types/node/url.d.ts +0 -556
  243. package/node_modules/@types/node/util/types.d.ts +0 -558
  244. package/node_modules/@types/node/util.d.ts +0 -1677
  245. package/node_modules/@types/node/v8.d.ts +0 -1059
  246. package/node_modules/@types/node/vfs.d.ts +0 -211
  247. package/node_modules/@types/node/vm.d.ts +0 -1137
  248. package/node_modules/@types/node/wasi.d.ts +0 -131
  249. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
  250. package/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  251. package/node_modules/@types/node/web-globals/console.d.ts +0 -9
  252. package/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  253. package/node_modules/@types/node/web-globals/domexception.d.ts +0 -83
  254. package/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  255. package/node_modules/@types/node/web-globals/events.d.ts +0 -106
  256. package/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
  257. package/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  258. package/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  259. package/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
  260. package/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  261. package/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  262. package/node_modules/@types/node/web-globals/streams.d.ts +0 -119
  263. package/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  264. package/node_modules/@types/node/web-globals/url.d.ts +0 -24
  265. package/node_modules/@types/node/worker_threads.d.ts +0 -672
  266. package/node_modules/@types/node/zlib/iter.d.ts +0 -131
  267. package/node_modules/@types/node/zlib.d.ts +0 -606
  268. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +0 -24
  269. package/node_modules/fast-uri/types/index.test-d.ts +0 -17
  270. package/node_modules/protobufjs/ext/descriptor/test.js +0 -54
  271. package/node_modules/protobufjs/scripts/postinstall.js +0 -32
  272. package/node_modules/protobufjs/src/typescript.jsdoc +0 -15
  273. package/node_modules/undici-types/LICENSE +0 -21
  274. package/node_modules/undici-types/README.md +0 -6
  275. package/node_modules/undici-types/agent.d.ts +0 -30
  276. package/node_modules/undici-types/api.d.ts +0 -43
  277. package/node_modules/undici-types/balanced-pool.d.ts +0 -30
  278. package/node_modules/undici-types/cache-interceptor.d.ts +0 -179
  279. package/node_modules/undici-types/cache.d.ts +0 -36
  280. package/node_modules/undici-types/client-stats.d.ts +0 -15
  281. package/node_modules/undici-types/client.d.ts +0 -134
  282. package/node_modules/undici-types/connector.d.ts +0 -37
  283. package/node_modules/undici-types/content-type.d.ts +0 -21
  284. package/node_modules/undici-types/cookies.d.ts +0 -30
  285. package/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
  286. package/node_modules/undici-types/dispatcher.d.ts +0 -253
  287. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +0 -7
  288. package/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
  289. package/node_modules/undici-types/errors.d.ts +0 -187
  290. package/node_modules/undici-types/eventsource.d.ts +0 -66
  291. package/node_modules/undici-types/fetch.d.ts +0 -235
  292. package/node_modules/undici-types/formdata.d.ts +0 -108
  293. package/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  294. package/node_modules/undici-types/global-origin.d.ts +0 -7
  295. package/node_modules/undici-types/h2c-client.d.ts +0 -73
  296. package/node_modules/undici-types/handlers.d.ts +0 -16
  297. package/node_modules/undici-types/header.d.ts +0 -165
  298. package/node_modules/undici-types/index.d.ts +0 -93
  299. package/node_modules/undici-types/interceptors.d.ts +0 -80
  300. package/node_modules/undici-types/mock-agent.d.ts +0 -68
  301. package/node_modules/undici-types/mock-call-history.d.ts +0 -111
  302. package/node_modules/undici-types/mock-client.d.ts +0 -27
  303. package/node_modules/undici-types/mock-errors.d.ts +0 -12
  304. package/node_modules/undici-types/mock-interceptor.d.ts +0 -98
  305. package/node_modules/undici-types/mock-pool.d.ts +0 -27
  306. package/node_modules/undici-types/package.json +0 -55
  307. package/node_modules/undici-types/patch.d.ts +0 -29
  308. package/node_modules/undici-types/pool-stats.d.ts +0 -19
  309. package/node_modules/undici-types/pool.d.ts +0 -39
  310. package/node_modules/undici-types/proxy-agent.d.ts +0 -36
  311. package/node_modules/undici-types/readable.d.ts +0 -68
  312. package/node_modules/undici-types/retry-agent.d.ts +0 -8
  313. package/node_modules/undici-types/retry-handler.d.ts +0 -125
  314. package/node_modules/undici-types/round-robin-pool.d.ts +0 -39
  315. package/node_modules/undici-types/snapshot-agent.d.ts +0 -113
  316. package/node_modules/undici-types/socks5-proxy-agent.d.ts +0 -25
  317. package/node_modules/undici-types/util.d.ts +0 -18
  318. package/node_modules/undici-types/utility.d.ts +0 -7
  319. package/node_modules/undici-types/webidl.d.ts +0 -346
  320. package/node_modules/undici-types/websocket.d.ts +0 -188
  321. /package/dist/{chunk-K3DV7HIH.js.map → chunk-2TR3B7MN.js.map} +0 -0
  322. /package/dist/{chunk-N7OF5OLJ.js.map → chunk-AOGHVE7R.js.map} +0 -0
  323. /package/dist/{chunk-CBM4AIBL.js.map → chunk-HXIN7YWW.js.map} +0 -0
  324. /package/dist/{chunk-DJWWAPWD.js.map → chunk-IDV4V5UL.js.map} +0 -0
  325. /package/dist/{chunk-HQLLYWTD.js.map → chunk-OHBE6HR2.js.map} +0 -0
  326. /package/dist/{chunk-W6LC7UIY.js.map → chunk-RRTISAC5.js.map} +0 -0
  327. /package/dist/{consensus-vote-X4BV3FKZ.js.map → consensus-vote-2OADIAQL.js.map} +0 -0
  328. /package/dist/{improvement-review-MMH4XD66.js.map → improvement-review-WOR3EFIY.js.map} +0 -0
  329. /package/dist/{setup-data-dir-YUXVTYJ7.js.map → setup-data-dir-ZHSJ3AQ5.js.map} +0 -0
  330. /package/node_modules/{@protobufjs/float/index.d.ts → protobufjs/src/util/float.d.ts} +0 -0
@@ -0,0 +1,222 @@
1
+ # Security Policy
2
+
3
+ This document describes the management of vulnerabilities for `fast-uri`, an
4
+ official Fastify project package. It supplements the Fastify project's
5
+ [organization-wide security policy](https://github.com/fastify/.github/blob/main/SECURITY.md).
6
+
7
+ ## Standards and scope
8
+
9
+ `fast-uri` implements URI parsing and normalization according to
10
+ [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986). It does not implement the
11
+ [WHATWG URL Standard](https://url.spec.whatwg.org/).
12
+
13
+ Differences between `fast-uri` and WHATWG URL implementations are expected.
14
+ Reports based solely on comparing or mixing parsers that follow these different
15
+ standards are out of scope. Applications must use the same parsing and
16
+ normalization rules for both security decisions and subsequent URI use.
17
+
18
+ A WHATWG comparison may be useful supporting evidence, but a parser difference
19
+ is not by itself a vulnerability. A report remains in scope when it independently
20
+ demonstrates a defect in `fast-uri`'s RFC or documented behavior for a supported
21
+ scheme and a concrete security impact when the application uses `fast-uri`
22
+ consistently. An exploit that requires validating with `fast-uri` and then
23
+ passing the original, unmodified input to a parser with different rules is an
24
+ application parser-confusion issue.
25
+
26
+ Reports are assessed based on reproducibility, documented supported usage, and
27
+ concrete security impact—not merely on whether they mention WHATWG URL
28
+ behavior.
29
+
30
+ ## Threat model
31
+
32
+ `fast-uri`'s threat model extends the
33
+ [Node.js threat model](https://github.com/nodejs/node/blob/main/SECURITY.md#the-nodejs-threat-model).
34
+
35
+ **Trusted:** Application code, structured component objects constructed or
36
+ modified by application code and passed directly to `serialize()`, parser
37
+ options, configuration, and the runtime environment.
38
+
39
+ **Untrusted:** URI and IRI strings passed to the package's public APIs.
40
+
41
+ ## Vulnerability classification
42
+
43
+ A report is treated as a vulnerability when it demonstrates all of the
44
+ following:
45
+
46
+ 1. Attacker-controlled input reaches a public API through documented,
47
+ supported usage.
48
+ 2. `fast-uri` violates an applicable RFC or its documented API contract.
49
+ 3. The defect creates a concrete confidentiality, integrity, or availability
50
+ impact in a realistic supported use case.
51
+ 4. The impact does not depend solely on application misuse, an unsupported
52
+ scheme, a different parser interpreting the original input, or another
53
+ package's behavior.
54
+
55
+ A reproducible bug can still merit a normal issue and fix without meeting the
56
+ security-vulnerability threshold.
57
+
58
+ ### Examples of vulnerabilities
59
+
60
+ - `parse()`, `normalize()`, or `resolve()` changes an attacker-controlled
61
+ authority within `fast-uri`, and the report demonstrates a host security
62
+ control being bypassed using that output
63
+ - `equal()` aliases distinct URIs under the rules of a supported scheme, and
64
+ the report demonstrates an authorization, signature, or cache boundary being
65
+ bypassed
66
+ - One public API call on a reasonably sized malformed URI causes
67
+ disproportionate CPU or memory consumption, with reproducible availability
68
+ impact
69
+ - Parsing or normalization turns component data into a structural delimiter
70
+ and the report demonstrates a security-control bypass in documented usage
71
+
72
+ ### Denial-of-service reports
73
+
74
+ A synchronous exception, parse error, or non-idempotent result is not by itself
75
+ a denial-of-service vulnerability. A report must demonstrate disproportionate
76
+ resource consumption in a public API call, or loss of availability in a
77
+ supported deployment despite normal exception handling. An application that
78
+ terminates on an uncaught exception, or repeatedly normalizes until reaching a
79
+ fixpoint, does not establish a package vulnerability by itself.
80
+
81
+ ### Examples of non-vulnerabilities
82
+
83
+ The following are **not** considered vulnerabilities in `fast-uri`:
84
+
85
+ - **Different URL standards:** `fast-uri` returns one host, but an application
86
+ passes the original input to WHATWG `URL`, `fetch`, or another parser that
87
+ applies different recovery, whitespace, or legacy-IP rules
88
+ - **Unsupported scheme semantics:** Behavior specific to schemes such as
89
+ `ftp` or `file`, which `fast-uri` does not document as supported
90
+ - **Correctness without security impact:** Non-idempotent normalization,
91
+ surprising equality, truncation, re-encoding, or malformed-input handling
92
+ without a demonstrated security boundary or availability impact
93
+ - **Caller-created resource use:** An application repeatedly parses or
94
+ normalizes a value, or fails to catch a synchronous exception
95
+ - **Trusted structured input:** Boundary characters supplied in a component
96
+ object that application code constructs and passes to `serialize()`
97
+ - **Application code vulnerabilities:** Security flaws in code that consumes
98
+ `fast-uri` output contrary to its documented contract
99
+ - **Configuration mistakes:** Security issues caused by incorrect parser
100
+ options or application configuration
101
+ - **Missing security features:** Application-level protections that are not
102
+ part of URI parsing or normalization
103
+ - **Third-party dependencies:** Vulnerabilities in packages used by an
104
+ application alongside `fast-uri`
105
+
106
+ ## Reporting vulnerabilities
107
+
108
+ Individuals who find potential vulnerabilities in `fast-uri` are invited to
109
+ complete a vulnerability report via the
110
+ [GitHub Security page][advisory].
111
+
112
+ Do not assign or request a CVE directly.
113
+ CVE assignment is handled by the Fastify Security Team.
114
+ Fastify falls under the [OpenJS CNA](https://cna.openjsf.org/).
115
+ A CVE will be assigned as part of our responsible disclosure process.
116
+
117
+ > [!NOTE]
118
+ > Fastify's [HackerOne](https://hackerone.com/fastify) program is now closed.
119
+
120
+ [advisory]: ../../security/advisories/new
121
+
122
+ ### Strict measures when reporting vulnerabilities
123
+
124
+ It is of the utmost importance that you read carefully and follow these
125
+ guidelines to ensure the ecosystem as a whole is not disrupted due to
126
+ improperly reported vulnerabilities:
127
+
128
+ - Avoid creating new "informative" reports. Only create a new report if you are
129
+ confident the issue is an actual vulnerability. Third-party vendors and
130
+ individuals track new GitHub security reports and may flag them for their
131
+ customers.
132
+ - Security reports should never be created and triaged by the same person. A
133
+ second Security Team member must triage a report submitted by a team member
134
+ or on their behalf. If in doubt, invite more Fastify collaborators to help
135
+ review the report.
136
+ - **Do not** attempt to demonstrate CI/CD vulnerabilities by creating pull
137
+ requests in Fastify organization repositories. Doing so will result in a
138
+ [content report][content-report] to GitHub as an unsolicited exploit. Create
139
+ a separate repository configured like the affected repository and provide
140
+ the proof of concept there instead.
141
+
142
+ [content-report]: https://docs.github.com/en/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam#reporting-an-issue-or-pull-request
143
+
144
+ ### Vulnerabilities found outside this process
145
+
146
+ The Fastify project does not support vulnerability reporting outside the
147
+ process described in this document.
148
+
149
+ ## Handling vulnerability reports
150
+
151
+ When a potential vulnerability is reported, the following actions are taken.
152
+
153
+ ### Triage
154
+
155
+ **Delay:** 4 business days
156
+
157
+ Within 4 business days, a member of the Security Team provides a first response
158
+ to the reporter. The possible responses are:
159
+
160
+ - **Acceptance:** The report is considered a new vulnerability.
161
+ - **Rejection:** The report is not considered a new vulnerability.
162
+ - **Need more information:** The Security Team needs more information to
163
+ evaluate the report.
164
+
165
+ Triaging should include updating these issue fields:
166
+
167
+ - Asset: set or create the module affected by the report
168
+ - Severity: TBD, initially left empty
169
+
170
+ ### Correction follow-up
171
+
172
+ **Delay:** 90 days
173
+
174
+ When a vulnerability is confirmed, a member of the Security Team volunteers to
175
+ follow up on the report.
176
+
177
+ With the reporter's help, they contact the maintainers of the vulnerable
178
+ package and may invite them as participants in the report. Together, they
179
+ define a publication date. Ideally, publication should not happen before the
180
+ package has been patched.
181
+
182
+ The report's vulnerable-version upper limit should be set to:
183
+
184
+ - `*` if no fixed version is available when the report is published
185
+ - the last vulnerable version, such as `<=1.2.3`, if the fix is released in
186
+ `1.2.4`
187
+
188
+ ### Publication
189
+
190
+ **Delay:** 90 days
191
+
192
+ Within 90 days after triage, the vulnerability must be made public.
193
+
194
+ Vulnerability severity is assessed using
195
+ [CVSS v3](https://www.first.org/cvss/user-guide).
196
+
197
+ If package maintainers are actively developing a patch, the Security Team and
198
+ the reporter may approve an additional delay.
199
+
200
+ ### Secondary contact
201
+
202
+ If you do not receive an acknowledgment within 6 business days, or cannot find
203
+ a private security contact, contact the OpenJS Foundation CNA at
204
+ <https://cna.openjsf.org/> or `security@lists.openjsf.org` for assistance.
205
+
206
+ The CNA can help ensure that reports are acknowledged, coordinate disclosure
207
+ timelines, and assign CVEs when necessary.
208
+
209
+ ## The Fastify Security Team
210
+
211
+ The core team manages the security program, policy, and process.
212
+
213
+ Team members must keep all privileged information private. This includes the
214
+ existence of undisclosed issues, expected release dates, and upcoming patches.
215
+
216
+ ### Members
217
+
218
+ - [Matteo Collina](https://github.com/mcollina)
219
+ - [Tomas Della Vedova](https://github.com/delvedor)
220
+ - [Vincent Le Goff](https://github.com/zekth)
221
+ - [KaKa Ng](https://github.com/climba03003)
222
+ - [James Sumners](https://github.com/jsumners)
@@ -10,6 +10,21 @@ const ipv6 = '//[2001:db8::7]'
10
10
  const urn = 'urn:foo:a123,456'
11
11
  const urnuuid = 'urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6'
12
12
 
13
+ const mailtoSimple = 'mailto:chris@example.com'
14
+ const mailtoWithSubject = 'mailto:infobot@example.com?subject=current-issue'
15
+ const mailtoWithBody = 'mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index'
16
+ const mailtoWithHeaders = 'mailto:list@example.org?In-Reply-To=%3C3469A91.D10AF4C@example.com%3E'
17
+ const mailtoMultiple = 'mailto:joe@example.com,alice@example.org?subject=Test&body=NATTO'
18
+ const mailtoEncoded = 'mailto:%22oh%5C%5Cno%22@example.org'
19
+
20
+ const mailtoComponent = {
21
+ scheme: 'mailto',
22
+ to: ['chris@example.com'],
23
+ subject: 'current-issue',
24
+ body: 'send current-issue\r\nsend index',
25
+ headers: { 'In-Reply-To': '<3469A91.D10AF4C@example.com>' }
26
+ }
27
+
13
28
  const urnuuidComponent = {
14
29
  scheme: 'urn',
15
30
  nid: 'uuid',
@@ -146,6 +161,62 @@ benchUriJs.add('urijs: equal', function () {
146
161
  uriJsEqual('example://a/b/c/%7Bfoo%7D', 'eXAMPLE://a/./b/../b/%63/%7bfoo%7d')
147
162
  })
148
163
 
164
+ benchFastUri.add('fast-uri: parse mailto simple', function () {
165
+ fastUriParse(mailtoSimple)
166
+ })
167
+ benchUriJs.add('urijs: parse mailto simple', function () {
168
+ uriJsParse(mailtoSimple)
169
+ })
170
+
171
+ benchFastUri.add('fast-uri: parse mailto subject', function () {
172
+ fastUriParse(mailtoWithSubject)
173
+ })
174
+ benchUriJs.add('urijs: parse mailto subject', function () {
175
+ uriJsParse(mailtoWithSubject)
176
+ })
177
+
178
+ benchFastUri.add('fast-uri: parse mailto body CRLF', function () {
179
+ fastUriParse(mailtoWithBody)
180
+ })
181
+ benchUriJs.add('urijs: parse mailto body CRLF', function () {
182
+ uriJsParse(mailtoWithBody)
183
+ })
184
+
185
+ benchFastUri.add('fast-uri: parse mailto headers', function () {
186
+ fastUriParse(mailtoWithHeaders)
187
+ })
188
+ benchUriJs.add('urijs: parse mailto headers', function () {
189
+ uriJsParse(mailtoWithHeaders)
190
+ })
191
+
192
+ benchFastUri.add('fast-uri: parse mailto multi recipient', function () {
193
+ fastUriParse(mailtoMultiple)
194
+ })
195
+ benchUriJs.add('urijs: parse mailto multi recipient', function () {
196
+ uriJsParse(mailtoMultiple)
197
+ })
198
+
199
+ benchFastUri.add('fast-uri: parse mailto encoded local', function () {
200
+ fastUriParse(mailtoEncoded)
201
+ })
202
+ benchUriJs.add('urijs: parse mailto encoded local', function () {
203
+ uriJsParse(mailtoEncoded)
204
+ })
205
+
206
+ benchFastUri.add('fast-uri: serialize mailto', function () {
207
+ fastUriSerialize(mailtoComponent)
208
+ })
209
+ benchUriJs.add('urijs: serialize mailto', function () {
210
+ uriJsSerialize(mailtoComponent)
211
+ })
212
+
213
+ benchFastUri.add('fast-uri: serialize+parse mailto round-trip', function () {
214
+ fastUriSerialize(fastUriParse(mailtoWithBody))
215
+ })
216
+ benchUriJs.add('urijs: serialize+parse mailto round-trip', function () {
217
+ uriJsSerialize(uriJsParse(mailtoWithBody))
218
+ })
219
+
149
220
  await benchFastUri.run()
150
221
  console.log(benchFastUri.name)
151
222
  console.table(benchFastUri.table())
@@ -0,0 +1,54 @@
1
+ import { Bench } from 'tinybench'
2
+ import { fastUri } from '../index.js'
3
+
4
+ const { serialize, normalize, parse } = fastUri
5
+
6
+ const asciiPath = '/users/profile/settings/account'
7
+ const asciiPathWithSpaces = '/users/john doe/profile page'
8
+ const cjkPath = '/ユーザー/プロフィール/設定'
9
+ const mixedPath = '/users/日本/profile-📱-emoji/設定'
10
+ const emojiPath = '/🚀/🌍/🎉/end'
11
+ const longAsciiPath = '/' + 'a/b/c/d/e/f/g/h/'.repeat(20)
12
+ const longUtf8Path = '/' + '日本/中文/한국/'.repeat(20)
13
+
14
+ const bench = new Bench({ name: 'encoder bench', time: 1000 })
15
+
16
+ bench.add('serialize ascii path', () => {
17
+ serialize({ scheme: 'http', host: 'example.com', path: asciiPath })
18
+ })
19
+
20
+ bench.add('serialize ascii path with spaces', () => {
21
+ serialize({ scheme: 'http', host: 'example.com', path: asciiPathWithSpaces })
22
+ })
23
+
24
+ bench.add('serialize cjk path', () => {
25
+ serialize({ scheme: 'http', host: 'example.com', path: cjkPath })
26
+ })
27
+
28
+ bench.add('serialize mixed path', () => {
29
+ serialize({ scheme: 'http', host: 'example.com', path: mixedPath })
30
+ })
31
+
32
+ bench.add('serialize emoji path', () => {
33
+ serialize({ scheme: 'http', host: 'example.com', path: emojiPath })
34
+ })
35
+
36
+ bench.add('serialize long ascii path', () => {
37
+ serialize({ scheme: 'http', host: 'example.com', path: longAsciiPath })
38
+ })
39
+
40
+ bench.add('serialize long utf8 path', () => {
41
+ serialize({ scheme: 'http', host: 'example.com', path: longUtf8Path })
42
+ })
43
+
44
+ bench.add('normalize utf8 uri', () => {
45
+ normalize('http://example.com/日本/profile')
46
+ })
47
+
48
+ bench.add('parse utf8 uri', () => {
49
+ parse('http://example.com/日本/profile')
50
+ })
51
+
52
+ await bench.run()
53
+ console.log(bench.name)
54
+ console.table(bench.table())
@@ -89,6 +89,22 @@ function resolve (baseURI, relativeURI, options) {
89
89
  return serialize(resolved, schemelessOptions)
90
90
  }
91
91
 
92
+ /**
93
+ * Copies a host component together with its parse-time zone identifier (if
94
+ * any), so downstream recomposition does not re-derive an IPv6 zone from the
95
+ * ambiguous single-"%" component form. The zone is validated on use by
96
+ * `recomposeAuthority` rather than blindly trusted.
97
+ *
98
+ * @param {import('./types/index').URIComponent} target
99
+ * @param {import('./types/index').URIComponent} source
100
+ */
101
+ function copyHost (target, source) {
102
+ target.host = source.host
103
+ if (source.ipv6Zone !== undefined) {
104
+ target.ipv6Zone = source.ipv6Zone
105
+ }
106
+ }
107
+
92
108
  /**
93
109
  * @param {import ('./types/index').URIComponent} base
94
110
  * @param {import ('./types/index').URIComponent} relative
@@ -109,7 +125,7 @@ function resolveComponent (base, relative, options, skipNormalization) {
109
125
  target.scheme = relative.scheme
110
126
  // target.authority = relative.authority;
111
127
  target.userinfo = relative.userinfo
112
- target.host = relative.host
128
+ copyHost(target, relative)
113
129
  target.port = relative.port
114
130
  target.path = removeDotSegments(relative.path || '')
115
131
  target.query = relative.query
@@ -117,7 +133,7 @@ function resolveComponent (base, relative, options, skipNormalization) {
117
133
  if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {
118
134
  // target.authority = relative.authority;
119
135
  target.userinfo = relative.userinfo
120
- target.host = relative.host
136
+ copyHost(target, relative)
121
137
  target.port = relative.port
122
138
  target.path = removeDotSegments(relative.path || '')
123
139
  target.query = relative.query
@@ -146,7 +162,7 @@ function resolveComponent (base, relative, options, skipNormalization) {
146
162
  }
147
163
  // target.authority = base.authority;
148
164
  target.userinfo = base.userinfo
149
- target.host = base.host
165
+ copyHost(target, base)
150
166
  target.port = base.port
151
167
  }
152
168
  target.scheme = base.scheme
@@ -178,6 +194,7 @@ function equal (uriA, uriB, options) {
178
194
  function serialize (cmpts, opts) {
179
195
  const component = {
180
196
  host: cmpts.host,
197
+ ipv6Zone: cmpts.ipv6Zone,
181
198
  scheme: cmpts.scheme,
182
199
  userinfo: cmpts.userinfo,
183
200
  port: cmpts.port,
@@ -190,6 +207,10 @@ function serialize (cmpts, opts) {
190
207
  reference: cmpts.reference,
191
208
  resourceName: cmpts.resourceName,
192
209
  secure: cmpts.secure,
210
+ to: cmpts.to,
211
+ subject: cmpts.subject,
212
+ body: cmpts.body,
213
+ headers: cmpts.headers,
193
214
  error: ''
194
215
  }
195
216
  const options = Object.assign({}, opts)
@@ -359,6 +380,11 @@ function hasMalformedComponentPercentEncoding (matches) {
359
380
  * @returns {boolean} whether host conversion failed
360
381
  */
361
382
  function canonicalizeHost (parsed, options, schemeHandler, isIP) {
383
+ const bracketedIPLiteral =
384
+ parsed.host &&
385
+ parsed.host[0] === '[' &&
386
+ parsed.host[parsed.host.length - 1] === ']'
387
+
362
388
  if (
363
389
  !options.unicodeSupport &&
364
390
  (!schemeHandler || !schemeHandler.unicodeSupport) &&
@@ -366,6 +392,7 @@ function canonicalizeHost (parsed, options, schemeHandler, isIP) {
366
392
  !isIPLiteral(parsed.host) &&
367
393
  (options.domainHost || (schemeHandler && schemeHandler.domainHost)) &&
368
394
  isIP === false &&
395
+ !bracketedIPLiteral &&
369
396
  nonSimpleDomain(parsed.host)
370
397
  ) {
371
398
  try {
@@ -375,6 +402,7 @@ function canonicalizeHost (parsed, options, schemeHandler, isIP) {
375
402
  return true
376
403
  }
377
404
  }
405
+
378
406
  return false
379
407
  }
380
408
 
@@ -495,6 +523,16 @@ function parseWithStatus (uri, opts) {
495
523
  malformedIPLiteral = hasIPLiteralBracket && (!bracketedIPLiteral || ipv6result.error === true)
496
524
  parsed.host = isIP ? ipv6result.host : ipv6result.host.toLowerCase()
497
525
 
526
+ if (isIP && ipv6result.isIPV6 === true && parsed.host.indexOf('%') !== -1) {
527
+ // Persist the zone identifier so recomposition never has to re-derive
528
+ // it from the ambiguous single-"%" component form, which misreads a
529
+ // zone that begins with "25" as a %25 separator. It is validated on
530
+ // use during recomposition, so a host reassigned after parse or an
531
+ // input zone that does not describe the host is ignored. Only zoned
532
+ // literals are ambiguous; plain IPv6 addresses round-trip without it.
533
+ parsed.ipv6Zone = parsed.host.slice(parsed.host.indexOf('%') + 1)
534
+ }
535
+
498
536
  if (malformedIPLiteral) {
499
537
  parsed.error = parsed.error || 'URI host is malformed.'
500
538
  malformedAuthorityOrPort = true