nexus-agents 14.0.0 → 14.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/{ast-rule-runner-3PYXOOLH.js → ast-rule-runner-2PEUHSHO.js} +5 -5
  2. package/dist/{child-mcp-config-AKQYBMMC.js → child-mcp-config-AYVMLJDV.js} +4 -4
  3. package/dist/{chunk-YKCJJP5X.js → chunk-236T3AOZ.js} +4 -4
  4. package/dist/{chunk-GCD3OFFM.js → chunk-5QNWRC7B.js} +2 -2
  5. package/dist/{chunk-LD6QCSHT.js → chunk-B5RDZLU3.js} +4 -4
  6. package/dist/{chunk-UZZHLCYW.js → chunk-CZSEUZFE.js} +2 -2
  7. package/dist/{chunk-6FBREJER.js → chunk-DCPN7F5J.js} +2 -2
  8. package/dist/{chunk-XRMP4PP4.js → chunk-DXDKAVWV.js} +5 -5
  9. package/dist/{chunk-K5MAYIHL.js → chunk-FEAWCZ7E.js} +2 -2
  10. package/dist/{chunk-FLIBWADL.js → chunk-GDCIDLUF.js} +36 -25
  11. package/dist/chunk-GDCIDLUF.js.map +1 -0
  12. package/dist/{chunk-CUPOUBBN.js → chunk-GPZQVYKV.js} +2 -2
  13. package/dist/{chunk-IBGLJEW7.js → chunk-GR4BMQAS.js} +9 -7
  14. package/dist/chunk-GR4BMQAS.js.map +1 -0
  15. package/dist/{chunk-MB2UUFF7.js → chunk-H6SGSQJM.js} +2 -2
  16. package/dist/{chunk-KVFNI2UZ.js → chunk-HJJRUYNR.js} +7 -6
  17. package/dist/chunk-HJJRUYNR.js.map +1 -0
  18. package/dist/{chunk-AJBRMUGK.js → chunk-IZSJWIHK.js} +40 -9
  19. package/dist/chunk-IZSJWIHK.js.map +1 -0
  20. package/dist/{chunk-K6CUB3IV.js → chunk-JV3UBRRA.js} +2 -2
  21. package/dist/{chunk-6EUYMTVU.js → chunk-KXWLZDQR.js} +5 -5
  22. package/dist/{chunk-CQ6FAAOO.js → chunk-LBVPKHHU.js} +3 -3
  23. package/dist/{chunk-EFE6ORME.js → chunk-LC34UPDQ.js} +2 -2
  24. package/dist/{chunk-NA55VLER.js → chunk-LE6TQVXF.js} +2 -2
  25. package/dist/{chunk-KZ5R5HL7.js → chunk-MFUJU7RO.js} +3 -3
  26. package/dist/{chunk-7S6ANELD.js → chunk-MQSSTTZU.js} +4 -4
  27. package/dist/{chunk-CP73UYNV.js → chunk-OQR2C64M.js} +5 -5
  28. package/dist/{chunk-UBCGX47E.js → chunk-P3CFDAW5.js} +2 -2
  29. package/dist/{chunk-G2MC6WXA.js → chunk-PG6NTUTS.js} +8 -8
  30. package/dist/{chunk-HQMIDROO.js → chunk-PQ3V2SYP.js} +2 -2
  31. package/dist/{chunk-36B7J7CZ.js → chunk-Q6R3JTXH.js} +3 -3
  32. package/dist/{chunk-PI54VS4I.js → chunk-SNSV6GGV.js} +10 -10
  33. package/dist/{chunk-BSGMAUA4.js → chunk-SQPFJLCI.js} +3 -3
  34. package/dist/{chunk-7VMEUGNV.js → chunk-TV6RX3ZL.js} +4 -4
  35. package/dist/{chunk-7BKOWPKX.js → chunk-TYIIAIXA.js} +7 -7
  36. package/dist/{chunk-2A4P2DX3.js → chunk-VH4T4O5L.js} +2 -2
  37. package/dist/{chunk-ABTRD52Y.js → chunk-WWBYNWYB.js} +4 -4
  38. package/dist/{chunk-BELY4VU4.js → chunk-YE3T4X2U.js} +4 -4
  39. package/dist/{chunk-XU6N5OKA.js → chunk-YSEMHACQ.js} +36 -37
  40. package/dist/{chunk-XU6N5OKA.js.map → chunk-YSEMHACQ.js.map} +1 -1
  41. package/dist/{cli-circuit-breaker-37UQWOAA.js → cli-circuit-breaker-HWMTEEYI.js} +5 -5
  42. package/dist/{cli-readiness-RSBS6FN3.js → cli-readiness-6C6E2T2O.js} +9 -9
  43. package/dist/{cli-server-gateway-C5QPDUWS.js → cli-server-gateway-HHRF22EB.js} +14 -14
  44. package/dist/cli.js +505 -409
  45. package/dist/cli.js.map +1 -1
  46. package/dist/{composite-router-WERJYE7X.js → composite-router-CX2W7RVA.js} +4 -4
  47. package/dist/{consensus-vote-G2MKNTMW.js → consensus-vote-CQGIWMYY.js} +17 -17
  48. package/dist/{context-retriever-H34LHPWB.js → context-retriever-G4LMWEN5.js} +10 -10
  49. package/dist/{doctor-deep-XBUWYYXO.js → doctor-deep-VOX7KVGK.js} +5 -5
  50. package/dist/{doctor-gateway-report-JRENPRNM.js → doctor-gateway-report-GMYX62JU.js} +7 -7
  51. package/dist/{doctor-live-CFUUN5K4.js → doctor-live-AES3PON5.js} +14 -14
  52. package/dist/{expert-bridge-FPFMGB3W.js → expert-bridge-WEZXYIGA.js} +6 -6
  53. package/dist/{factory-RQ5Q2TMY.js → factory-L2DIM3PM.js} +7 -7
  54. package/dist/{factory-HYRMAIGW.js → factory-L6CLXVPW.js} +13 -13
  55. package/dist/{gemini-adapter-EHQUG5QP.js → gemini-adapter-CL7YW7UZ.js} +8 -8
  56. package/dist/{improvement-review-SMUO5UVF.js → improvement-review-EBC3I55P.js} +6 -6
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.js +27 -27
  59. package/dist/{init-opencode-56GNUSHL.js → init-opencode-F6FV63VR.js} +6 -6
  60. package/dist/{issue-triage-LPX3EU4I.js → issue-triage-3EJ5DSGG.js} +7 -7
  61. package/dist/{model-config-helpers-XBHRUWIC.js → model-config-helpers-27GO3OEU.js} +3 -3
  62. package/dist/{openai-compat-adapter-WEHE5LKH.js → openai-compat-adapter-JJD7VWZC.js} +6 -6
  63. package/dist/{pr-reviewer-helpers-XPT57QHF.js → pr-reviewer-helpers-KGGKESLT.js} +5 -5
  64. package/dist/{registry-command-D5TA6433.js → registry-command-SQQNXDGS.js} +2 -2
  65. package/dist/{repo-security-plan-OH7IPPQU.js → repo-security-plan-CIGD7QBY.js} +4 -4
  66. package/dist/{research-helpers-synthesize-UYICMMMM.js → research-helpers-synthesize-HAQSK2RL.js} +6 -6
  67. package/dist/{routing-memory-PKD2T674.js → routing-memory-AFHV5NDT.js} +4 -4
  68. package/dist/{session-memory-IRR7GLZT.js → session-memory-RBY5SHFK.js} +5 -5
  69. package/dist/{setup-config-N4OYZSCY.js → setup-config-47NNRD4E.js} +5 -5
  70. package/dist/{setup-custom-api-4VLHKKBF.js → setup-custom-api-H74QY7EM.js} +5 -5
  71. package/dist/{tool-memory-MSOEUVUX.js → tool-memory-QESESDGS.js} +7 -7
  72. package/dist/{unified-registry-W2DCYXUT.js → unified-registry-HWZRXFQ6.js} +13 -13
  73. package/dist/{weather-report-FANVIPXZ.js → weather-report-QZLXDT5L.js} +4 -4
  74. package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
  75. package/node_modules/@protobufjs/aspromise/README.md +13 -0
  76. package/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
  77. package/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
  78. package/node_modules/@protobufjs/aspromise/package.json +21 -0
  79. package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
  80. package/node_modules/@protobufjs/base64/LICENSE +26 -0
  81. package/node_modules/@protobufjs/base64/README.md +19 -0
  82. package/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
  83. package/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
  84. package/node_modules/@protobufjs/base64/package.json +21 -0
  85. package/node_modules/@protobufjs/base64/tests/index.js +46 -0
  86. package/node_modules/@protobufjs/codegen/LICENSE +26 -0
  87. package/node_modules/@protobufjs/codegen/README.md +49 -0
  88. package/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
  89. package/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -120
  90. package/node_modules/@protobufjs/codegen/package.json +13 -0
  91. package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
  92. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
  93. package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
  94. package/node_modules/@protobufjs/eventemitter/README.md +22 -0
  95. package/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
  96. package/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
  97. package/node_modules/@protobufjs/eventemitter/package.json +21 -0
  98. package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
  99. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  100. package/node_modules/@protobufjs/fetch/LICENSE +26 -0
  101. package/node_modules/@protobufjs/fetch/README.md +13 -0
  102. package/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
  103. package/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
  104. package/node_modules/@protobufjs/fetch/package.json +27 -0
  105. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  106. package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
  107. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  108. package/node_modules/@protobufjs/float/LICENSE +26 -0
  109. package/node_modules/@protobufjs/float/README.md +102 -0
  110. package/node_modules/@protobufjs/float/bench/index.js +87 -0
  111. package/node_modules/@protobufjs/float/bench/suite.js +46 -0
  112. package/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
  113. package/node_modules/@protobufjs/float/package.json +26 -0
  114. package/node_modules/@protobufjs/float/tests/index.js +100 -0
  115. package/node_modules/@protobufjs/path/LICENSE +26 -0
  116. package/node_modules/@protobufjs/path/README.md +19 -0
  117. package/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
  118. package/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -100
  119. package/node_modules/@protobufjs/path/package.json +21 -0
  120. package/node_modules/@protobufjs/path/tests/index.js +60 -0
  121. package/node_modules/@protobufjs/pool/.npmignore +3 -0
  122. package/node_modules/@protobufjs/pool/LICENSE +26 -0
  123. package/node_modules/@protobufjs/pool/README.md +13 -0
  124. package/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
  125. package/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
  126. package/node_modules/@protobufjs/pool/package.json +21 -0
  127. package/node_modules/@protobufjs/pool/tests/index.js +33 -0
  128. package/node_modules/@protobufjs/utf8/CHANGELOG.md +8 -0
  129. package/node_modules/@protobufjs/utf8/LICENSE +26 -0
  130. package/node_modules/@protobufjs/utf8/README.md +20 -0
  131. package/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
  132. package/node_modules/@protobufjs/utf8/index.js +115 -0
  133. package/node_modules/@protobufjs/utf8/package.json +21 -0
  134. package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
  135. package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
  136. package/node_modules/@protobufjs/utf8/tests/index.js +79 -0
  137. package/node_modules/@types/node/LICENSE +21 -0
  138. package/node_modules/@types/node/README.md +15 -0
  139. package/node_modules/@types/node/assert/strict.d.ts +68 -0
  140. package/node_modules/@types/node/assert.d.ts +1077 -0
  141. package/node_modules/@types/node/async_hooks.d.ts +711 -0
  142. package/node_modules/@types/node/buffer.buffer.d.ts +471 -0
  143. package/node_modules/@types/node/buffer.d.ts +1800 -0
  144. package/node_modules/@types/node/child_process.d.ts +1361 -0
  145. package/node_modules/@types/node/cluster.d.ts +432 -0
  146. package/node_modules/@types/node/console.d.ts +93 -0
  147. package/node_modules/@types/node/constants.d.ts +14 -0
  148. package/node_modules/@types/node/crypto.d.ts +3964 -0
  149. package/node_modules/@types/node/dgram.d.ts +652 -0
  150. package/node_modules/@types/node/diagnostics_channel.d.ts +794 -0
  151. package/node_modules/@types/node/dns/promises.d.ts +497 -0
  152. package/node_modules/@types/node/dns.d.ts +876 -0
  153. package/node_modules/@types/node/domain.d.ts +150 -0
  154. package/node_modules/@types/node/events.d.ts +1008 -0
  155. package/node_modules/@types/node/ffi.d.ts +500 -0
  156. package/node_modules/@types/node/fs/promises.d.ts +1477 -0
  157. package/node_modules/@types/node/fs.d.ts +4803 -0
  158. package/node_modules/@types/node/globals.d.ts +150 -0
  159. package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  160. package/node_modules/@types/node/http.d.ts +2218 -0
  161. package/node_modules/@types/node/http2.d.ts +2498 -0
  162. package/node_modules/@types/node/https.d.ts +400 -0
  163. package/node_modules/@types/node/index.d.ts +116 -0
  164. package/node_modules/@types/node/inspector/promises.d.ts +35 -0
  165. package/node_modules/@types/node/inspector.d.ts +265 -0
  166. package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
  167. package/node_modules/@types/node/module.d.ts +726 -0
  168. package/node_modules/@types/node/net.d.ts +1074 -0
  169. package/node_modules/@types/node/os.d.ts +498 -0
  170. package/node_modules/@types/node/package.json +140 -0
  171. package/node_modules/@types/node/path/posix.d.ts +8 -0
  172. package/node_modules/@types/node/path/win32.d.ts +8 -0
  173. package/node_modules/@types/node/path.d.ts +178 -0
  174. package/node_modules/@types/node/perf_hooks.d.ts +617 -0
  175. package/node_modules/@types/node/process.d.ts +2269 -0
  176. package/node_modules/@types/node/punycode.d.ts +89 -0
  177. package/node_modules/@types/node/querystring.d.ts +139 -0
  178. package/node_modules/@types/node/quic.d.ts +2191 -0
  179. package/node_modules/@types/node/readline/promises.d.ts +158 -0
  180. package/node_modules/@types/node/readline.d.ts +508 -0
  181. package/node_modules/@types/node/repl.d.ts +420 -0
  182. package/node_modules/@types/node/sea.d.ts +47 -0
  183. package/node_modules/@types/node/sqlite.d.ts +1140 -0
  184. package/node_modules/@types/node/stream/consumers.d.ts +114 -0
  185. package/node_modules/@types/node/stream/iter.d.ts +449 -0
  186. package/node_modules/@types/node/stream/promises.d.ts +211 -0
  187. package/node_modules/@types/node/stream/web.d.ts +320 -0
  188. package/node_modules/@types/node/stream.d.ts +1806 -0
  189. package/node_modules/@types/node/string_decoder.d.ts +27 -0
  190. package/node_modules/@types/node/test/reporters.d.ts +60 -0
  191. package/node_modules/@types/node/test.d.ts +2558 -0
  192. package/node_modules/@types/node/timers/promises.d.ts +93 -0
  193. package/node_modules/@types/node/timers.d.ts +149 -0
  194. package/node_modules/@types/node/tls.d.ts +1232 -0
  195. package/node_modules/@types/node/trace_events.d.ts +103 -0
  196. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +467 -0
  197. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  198. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  199. package/node_modules/@types/node/ts5.6/index.d.ts +118 -0
  200. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  201. package/node_modules/@types/node/ts5.7/index.d.ts +118 -0
  202. package/node_modules/@types/node/tty.d.ts +226 -0
  203. package/node_modules/@types/node/url.d.ts +556 -0
  204. package/node_modules/@types/node/util/types.d.ts +558 -0
  205. package/node_modules/@types/node/util.d.ts +1680 -0
  206. package/node_modules/@types/node/v8.d.ts +1059 -0
  207. package/node_modules/@types/node/vfs.d.ts +211 -0
  208. package/node_modules/@types/node/vm.d.ts +1137 -0
  209. package/node_modules/@types/node/wasi.d.ts +131 -0
  210. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  211. package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  212. package/node_modules/@types/node/web-globals/console.d.ts +9 -0
  213. package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  214. package/node_modules/@types/node/web-globals/domexception.d.ts +83 -0
  215. package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  216. package/node_modules/@types/node/web-globals/events.d.ts +106 -0
  217. package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  218. package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  219. package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  220. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  221. package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  222. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  223. package/node_modules/@types/node/web-globals/streams.d.ts +119 -0
  224. package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  225. package/node_modules/@types/node/web-globals/url.d.ts +24 -0
  226. package/node_modules/@types/node/worker_threads.d.ts +672 -0
  227. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  228. package/node_modules/@types/node/zlib.d.ts +612 -0
  229. package/node_modules/fast-uri/.github/dependabot.yml +2 -42
  230. package/node_modules/fast-uri/.github/workflows/ci.yml +6 -54
  231. package/node_modules/fast-uri/.github/workflows/lock-threads.yml +1 -1
  232. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
  233. package/node_modules/fast-uri/.github/workflows/release.yml +2 -1
  234. package/node_modules/fast-uri/README.md +10 -12
  235. package/node_modules/fast-uri/benchmark/benchmark.mjs +0 -71
  236. package/node_modules/fast-uri/index.js +20 -94
  237. package/node_modules/fast-uri/lib/schemes.js +4 -439
  238. package/node_modules/fast-uri/lib/utils.js +113 -230
  239. package/node_modules/fast-uri/package.json +5 -5
  240. package/node_modules/fast-uri/test/equal.test.js +0 -63
  241. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +1 -23
  242. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +1 -23
  243. package/node_modules/fast-uri/test/ipv6-validation.test.js +0 -160
  244. package/node_modules/fast-uri/test/parse.test.js +5 -150
  245. package/node_modules/fast-uri/test/relative-normalization-security.test.js +4 -0
  246. package/node_modules/fast-uri/test/scheme-validation.test.js +5 -3
  247. package/node_modules/fast-uri/test/security.test.js +2 -2
  248. package/node_modules/fast-uri/test/serialize.test.js +0 -144
  249. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +3 -0
  250. package/node_modules/fast-uri/test/uri-js.test.js +9 -11
  251. package/node_modules/fast-uri/test/urn-full-input.test.js +0 -18
  252. package/node_modules/fast-uri/test/util.test.js +0 -9
  253. package/node_modules/fast-uri/tsconfig.json +7 -8
  254. package/node_modules/fast-uri/types/index.d.ts +9 -20
  255. package/node_modules/fast-uri/types/index.test-d.ts +17 -0
  256. package/node_modules/hono/README.md +2 -3
  257. package/node_modules/hono/dist/cjs/helper/css/common.js +8 -3
  258. package/node_modules/hono/dist/cjs/helper/css/index.js +1 -1
  259. package/node_modules/hono/dist/cjs/helper/route/index.js +3 -1
  260. package/node_modules/hono/dist/cjs/jsx/base.js +1 -1
  261. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +8 -0
  262. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +3 -1
  263. package/node_modules/hono/dist/cjs/router/trie-router/node.js +2 -2
  264. package/node_modules/hono/dist/cjs/utils/url.js +11 -6
  265. package/node_modules/hono/dist/helper/css/common.js +8 -3
  266. package/node_modules/hono/dist/helper/css/index.js +1 -1
  267. package/node_modules/hono/dist/helper/route/index.js +3 -1
  268. package/node_modules/hono/dist/jsx/base.js +1 -1
  269. package/node_modules/hono/dist/middleware/bearer-auth/index.js +8 -0
  270. package/node_modules/hono/dist/middleware/serve-static/index.js +3 -1
  271. package/node_modules/hono/dist/router/trie-router/node.js +2 -2
  272. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +1 -1
  273. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +1 -1
  274. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +1 -1
  275. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +1 -1
  276. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +1 -1
  277. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +1 -1
  278. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +1 -1
  279. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +1 -1
  280. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +1 -1
  281. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +1 -1
  282. package/node_modules/hono/dist/types/helper/testing/index.d.ts +2 -1
  283. package/node_modules/hono/dist/types/hono-base.d.ts +21 -9
  284. package/node_modules/hono/dist/types/index.d.ts +1 -1
  285. package/node_modules/hono/dist/types/jsx/components.d.ts +2 -2
  286. package/node_modules/hono/dist/types/jsx/context.d.ts +2 -2
  287. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +2 -2
  288. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +2 -2
  289. package/node_modules/hono/dist/types/jsx/streaming.d.ts +4 -3
  290. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +2 -1
  291. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +3 -3
  292. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +3 -3
  293. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +1 -1
  294. package/node_modules/hono/dist/utils/url.js +11 -6
  295. package/node_modules/hono/package.json +1 -1
  296. package/node_modules/ip-address/dist/common.js +2 -2
  297. package/node_modules/ip-address/dist/common.js.map +1 -1
  298. package/node_modules/ip-address/package.json +2 -2
  299. package/node_modules/path-to-regexp/Readme.md +7 -1
  300. package/node_modules/path-to-regexp/dist/index.d.ts +12 -7
  301. package/node_modules/path-to-regexp/dist/index.js +99 -99
  302. package/node_modules/path-to-regexp/dist/index.js.map +1 -1
  303. package/node_modules/path-to-regexp/package.json +8 -9
  304. package/node_modules/protobufjs/README.md +562 -259
  305. package/node_modules/protobufjs/dist/light/protobuf.js +1915 -3267
  306. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  307. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  308. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  309. package/node_modules/protobufjs/dist/minimal/protobuf.js +1173 -2018
  310. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  311. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  312. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  313. package/node_modules/protobufjs/dist/protobuf.js +1982 -3483
  314. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  315. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  316. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  317. package/node_modules/protobufjs/ext/descriptor/README.md +70 -3
  318. package/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
  319. package/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
  320. package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
  321. package/node_modules/protobufjs/google/api/annotations.json +1 -3
  322. package/node_modules/protobufjs/google/api/http.json +1 -2
  323. package/node_modules/protobufjs/google/protobuf/api.json +6 -12
  324. package/node_modules/protobufjs/google/protobuf/descriptor.json +88 -194
  325. package/node_modules/protobufjs/google/protobuf/descriptor.proto +9 -15
  326. package/node_modules/protobufjs/google/protobuf/source_context.json +1 -2
  327. package/node_modules/protobufjs/google/protobuf/type.json +7 -14
  328. package/node_modules/protobufjs/index.d.ts +685 -1077
  329. package/node_modules/protobufjs/package.json +51 -25
  330. package/node_modules/protobufjs/scripts/postinstall.js +32 -0
  331. package/node_modules/protobufjs/src/common.js +8 -14
  332. package/node_modules/protobufjs/src/converter.js +52 -90
  333. package/node_modules/protobufjs/src/decoder.js +67 -211
  334. package/node_modules/protobufjs/src/encoder.js +7 -27
  335. package/node_modules/protobufjs/src/enum.js +7 -33
  336. package/node_modules/protobufjs/src/field.js +20 -77
  337. package/node_modules/protobufjs/src/index-light.js +29 -29
  338. package/node_modules/protobufjs/src/index-minimal.js +13 -12
  339. package/node_modules/protobufjs/src/index.js +6 -6
  340. package/node_modules/protobufjs/src/mapfield.js +8 -26
  341. package/node_modules/protobufjs/src/message.js +11 -5
  342. package/node_modules/protobufjs/src/method.js +7 -30
  343. package/node_modules/protobufjs/src/namespace.js +10 -26
  344. package/node_modules/protobufjs/src/object.js +31 -44
  345. package/node_modules/protobufjs/src/oneof.js +1 -12
  346. package/node_modules/protobufjs/src/parse.js +67 -194
  347. package/node_modules/protobufjs/src/reader.js +58 -520
  348. package/node_modules/protobufjs/src/reader_buffer.js +5 -31
  349. package/node_modules/protobufjs/src/root.js +4 -16
  350. package/node_modules/protobufjs/src/rpc/service.js +5 -18
  351. package/node_modules/protobufjs/src/service.js +2 -15
  352. package/node_modules/protobufjs/src/tokenize.js +4 -20
  353. package/node_modules/protobufjs/src/type.js +37 -91
  354. package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
  355. package/node_modules/protobufjs/src/util/longbits.js +6 -10
  356. package/node_modules/protobufjs/src/util/minimal.js +51 -71
  357. package/node_modules/protobufjs/src/util.js +17 -51
  358. package/node_modules/protobufjs/src/verifier.js +14 -19
  359. package/node_modules/protobufjs/src/wrappers.js +3 -2
  360. package/node_modules/protobufjs/src/writer.js +189 -428
  361. package/node_modules/protobufjs/src/writer_buffer.js +26 -41
  362. package/node_modules/protobufjs/tsconfig.json +5 -3
  363. package/node_modules/undici-types/LICENSE +21 -0
  364. package/node_modules/undici-types/README.md +6 -0
  365. package/node_modules/undici-types/agent.d.ts +30 -0
  366. package/node_modules/undici-types/api.d.ts +43 -0
  367. package/node_modules/undici-types/balanced-pool.d.ts +30 -0
  368. package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  369. package/node_modules/undici-types/cache.d.ts +36 -0
  370. package/node_modules/undici-types/client-stats.d.ts +15 -0
  371. package/node_modules/undici-types/client.d.ts +134 -0
  372. package/node_modules/undici-types/connector.d.ts +37 -0
  373. package/node_modules/undici-types/content-type.d.ts +21 -0
  374. package/node_modules/undici-types/cookies.d.ts +30 -0
  375. package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  376. package/node_modules/undici-types/dispatcher.d.ts +253 -0
  377. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
  378. package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  379. package/node_modules/undici-types/errors.d.ts +187 -0
  380. package/node_modules/undici-types/eventsource.d.ts +66 -0
  381. package/node_modules/undici-types/fetch.d.ts +235 -0
  382. package/node_modules/undici-types/formdata.d.ts +108 -0
  383. package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  384. package/node_modules/undici-types/global-origin.d.ts +7 -0
  385. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  386. package/node_modules/undici-types/handlers.d.ts +16 -0
  387. package/node_modules/undici-types/header.d.ts +165 -0
  388. package/node_modules/undici-types/index.d.ts +93 -0
  389. package/node_modules/undici-types/interceptors.d.ts +80 -0
  390. package/node_modules/undici-types/mock-agent.d.ts +68 -0
  391. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  392. package/node_modules/undici-types/mock-client.d.ts +27 -0
  393. package/node_modules/undici-types/mock-errors.d.ts +12 -0
  394. package/node_modules/undici-types/mock-interceptor.d.ts +98 -0
  395. package/node_modules/undici-types/mock-pool.d.ts +27 -0
  396. package/node_modules/undici-types/package.json +55 -0
  397. package/node_modules/undici-types/patch.d.ts +29 -0
  398. package/node_modules/undici-types/pool-stats.d.ts +19 -0
  399. package/node_modules/undici-types/pool.d.ts +39 -0
  400. package/node_modules/undici-types/proxy-agent.d.ts +36 -0
  401. package/node_modules/undici-types/readable.d.ts +68 -0
  402. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  403. package/node_modules/undici-types/retry-handler.d.ts +125 -0
  404. package/node_modules/undici-types/round-robin-pool.d.ts +39 -0
  405. package/node_modules/undici-types/snapshot-agent.d.ts +113 -0
  406. package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  407. package/node_modules/undici-types/util.d.ts +18 -0
  408. package/node_modules/undici-types/utility.d.ts +7 -0
  409. package/node_modules/undici-types/webidl.d.ts +346 -0
  410. package/node_modules/undici-types/websocket.d.ts +188 -0
  411. package/package.json +19 -7
  412. package/dist/chunk-AJBRMUGK.js.map +0 -1
  413. package/dist/chunk-FLIBWADL.js.map +0 -1
  414. package/dist/chunk-IBGLJEW7.js.map +0 -1
  415. package/dist/chunk-KVFNI2UZ.js.map +0 -1
  416. package/node_modules/fast-uri/.github/workflows/ossf-scorecard.yml +0 -45
  417. package/node_modules/fast-uri/SECURITY.md +0 -222
  418. package/node_modules/fast-uri/benchmark/encoder.mjs +0 -54
  419. package/node_modules/fast-uri/test/c0-reference-security.test.js +0 -137
  420. package/node_modules/fast-uri/test/host-encoding.test.js +0 -60
  421. package/node_modules/fast-uri/test/mailto-authority-security.test.js +0 -125
  422. package/node_modules/fast-uri/test/mailto-field-name-security.test.js +0 -151
  423. package/node_modules/fast-uri/test/scheme-normalization.test.js +0 -16
  424. package/node_modules/fast-uri/test/security-utf8-encoding.test.js +0 -0
  425. package/node_modules/fast-uri/types/index.tst.ts +0 -31
  426. package/node_modules/protobufjs/ext/README.md +0 -70
  427. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
  428. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -424
  429. package/node_modules/protobufjs/ext/descriptor.js +0 -1405
  430. package/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
  431. package/node_modules/protobufjs/ext/protojson.d.ts +0 -20
  432. package/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
  433. package/node_modules/protobufjs/ext/protojson.js +0 -972
  434. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  435. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
  436. package/node_modules/protobufjs/ext/textformat.js +0 -1280
  437. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  438. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  439. package/node_modules/protobufjs/google/protobuf/json_enumvalue_options.json +0 -56
  440. package/node_modules/protobufjs/google/protobuf/json_enumvalue_options.proto +0 -31
  441. package/node_modules/protobufjs/src/typescript.js +0 -25
  442. package/node_modules/protobufjs/src/util/utf8.js +0 -164
  443. /package/dist/{ast-rule-runner-3PYXOOLH.js.map → ast-rule-runner-2PEUHSHO.js.map} +0 -0
  444. /package/dist/{child-mcp-config-AKQYBMMC.js.map → child-mcp-config-AYVMLJDV.js.map} +0 -0
  445. /package/dist/{chunk-YKCJJP5X.js.map → chunk-236T3AOZ.js.map} +0 -0
  446. /package/dist/{chunk-GCD3OFFM.js.map → chunk-5QNWRC7B.js.map} +0 -0
  447. /package/dist/{chunk-LD6QCSHT.js.map → chunk-B5RDZLU3.js.map} +0 -0
  448. /package/dist/{chunk-UZZHLCYW.js.map → chunk-CZSEUZFE.js.map} +0 -0
  449. /package/dist/{chunk-6FBREJER.js.map → chunk-DCPN7F5J.js.map} +0 -0
  450. /package/dist/{chunk-XRMP4PP4.js.map → chunk-DXDKAVWV.js.map} +0 -0
  451. /package/dist/{chunk-K5MAYIHL.js.map → chunk-FEAWCZ7E.js.map} +0 -0
  452. /package/dist/{chunk-CUPOUBBN.js.map → chunk-GPZQVYKV.js.map} +0 -0
  453. /package/dist/{chunk-MB2UUFF7.js.map → chunk-H6SGSQJM.js.map} +0 -0
  454. /package/dist/{chunk-K6CUB3IV.js.map → chunk-JV3UBRRA.js.map} +0 -0
  455. /package/dist/{chunk-6EUYMTVU.js.map → chunk-KXWLZDQR.js.map} +0 -0
  456. /package/dist/{chunk-CQ6FAAOO.js.map → chunk-LBVPKHHU.js.map} +0 -0
  457. /package/dist/{chunk-EFE6ORME.js.map → chunk-LC34UPDQ.js.map} +0 -0
  458. /package/dist/{chunk-NA55VLER.js.map → chunk-LE6TQVXF.js.map} +0 -0
  459. /package/dist/{chunk-KZ5R5HL7.js.map → chunk-MFUJU7RO.js.map} +0 -0
  460. /package/dist/{chunk-7S6ANELD.js.map → chunk-MQSSTTZU.js.map} +0 -0
  461. /package/dist/{chunk-CP73UYNV.js.map → chunk-OQR2C64M.js.map} +0 -0
  462. /package/dist/{chunk-UBCGX47E.js.map → chunk-P3CFDAW5.js.map} +0 -0
  463. /package/dist/{chunk-G2MC6WXA.js.map → chunk-PG6NTUTS.js.map} +0 -0
  464. /package/dist/{chunk-HQMIDROO.js.map → chunk-PQ3V2SYP.js.map} +0 -0
  465. /package/dist/{chunk-36B7J7CZ.js.map → chunk-Q6R3JTXH.js.map} +0 -0
  466. /package/dist/{chunk-PI54VS4I.js.map → chunk-SNSV6GGV.js.map} +0 -0
  467. /package/dist/{chunk-BSGMAUA4.js.map → chunk-SQPFJLCI.js.map} +0 -0
  468. /package/dist/{chunk-7VMEUGNV.js.map → chunk-TV6RX3ZL.js.map} +0 -0
  469. /package/dist/{chunk-7BKOWPKX.js.map → chunk-TYIIAIXA.js.map} +0 -0
  470. /package/dist/{chunk-2A4P2DX3.js.map → chunk-VH4T4O5L.js.map} +0 -0
  471. /package/dist/{chunk-ABTRD52Y.js.map → chunk-WWBYNWYB.js.map} +0 -0
  472. /package/dist/{chunk-BELY4VU4.js.map → chunk-YE3T4X2U.js.map} +0 -0
  473. /package/dist/{cli-circuit-breaker-37UQWOAA.js.map → cli-circuit-breaker-HWMTEEYI.js.map} +0 -0
  474. /package/dist/{cli-readiness-RSBS6FN3.js.map → cli-readiness-6C6E2T2O.js.map} +0 -0
  475. /package/dist/{cli-server-gateway-C5QPDUWS.js.map → cli-server-gateway-HHRF22EB.js.map} +0 -0
  476. /package/dist/{composite-router-WERJYE7X.js.map → composite-router-CX2W7RVA.js.map} +0 -0
  477. /package/dist/{consensus-vote-G2MKNTMW.js.map → consensus-vote-CQGIWMYY.js.map} +0 -0
  478. /package/dist/{context-retriever-H34LHPWB.js.map → context-retriever-G4LMWEN5.js.map} +0 -0
  479. /package/dist/{doctor-deep-XBUWYYXO.js.map → doctor-deep-VOX7KVGK.js.map} +0 -0
  480. /package/dist/{doctor-gateway-report-JRENPRNM.js.map → doctor-gateway-report-GMYX62JU.js.map} +0 -0
  481. /package/dist/{doctor-live-CFUUN5K4.js.map → doctor-live-AES3PON5.js.map} +0 -0
  482. /package/dist/{expert-bridge-FPFMGB3W.js.map → expert-bridge-WEZXYIGA.js.map} +0 -0
  483. /package/dist/{factory-HYRMAIGW.js.map → factory-L2DIM3PM.js.map} +0 -0
  484. /package/dist/{factory-RQ5Q2TMY.js.map → factory-L6CLXVPW.js.map} +0 -0
  485. /package/dist/{gemini-adapter-EHQUG5QP.js.map → gemini-adapter-CL7YW7UZ.js.map} +0 -0
  486. /package/dist/{improvement-review-SMUO5UVF.js.map → improvement-review-EBC3I55P.js.map} +0 -0
  487. /package/dist/{init-opencode-56GNUSHL.js.map → init-opencode-F6FV63VR.js.map} +0 -0
  488. /package/dist/{issue-triage-LPX3EU4I.js.map → issue-triage-3EJ5DSGG.js.map} +0 -0
  489. /package/dist/{model-config-helpers-XBHRUWIC.js.map → model-config-helpers-27GO3OEU.js.map} +0 -0
  490. /package/dist/{openai-compat-adapter-WEHE5LKH.js.map → openai-compat-adapter-JJD7VWZC.js.map} +0 -0
  491. /package/dist/{pr-reviewer-helpers-XPT57QHF.js.map → pr-reviewer-helpers-KGGKESLT.js.map} +0 -0
  492. /package/dist/{registry-command-D5TA6433.js.map → registry-command-SQQNXDGS.js.map} +0 -0
  493. /package/dist/{repo-security-plan-OH7IPPQU.js.map → repo-security-plan-CIGD7QBY.js.map} +0 -0
  494. /package/dist/{research-helpers-synthesize-UYICMMMM.js.map → research-helpers-synthesize-HAQSK2RL.js.map} +0 -0
  495. /package/dist/{routing-memory-PKD2T674.js.map → routing-memory-AFHV5NDT.js.map} +0 -0
  496. /package/dist/{session-memory-IRR7GLZT.js.map → session-memory-RBY5SHFK.js.map} +0 -0
  497. /package/dist/{setup-config-N4OYZSCY.js.map → setup-config-47NNRD4E.js.map} +0 -0
  498. /package/dist/{setup-custom-api-4VLHKKBF.js.map → setup-custom-api-H74QY7EM.js.map} +0 -0
  499. /package/dist/{tool-memory-MSOEUVUX.js.map → tool-memory-QESESDGS.js.map} +0 -0
  500. /package/dist/{unified-registry-W2DCYXUT.js.map → unified-registry-HWZRXFQ6.js.map} +0 -0
  501. /package/dist/{weather-report-FANVIPXZ.js.map → weather-report-QZLXDT5L.js.map} +0 -0
  502. /package/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  'use strict'
2
2
 
3
- const { isUUID, BYTE_HEX, percentEncodeNonAscii, nonSimpleMailtoDomain } = require('./utils')
3
+ const { isUUID } = require('./utils')
4
4
  const URN_REG = /^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu
5
5
 
6
6
  const supportedSchemeNames = /** @type {const} */ (['http', 'https', 'ws',
7
- 'wss', 'urn', 'urn:uuid', 'mailto'])
7
+ 'wss', 'urn', 'urn:uuid'])
8
8
 
9
9
  /** @typedef {supportedSchemeNames[number]} SchemeName */
10
10
 
@@ -230,10 +230,7 @@ const urn = /** @type {SchemeHandler} */ ({
230
230
  scheme: 'urn',
231
231
  parse: urnParse,
232
232
  serialize: urnSerialize,
233
- skipNormalize: true,
234
- // The NSS is opaque to generic URI path processing. In particular, RFC 2141
235
- // and RFC 8141 do not treat slash-delimited dot segments as equivalent.
236
- absolutePath: true
233
+ skipNormalize: true
237
234
  })
238
235
 
239
236
  const urnuuid = /** @type {SchemeHandler} */ ({
@@ -243,445 +240,13 @@ const urnuuid = /** @type {SchemeHandler} */ ({
243
240
  skipNormalize: true
244
241
  })
245
242
 
246
- /**
247
- * Allow-sets for `encodeWithAllow`, each a `{ all, table, allowNonAscii }`
248
- * descriptor built by `allowSet`:
249
- *
250
- * - `LOCAL_PART` is the intersection of upstream uri-js's VCHAR and
251
- * NOT_PATH_NOSCHEME, minus ",": the serializer joins recipients with "," and
252
- * `mailtoParse` splits the path on it, so a comma left literal inside a local
253
- * part would silently become a recipient delimiter.
254
- * - `HFNAME` is the qchar allow-set used for header names/values.
255
- * - `DTEXT` is RFC 6068 dtext-no-obs restricted to characters that are also
256
- * safe in a URI path; `DTEXT_IRI` additionally permits non-ASCII for
257
- * `unicodeSupport`.
258
- */
259
- const LOCAL_PART_ALLOWED = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$'()*+="
260
- const HFNAME_ALLOWED = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$'()*+,;:@"
261
- const DTEXT_ALLOWED = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$'()*+;:"
262
-
263
- /**
264
- * @typedef {Object} AllowSet
265
- * @property {RegExp} all - matches a whole string needing no encoding at all.
266
- * @property {Uint8Array} table - per-ASCII-code allow lookup for the slow path.
267
- * @property {boolean} allowNonAscii - pass non-ASCII code points through (IRI).
268
- */
269
-
270
- /**
271
- * `all` deliberately excludes "%" and (for the IRI variant) surrogates, so any
272
- * input needing escape normalization or surrogate repair falls to the slow path.
273
- *
274
- * @param {string} chars
275
- * @param {boolean} [allowNonAscii=false]
276
- * @returns {AllowSet}
277
- */
278
- function allowSet (chars, allowNonAscii = false) {
279
- const table = new Uint8Array(128)
280
- for (let i = 0; i < chars.length; i++) {
281
- table[chars.charCodeAt(i)] = 1
282
- }
283
- const escaped = chars.replace(/[\\\]^-]/gu, '\\$&')
284
- const cls = allowNonAscii ? `[${escaped}]|[^\\0-\\x7F\\uD800-\\uDFFF]` : `[${escaped}]`
285
- return { all: new RegExp(`^(?:${cls})*$`, 'u'), table, allowNonAscii }
286
- }
287
-
288
- const LOCAL_PART = allowSet(LOCAL_PART_ALLOWED)
289
- const HFNAME = allowSet(HFNAME_ALLOWED)
290
- const DTEXT = allowSet(DTEXT_ALLOWED)
291
- const DTEXT_IRI = allowSet(DTEXT_ALLOWED, true)
292
-
293
- const HEX_PAIR = /^[\da-f]{2}$/iu
294
- const MAILTO_DOMAIN_LITERAL = /^\[[\x21-\x5A\x5E-\x7E]*\]$/u
295
- const MAILTO_DOMAIN_ERROR = 'URI mailto has an invalid recipient domain.'
296
- const MAILTO_AUTHORITY_ERROR = 'URI mailto must not have an authority component.'
297
- const HAS_SURROGATE = /[\uD800-\uDFFF]/u
298
-
299
- /**
300
- * @param {string} str
301
- * @returns {string}
302
- */
303
- function decodeHex (str) {
304
- if (typeof str !== 'string' || str.indexOf('%') === -1) {
305
- return str
306
- }
307
- try {
308
- return decodeURIComponent(str)
309
- } catch {
310
- return str
311
- }
312
- }
313
-
314
- /**
315
- * Replaces lone surrogates with U+FFFD, leaving valid pairs intact. Only called
316
- * when `HAS_SURROGATE` matched, so the scan cost is not on the common path.
317
- * (`String.prototype.toWellFormed` would do this natively but is Node 20+.)
318
- *
319
- * @param {string} input
320
- * @returns {string}
321
- */
322
- function replaceLoneSurrogates (input) {
323
- let result = ''
324
- for (let i = 0; i < input.length; i++) {
325
- const code = input.charCodeAt(i)
326
- if (code >= 0xD800 && code <= 0xDBFF && i + 1 < input.length) {
327
- const low = input.charCodeAt(i + 1)
328
- if (low >= 0xDC00 && low <= 0xDFFF) {
329
- result += input[i] + input[i + 1]
330
- i++
331
- continue
332
- }
333
- }
334
- result += (code >= 0xD800 && code <= 0xDFFF) ? '\uFFFD' : input[i]
335
- }
336
- return result
337
- }
338
-
339
- /**
340
- * Percent-encodes everything outside `set`, preserving existing valid escapes
341
- * (uppercased) and repairing lone surrogates.
342
- *
343
- * ASCII uses `BYTE_HEX` rather than `encodeURIComponent`. That is equivalent
344
- * only because every character `encodeURIComponent` leaves unescaped
345
- * (`A-Za-z0-9-_.!~*'()`) is present in all of the allow-sets above, so no such
346
- * character ever reaches the encode branch. Re-check if a set is narrowed.
347
- *
348
- * @param {string} input
349
- * @param {AllowSet} set
350
- * @returns {string}
351
- */
352
- function encodeWithAllow (input, set) {
353
- if (set.all.test(input)) {
354
- return input
355
- }
356
-
357
- const table = set.table
358
- let result = ''
359
- for (let i = 0; i < input.length; i++) {
360
- const code = input.charCodeAt(i)
361
-
362
- if (code < 0x80) {
363
- if (table[code] === 1) {
364
- result += input[i]
365
- } else if (code === 0x25 && i + 2 < input.length && HEX_PAIR.test(input.slice(i + 1, i + 3))) {
366
- result += '%' + input.slice(i + 1, i + 3).toUpperCase()
367
- i += 2
368
- } else {
369
- result += BYTE_HEX[code]
370
- }
371
- continue
372
- }
373
-
374
- if (code < 0xD800 || code > 0xDFFF) {
375
- result += set.allowNonAscii ? input[i] : percentEncodeNonAscii(code)
376
- continue
377
- }
378
-
379
- if (code <= 0xDBFF && i + 1 < input.length) {
380
- const low = input.charCodeAt(i + 1)
381
- if (low >= 0xDC00 && low <= 0xDFFF) {
382
- result += set.allowNonAscii
383
- ? input[i] + input[i + 1]
384
- : percentEncodeNonAscii(0x10000 + ((code - 0xD800) << 10) + (low - 0xDC00))
385
- i++
386
- continue
387
- }
388
- }
389
-
390
- result += set.allowNonAscii ? '\uFFFD' : percentEncodeNonAscii(0xFFFD)
391
- }
392
- return result
393
- }
394
-
395
- /**
396
- * @param {string} domain
397
- * @param {import('../types/index').Options} [options]
398
- * @param {{error?:string}} [component]
399
- * @returns {string}
400
- */
401
- function mailtoNormalizeDomain (domain, options, component) {
402
- const normalizedDomain = String(domain).toLowerCase()
403
-
404
- if (MAILTO_DOMAIN_LITERAL.test(normalizedDomain)) {
405
- return normalizedDomain
406
- }
407
-
408
- // `hostname` is the identity for these, so skip constructing a WHATWG URL.
409
- if (normalizedDomain !== '' && !nonSimpleMailtoDomain(normalizedDomain)) {
410
- return normalizedDomain
411
- }
412
-
413
- try {
414
- const parsedDomain = new URL('http://' + normalizedDomain)
415
- if (
416
- parsedDomain.username ||
417
- parsedDomain.password ||
418
- parsedDomain.port ||
419
- parsedDomain.pathname !== '/' ||
420
- parsedDomain.search ||
421
- parsedDomain.hash ||
422
- !parsedDomain.hostname
423
- ) {
424
- throw new Error(MAILTO_DOMAIN_ERROR)
425
- }
426
-
427
- return options && options.unicodeSupport
428
- ? normalizedDomain
429
- : parsedDomain.hostname
430
- } catch {
431
- if (component) {
432
- component.error = component.error || MAILTO_DOMAIN_ERROR
433
- }
434
- return normalizedDomain
435
- }
436
- }
437
-
438
- /**
439
- * Percent-encodes everything in a recipient domain that is not `dtext-no-obs`
440
- * (RFC 6068). Serialize-only: `mailtoNormalizeDomain` returns the domain
441
- * verbatim when validation fails, and `MAILTO_DOMAIN_LITERAL` accepts the full
442
- * RFC 5321 dcontent range (which includes "?", "#", "&" and "/"), so without
443
- * this an attacker-supplied recipient could inject header fields or a fragment
444
- * into the serialized URI. `mailtoParse` deliberately reports the raw domain
445
- * instead, so it must not use this.
446
- * @param {string} domain
447
- * @param {import('../types/index').Options} [options]
448
- * @returns {string}
449
- */
450
- function mailtoEncodeDomain (domain, options) {
451
- const set = options && options.unicodeSupport ? DTEXT_IRI : DTEXT
452
-
453
- // Keep the delimiters of a domain literal, encode its contents.
454
- if (domain.length > 1 && domain[0] === '[' && domain[domain.length - 1] === ']') {
455
- return '[' + encodeWithAllow(domain.slice(1, -1), set) + ']'
456
- }
457
-
458
- return encodeWithAllow(domain, set)
459
- }
460
-
461
- /**
462
- * @param {import('../types/index').URIComponent} component
463
- * @param {import('../types/index').Options} options
464
- * @returns {import('../types/index').URIComponent}
465
- */
466
- function mailtoParse (component, options) {
467
- const mailtoComponent = component
468
-
469
- // The handler sets `skipNormalize`, so path and query arrive raw. Everything
470
- // here goes through `decodeHex`, which subsumes the generic normalizers --
471
- // except that they also fold lone surrogates to U+FFFD, so do that here.
472
- let rawPath = mailtoComponent.path
473
- let rawQuery = mailtoComponent.query
474
- if (rawPath && HAS_SURROGATE.test(rawPath)) rawPath = replaceLoneSurrogates(rawPath)
475
- if (rawQuery && HAS_SURROGATE.test(rawQuery)) rawQuery = replaceLoneSurrogates(rawQuery)
476
-
477
- const to = rawPath
478
- ? (rawPath.indexOf(',') === -1 ? [rawPath] : rawPath.split(','))
479
- : []
480
- mailtoComponent.path = undefined
481
-
482
- if (rawQuery) {
483
- // Null prototype: header names come from untrusted input, so `headers[name]`
484
- // must not resolve to inherited members ("constructor", "toString", ...),
485
- // and "__proto__" has to land as a plain own property instead of hitting
486
- // Object.prototype's setter and being silently dropped. Allocated lazily so
487
- // the common subject/body-only URI does not pay for it.
488
- /** @type {Record<string,string>|null} */
489
- let headers = null
490
- let start = 0
491
- while (start <= rawQuery.length) {
492
- let end = rawQuery.indexOf('&', start)
493
- if (end === -1) end = rawQuery.length
494
- const token = rawQuery.slice(start, end)
495
- start = end + 1
496
-
497
- const eqIdx = token.indexOf('=')
498
- if (eqIdx !== token.lastIndexOf('=')) {
499
- mailtoComponent.error = mailtoComponent.error || 'URI mailto has malformed header fields.'
500
- continue
501
- }
502
- const name = decodeHex(eqIdx === -1 ? token : token.slice(0, eqIdx))
503
- const normalizedName = name.toLowerCase()
504
- const value = eqIdx === -1 ? '' : token.slice(eqIdx + 1)
505
- if (normalizedName === 'to') {
506
- const addrs = value.split(',')
507
- for (let j = 0; j < addrs.length; j++) to.push(addrs[j])
508
- continue
509
- }
510
- if (normalizedName === 'subject') {
511
- mailtoComponent.subject = decodeHex(value)
512
- continue
513
- }
514
- if (normalizedName === 'body') {
515
- mailtoComponent.body = decodeHex(value)
516
- continue
517
- }
518
- if (headers === null) headers = /** @type {Record<string,string>} */ (Object.create(null))
519
- headers[name] = decodeHex(value)
520
- }
521
- if (headers !== null) mailtoComponent.headers = headers
522
- }
523
-
524
- mailtoComponent.query = undefined
525
-
526
- // RFC 6068 defines no authority for the `mailto` scheme. A `mailto://` input
527
- // that retains an authority and also carries recipients (from the path or a
528
- // `to=` hfield) folds a leading "/" into the recipient local part on the
529
- // next parse; the generic serializer then reinserts a "/" before that path
530
- // on every pass, so serialize(parse(x)) is not a fixpoint and a
531
- // renormalize-to-fixpoint loop accretes one "%2F" per pass. Drop the
532
- // retained authority so the parse -> serialize round trip is stable. A bare
533
- // `mailto://host` with no recipients is left as-is: it is idempotent and host
534
- // normalization for skip-normalize schemes stays intact.
535
- if (
536
- to.length > 0 &&
537
- (mailtoComponent.userinfo !== undefined ||
538
- mailtoComponent.host !== undefined ||
539
- mailtoComponent.port !== undefined)
540
- ) {
541
- mailtoComponent.userinfo = undefined
542
- mailtoComponent.host = undefined
543
- mailtoComponent.port = undefined
544
- mailtoComponent.error = mailtoComponent.error || MAILTO_AUTHORITY_ERROR
545
- }
546
-
547
- for (let i = 0; i < to.length; i++) {
548
- const rawAddr = to[i]
549
- const atIdx = rawAddr.lastIndexOf('@')
550
- if (atIdx < 0) {
551
- mailtoComponent.error = mailtoComponent.error || MAILTO_DOMAIN_ERROR
552
- to[i] = decodeHex(rawAddr)
553
- continue
554
- }
555
- const local = decodeHex(rawAddr.slice(0, atIdx))
556
- const domain = mailtoNormalizeDomain(decodeHex(rawAddr.slice(atIdx + 1)), options, mailtoComponent)
557
- to[i] = local + '@' + domain
558
- }
559
-
560
- if (to.length) mailtoComponent.to = to
561
-
562
- return mailtoComponent
563
- }
564
-
565
- /**
566
- * Encodes a decoded mailto header name. Unlike `encodeWithAllow`, a percent
567
- * sign is always data here, even when followed by two hex digits. Preserving
568
- * such a sequence as an existing escape would decode the name again on the
569
- * next parse and could turn a generic header into `to`, `subject`, or `body`.
570
- * @param {string} name
571
- * @returns {string}
572
- */
573
- function mailtoEncodeHeaderName (name) {
574
- return encodeWithAllow(name.replace(/%/gu, '%25'), HFNAME)
575
- }
576
-
577
- /**
578
- * @param {import('../types/index').URIComponent} component
579
- * @param {import('../types/index').Options} options
580
- * @returns {import('../types/index').URIComponent}
581
- */
582
- function mailtoSerialize (component, options) {
583
- const mailtoComponent = component
584
- const to = Array.isArray(mailtoComponent.to) ? mailtoComponent.to.slice() : []
585
- const sourceHeaders = mailtoComponent.headers && typeof mailtoComponent.headers === 'object'
586
- ? Object.assign(Object.create(null), mailtoComponent.headers)
587
- : Object.create(null)
588
- const headers = Object.create(null)
589
-
590
- // Header field names are case-insensitive. Canonicalize the fields with
591
- // dedicated component properties so callers cannot smuggle a second spelling
592
- // through `headers`. As during parsing, all `to` fields are accumulated;
593
- // repeated subject/body fields use the last value.
594
- for (const name in sourceHeaders) {
595
- const normalizedName = name.toLowerCase()
596
- if (normalizedName === 'to') {
597
- const addrs = String(sourceHeaders[name]).split(',')
598
- for (let i = 0; i < addrs.length; i++) to.push(addrs[i])
599
- } else if (normalizedName === 'subject' || normalizedName === 'body') {
600
- headers[normalizedName] = sourceHeaders[name]
601
- } else {
602
- headers[name] = sourceHeaders[name]
603
- }
604
- }
605
-
606
- if (mailtoComponent.subject !== undefined) headers.subject = mailtoComponent.subject
607
- if (mailtoComponent.body !== undefined) headers.body = mailtoComponent.body
608
- mailtoComponent.headers = headers
609
-
610
- if (to.length) {
611
- // RFC 6068 defines no authority for the `mailto` scheme. If an
612
- // application constructs a component with both an authority and recipients,
613
- // drop the authority before the generic serializer can insert a "/" path
614
- // separator that becomes part of the first recipient on the next parse.
615
- mailtoComponent.userinfo = undefined
616
- mailtoComponent.host = undefined
617
- mailtoComponent.port = undefined
618
-
619
- for (let i = 0; i < to.length; i++) {
620
- const addr = String(to[i])
621
- const atIdx = addr.lastIndexOf('@')
622
- const rawLocal = atIdx >= 0 ? addr.slice(0, atIdx) : addr
623
- const rawDomain = atIdx >= 0 ? addr.slice(atIdx + 1) : ''
624
- const local = encodeWithAllow(rawLocal, LOCAL_PART)
625
- const decodedDomain = decodeHex(rawDomain)
626
- // `component` is intentionally not passed: index.js's `serialize` writes
627
- // the error onto a private copy and returns only a string, so an error
628
- // recorded here would be unreachable. Safety comes from encoding instead.
629
- const normalizedDomain = mailtoNormalizeDomain(decodedDomain, options)
630
- to[i] = local + '@' + mailtoEncodeDomain(normalizedDomain, options)
631
- }
632
- // Every recipient is now fully encoded and only the joining commas are
633
- // literal, so bypass index.js's generic encoder, whose allow-set is
634
- // narrower than upstream's and would over-encode.
635
- mailtoComponent.path = to.join(',')
636
- options.skipEscape = true
637
- } else {
638
- // No recipients: drop any caller-supplied path, matching upstream uri-js.
639
- // `to` is the only recipient source, and `mailtoParse` always moves the
640
- // path into it, so a mailto component never legitimately carries one.
641
- mailtoComponent.path = undefined
642
- }
643
-
644
- // `headers` has a null prototype, so every enumerable key is an own property
645
- // and no hasOwnProperty guard is needed.
646
- let query = ''
647
- let count = 0
648
- for (const name in headers) {
649
- if (count++ !== 0) query += '&'
650
- query += mailtoEncodeHeaderName(name) + '=' + encodeWithAllow(String(headers[name]), HFNAME)
651
- }
652
-
653
- if (count !== 0) {
654
- mailtoComponent.query = query
655
- } else {
656
- mailtoComponent.headers = undefined
657
- }
658
-
659
- return mailtoComponent
660
- }
661
-
662
- const mailto = /** @type {SchemeHandler} */ ({
663
- scheme: 'mailto',
664
- parse: mailtoParse,
665
- serialize: mailtoSerialize,
666
- domainHost: false,
667
- unicodeSupport: true,
668
- // `mailtoParse` re-derives every component from the raw path/query via
669
- // `decodeHex`, which subsumes the generic normalizers, so running them first
670
- // is wasted work (~28% of parsing a URI with header fields).
671
- skipNormalize: true,
672
- // A recipient list has no dot segments to remove, and `removeDotSegments`
673
- // would rewrite a "./"-prefixed local part.
674
- absolutePath: true
675
- })
676
-
677
243
  const SCHEMES = /** @type {Record<SchemeName, SchemeHandler>} */ ({
678
244
  http,
679
245
  https,
680
246
  ws,
681
247
  wss,
682
248
  urn,
683
- 'urn:uuid': urnuuid,
684
- mailto
249
+ 'urn:uuid': urnuuid
685
250
  })
686
251
 
687
252
  Object.setPrototypeOf(SCHEMES, null)