@opencode-ai/cli-darwin-arm64 0.0.0-beta-202606071124 → 0.0.0-beta-202606071222

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 (188) hide show
  1. package/bin/{chunk-knnp9vge.js.map → chunk-0ypav2mc.js.map} +1 -1
  2. package/bin/{chunk-1zxbrxd0.js.map → chunk-14j90bn8.js.map} +2 -2
  3. package/bin/{chunk-k2qpqrs2.js.map → chunk-18tx7wge.js.map} +1 -1
  4. package/bin/{chunk-3r25hy3a.js.map → chunk-1q8s5vzg.js.map} +1 -1
  5. package/bin/{chunk-xkq4ea03.js.map → chunk-1tffdbmk.js.map} +1 -1
  6. package/bin/{chunk-nxaz3c1x.js.map → chunk-2brzx69x.js.map} +1 -1
  7. package/bin/{chunk-g0kgy39q.js.map → chunk-2cm34ga5.js.map} +1 -1
  8. package/bin/{chunk-bdmdpss4.js.map → chunk-2ngw8g7y.js.map} +1 -1
  9. package/bin/{chunk-z7k7zcpj.js.map → chunk-2qqhn0m6.js.map} +1 -1
  10. package/bin/{chunk-6wa272rk.js.map → chunk-36wrheed.js.map} +1 -1
  11. package/bin/{chunk-13j1j1t6.js.map → chunk-379dcc4a.js.map} +1 -1
  12. package/bin/{chunk-gqk541mk.js.map → chunk-3ft127pe.js.map} +1 -1
  13. package/bin/{chunk-5z4svcy8.js.map → chunk-3hj3q85t.js.map} +1 -1
  14. package/bin/{chunk-gcae9y79.js.map → chunk-3vb8eg4b.js.map} +1 -1
  15. package/bin/chunk-3wrm3e6d.js.map +13 -0
  16. package/bin/{chunk-3p18h9hk.js.map → chunk-3x6777xr.js.map} +1 -1
  17. package/bin/{chunk-s20a34rg.js.map → chunk-454brrdb.js.map} +1 -1
  18. package/bin/{chunk-4qr0kzey.js.map → chunk-4m9m727b.js.map} +1 -1
  19. package/bin/{chunk-r92k4g7b.js.map → chunk-5ar18e17.js.map} +1 -1
  20. package/bin/{chunk-bk1cz389.js.map → chunk-5k9bz722.js.map} +1 -1
  21. package/bin/{chunk-54tk0a3b.js.map → chunk-5tzebfsv.js.map} +1 -1
  22. package/bin/chunk-62f1x3dz.js.map +9 -0
  23. package/bin/{chunk-nh5dt02n.js.map → chunk-6ae868y5.js.map} +2 -2
  24. package/bin/{chunk-0azacwda.js.map → chunk-6b271hxr.js.map} +1 -1
  25. package/bin/{chunk-7evry7wf.js.map → chunk-6nn4g9yx.js.map} +1 -1
  26. package/bin/{chunk-4tgjvd8v.js.map → chunk-6ny8qetm.js.map} +2 -2
  27. package/bin/{chunk-c3j1ephx.js.map → chunk-6q24nz4x.js.map} +2 -2
  28. package/bin/chunk-6qxxmr2c.js.map +9 -0
  29. package/bin/{chunk-r1mxb5pf.js.map → chunk-6rxpqbj1.js.map} +1 -1
  30. package/bin/chunk-71fvj8rq.js.map +12 -0
  31. package/bin/{chunk-jxqdfmv1.js.map → chunk-74v7qdn5.js.map} +1 -1
  32. package/bin/{chunk-403y75mr.js.map → chunk-773v7hqx.js.map} +1 -1
  33. package/bin/{chunk-w0g6bj68.js.map → chunk-78f9be7g.js.map} +1 -1
  34. package/bin/{chunk-wtrx6sbd.js.map → chunk-7pf2baqc.js.map} +2 -2
  35. package/bin/{chunk-pnys3h13.js.map → chunk-83gfssgf.js.map} +1 -1
  36. package/bin/{chunk-eq69q2d3.js.map → chunk-8p674kzp.js.map} +2 -2
  37. package/bin/{chunk-xxntcc58.js.map → chunk-8p9qpvtf.js.map} +2 -2
  38. package/bin/{chunk-fchmf5g3.js.map → chunk-8ssk0c5a.js.map} +1 -1
  39. package/bin/chunk-8v7jn9eb.js.map +9 -0
  40. package/bin/{chunk-v9r1aghe.js.map → chunk-8v8vmw84.js.map} +1 -1
  41. package/bin/{chunk-sn2rn5zz.js.map → chunk-8z5vexck.js.map} +1 -1
  42. package/bin/chunk-8zwfnb1q.js.map +9 -0
  43. package/bin/{chunk-mpba78zh.js.map → chunk-970mg0mh.js.map} +1 -1
  44. package/bin/{chunk-w1p2sv47.js.map → chunk-9ecqt2ks.js.map} +1 -1
  45. package/bin/{chunk-q7x271pe.js.map → chunk-9mkyxdnk.js.map} +1 -1
  46. package/bin/{chunk-n5yedwkx.js.map → chunk-9zt2m46m.js.map} +1 -1
  47. package/bin/{chunk-cp9a5cy2.js.map → chunk-9zybzvz0.js.map} +1 -1
  48. package/bin/{chunk-98cp3xm8.js.map → chunk-ab1rzdx3.js.map} +1 -1
  49. package/bin/{chunk-24v9yc03.js.map → chunk-ahw2610y.js.map} +1 -1
  50. package/bin/{chunk-sze4nfxj.js.map → chunk-amwjxrsm.js.map} +2 -2
  51. package/bin/{chunk-ryr15312.js.map → chunk-anjdamyz.js.map} +1 -1
  52. package/bin/{chunk-8np84pzz.js.map → chunk-avk7sbs5.js.map} +1 -1
  53. package/bin/chunk-ax6787c2.js.map +9 -0
  54. package/bin/{chunk-41h0ectg.js.map → chunk-b4ekg9se.js.map} +1 -1
  55. package/bin/{chunk-byn5126h.js.map → chunk-b9amyz0h.js.map} +1 -1
  56. package/bin/{chunk-sg7e0tmv.js.map → chunk-bak203jw.js.map} +1 -1
  57. package/bin/{chunk-dbemfnee.js.map → chunk-bnqqhmf7.js.map} +1 -1
  58. package/bin/{chunk-4gb1tber.js.map → chunk-bwy4x64s.js.map} +1 -1
  59. package/bin/{chunk-dgme073k.js.map → chunk-c87mgmt2.js.map} +1 -1
  60. package/bin/{chunk-m7fbdtss.js.map → chunk-c9ntnnq6.js.map} +1 -1
  61. package/bin/{chunk-y3m0cx3q.js.map → chunk-cs6pt56h.js.map} +2 -2
  62. package/bin/{chunk-j0pd0037.js.map → chunk-csq9d45x.js.map} +1 -1
  63. package/bin/{chunk-2z74dzzd.js.map → chunk-d70d84wx.js.map} +1 -1
  64. package/bin/{chunk-fxtn6hcd.js.map → chunk-dd15eerz.js.map} +1 -1
  65. package/bin/{chunk-dhhvvz7c.js.map → chunk-dj8y56na.js.map} +1 -1
  66. package/bin/{chunk-75xw6p1f.js.map → chunk-drb4bm6s.js.map} +1 -1
  67. package/bin/{chunk-q1gfp9sm.js.map → chunk-e0qza7v1.js.map} +1 -1
  68. package/bin/chunk-e3bep904.js.map +9 -0
  69. package/bin/{chunk-4ks8zesx.js.map → chunk-e4rgdcpf.js.map} +1 -1
  70. package/bin/chunk-e8ys11rn.js.map +9 -0
  71. package/bin/{chunk-cv7ses8t.js.map → chunk-ers7rsdd.js.map} +1 -1
  72. package/bin/{chunk-gxabd2nw.js.map → chunk-f93tppqj.js.map} +1 -1
  73. package/bin/{chunk-bw4mxbqk.js.map → chunk-fnd36eet.js.map} +1 -1
  74. package/bin/{chunk-8m7knej5.js.map → chunk-fp7zvjyd.js.map} +1 -1
  75. package/bin/{chunk-n1y14vg2.js.map → chunk-fv16d8zy.js.map} +2 -2
  76. package/bin/{chunk-vmn2h78w.js.map → chunk-fz2j46wg.js.map} +1 -1
  77. package/bin/{chunk-kx38vg5a.js.map → chunk-g4dnqvc3.js.map} +1 -1
  78. package/bin/{chunk-vcsd7k1x.js.map → chunk-g57x8x5f.js.map} +1 -1
  79. package/bin/{chunk-5rxx7zwp.js.map → chunk-g883ej4q.js.map} +1 -1
  80. package/bin/{chunk-tceqdv58.js.map → chunk-gb5psat6.js.map} +1 -1
  81. package/bin/{chunk-5vj59e0f.js.map → chunk-ggccpdtb.js.map} +2 -2
  82. package/bin/{chunk-qjzx50q1.js.map → chunk-gtb3rpgf.js.map} +2 -2
  83. package/bin/{chunk-7s7x7y05.js.map → chunk-gtbz3ypb.js.map} +1 -1
  84. package/bin/{chunk-ffy2h9sg.js.map → chunk-h2evfnab.js.map} +1 -1
  85. package/bin/{chunk-17mp0nfh.js.map → chunk-h5e9wmx6.js.map} +1 -1
  86. package/bin/{chunk-hdvp0f9r.js.map → chunk-hj887hbb.js.map} +1 -1
  87. package/bin/chunk-hjeea5dx.js.map +9 -0
  88. package/bin/{chunk-n9n5a40m.js.map → chunk-hmxnw0ze.js.map} +2 -2
  89. package/bin/{chunk-2edqgvge.js.map → chunk-hqthathp.js.map} +1 -1
  90. package/bin/{chunk-s0wg9112.js.map → chunk-htmpjh7j.js.map} +1 -1
  91. package/bin/{chunk-bcxct0va.js.map → chunk-hx8k7n79.js.map} +1 -1
  92. package/bin/{chunk-scsr6d3p.js.map → chunk-j4ymfygs.js.map} +1 -1
  93. package/bin/chunk-j5fdfnvw.js.map +9 -0
  94. package/bin/{chunk-q1vg7k6s.js.map → chunk-j5x065wn.js.map} +1 -1
  95. package/bin/{chunk-kdtt3kep.js.map → chunk-j9kqx1p0.js.map} +1 -1
  96. package/bin/{chunk-dne32429.js.map → chunk-jfwjqbvx.js.map} +5 -8
  97. package/bin/{chunk-6qgewm4t.js.map → chunk-jyfsmhj7.js.map} +2 -2
  98. package/bin/chunk-jzvqg3yy.js.map +9 -0
  99. package/bin/{chunk-1cak1vkq.js.map → chunk-k6kyhryc.js.map} +1 -1
  100. package/bin/{chunk-3redr7rh.js.map → chunk-krs50s48.js.map} +1 -1
  101. package/bin/{chunk-myndkhgb.js.map → chunk-m4d1ge6w.js.map} +8 -8
  102. package/bin/{chunk-h8emc2wn.js.map → chunk-mdpgsks2.js.map} +1 -1
  103. package/bin/{chunk-exk90nga.js.map → chunk-mm8pa86f.js.map} +1 -1
  104. package/bin/{chunk-2wb4pj1k.js.map → chunk-mq1ndxq3.js.map} +1 -1
  105. package/bin/{chunk-wprsg4bp.js.map → chunk-mtzyxy27.js.map} +1 -1
  106. package/bin/{chunk-z3pqnsp0.js.map → chunk-n2wrfsks.js.map} +1 -1
  107. package/bin/{chunk-cc0wrggq.js.map → chunk-ndqpbp32.js.map} +1 -1
  108. package/bin/{chunk-ax39hv9r.js.map → chunk-nvngqfxx.js.map} +1 -1
  109. package/bin/{chunk-bdg7526e.js.map → chunk-paf93xjg.js.map} +1 -1
  110. package/bin/{chunk-r951dpb6.js.map → chunk-pfkte577.js.map} +2 -2
  111. package/bin/{chunk-8m4gq827.js.map → chunk-pgkj1m3j.js.map} +1 -1
  112. package/bin/{chunk-gg34c3gg.js.map → chunk-prpaz59z.js.map} +1 -1
  113. package/bin/{chunk-w1d7g90x.js.map → chunk-pwpx00qx.js.map} +1 -1
  114. package/bin/chunk-pzh3wnzp.js.map +9 -0
  115. package/bin/{chunk-z5eche3r.js.map → chunk-qr4f68j5.js.map} +1 -1
  116. package/bin/{chunk-v7y93rss.js.map → chunk-qypdvv9e.js.map} +1 -1
  117. package/bin/{chunk-0f29ff7x.js.map → chunk-r9yyft9k.js.map} +1 -1
  118. package/bin/{chunk-51maq96s.js.map → chunk-rat7rm5w.js.map} +1 -1
  119. package/bin/{chunk-dbf8tgq1.js.map → chunk-rc139dn2.js.map} +1 -1
  120. package/bin/{chunk-29h7ypx4.js.map → chunk-rs63fznc.js.map} +1 -1
  121. package/bin/{chunk-kmwtfk7d.js.map → chunk-rt6hs7nz.js.map} +1 -1
  122. package/bin/{chunk-zs2frsgt.js.map → chunk-rxmcgbfp.js.map} +1 -1
  123. package/bin/chunk-ry18t59j.js.map +9 -0
  124. package/bin/{chunk-7vr5jqy9.js.map → chunk-s69ehp3v.js.map} +1 -1
  125. package/bin/{chunk-qy4jch2k.js.map → chunk-s7acgp5h.js.map} +1 -1
  126. package/bin/chunk-sj5fpwcq.js.map +9 -0
  127. package/bin/{chunk-k4j35vyg.js.map → chunk-sqg040vx.js.map} +1 -1
  128. package/bin/chunk-ssbf3qkq.js.map +9 -0
  129. package/bin/{chunk-0p1h1yen.js.map → chunk-t88c9mr4.js.map} +1 -1
  130. package/bin/{chunk-2467ay10.js.map → chunk-tag56q45.js.map} +2 -2
  131. package/bin/{chunk-8b2cw22d.js.map → chunk-trkaq9c8.js.map} +1 -1
  132. package/bin/{chunk-2xz2k032.js.map → chunk-trsyfycr.js.map} +2 -2
  133. package/bin/{chunk-9dbmetx4.js.map → chunk-v21twcqa.js.map} +1 -1
  134. package/bin/{chunk-jnht79fb.js.map → chunk-v9n6gdky.js.map} +17 -57
  135. package/bin/chunk-vacnvq5w.js.map +9 -0
  136. package/bin/{chunk-kxckn9ym.js.map → chunk-vmyby2b9.js.map} +3 -6
  137. package/bin/chunk-vp5nsj7n.js.map +60 -0
  138. package/bin/{chunk-jdrhc71e.js.map → chunk-vv78ab6h.js.map} +1 -1
  139. package/bin/{chunk-drceka9d.js.map → chunk-w37e50en.js.map} +1 -1
  140. package/bin/{chunk-8szesk4f.js.map → chunk-wadx6z8v.js.map} +1 -1
  141. package/bin/{chunk-jm95p4ee.js.map → chunk-wc4kexfx.js.map} +1 -1
  142. package/bin/{chunk-azpvp35b.js.map → chunk-wzv1gkv5.js.map} +1 -1
  143. package/bin/{chunk-ccxr1p90.js.map → chunk-x4ban904.js.map} +1 -1
  144. package/bin/{chunk-ppg01ant.js.map → chunk-xecswj93.js.map} +1 -1
  145. package/bin/{chunk-n0adk7gt.js.map → chunk-xfmwz6rf.js.map} +1 -1
  146. package/bin/{chunk-mfv1mg0h.js.map → chunk-xkmgw1r4.js.map} +1 -1
  147. package/bin/{chunk-9cehpaw4.js.map → chunk-xn3xd785.js.map} +1 -1
  148. package/bin/{chunk-4cr9b7yn.js.map → chunk-z03endvh.js.map} +1 -1
  149. package/bin/{chunk-0aahcz1x.js.map → chunk-z15dd8sr.js.map} +1 -1
  150. package/bin/{chunk-2awtp59c.js.map → chunk-zh97hw4q.js.map} +1 -1
  151. package/bin/{chunk-dkcf1vra.js.map → chunk-zh983pcw.js.map} +1 -1
  152. package/bin/{chunk-rdecah6r.js.map → chunk-zhcxnrx9.js.map} +1 -1
  153. package/bin/{chunk-2rcyqbr4.js.map → chunk-zj13yh2s.js.map} +1 -1
  154. package/bin/index.js.map +1 -1
  155. package/bin/lildax +0 -0
  156. package/bin/parser.worker.js.map +1 -1
  157. package/package.json +1 -1
  158. package/bin/chunk-243q39yh.js.map +0 -10
  159. package/bin/chunk-5pwfkzt8.js.map +0 -9
  160. package/bin/chunk-5xccccqx.js.map +0 -9
  161. package/bin/chunk-7wrtkptv.js.map +0 -9
  162. package/bin/chunk-9c4aby2v.js.map +0 -9
  163. package/bin/chunk-ezppxxxn.js.map +0 -9
  164. package/bin/chunk-fd634h9c.js.map +0 -9
  165. package/bin/chunk-g8482ftx.js.map +0 -9
  166. package/bin/chunk-h1c40saz.js.map +0 -9
  167. package/bin/chunk-hr2m7y9m.js.map +0 -9
  168. package/bin/chunk-mx01fh5z.js.map +0 -9
  169. package/bin/chunk-r8v75b3p.js.map +0 -9
  170. package/bin/chunk-s13b9w6e.js.map +0 -9
  171. package/bin/chunk-wnen6avv.js.map +0 -9
  172. package/bin/chunk-xb8mqyxa.js.map +0 -20
  173. package/bin/chunk-z0768ebg.js.map +0 -9
  174. package/bin/chunk-zvtvqqhe.js.map +0 -9
  175. /package/bin/{chunk-g2d1f6k1.js.map → chunk-062mgxj4.js.map} +0 -0
  176. /package/bin/{chunk-v3dmrs36.js.map → chunk-6ved6nc3.js.map} +0 -0
  177. /package/bin/{chunk-frq7aqj0.js.map → chunk-8yyg7wrz.js.map} +0 -0
  178. /package/bin/{chunk-fsxwa9pj.js.map → chunk-9s4q8h4t.js.map} +0 -0
  179. /package/bin/{chunk-8r9kb17y.js.map → chunk-g4fwxcfe.js.map} +0 -0
  180. /package/bin/{chunk-a7mpw67k.js.map → chunk-hrbsp8xb.js.map} +0 -0
  181. /package/bin/{chunk-47zmsxbb.js.map → chunk-k4bh00hf.js.map} +0 -0
  182. /package/bin/{chunk-xk5h31f0.js.map → chunk-mdmayghb.js.map} +0 -0
  183. /package/bin/{chunk-wmwrf2je.js.map → chunk-n7wbyrgd.js.map} +0 -0
  184. /package/bin/{chunk-wb21ymtt.js.map → chunk-rd9r63qp.js.map} +0 -0
  185. /package/bin/{chunk-zvkzm2xg.js.map → chunk-tmtghd42.js.map} +0 -0
  186. /package/bin/{chunk-x7cedtak.js.map → chunk-tz9jeghm.js.map} +0 -0
  187. /package/bin/{chunk-8a2grpy5.js.map → chunk-weyj5bjq.js.map} +0 -0
  188. /package/bin/{chunk-hyrw35ka.js.map → chunk-zebvzwcm.js.map} +0 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../node_modules/.bun/find-my-way-ts@0.1.6/node_modules/find-my-way-ts/dist/esm/QueryString.js", "../../node_modules/.bun/find-my-way-ts@0.1.6/node_modules/find-my-way-ts/dist/esm/internal/router.js", "../../node_modules/.bun/find-my-way-ts@0.1.6/node_modules/find-my-way-ts/dist/esm/index.js", "../../node_modules/.bun/effect@4.0.0-beta.74/node_modules/effect/dist/unstable/http/HttpRouter.js"],
4
+ "sourcesContent": [
5
+ "/**\n * @since 1.0.0\n */\n// Taken from https://github.com/anonrig/fast-querystring under MIT License\nconst plusRegex = /\\+/g;\nconst Empty = function () {};\nEmpty.prototype = /*#__PURE__*/Object.create(null);\n/**\n * @category parsing\n * @since 1.0.0\n */\nexport function parse(input) {\n // Optimization: Use new Empty() instead of Object.create(null) for performance\n // v8 has a better optimization for initializing functions compared to Object\n const result = new Empty();\n if (typeof input !== \"string\") {\n return result;\n }\n const inputLength = input.length;\n let key = \"\";\n let value = \"\";\n let startingIndex = -1;\n let equalityIndex = -1;\n let shouldDecodeKey = false;\n let shouldDecodeValue = false;\n let keyHasPlus = false;\n let valueHasPlus = false;\n let hasBothKeyValuePair = false;\n let c = 0;\n // Have a boundary of input.length + 1 to access last pair inside the loop.\n for (let i = 0; i < inputLength + 1; i++) {\n c = i !== inputLength ? input.charCodeAt(i) : 38;\n // Handle '&' and end of line to pass the current values to result\n if (c === 38) {\n hasBothKeyValuePair = equalityIndex > startingIndex;\n // Optimization: Reuse equality index to store the end of key\n if (!hasBothKeyValuePair) {\n equalityIndex = i;\n }\n key = input.slice(startingIndex + 1, equalityIndex);\n // Add key/value pair only if the range size is greater than 1; a.k.a. contains at least \"=\"\n if (hasBothKeyValuePair || key.length > 0) {\n // Optimization: Replace '+' with space\n if (keyHasPlus) {\n key = key.replace(plusRegex, \" \");\n }\n // Optimization: Do not decode if it's not necessary.\n if (shouldDecodeKey) {\n try {\n key = decodeURIComponent(key) || key;\n } catch {}\n }\n if (hasBothKeyValuePair) {\n value = input.slice(equalityIndex + 1, i);\n if (valueHasPlus) {\n value = value.replace(plusRegex, \" \");\n }\n if (shouldDecodeValue) {\n try {\n value = decodeURIComponent(value) || value;\n } catch {}\n }\n }\n const currentValue = result[key];\n if (currentValue === undefined) {\n result[key] = value;\n } else {\n // Optimization: value.pop is faster than Array.isArray(value)\n if (currentValue.pop) {\n currentValue.push(value);\n } else {\n result[key] = [currentValue, value];\n }\n }\n }\n // Reset reading key value pairs\n value = \"\";\n startingIndex = i;\n equalityIndex = i;\n shouldDecodeKey = false;\n shouldDecodeValue = false;\n keyHasPlus = false;\n valueHasPlus = false;\n }\n // Check '='\n else if (c === 61) {\n if (equalityIndex <= startingIndex) {\n equalityIndex = i;\n }\n // If '=' character occurs again, we should decode the input.\n else {\n shouldDecodeValue = true;\n }\n }\n // Check '+', and remember to replace it with empty space.\n else if (c === 43) {\n if (equalityIndex > startingIndex) {\n valueHasPlus = true;\n } else {\n keyHasPlus = true;\n }\n }\n // Check '%' character for encoding\n else if (c === 37) {\n if (equalityIndex > startingIndex) {\n shouldDecodeValue = true;\n } else {\n shouldDecodeKey = true;\n }\n }\n }\n return result;\n}\nfunction getAsPrimitive(value) {\n const type = typeof value;\n if (type === \"string\") {\n // Length check is handled inside encodeString function\n return encodeString(value);\n } else if (type === \"bigint\" || type === \"boolean\") {\n return \"\" + value;\n } else if (type === \"number\" && Number.isFinite(value)) {\n return value < 1e21 ? \"\" + value : encodeString(\"\" + value);\n }\n return \"\";\n}\n/**\n * @category encoding\n * @since 1.0.0\n */\nexport function stringify(input) {\n let result = \"\";\n if (input === null || typeof input !== \"object\") {\n return result;\n }\n const separator = \"&\";\n const keys = Object.keys(input);\n const keyLength = keys.length;\n let valueLength = 0;\n for (let i = 0; i < keyLength; i++) {\n const key = keys[i];\n const value = input[key];\n const encodedKey = encodeString(key) + \"=\";\n if (i) {\n result += separator;\n }\n if (Array.isArray(value)) {\n valueLength = value.length;\n for (let j = 0; j < valueLength; j++) {\n if (j) {\n result += separator;\n }\n // Optimization: Dividing into multiple lines improves the performance.\n // Since v8 does not need to care about the '+' character if it was one-liner.\n result += encodedKey;\n result += getAsPrimitive(value[j]);\n }\n } else {\n result += encodedKey;\n result += getAsPrimitive(value);\n }\n }\n return result;\n}\n// -----------------------------------------------------------------------------\n// This has been taken from Node.js project.\n// Full implementation can be found from https://github.com/nodejs/node/blob/main/lib/internal/querystring.js\nconst hexTable = /*#__PURE__*/Array.from({\n length: 256\n}, (_, i) => \"%\" + ((i < 16 ? \"0\" : \"\") + i.toString(16)).toUpperCase());\n// These characters do not need escaping when generating query strings:\n// ! - . _ ~\n// ' ( ) *\n// digits\n// alpha (uppercase)\n// alpha (lowercase)\n// biome-ignore format: the array should not be formatted\nconst noEscape = /*#__PURE__*/new Int8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n// 0 - 15\n0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n// 16 - 31\n0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0,\n// 32 - 47\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n// 48 - 63\n0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n// 64 - 79\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,\n// 80 - 95\n0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n// 96 - 111\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0 // 112 - 127\n]);\nfunction encodeString(str) {\n const len = str.length;\n if (len === 0) return \"\";\n let out = \"\";\n let lastPos = 0;\n let i = 0;\n outer: for (; i < len; i++) {\n let c = str.charCodeAt(i);\n // ASCII\n while (c < 0x80) {\n if (noEscape[c] !== 1) {\n if (lastPos < i) out += str.slice(lastPos, i);\n lastPos = i + 1;\n out += hexTable[c];\n }\n if (++i === len) break outer;\n c = str.charCodeAt(i);\n }\n if (lastPos < i) out += str.slice(lastPos, i);\n // Multi-byte characters ...\n if (c < 0x800) {\n lastPos = i + 1;\n out += hexTable[0xc0 | c >> 6] + hexTable[0x80 | c & 0x3f];\n continue;\n }\n if (c < 0xd800 || c >= 0xe000) {\n lastPos = i + 1;\n out += hexTable[0xe0 | c >> 12] + hexTable[0x80 | c >> 6 & 0x3f] + hexTable[0x80 | c & 0x3f];\n continue;\n }\n // Surrogate pair\n ++i;\n // This branch should never happen because all URLSearchParams entries\n // should already be converted to USVString. But, included for\n // completion's sake anyway.\n if (i >= len) {\n throw new Error(\"URI malformed\");\n }\n const c2 = str.charCodeAt(i) & 0x3ff;\n lastPos = i + 1;\n c = 0x10000 + ((c & 0x3ff) << 10 | c2);\n out += hexTable[0xf0 | c >> 18] + hexTable[0x80 | c >> 12 & 0x3f] + hexTable[0x80 | c >> 6 & 0x3f] + hexTable[0x80 | c & 0x3f];\n }\n if (lastPos === 0) return str;\n if (lastPos < len) return out + str.slice(lastPos);\n return out;\n}\n//# sourceMappingURL=QueryString.js.map",
6
+ "import * as QS from \"../QueryString.js\";\nconst FULL_PATH_REGEXP = /^https?:\\/\\/.*?\\//;\nconst OPTIONAL_PARAM_REGEXP = /(\\/:[^/()]*?)\\?(\\/?)/;\n/** @internal */\nexport const make = (options = {}) => new RouterImpl(options);\nclass RouterImpl {\n constructor(options = {}) {\n this.options = {\n ignoreTrailingSlash: true,\n ignoreDuplicateSlashes: true,\n caseSensitive: false,\n maxParamLength: 100,\n ...options\n };\n }\n options;\n routes = [];\n trees = {};\n on(method, path, handler) {\n const optionalParamMatch = path.match(OPTIONAL_PARAM_REGEXP);\n if (optionalParamMatch && optionalParamMatch.index !== undefined) {\n assert(path.length === optionalParamMatch.index + optionalParamMatch[0].length, \"Optional Parameter needs to be the last parameter of the path\");\n const pathFull = path.replace(OPTIONAL_PARAM_REGEXP, \"$1$2\");\n const pathOptional = path.replace(OPTIONAL_PARAM_REGEXP, \"$2\");\n this.on(method, pathFull, handler);\n this.on(method, pathOptional, handler);\n return;\n }\n if (this.options.ignoreDuplicateSlashes) {\n path = removeDuplicateSlashes(path);\n }\n if (this.options.ignoreTrailingSlash) {\n path = trimLastSlash(path);\n }\n const methods = typeof method === \"string\" ? [method] : method;\n for (const method of methods) {\n this._on(method, path, handler);\n }\n }\n all(path, handler) {\n this.on(httpMethods, path, handler);\n }\n _on(method, path, handler) {\n if (this.trees[method] === undefined) {\n this.trees[method] = new StaticNode(\"/\");\n }\n let pattern = path;\n if (pattern === \"*\" && this.trees[method].prefix.length !== 0) {\n const currentRoot = this.trees[method];\n this.trees[method] = new StaticNode(\"\");\n this.trees[method].staticChildren[\"/\"] = currentRoot;\n }\n let parentNodePathIndex = this.trees[method].prefix.length;\n let currentNode = this.trees[method];\n const params = [];\n for (let i = 0; i <= pattern.length; i++) {\n if (pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) === 58) {\n // It's a double colon\n i++;\n continue;\n }\n const isParametricNode = pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) !== 58;\n const isWildcardNode = pattern.charCodeAt(i) === 42;\n if (isParametricNode || isWildcardNode || i === pattern.length && i !== parentNodePathIndex) {\n let staticNodePath = pattern.slice(parentNodePathIndex, i);\n if (!this.options.caseSensitive) {\n staticNodePath = staticNodePath.toLowerCase();\n }\n staticNodePath = staticNodePath.split(\"::\").join(\":\");\n staticNodePath = staticNodePath.split(\"%\").join(\"%25\");\n // add the static part of the route to the tree\n currentNode = currentNode.createStaticChild(staticNodePath);\n }\n if (isParametricNode) {\n let isRegexNode = false;\n const regexps = [];\n let lastParamStartIndex = i + 1;\n for (let j = lastParamStartIndex;; j++) {\n const charCode = pattern.charCodeAt(j);\n const isRegexParam = charCode === 40;\n const isStaticPart = charCode === 45 || charCode === 46;\n const isEndOfNode = charCode === 47 || j === pattern.length;\n if (isRegexParam || isStaticPart || isEndOfNode) {\n const paramName = pattern.slice(lastParamStartIndex, j);\n params.push(paramName);\n isRegexNode = isRegexNode || isRegexParam || isStaticPart;\n if (isRegexParam) {\n const endOfRegexIndex = getClosingParenthensePosition(pattern, j);\n const regexString = pattern.slice(j, endOfRegexIndex + 1);\n regexps.push(trimRegExpStartAndEnd(regexString));\n j = endOfRegexIndex + 1;\n } else {\n regexps.push(\"(.*?)\");\n }\n const staticPartStartIndex = j;\n for (; j < pattern.length; j++) {\n const charCode = pattern.charCodeAt(j);\n if (charCode === 47) break;\n if (charCode === 58) {\n const nextCharCode = pattern.charCodeAt(j + 1);\n if (nextCharCode === 58) j++;else break;\n }\n }\n let staticPart = pattern.slice(staticPartStartIndex, j);\n if (staticPart) {\n staticPart = staticPart.split(\"::\").join(\":\");\n staticPart = staticPart.split(\"%\").join(\"%25\");\n regexps.push(escapeRegExp(staticPart));\n }\n lastParamStartIndex = j + 1;\n if (isEndOfNode || pattern.charCodeAt(j) === 47 || j === pattern.length) {\n const nodePattern = isRegexNode ? \"()\" + staticPart : staticPart;\n const nodePath = pattern.slice(i, j);\n pattern = pattern.slice(0, i + 1) + nodePattern + pattern.slice(j);\n i += nodePattern.length;\n const regex = isRegexNode ? new RegExp(\"^\" + regexps.join(\"\") + \"$\") : undefined;\n currentNode = currentNode.createParametricChild(regex, staticPart, nodePath);\n parentNodePathIndex = i + 1;\n break;\n }\n }\n }\n } else if (isWildcardNode) {\n // add the wildcard parameter\n params.push(\"*\");\n currentNode = currentNode.createWildcardChild();\n parentNodePathIndex = i + 1;\n if (i !== pattern.length - 1) {\n throw new Error(\"Wildcard must be the last character in the route\");\n }\n }\n }\n if (!this.options.caseSensitive) {\n pattern = pattern.toLowerCase();\n }\n if (pattern === \"*\") {\n pattern = \"/*\";\n }\n for (const existRoute of this.routes) {\n if (existRoute.method === method && existRoute.pattern === pattern) {\n throw new Error(`Method '${method}' already declared for route '${pattern}'`);\n }\n }\n const route = {\n method,\n path,\n pattern,\n params,\n handler\n };\n this.routes.push(route);\n currentNode.addRoute(route);\n }\n has(method, path) {\n const node = this.trees[method];\n if (node === undefined) {\n return false;\n }\n const staticNode = node.getStaticChild(path);\n if (staticNode === undefined) {\n return false;\n }\n return staticNode.isLeafNode;\n }\n find(method, path) {\n let currentNode = this.trees[method];\n if (currentNode === undefined) return undefined;\n if (path.charCodeAt(0) !== 47) {\n // 47 is '/'\n path = path.replace(FULL_PATH_REGEXP, \"/\");\n }\n // This must be run before sanitizeUrl as the resulting function\n // .sliceParameter must be constructed with same URL string used\n // throughout the rest of this function.\n if (this.options.ignoreDuplicateSlashes) {\n path = removeDuplicateSlashes(path);\n }\n let sanitizedUrl;\n let querystring;\n let shouldDecodeParam;\n try {\n sanitizedUrl = safeDecodeURI(path);\n path = sanitizedUrl.path;\n querystring = sanitizedUrl.querystring;\n shouldDecodeParam = sanitizedUrl.shouldDecodeParam;\n } catch (error) {\n return undefined;\n }\n if (this.options.ignoreTrailingSlash) {\n path = trimLastSlash(path);\n }\n const originPath = path;\n if (this.options.caseSensitive === false) {\n path = path.toLowerCase();\n }\n const maxParamLength = this.options.maxParamLength;\n let pathIndex = currentNode.prefix.length;\n const params = [];\n const pathLen = path.length;\n const brothersNodesStack = [];\n while (true) {\n if (pathIndex === pathLen && currentNode.isLeafNode) {\n const handle = currentNode.handlerStorage?.find();\n if (handle !== undefined) {\n return {\n handler: handle.handler,\n params: handle.createParams(params),\n searchParams: QS.parse(querystring)\n };\n }\n }\n let node = currentNode.getNextNode(path, pathIndex, brothersNodesStack, params.length);\n if (node === undefined) {\n if (brothersNodesStack.length === 0) {\n return undefined;\n }\n const brotherNodeState = brothersNodesStack.pop();\n pathIndex = brotherNodeState.brotherPathIndex;\n params.splice(brotherNodeState.paramsCount);\n node = brotherNodeState.brotherNode;\n }\n currentNode = node;\n // static route\n if (currentNode._tag === \"StaticNode\") {\n pathIndex += currentNode.prefix.length;\n continue;\n }\n if (currentNode._tag === \"WildcardNode\") {\n let param = originPath.slice(pathIndex);\n if (shouldDecodeParam) {\n param = safeDecodeURIComponent(param);\n }\n params.push(param);\n pathIndex = pathLen;\n continue;\n }\n if (currentNode._tag === \"ParametricNode\") {\n let paramEndIndex = originPath.indexOf(\"/\", pathIndex);\n if (paramEndIndex === -1) {\n paramEndIndex = pathLen;\n }\n let param = originPath.slice(pathIndex, paramEndIndex);\n if (shouldDecodeParam) {\n param = safeDecodeURIComponent(param);\n }\n if (currentNode.regex !== undefined) {\n const matchedParameters = currentNode.regex.exec(param);\n if (matchedParameters === null) continue;\n for (let i = 1; i < matchedParameters.length; i++) {\n const matchedParam = matchedParameters[i];\n if (matchedParam.length > maxParamLength) {\n return undefined;\n }\n params.push(matchedParam);\n }\n } else {\n if (param.length > maxParamLength) {\n return undefined;\n }\n params.push(param);\n }\n pathIndex = paramEndIndex;\n }\n }\n }\n}\nclass HandlerStorage {\n handlers = [];\n unconstrainedHandler;\n find() {\n return this.unconstrainedHandler;\n }\n add(route) {\n const handler = {\n params: route.params,\n handler: route.handler,\n createParams: compileCreateParams(route.params)\n };\n this.handlers.push(handler);\n this.unconstrainedHandler = this.handlers[0];\n }\n}\nclass NodeBase {\n isLeafNode = false;\n routes;\n handlerStorage;\n addRoute(route) {\n if (this.routes === undefined) {\n this.routes = [route];\n } else {\n this.routes.push(route);\n }\n if (this.handlerStorage === undefined) {\n this.handlerStorage = new HandlerStorage();\n }\n this.isLeafNode = true;\n this.handlerStorage.add(route);\n }\n}\nclass ParentNode extends NodeBase {\n staticChildren = {};\n findStaticMatchingChild(path, pathIndex) {\n const staticChild = this.staticChildren[path.charAt(pathIndex)];\n if (staticChild === undefined || !staticChild.matchPrefix(path, pathIndex)) {\n return undefined;\n }\n return staticChild;\n }\n getStaticChild(path, pathIndex = 0) {\n if (path.length === pathIndex) {\n return this;\n }\n const staticChild = this.findStaticMatchingChild(path, pathIndex);\n if (staticChild === undefined) {\n return undefined;\n }\n return staticChild.getStaticChild(path, pathIndex + staticChild.prefix.length);\n }\n createStaticChild(path) {\n if (path.length === 0) {\n return this;\n }\n let staticChild = this.staticChildren[path.charAt(0)];\n if (staticChild) {\n let i = 1;\n for (; i < staticChild.prefix.length; i++) {\n if (path.charCodeAt(i) !== staticChild.prefix.charCodeAt(i)) {\n staticChild = staticChild.split(this, i);\n break;\n }\n }\n return staticChild.createStaticChild(path.slice(i));\n }\n const label = path.charAt(0);\n this.staticChildren[label] = new StaticNode(path);\n return this.staticChildren[label];\n }\n}\nclass StaticNode extends ParentNode {\n _tag = \"StaticNode\";\n constructor(prefix) {\n super();\n this.setPrefix(prefix);\n }\n prefix;\n matchPrefix;\n parametricChildren = [];\n wildcardChild;\n setPrefix(prefix) {\n this.prefix = prefix;\n if (prefix.length === 1) {\n this.matchPrefix = (_path, _pathIndex) => true;\n } else {\n const len = prefix.length;\n this.matchPrefix = function (path, pathIndex) {\n for (let i = 1; i < len; i++) {\n if (path.charCodeAt(pathIndex + i) !== this.prefix.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n };\n }\n }\n getParametricChild(regex) {\n if (regex === undefined) {\n return this.parametricChildren.find(child => child.isRegex === false);\n }\n const source = regex.source;\n return this.parametricChildren.find(child => {\n if (child.regex === undefined) {\n return false;\n }\n return child.regex.source === source;\n });\n }\n createParametricChild(regex, staticSuffix, nodePath) {\n let child = this.getParametricChild(regex);\n if (child !== undefined) {\n child.nodePaths.add(nodePath);\n return child;\n }\n child = new ParametricNode(regex, staticSuffix, nodePath);\n this.parametricChildren.push(child);\n this.parametricChildren.sort((child1, child2) => {\n if (!child1.isRegex) return 1;\n if (!child2.isRegex) return -1;\n if (child1.staticSuffix === undefined) return 1;\n if (child2.staticSuffix === undefined) return -1;\n if (child2.staticSuffix.endsWith(child1.staticSuffix)) return 1;\n if (child1.staticSuffix.endsWith(child2.staticSuffix)) return -1;\n return 0;\n });\n return child;\n }\n createWildcardChild() {\n if (this.wildcardChild === undefined) {\n this.wildcardChild = new WildcardNode();\n }\n return this.wildcardChild;\n }\n split(parentNode, length) {\n const parentPrefix = this.prefix.slice(0, length);\n const childPrefix = this.prefix.slice(length);\n this.setPrefix(childPrefix);\n const staticNode = new StaticNode(parentPrefix);\n staticNode.staticChildren[childPrefix.charAt(0)] = this;\n parentNode.staticChildren[parentPrefix.charAt(0)] = staticNode;\n return staticNode;\n }\n getNextNode(path, pathIndex, nodeStack, paramsCount) {\n let node = this.findStaticMatchingChild(path, pathIndex);\n let parametricBrotherNodeIndex = 0;\n if (node === undefined) {\n if (this.parametricChildren.length === 0) {\n return this.wildcardChild;\n }\n node = this.parametricChildren[0];\n parametricBrotherNodeIndex = 1;\n }\n if (this.wildcardChild !== undefined) {\n nodeStack.push({\n paramsCount,\n brotherPathIndex: pathIndex,\n brotherNode: this.wildcardChild\n });\n }\n for (let i = this.parametricChildren.length - 1; i >= parametricBrotherNodeIndex; i--) {\n nodeStack.push({\n paramsCount,\n brotherPathIndex: pathIndex,\n brotherNode: this.parametricChildren[i]\n });\n }\n return node;\n }\n}\nclass ParametricNode extends ParentNode {\n regex;\n staticSuffix;\n _tag = \"ParametricNode\";\n constructor(regex, staticSuffix, nodePath) {\n super();\n this.regex = regex;\n this.staticSuffix = staticSuffix;\n this.isRegex = !!regex;\n this.nodePaths = new Set([nodePath]);\n }\n isRegex;\n nodePaths;\n getNextNode(path, pathIndex) {\n return this.findStaticMatchingChild(path, pathIndex);\n }\n}\nclass WildcardNode extends NodeBase {\n _tag = \"WildcardNode\";\n getNextNode(_path, _pathIndex, _nodeStack, _paramsCount) {\n return undefined;\n }\n}\nconst assert = (condition, message) => {\n if (!condition) {\n throw new Error(message);\n }\n};\nfunction removeDuplicateSlashes(path) {\n return path.replace(/\\/\\/+/g, \"/\");\n}\nfunction trimLastSlash(path) {\n if (path.length > 1 && path.charCodeAt(path.length - 1) === 47) {\n return path.slice(0, -1);\n }\n return path;\n}\nfunction compileCreateParams(params) {\n const len = params.length;\n return function (paramsArray) {\n const paramsObject = {};\n for (let i = 0; i < len; i++) {\n paramsObject[params[i]] = paramsArray[i];\n }\n return paramsObject;\n };\n}\nfunction getClosingParenthensePosition(path, idx) {\n // `path.indexOf()` will always return the first position of the closing parenthese,\n // but it's inefficient for grouped or wrong regexp expressions.\n // see issues #62 and #63 for more info\n let parentheses = 1;\n while (idx < path.length) {\n idx++;\n // ignore skipped chars\n if (path[idx] === \"\\\\\") {\n idx++;\n continue;\n }\n if (path[idx] === \")\") {\n parentheses--;\n } else if (path[idx] === \"(\") {\n parentheses++;\n }\n if (!parentheses) return idx;\n }\n throw new TypeError('Invalid regexp expression in \"' + path + '\"');\n}\nfunction trimRegExpStartAndEnd(regexString) {\n // removes chars that marks start \"^\" and end \"$\" of regexp\n if (regexString.charCodeAt(1) === 94) {\n regexString = regexString.slice(0, 1) + regexString.slice(2);\n }\n if (regexString.charCodeAt(regexString.length - 2) === 36) {\n regexString = regexString.slice(0, regexString.length - 2) + regexString.slice(regexString.length - 1);\n }\n return regexString;\n}\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// It must spot all the chars where decodeURIComponent(x) !== decodeURI(x)\n// The chars are: # $ & + , / : ; = ? @\nfunction decodeComponentChar(highCharCode, lowCharCode) {\n if (highCharCode === 50) {\n if (lowCharCode === 53) return \"%\";\n if (lowCharCode === 51) return \"#\";\n if (lowCharCode === 52) return \"$\";\n if (lowCharCode === 54) return \"&\";\n if (lowCharCode === 66) return \"+\";\n if (lowCharCode === 98) return \"+\";\n if (lowCharCode === 67) return \",\";\n if (lowCharCode === 99) return \",\";\n if (lowCharCode === 70) return \"/\";\n if (lowCharCode === 102) return \"/\";\n return undefined;\n }\n if (highCharCode === 51) {\n if (lowCharCode === 65) return \":\";\n if (lowCharCode === 97) return \":\";\n if (lowCharCode === 66) return \";\";\n if (lowCharCode === 98) return \";\";\n if (lowCharCode === 68) return \"=\";\n if (lowCharCode === 100) return \"=\";\n if (lowCharCode === 70) return \"?\";\n if (lowCharCode === 102) return \"?\";\n return undefined;\n }\n if (highCharCode === 52 && lowCharCode === 48) {\n return \"@\";\n }\n return undefined;\n}\nfunction safeDecodeURI(path) {\n let shouldDecode = false;\n let shouldDecodeParam = false;\n let querystring = \"\";\n for (let i = 1; i < path.length; i++) {\n const charCode = path.charCodeAt(i);\n if (charCode === 37) {\n const highCharCode = path.charCodeAt(i + 1);\n const lowCharCode = path.charCodeAt(i + 2);\n if (decodeComponentChar(highCharCode, lowCharCode) === undefined) {\n shouldDecode = true;\n } else {\n shouldDecodeParam = true;\n // %25 - encoded % char. We need to encode one more time to prevent double decoding\n if (highCharCode === 50 && lowCharCode === 53) {\n shouldDecode = true;\n path = path.slice(0, i + 1) + \"25\" + path.slice(i + 1);\n i += 2;\n }\n i += 2;\n }\n // Some systems do not follow RFC and separate the path and query\n // string with a `;` character (code 59), e.g. `/foo;jsessionid=123456`.\n // Thus, we need to split on `;` as well as `?` and `#`.\n } else if (charCode === 63 || charCode === 59 || charCode === 35) {\n querystring = path.slice(i + 1);\n path = path.slice(0, i);\n break;\n }\n }\n const decodedPath = shouldDecode ? decodeURI(path) : path;\n return {\n path: decodedPath,\n querystring,\n shouldDecodeParam\n };\n}\nfunction safeDecodeURIComponent(uriComponent) {\n const startIndex = uriComponent.indexOf(\"%\");\n if (startIndex === -1) return uriComponent;\n let decoded = \"\";\n let lastIndex = startIndex;\n for (let i = startIndex; i < uriComponent.length; i++) {\n if (uriComponent.charCodeAt(i) === 37) {\n const highCharCode = uriComponent.charCodeAt(i + 1);\n const lowCharCode = uriComponent.charCodeAt(i + 2);\n const decodedChar = decodeComponentChar(highCharCode, lowCharCode);\n decoded += uriComponent.slice(lastIndex, i) + decodedChar;\n lastIndex = i + 3;\n }\n }\n return uriComponent.slice(0, startIndex) + decoded + uriComponent.slice(lastIndex);\n}\nconst httpMethods = [\"ACL\", \"BIND\", \"CHECKOUT\", \"CONNECT\", \"COPY\", \"DELETE\", \"GET\", \"HEAD\", \"LINK\", \"LOCK\", \"M-SEARCH\", \"MERGE\", \"MKACTIVITY\", \"MKCALENDAR\", \"MKCOL\", \"MOVE\", \"NOTIFY\", \"OPTIONS\", \"PATCH\", \"POST\", \"PROPFIND\", \"PROPPATCH\", \"PURGE\", \"PUT\", \"REBIND\", \"REPORT\", \"SEARCH\", \"SOURCE\", \"SUBSCRIBE\", \"TRACE\", \"UNBIND\", \"UNLINK\", \"UNLOCK\", \"UNSUBSCRIBE\"];\n//# sourceMappingURL=router.js.map",
7
+ "/**\n * @since 1.0.0\n */\nimport * as internal from \"./internal/router.js\";\n/**\n * @since 1.0.0\n * @category constructors\n */\nexport const make = internal.make;\n//# sourceMappingURL=index.js.map",
8
+ "/**\n * Layer-based server-side routing for Effect HTTP applications.\n *\n * `HttpRouter` collects routes and router middleware while an application layer\n * is being built, then exposes the registered route table as an\n * `HttpServerResponse` effect for each incoming `HttpServerRequest`. Use it for\n * APIs, webhooks, and Fetch handlers that want request-scoped services, schema\n * decoding, and typed middleware to participate in the same `Layer` graph as\n * the rest of the application.\n *\n * **Mental model**\n *\n * Route layers do not handle requests immediately. They register `Route` values\n * into the current `HttpRouter`; `serve`, `toHttpEffect`, and `toWebHandler`\n * build the layer, read the completed router, and run the matching handler for\n * each request. During a request, the router provides `HttpServerRequest`,\n * `Scope`, parsed search parameters, and `RouteContext`, so handlers can decode\n * path, search, and body data or access services supplied by router middleware.\n *\n * **Common tasks**\n *\n * - Register individual routes with `add` or batches with `addAll`.\n * - Group routes under a prefix with `addAll(..., { prefix })` or\n * `router.prefixed`.\n * - Decode route, search, and JSON body data with `schemaPathParams`,\n * `schemaParams`, `schemaNoBody`, and `schemaJson`.\n * - Apply route-scoped middleware with `middleware(...).layer`, or install\n * global router middleware for all routes.\n * - Serve the layer with `serve` or create a Fetch-compatible handler with\n * `toWebHandler`.\n *\n * **Gotchas**\n *\n * Paths must be absolute `/` paths or the wildcard `*`. `HEAD` falls back to\n * `GET`, and wildcard paths ending in `/*` also match the prefix path itself.\n * For prefixed routes the matched prefix is removed from\n * `HttpServerRequest.url` before the handler sees it. Middleware passed to\n * `serve` wraps the wider server chain; use router middleware when you need to\n * provide request dependencies, handle configured route errors, or change the\n * response that will be sent.\n *\n * @since 4.0.0\n */\nimport * as Arr from \"../../Array.js\";\nimport * as Context from \"../../Context.js\";\nimport * as Effect from \"../../Effect.js\";\nimport { compose, dual, identity } from \"../../Function.js\";\nimport * as Layer from \"../../Layer.js\";\nimport * as Option from \"../../Option.js\";\nimport * as Schema from \"../../Schema.js\";\nimport * as Scope from \"../../Scope.js\";\nimport * as Tracer from \"../../Tracer.js\";\nimport * as FindMyWay from \"./FindMyWay.js\";\nimport * as HttpEffect from \"./HttpEffect.js\";\nimport * as HttpMiddleware from \"./HttpMiddleware.js\";\nimport * as HttpServer from \"./HttpServer.js\";\nimport * as HttpServerError from \"./HttpServerError.js\";\nimport * as HttpServerRequest from \"./HttpServerRequest.js\";\nimport * as HttpServerResponse from \"./HttpServerResponse.js\";\nconst TypeId = \"~effect/http/HttpRouter\";\n/**\n * Service tag for the HTTP router used while constructing an HTTP application.\n * Route and middleware layers require this service to register themselves with\n * the router.\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const HttpRouter = /*#__PURE__*/Context.Service(\"effect/http/HttpRouter\");\n/**\n * Constructs an empty `HttpRouter` service.\n *\n * **Details**\n *\n * The returned router accepts route and middleware registrations and later routes\n * the current `HttpServerRequest` to the matching `HttpServerResponse`.\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const make = /*#__PURE__*/Effect.gen(function* () {\n const router = FindMyWay.make(yield* RouterConfig);\n const middleware = new Set();\n const addAll = routes => Effect.contextWith(context => {\n const middleware = getMiddleware(context);\n const applyMiddleware = effect => {\n for (let i = 0; i < middleware.length; i++) {\n effect = middleware[i](effect);\n }\n return effect;\n };\n for (let i = 0; i < routes.length; i++) {\n const route = middleware.length === 0 ? routes[i] : makeRoute({\n ...routes[i],\n handler: applyMiddleware(routes[i].handler)\n });\n if (route.method === \"*\") {\n if (route.path.endsWith(\"/*\")) {\n router.all(route.path, route);\n router.all(route.path.slice(0, -2), route);\n } else {\n router.all(route.path, route);\n }\n } else {\n if (route.path.endsWith(\"/*\")) {\n router.on(route.method, route.path, route);\n router.on(route.method, route.path.slice(0, -2), route);\n } else {\n router.on(route.method, route.path, route);\n }\n }\n }\n return Effect.void;\n });\n return HttpRouter.of({\n [TypeId]: TypeId,\n prefixed(prefix) {\n return HttpRouter.of({\n ...this,\n prefixed: newPrefix => this.prefixed(prefixPath(prefix, newPrefix)),\n addAll: routes => addAll(routes.map(prefixRoute(prefix))),\n add: (method, path, handler, options) => addAll([makeRoute({\n method,\n path: prefixPath(path, prefix),\n handler: HttpServerResponse.isHttpServerResponse(handler) ? Effect.succeed(handler) : Effect.isEffect(handler) ? handler : Effect.flatMap(HttpServerRequest.HttpServerRequest, handler),\n uninterruptible: options?.uninterruptible ?? false,\n prefix\n })])\n });\n },\n addAll,\n add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),\n addGlobalMiddleware: middleware_ => Effect.sync(() => {\n middleware.add(middleware_);\n }),\n asHttpEffect() {\n let handler = Effect.withFiber(fiber => {\n const contextMap = new Map(fiber.context.mapUnsafe);\n const request = contextMap.get(HttpServerRequest.HttpServerRequest.key);\n let result = router.find(request.method, request.url);\n if (result === undefined && request.method === \"HEAD\") {\n result = router.find(\"GET\", request.url);\n }\n if (result === undefined) {\n return Effect.fail(new HttpServerError.HttpServerError({\n reason: new HttpServerError.RouteNotFound({\n request\n })\n }));\n }\n const route = result.handler;\n if (Option.isSome(route.prefix)) {\n contextMap.set(HttpServerRequest.HttpServerRequest.key, sliceRequestUrl(request, route.prefix.value));\n }\n contextMap.set(HttpServerRequest.ParsedSearchParams.key, result.searchParams);\n contextMap.set(RouteContext.key, {\n route,\n params: result.params\n });\n const span = contextMap.get(Tracer.ParentSpan.key);\n if (span && span._tag === \"Span\") {\n span.attribute(\"http.route\", route.path);\n }\n return Effect.provideContext(route.uninterruptible ? route.handler : Effect.interruptible(route.handler), Context.makeUnsafe(contextMap));\n });\n if (middleware.size === 0) return handler;\n for (const fn of Arr.reverse(middleware)) {\n handler = fn(handler);\n }\n return handler;\n }\n });\n});\nfunction sliceRequestUrl(request, prefix) {\n const prefexLen = prefix.length;\n return request.modify({\n url: request.url.length <= prefexLen ? \"/\" : request.url.slice(prefexLen)\n });\n}\n/**\n * Context reference for low-level router configuration.\n *\n * **Details**\n *\n * The value is passed to the route matcher when an `HttpRouter` is created and\n * defaults to an empty configuration.\n *\n * @category configuration\n * @since 4.0.0\n */\nexport const RouterConfig = /*#__PURE__*/Context.Reference(\"effect/http/HttpRouter/RouterConfig\", {\n defaultValue: () => ({})\n});\n/**\n * Service for the matched HTTP route in the current request.\n *\n * **When to use**\n *\n * Use to read captured path parameters and route metadata while handling a\n * request matched by the router.\n *\n * **Details**\n *\n * It provides the route definition and the path parameters captured by the route\n * matcher.\n *\n * @category services\n * @since 4.0.0\n */\nexport class RouteContext extends /*#__PURE__*/Context.Service()(\"effect/http/HttpRouter/RouteContext\") {}\n/**\n * Effect that returns the path parameters captured for the current matched route.\n *\n * @category getters\n * @since 4.0.0\n */\nexport const params = /*#__PURE__*/Effect.map(RouteContext, _ => _.params);\n/**\n * Decodes a schema from the current request and its JSON body.\n *\n * **Details**\n *\n * The input passed to the schema includes the request method, URL, headers,\n * cookies, path parameters, search parameters, and parsed JSON body. The effect\n * fails if the body cannot be parsed or the schema decode fails.\n *\n * @category schemas\n * @since 4.0.0\n */\nexport const schemaJson = (schema, options) => {\n const parse = Schema.decodeUnknownEffect(schema);\n return Effect.contextWith(context => {\n const request = Context.get(context, HttpServerRequest.HttpServerRequest);\n const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams);\n const routeContext = Context.get(context, RouteContext);\n return Effect.flatMap(request.json, body => parse({\n method: request.method,\n url: request.url,\n headers: request.headers,\n cookies: request.cookies,\n pathParams: routeContext.params,\n searchParams,\n body\n }, options));\n });\n};\n/**\n * Decodes a schema from the current request without reading the request body.\n *\n * **Details**\n *\n * The input passed to the schema includes the request method, URL, headers,\n * cookies, path parameters, and search parameters.\n *\n * @category schemas\n * @since 4.0.0\n */\nexport const schemaNoBody = (schema, options) => {\n const parse = Schema.decodeUnknownEffect(schema);\n return Effect.contextWith(context => {\n const request = Context.get(context, HttpServerRequest.HttpServerRequest);\n const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams);\n const routeContext = Context.get(context, RouteContext);\n return parse({\n method: request.method,\n url: request.url,\n headers: request.headers,\n cookies: request.cookies,\n pathParams: routeContext.params,\n searchParams\n }, options);\n });\n};\n/**\n * Decodes a schema from the current route path parameters and search parameters.\n *\n * **Details**\n *\n * When the same key appears in both sources, the path parameter value is used.\n *\n * @category schemas\n * @since 4.0.0\n */\nexport const schemaParams = (schema, options) => {\n const parse = Schema.decodeUnknownEffect(schema);\n return Effect.contextWith(context => {\n const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams);\n const routeContext = Context.get(context, RouteContext);\n return parse({\n ...searchParams,\n ...routeContext.params\n }, options);\n });\n};\n/**\n * Decodes a schema from the path parameters captured for the current matched\n * route.\n *\n * @category schemas\n * @since 4.0.0\n */\nexport const schemaPathParams = (schema, options) => {\n const parse = Schema.decodeUnknownEffect(schema);\n return Effect.flatMap(params, _ => parse(_, options));\n};\n/**\n * Creates a layer that accesses the current `HttpRouter` service and runs the\n * supplied effect.\n *\n * **When to use**\n *\n * Use when you use it to register routes or middleware with the router during layer\n * construction.\n *\n * **Example** (Registering routes during layer construction)\n *\n * ```ts\n * import { Effect, Layer } from \"effect\"\n * import { HttpRouter } from \"effect/unstable/http\"\n *\n * const MyRoute = Layer.effectDiscard(Effect.gen(function*() {\n * const router = yield* HttpRouter.HttpRouter\n *\n * // then use `yield* router.add(...)` to add a route\n * }))\n * ```\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const use = f => Layer.effectDiscard(Effect.flatMap(HttpRouter, f));\n/**\n * Create a layer that adds a single route to the HTTP router.\n *\n * **Example** (Adding a GET route)\n *\n * ```ts\n * import { Effect } from \"effect\"\n * import { HttpRouter, HttpServerResponse } from \"effect/unstable/http\"\n *\n * const Route = HttpRouter.add(\n * \"GET\",\n * \"/hello\",\n * Effect.succeed(HttpServerResponse.text(\"Hello, World!\"))\n * )\n * ```\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const add = (method, path, handler, options) => use(router => router.add(method, path, handler, options));\n/**\n * Create a layer that adds multiple routes to the HTTP router.\n *\n * **Example** (Adding multiple routes)\n *\n * ```ts\n * import { Effect } from \"effect\"\n * import { HttpRouter, HttpServerResponse } from \"effect/unstable/http\"\n *\n * const Routes = HttpRouter.addAll([\n * HttpRouter.route(\n * \"GET\",\n * \"/hello\",\n * Effect.succeed(HttpServerResponse.text(\"Hello, World!\"))\n * )\n * ])\n * ```\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const addAll = (routes, options) => Layer.effectDiscard(Effect.gen(function* () {\n const toAdd = Effect.isEffect(routes) ? yield* routes : routes;\n let router = yield* HttpRouter;\n if (options?.prefix) {\n router = router.prefixed(options.prefix);\n }\n yield* router.addAll(toAdd);\n}));\n/**\n * Layer that provides a newly constructed `HttpRouter`.\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const layer = /*#__PURE__*/Layer.effect(HttpRouter)(make);\n/**\n * Builds an application layer with a router and returns the router as an HTTP\n * handler effect.\n *\n * **Details**\n *\n * The returned effect handles the current `HttpServerRequest` in the current\n * `Scope`; route request markers are converted into the ordinary requirements of\n * the returned handler.\n *\n * @category HttpRouter\n * @since 4.0.0\n */\nexport const toHttpEffect = appLayer => Effect.gen(function* () {\n const context = yield* Layer.build(Layer.provideMerge(appLayer, layer));\n const router = Context.get(context, HttpRouter);\n // @effect-diagnostics effect/returnEffectInGen:off\n return router.asHttpEffect();\n});\nconst RouteTypeId = \"~effect/http/HttpRouter/Route\";\nconst makeRoute = options => ({\n ...options,\n uninterruptible: options.uninterruptible ?? false,\n prefix: typeof options.prefix === \"string\" ? Option.some(options.prefix) : options.prefix ?? Option.none(),\n [RouteTypeId]: RouteTypeId\n});\n/**\n * Constructs a `Route` from an HTTP method, path, and handler.\n *\n * **Details**\n *\n * The handler may be a static response, an effect that produces a response, or a\n * function from the current request to a response effect. Set `uninterruptible` to\n * prevent the route handler from being made interruptible while it runs.\n *\n * @category Route\n * @since 4.0.0\n */\nexport const route = (method, path, handler, options) => makeRoute({\n ...options,\n method,\n path,\n handler: HttpServerResponse.isHttpServerResponse(handler) ? Effect.succeed(handler) : Effect.isEffect(handler) ? handler : Effect.flatMap(HttpServerRequest.HttpServerRequest, handler),\n uninterruptible: options?.uninterruptible ?? false\n});\nconst removeTrailingSlash = path => path.endsWith(\"/\") ? path.slice(0, -1) : path;\n/**\n * Adds a path prefix to a route path.\n *\n * **Details**\n *\n * Trailing slashes are removed from the prefix; `/` becomes the prefix itself and\n * `*` becomes a wildcard route under the prefix.\n *\n * @category PathInput\n * @since 4.0.0\n */\nexport const prefixPath = /*#__PURE__*/dual(2, (self, prefix) => {\n prefix = removeTrailingSlash(prefix);\n if (self === \"*\") return `${prefix}/*`;else if (self === \"/\") return prefix;\n return prefix + self;\n});\n/**\n * Returns a copy of a route with its path prefixed.\n *\n * **Details**\n *\n * The prefix is also tracked on the route so that, when the route handles a\n * request, the matched prefix can be removed from the request URL seen by the\n * handler.\n *\n * @category Route\n * @since 4.0.0\n */\nexport const prefixRoute = /*#__PURE__*/dual(2, (self, prefix) => makeRoute({\n ...self,\n path: prefixPath(self.path, prefix),\n prefix: Option.match(self.prefix, {\n onNone: () => prefix,\n onSome: existingPrefix => prefixPath(existingPrefix, prefix)\n })\n}));\nconst MiddlewareTypeId = \"~effect/http/HttpRouter/Middleware\";\n/**\n * Create a middleware layer that can be used to modify requests and responses.\n *\n * **Details**\n *\n * By default, the middleware only affects the routes that it is provided to.\n *\n * If you want to create a middleware that applies globally to all routes, pass\n * the `global` option as `true`.\n *\n * **Example** (Applying route and global middleware)\n *\n * ```ts\n * import { Context, Effect, Layer } from \"effect\"\n * import { HttpMiddleware, HttpRouter, HttpServerResponse } from \"effect/unstable/http\"\n *\n * // Here we are defining a CORS middleware\n * const CorsMiddleware = HttpRouter.middleware(HttpMiddleware.cors()).layer\n * // You can also use HttpRouter.cors() to create a CORS middleware\n *\n * class CurrentSession extends Context.Service<CurrentSession, {\n * readonly token: string\n * }>()(\"CurrentSession\") {}\n *\n * // You can create middleware that provides a service to the HTTP requests.\n * const SessionMiddleware = HttpRouter.middleware<{\n * provides: CurrentSession\n * }>()(\n * Effect.gen(function*() {\n * yield* Effect.log(\"SessionMiddleware initialized\")\n *\n * return (httpEffect) =>\n * Effect.provideService(httpEffect, CurrentSession, {\n * token: \"dummy-token\"\n * })\n * })\n * ).layer\n *\n * Effect.gen(function*() {\n * const router = yield* HttpRouter.HttpRouter\n * yield* router.add(\n * \"GET\",\n * \"/hello\",\n * Effect.gen(function*() {\n * // Requests can now access the current session\n * const session = yield* CurrentSession\n * return HttpServerResponse.text(\n * `Hello, World! Your token is ${session.token}`\n * )\n * })\n * )\n * }).pipe(\n * Layer.effectDiscard,\n * // Provide the SessionMiddleware & CorsMiddleware to some routes\n * Layer.provide([SessionMiddleware, CorsMiddleware])\n * )\n * ```\n *\n * @category middleware\n * @since 4.0.0\n */\nexport const middleware = function () {\n if (arguments.length === 0) {\n return makeMiddleware;\n }\n return makeMiddleware(arguments[0], arguments[1]);\n};\nconst makeMiddleware = (middleware, options) => options?.global ? Layer.effectDiscard(Effect.gen(function* () {\n const router = yield* HttpRouter;\n const fn = Effect.isEffect(middleware) ? yield* middleware : middleware;\n yield* router.addGlobalMiddleware(fn);\n})) : new MiddlewareImpl(Effect.isEffect(middleware) ? Layer.effectContext(Effect.map(middleware, fn => Context.makeUnsafe(new Map([[fnContextKey, fn]])))) : Layer.succeedContext(Context.makeUnsafe(new Map([[fnContextKey, middleware]]))));\nlet middlewareId = 0;\nconst fnContextKey = \"effect/http/HttpRouter/MiddlewareFn\";\nclass MiddlewareImpl {\n [MiddlewareTypeId] = {};\n layerFn;\n dependencies;\n constructor(layerFn, dependencies) {\n this.layerFn = layerFn;\n this.dependencies = dependencies;\n const contextKey = `effect/http/HttpRouter/Middleware-${++middlewareId}`;\n this.layer = Layer.effectContext(Effect.gen({\n self: this\n }, function* () {\n const context = yield* Effect.context();\n const stack = [context.mapUnsafe.get(fnContextKey)];\n if (this.dependencies) {\n const memoMap = yield* Layer.CurrentMemoMap;\n const scope = Context.get(context, Scope.Scope);\n const depsContext = yield* Layer.buildWithMemoMap(this.dependencies, memoMap, scope);\n stack.push(...getMiddleware(depsContext));\n }\n return Context.makeUnsafe(new Map([[contextKey, stack]]));\n })).pipe(Layer.provide(this.layerFn));\n }\n layer;\n combine(other) {\n return new MiddlewareImpl(this.layerFn, this.dependencies ? Layer.provideMerge(this.dependencies, other.layer) : other.layer);\n }\n}\nconst middlewareCache = /*#__PURE__*/new WeakMap();\nconst getMiddleware = context => {\n let arr = middlewareCache.get(context);\n if (arr) return arr;\n const topLevel = Arr.empty();\n let maxLength = 0;\n for (const [key, value] of context.mapUnsafe) {\n if (key.startsWith(\"effect/http/HttpRouter/Middleware-\")) {\n topLevel.push(value);\n if (value.length > maxLength) {\n maxLength = value.length;\n }\n }\n }\n if (topLevel.length === 0) {\n arr = [];\n } else {\n const middleware = new Set();\n for (let i = maxLength - 1; i >= 0; i--) {\n for (const arr of topLevel) {\n if (i < arr.length) {\n middleware.add(arr[i]);\n }\n }\n }\n arr = Arr.fromIterable(middleware).reverse();\n }\n middlewareCache.set(context, arr);\n return arr;\n};\n/**\n * Middleware that applies CORS headers to the HTTP response.\n *\n * @category middleware\n * @since 4.0.0\n */\nexport const cors = options => middleware(HttpMiddleware.cors(options), {\n global: true\n});\n/**\n * Middleware that disables the logger for some routes.\n *\n * **Example** (Disabling route logging)\n *\n * ```ts\n * import { Effect, Layer } from \"effect\"\n * import { HttpRouter, HttpServerResponse } from \"effect/unstable/http\"\n *\n * const Route = HttpRouter.add(\n * \"GET\",\n * \"/hello\",\n * Effect.succeed(HttpServerResponse.text(\"Hello, World!\"))\n * ).pipe(\n * // disable the logger for this route\n * Layer.provide(HttpRouter.disableLogger)\n * )\n * ```\n *\n * @category middleware\n * @since 4.0.0\n */\nexport const disableLogger = /*#__PURE__*/middleware(HttpMiddleware.withLoggerDisabled).layer;\n/**\n * Provides request-level dependencies to some routes.\n *\n * @category middleware\n * @since 4.0.0\n */\nexport const provideRequest = layer => self => Layer.provide(self, middleware()(Effect.gen(function* () {\n const services = yield* Layer.build(layer);\n return effect => Effect.provideContext(effect, services);\n})).layer);\n/**\n * Runs the provided application layer as an HTTP server.\n *\n * @category server\n * @since 4.0.0\n */\nexport const serve = (appLayer, options) => {\n let middleware = options?.middleware;\n if (options?.disableLogger !== true) {\n middleware = middleware ? compose(middleware, HttpMiddleware.logger) : HttpMiddleware.logger;\n }\n const RouterLayer = options?.routerConfig ? Layer.provide(layer, Layer.succeed(RouterConfig)(options.routerConfig)) : layer;\n return Effect.gen(function* () {\n const router = yield* HttpRouter;\n const handler = router.asHttpEffect();\n return middleware ? HttpServer.serve(handler, middleware) : HttpServer.serve(handler);\n }).pipe(Layer.unwrap, Layer.provideMerge(appLayer), Layer.provide(RouterLayer), options?.disableListenLog ? identity : HttpServer.withLogAddress);\n};\n/**\n * Builds a Fetch-compatible request handler from an HTTP router application\n * layer.\n *\n * **Details**\n *\n * The result contains a `handler` function that converts Web `Request` values to\n * Web `Response` values and a `dispose` function for releasing the layer\n * resources.\n *\n * @category server\n * @since 4.0.0\n */\nexport const toWebHandler = (appLayer, options) => {\n let middleware = options?.middleware;\n if (options?.disableLogger !== true) {\n middleware = middleware ? compose(middleware, HttpMiddleware.logger) : HttpMiddleware.logger;\n }\n const RouterLayer = options?.routerConfig ? Layer.provide(layer, Layer.succeed(RouterConfig)(options.routerConfig)) : layer;\n return HttpEffect.toWebHandlerLayerWith(Layer.provideMerge(appLayer, RouterLayer), {\n toHandler: s => Effect.succeed(Context.get(s, HttpRouter).asHttpEffect()),\n middleware,\n memoMap: options?.memoMap\n });\n};\n//# sourceMappingURL=HttpRouter.js.map"
9
+ ],
10
+ "mappings": "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",
11
+ "debugId": "BE691920A3EC558564756E2164756E21",
12
+ "names": []
13
+ }
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "A290426613913C4864756E2164756E21",
7
+ "debugId": "578F619E57B7CC8064756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -5,6 +5,6 @@
5
5
  "// src/combine-headers.ts\nfunction combineHeaders(...headers) {\n return headers.reduce(\n (combinedHeaders, currentHeaders) => ({\n ...combinedHeaders,\n ...currentHeaders != null ? currentHeaders : {}\n }),\n {}\n );\n}\n\n// src/convert-async-iterator-to-readable-stream.ts\nfunction convertAsyncIteratorToReadableStream(iterator) {\n let cancelled = false;\n return new ReadableStream({\n /**\n * Called when the consumer wants to pull more data from the stream.\n *\n * @param {ReadableStreamDefaultController<T>} controller - The controller to enqueue data into the stream.\n * @returns {Promise<void>}\n */\n async pull(controller) {\n if (cancelled) return;\n try {\n const { value, done } = await iterator.next();\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n /**\n * Called when the consumer cancels the stream.\n */\n async cancel(reason) {\n cancelled = true;\n if (iterator.return) {\n try {\n await iterator.return(reason);\n } catch (e) {\n }\n }\n }\n });\n}\n\n// src/create-tool-name-mapping.ts\nfunction createToolNameMapping({\n tools = [],\n providerToolNames,\n resolveProviderToolName\n}) {\n var _a2;\n const customToolNameToProviderToolName = {};\n const providerToolNameToCustomToolName = {};\n for (const tool2 of tools) {\n if (tool2.type === \"provider\") {\n const providerToolName = (_a2 = resolveProviderToolName == null ? void 0 : resolveProviderToolName(tool2)) != null ? _a2 : tool2.id in providerToolNames ? providerToolNames[tool2.id] : void 0;\n if (providerToolName == null) {\n continue;\n }\n customToolNameToProviderToolName[tool2.name] = providerToolName;\n providerToolNameToCustomToolName[providerToolName] = tool2.name;\n }\n }\n return {\n toProviderToolName: (customToolName) => {\n var _a3;\n return (_a3 = customToolNameToProviderToolName[customToolName]) != null ? _a3 : customToolName;\n },\n toCustomToolName: (providerToolName) => {\n var _a3;\n return (_a3 = providerToolNameToCustomToolName[providerToolName]) != null ? _a3 : providerToolName;\n }\n };\n}\n\n// src/delay.ts\nasync function delay(delayInMs, options) {\n if (delayInMs == null) {\n return Promise.resolve();\n }\n const signal = options == null ? void 0 : options.abortSignal;\n return new Promise((resolve2, reject) => {\n if (signal == null ? void 0 : signal.aborted) {\n reject(createAbortError());\n return;\n }\n const timeoutId = setTimeout(() => {\n cleanup();\n resolve2();\n }, delayInMs);\n const cleanup = () => {\n clearTimeout(timeoutId);\n signal == null ? void 0 : signal.removeEventListener(\"abort\", onAbort);\n };\n const onAbort = () => {\n cleanup();\n reject(createAbortError());\n };\n signal == null ? void 0 : signal.addEventListener(\"abort\", onAbort);\n });\n}\nfunction createAbortError() {\n return new DOMException(\"Delay was aborted\", \"AbortError\");\n}\n\n// src/delayed-promise.ts\nvar DelayedPromise = class {\n constructor() {\n this.status = { type: \"pending\" };\n this._resolve = void 0;\n this._reject = void 0;\n }\n get promise() {\n if (this._promise) {\n return this._promise;\n }\n this._promise = new Promise((resolve2, reject) => {\n if (this.status.type === \"resolved\") {\n resolve2(this.status.value);\n } else if (this.status.type === \"rejected\") {\n reject(this.status.error);\n }\n this._resolve = resolve2;\n this._reject = reject;\n });\n return this._promise;\n }\n resolve(value) {\n var _a2;\n this.status = { type: \"resolved\", value };\n if (this._promise) {\n (_a2 = this._resolve) == null ? void 0 : _a2.call(this, value);\n }\n }\n reject(error) {\n var _a2;\n this.status = { type: \"rejected\", error };\n if (this._promise) {\n (_a2 = this._reject) == null ? void 0 : _a2.call(this, error);\n }\n }\n isResolved() {\n return this.status.type === \"resolved\";\n }\n isRejected() {\n return this.status.type === \"rejected\";\n }\n isPending() {\n return this.status.type === \"pending\";\n }\n};\n\n// src/extract-response-headers.ts\nfunction extractResponseHeaders(response) {\n return Object.fromEntries([...response.headers]);\n}\n\n// src/uint8-utils.ts\nvar { btoa, atob } = globalThis;\nfunction convertBase64ToUint8Array(base64String) {\n const base64Url = base64String.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const latin1string = atob(base64Url);\n return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0));\n}\nfunction convertUint8ArrayToBase64(array) {\n let latin1string = \"\";\n for (let i = 0; i < array.length; i++) {\n latin1string += String.fromCodePoint(array[i]);\n }\n return btoa(latin1string);\n}\nfunction convertToBase64(value) {\n return value instanceof Uint8Array ? convertUint8ArrayToBase64(value) : value;\n}\n\n// src/convert-image-model-file-to-data-uri.ts\nfunction convertImageModelFileToDataUri(file) {\n if (file.type === \"url\") return file.url;\n return `data:${file.mediaType};base64,${typeof file.data === \"string\" ? file.data : convertUint8ArrayToBase64(file.data)}`;\n}\n\n// src/convert-to-form-data.ts\nfunction convertToFormData(input, options = {}) {\n const { useArrayBrackets = true } = options;\n const formData = new FormData();\n for (const [key, value] of Object.entries(input)) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n if (value.length === 1) {\n formData.append(key, value[0]);\n continue;\n }\n const arrayKey = useArrayBrackets ? `${key}[]` : key;\n for (const item of value) {\n formData.append(arrayKey, item);\n }\n continue;\n }\n formData.append(key, value);\n }\n return formData;\n}\n\n// src/download-error.ts\nimport { AISDKError } from \"@ai-sdk/provider\";\nvar name = \"AI_DownloadError\";\nvar marker = `vercel.ai.error.${name}`;\nvar symbol = Symbol.for(marker);\nvar _a, _b;\nvar DownloadError = class extends (_b = AISDKError, _a = symbol, _b) {\n constructor({\n url,\n statusCode,\n statusText,\n cause,\n message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`\n }) {\n super({ name, message, cause });\n this[_a] = true;\n this.url = url;\n this.statusCode = statusCode;\n this.statusText = statusText;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker);\n }\n};\n\n// src/read-response-with-size-limit.ts\nvar DEFAULT_MAX_DOWNLOAD_SIZE = 2 * 1024 * 1024 * 1024;\nasync function readResponseWithSizeLimit({\n response,\n url,\n maxBytes = DEFAULT_MAX_DOWNLOAD_SIZE\n}) {\n const contentLength = response.headers.get(\"content-length\");\n if (contentLength != null) {\n const length = parseInt(contentLength, 10);\n if (!isNaN(length) && length > maxBytes) {\n throw new DownloadError({\n url,\n message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes (Content-Length: ${length}).`\n });\n }\n }\n const body = response.body;\n if (body == null) {\n return new Uint8Array(0);\n }\n const reader = body.getReader();\n const chunks = [];\n let totalBytes = 0;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n totalBytes += value.length;\n if (totalBytes > maxBytes) {\n throw new DownloadError({\n url,\n message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes.`\n });\n }\n chunks.push(value);\n }\n } finally {\n try {\n await reader.cancel();\n } finally {\n reader.releaseLock();\n }\n }\n const result = new Uint8Array(totalBytes);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n}\n\n// src/validate-download-url.ts\nfunction validateDownloadUrl(url) {\n let parsed;\n try {\n parsed = new URL(url);\n } catch (e) {\n throw new DownloadError({\n url,\n message: `Invalid URL: ${url}`\n });\n }\n if (parsed.protocol === \"data:\") {\n return;\n }\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n throw new DownloadError({\n url,\n message: `URL scheme must be http, https, or data, got ${parsed.protocol}`\n });\n }\n const hostname = parsed.hostname;\n if (!hostname) {\n throw new DownloadError({\n url,\n message: `URL must have a hostname`\n });\n }\n if (hostname === \"localhost\" || hostname.endsWith(\".local\") || hostname.endsWith(\".localhost\")) {\n throw new DownloadError({\n url,\n message: `URL with hostname ${hostname} is not allowed`\n });\n }\n if (hostname.startsWith(\"[\") && hostname.endsWith(\"]\")) {\n const ipv6 = hostname.slice(1, -1);\n if (isPrivateIPv6(ipv6)) {\n throw new DownloadError({\n url,\n message: `URL with IPv6 address ${hostname} is not allowed`\n });\n }\n return;\n }\n if (isIPv4(hostname)) {\n if (isPrivateIPv4(hostname)) {\n throw new DownloadError({\n url,\n message: `URL with IP address ${hostname} is not allowed`\n });\n }\n return;\n }\n}\nfunction isIPv4(hostname) {\n const parts = hostname.split(\".\");\n if (parts.length !== 4) return false;\n return parts.every((part) => {\n const num = Number(part);\n return Number.isInteger(num) && num >= 0 && num <= 255 && String(num) === part;\n });\n}\nfunction isPrivateIPv4(ip) {\n const parts = ip.split(\".\").map(Number);\n const [a, b] = parts;\n if (a === 0) return true;\n if (a === 10) return true;\n if (a === 127) return true;\n if (a === 169 && b === 254) return true;\n if (a === 172 && b >= 16 && b <= 31) return true;\n if (a === 192 && b === 168) return true;\n return false;\n}\nfunction isPrivateIPv6(ip) {\n const normalized = ip.toLowerCase();\n if (normalized === \"::1\") return true;\n if (normalized === \"::\") return true;\n if (normalized.startsWith(\"::ffff:\")) {\n const mappedPart = normalized.slice(7);\n if (isIPv4(mappedPart)) {\n return isPrivateIPv4(mappedPart);\n }\n const hexParts = mappedPart.split(\":\");\n if (hexParts.length === 2) {\n const high = parseInt(hexParts[0], 16);\n const low = parseInt(hexParts[1], 16);\n if (!isNaN(high) && !isNaN(low)) {\n const a = high >> 8 & 255;\n const b = high & 255;\n const c = low >> 8 & 255;\n const d = low & 255;\n return isPrivateIPv4(`${a}.${b}.${c}.${d}`);\n }\n }\n }\n if (normalized.startsWith(\"fc\") || normalized.startsWith(\"fd\")) return true;\n if (normalized.startsWith(\"fe80\")) return true;\n return false;\n}\n\n// src/download-blob.ts\nasync function downloadBlob(url, options) {\n var _a2, _b2;\n validateDownloadUrl(url);\n try {\n const response = await fetch(url, {\n signal: options == null ? void 0 : options.abortSignal\n });\n if (response.redirected) {\n validateDownloadUrl(response.url);\n }\n if (!response.ok) {\n throw new DownloadError({\n url,\n statusCode: response.status,\n statusText: response.statusText\n });\n }\n const data = await readResponseWithSizeLimit({\n response,\n url,\n maxBytes: (_a2 = options == null ? void 0 : options.maxBytes) != null ? _a2 : DEFAULT_MAX_DOWNLOAD_SIZE\n });\n const contentType = (_b2 = response.headers.get(\"content-type\")) != null ? _b2 : void 0;\n return new Blob([data], contentType ? { type: contentType } : void 0);\n } catch (error) {\n if (DownloadError.isInstance(error)) {\n throw error;\n }\n throw new DownloadError({ url, cause: error });\n }\n}\n\n// src/generate-id.ts\nimport { InvalidArgumentError } from \"@ai-sdk/provider\";\nvar createIdGenerator = ({\n prefix,\n size = 16,\n alphabet = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n separator = \"-\"\n} = {}) => {\n const generator = () => {\n const alphabetLength = alphabet.length;\n const chars = new Array(size);\n for (let i = 0; i < size; i++) {\n chars[i] = alphabet[Math.random() * alphabetLength | 0];\n }\n return chars.join(\"\");\n };\n if (prefix == null) {\n return generator;\n }\n if (alphabet.includes(separator)) {\n throw new InvalidArgumentError({\n argument: \"separator\",\n message: `The separator \"${separator}\" must not be part of the alphabet \"${alphabet}\".`\n });\n }\n return () => `${prefix}${separator}${generator()}`;\n};\nvar generateId = createIdGenerator();\n\n// src/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/get-from-api.ts\nimport { APICallError as APICallError2 } from \"@ai-sdk/provider\";\n\n// src/handle-fetch-error.ts\nimport { APICallError } from \"@ai-sdk/provider\";\n\n// src/is-abort-error.ts\nfunction isAbortError(error) {\n return (error instanceof Error || error instanceof DOMException) && (error.name === \"AbortError\" || error.name === \"ResponseAborted\" || // Next.js\n error.name === \"TimeoutError\");\n}\n\n// src/handle-fetch-error.ts\nvar FETCH_FAILED_ERROR_MESSAGES = [\"fetch failed\", \"failed to fetch\"];\nvar BUN_ERROR_CODES = [\n \"ConnectionRefused\",\n \"ConnectionClosed\",\n \"FailedToOpenSocket\",\n \"ECONNRESET\",\n \"ECONNREFUSED\",\n \"ETIMEDOUT\",\n \"EPIPE\"\n];\nfunction isBunNetworkError(error) {\n if (!(error instanceof Error)) {\n return false;\n }\n const code = error.code;\n if (typeof code === \"string\" && BUN_ERROR_CODES.includes(code)) {\n return true;\n }\n return false;\n}\nfunction handleFetchError({\n error,\n url,\n requestBodyValues\n}) {\n if (isAbortError(error)) {\n return error;\n }\n if (error instanceof TypeError && FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())) {\n const cause = error.cause;\n if (cause != null) {\n return new APICallError({\n message: `Cannot connect to API: ${cause.message}`,\n cause,\n url,\n requestBodyValues,\n isRetryable: true\n // retry when network error\n });\n }\n }\n if (isBunNetworkError(error)) {\n return new APICallError({\n message: `Cannot connect to API: ${error.message}`,\n cause: error,\n url,\n requestBodyValues,\n isRetryable: true\n });\n }\n return error;\n}\n\n// src/get-runtime-environment-user-agent.ts\nfunction getRuntimeEnvironmentUserAgent(globalThisAny = globalThis) {\n var _a2, _b2, _c;\n if (globalThisAny.window) {\n return `runtime/browser`;\n }\n if ((_a2 = globalThisAny.navigator) == null ? void 0 : _a2.userAgent) {\n return `runtime/${globalThisAny.navigator.userAgent.toLowerCase()}`;\n }\n if ((_c = (_b2 = globalThisAny.process) == null ? void 0 : _b2.versions) == null ? void 0 : _c.node) {\n return `runtime/node.js/${globalThisAny.process.version.substring(0)}`;\n }\n if (globalThisAny.EdgeRuntime) {\n return `runtime/vercel-edge`;\n }\n return \"runtime/unknown\";\n}\n\n// src/normalize-headers.ts\nfunction normalizeHeaders(headers) {\n if (headers == null) {\n return {};\n }\n const normalized = {};\n if (headers instanceof Headers) {\n headers.forEach((value, key) => {\n normalized[key.toLowerCase()] = value;\n });\n } else {\n if (!Array.isArray(headers)) {\n headers = Object.entries(headers);\n }\n for (const [key, value] of headers) {\n if (value != null) {\n normalized[key.toLowerCase()] = value;\n }\n }\n }\n return normalized;\n}\n\n// src/with-user-agent-suffix.ts\nfunction withUserAgentSuffix(headers, ...userAgentSuffixParts) {\n const normalizedHeaders = new Headers(normalizeHeaders(headers));\n const currentUserAgentHeader = normalizedHeaders.get(\"user-agent\") || \"\";\n normalizedHeaders.set(\n \"user-agent\",\n [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(\" \")\n );\n return Object.fromEntries(normalizedHeaders.entries());\n}\n\n// src/version.ts\nvar VERSION = true ? \"4.0.23\" : \"0.0.0-test\";\n\n// src/get-from-api.ts\nvar getOriginalFetch = () => globalThis.fetch;\nvar getFromApi = async ({\n url,\n headers = {},\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch: fetch2 = getOriginalFetch()\n}) => {\n try {\n const response = await fetch2(url, {\n method: \"GET\",\n headers: withUserAgentSuffix(\n headers,\n `ai-sdk/provider-utils/${VERSION}`,\n getRuntimeEnvironmentUserAgent()\n ),\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n throw new APICallError2({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError2({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n } catch (error) {\n throw handleFetchError({ error, url, requestBodyValues: {} });\n }\n};\n\n// src/inject-json-instruction.ts\nvar DEFAULT_SCHEMA_PREFIX = \"JSON schema:\";\nvar DEFAULT_SCHEMA_SUFFIX = \"You MUST answer with a JSON object that matches the JSON schema above.\";\nvar DEFAULT_GENERIC_SUFFIX = \"You MUST answer with JSON.\";\nfunction injectJsonInstruction({\n prompt,\n schema,\n schemaPrefix = schema != null ? DEFAULT_SCHEMA_PREFIX : void 0,\n schemaSuffix = schema != null ? DEFAULT_SCHEMA_SUFFIX : DEFAULT_GENERIC_SUFFIX\n}) {\n return [\n prompt != null && prompt.length > 0 ? prompt : void 0,\n prompt != null && prompt.length > 0 ? \"\" : void 0,\n // add a newline if prompt is not null\n schemaPrefix,\n schema != null ? JSON.stringify(schema) : void 0,\n schemaSuffix\n ].filter((line) => line != null).join(\"\\n\");\n}\nfunction injectJsonInstructionIntoMessages({\n messages,\n schema,\n schemaPrefix,\n schemaSuffix\n}) {\n var _a2, _b2;\n const systemMessage = ((_a2 = messages[0]) == null ? void 0 : _a2.role) === \"system\" ? { ...messages[0] } : { role: \"system\", content: \"\" };\n systemMessage.content = injectJsonInstruction({\n prompt: systemMessage.content,\n schema,\n schemaPrefix,\n schemaSuffix\n });\n return [\n systemMessage,\n ...((_b2 = messages[0]) == null ? void 0 : _b2.role) === \"system\" ? messages.slice(1) : messages\n ];\n}\n\n// src/is-non-nullable.ts\nfunction isNonNullable(value) {\n return value != null;\n}\n\n// src/is-url-supported.ts\nfunction isUrlSupported({\n mediaType,\n url,\n supportedUrls\n}) {\n url = url.toLowerCase();\n mediaType = mediaType.toLowerCase();\n return Object.entries(supportedUrls).map(([key, value]) => {\n const mediaType2 = key.toLowerCase();\n return mediaType2 === \"*\" || mediaType2 === \"*/*\" ? { mediaTypePrefix: \"\", regexes: value } : { mediaTypePrefix: mediaType2.replace(/\\*/, \"\"), regexes: value };\n }).filter(({ mediaTypePrefix }) => mediaType.startsWith(mediaTypePrefix)).flatMap(({ regexes }) => regexes).some((pattern) => pattern.test(url));\n}\n\n// src/load-api-key.ts\nimport { LoadAPIKeyError } from \"@ai-sdk/provider\";\nfunction loadApiKey({\n apiKey,\n environmentVariableName,\n apiKeyParameterName = \"apiKey\",\n description\n}) {\n if (typeof apiKey === \"string\") {\n return apiKey;\n }\n if (apiKey != null) {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter. Environment variables are not supported in this environment.`\n });\n }\n apiKey = process.env[environmentVariableName];\n if (apiKey == null) {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof apiKey !== \"string\") {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return apiKey;\n}\n\n// src/load-optional-setting.ts\nfunction loadOptionalSetting({\n settingValue,\n environmentVariableName\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null || typeof process === \"undefined\") {\n return void 0;\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null || typeof settingValue !== \"string\") {\n return void 0;\n }\n return settingValue;\n}\n\n// src/load-setting.ts\nimport { LoadSettingError } from \"@ai-sdk/provider\";\nfunction loadSetting({\n settingValue,\n environmentVariableName,\n settingName,\n description\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null) {\n throw new LoadSettingError({\n message: `${description} setting must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter. Environment variables are not supported in this environment.`\n });\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null) {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof settingValue !== \"string\") {\n throw new LoadSettingError({\n message: `${description} setting must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return settingValue;\n}\n\n// src/media-type-to-extension.ts\nfunction mediaTypeToExtension(mediaType) {\n var _a2;\n const [_type, subtype = \"\"] = mediaType.toLowerCase().split(\"/\");\n return (_a2 = {\n mpeg: \"mp3\",\n \"x-wav\": \"wav\",\n opus: \"ogg\",\n mp4: \"m4a\",\n \"x-m4a\": \"m4a\"\n }[subtype]) != null ? _a2 : subtype;\n}\n\n// src/parse-json.ts\nimport {\n JSONParseError,\n TypeValidationError as TypeValidationError3\n} from \"@ai-sdk/provider\";\n\n// src/secure-json-parse.ts\nvar suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/;\nvar suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nfunction _parse(text) {\n const obj = JSON.parse(text);\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n if (suspectProtoRx.test(text) === false && suspectConstructorRx.test(text) === false) {\n return obj;\n }\n return filter(obj);\n}\nfunction filter(obj) {\n let next = [obj];\n while (next.length) {\n const nodes = next;\n next = [];\n for (const node of nodes) {\n if (Object.prototype.hasOwnProperty.call(node, \"__proto__\")) {\n throw new SyntaxError(\"Object contains forbidden prototype property\");\n }\n if (Object.prototype.hasOwnProperty.call(node, \"constructor\") && node.constructor !== null && typeof node.constructor === \"object\" && Object.prototype.hasOwnProperty.call(node.constructor, \"prototype\")) {\n throw new SyntaxError(\"Object contains forbidden prototype property\");\n }\n for (const key in node) {\n const value = node[key];\n if (value && typeof value === \"object\") {\n next.push(value);\n }\n }\n }\n }\n return obj;\n}\nfunction secureJsonParse(text) {\n const { stackTraceLimit } = Error;\n try {\n Error.stackTraceLimit = 0;\n } catch (e) {\n return _parse(text);\n }\n try {\n return _parse(text);\n } finally {\n Error.stackTraceLimit = stackTraceLimit;\n }\n}\n\n// src/validate-types.ts\nimport { TypeValidationError as TypeValidationError2 } from \"@ai-sdk/provider\";\n\n// src/schema.ts\nimport { TypeValidationError } from \"@ai-sdk/provider\";\nimport * as z4 from \"zod/v4\";\n\n// src/add-additional-properties-to-json-schema.ts\nfunction addAdditionalPropertiesToJsonSchema(jsonSchema2) {\n if (jsonSchema2.type === \"object\" || Array.isArray(jsonSchema2.type) && jsonSchema2.type.includes(\"object\")) {\n jsonSchema2.additionalProperties = false;\n const { properties } = jsonSchema2;\n if (properties != null) {\n for (const key of Object.keys(properties)) {\n properties[key] = visit(properties[key]);\n }\n }\n }\n if (jsonSchema2.items != null) {\n jsonSchema2.items = Array.isArray(jsonSchema2.items) ? jsonSchema2.items.map(visit) : visit(jsonSchema2.items);\n }\n if (jsonSchema2.anyOf != null) {\n jsonSchema2.anyOf = jsonSchema2.anyOf.map(visit);\n }\n if (jsonSchema2.allOf != null) {\n jsonSchema2.allOf = jsonSchema2.allOf.map(visit);\n }\n if (jsonSchema2.oneOf != null) {\n jsonSchema2.oneOf = jsonSchema2.oneOf.map(visit);\n }\n const { definitions } = jsonSchema2;\n if (definitions != null) {\n for (const key of Object.keys(definitions)) {\n definitions[key] = visit(definitions[key]);\n }\n }\n return jsonSchema2;\n}\nfunction visit(def) {\n if (typeof def === \"boolean\") return def;\n return addAdditionalPropertiesToJsonSchema(def);\n}\n\n// src/to-json-schema/zod3-to-json-schema/options.ts\nvar ignoreOverride = /* @__PURE__ */ Symbol(\n \"Let zodToJsonSchema decide on which parser to use\"\n);\nvar defaultOptions = {\n name: void 0,\n $refStrategy: \"root\",\n basePath: [\"#\"],\n effectStrategy: \"input\",\n pipeStrategy: \"all\",\n dateStrategy: \"format:date-time\",\n mapStrategy: \"entries\",\n removeAdditionalStrategy: \"passthrough\",\n allowedAdditionalProperties: true,\n rejectedAdditionalProperties: false,\n definitionPath: \"definitions\",\n strictUnions: false,\n definitions: {},\n errorMessages: false,\n patternStrategy: \"escape\",\n applyRegexFlags: false,\n emailStrategy: \"format:email\",\n base64Strategy: \"contentEncoding:base64\",\n nameStrategy: \"ref\"\n};\nvar getDefaultOptions = (options) => typeof options === \"string\" ? {\n ...defaultOptions,\n name: options\n} : {\n ...defaultOptions,\n ...options\n};\n\n// src/to-json-schema/zod3-to-json-schema/select-parser.ts\nimport { ZodFirstPartyTypeKind as ZodFirstPartyTypeKind3 } from \"zod/v3\";\n\n// src/to-json-schema/zod3-to-json-schema/parsers/any.ts\nfunction parseAnyDef() {\n return {};\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/array.ts\nimport { ZodFirstPartyTypeKind } from \"zod/v3\";\nfunction parseArrayDef(def, refs) {\n var _a2, _b2, _c;\n const res = {\n type: \"array\"\n };\n if (((_a2 = def.type) == null ? void 0 : _a2._def) && ((_c = (_b2 = def.type) == null ? void 0 : _b2._def) == null ? void 0 : _c.typeName) !== ZodFirstPartyTypeKind.ZodAny) {\n res.items = parseDef(def.type._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"]\n });\n }\n if (def.minLength) {\n res.minItems = def.minLength.value;\n }\n if (def.maxLength) {\n res.maxItems = def.maxLength.value;\n }\n if (def.exactLength) {\n res.minItems = def.exactLength.value;\n res.maxItems = def.exactLength.value;\n }\n return res;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/bigint.ts\nfunction parseBigintDef(def) {\n const res = {\n type: \"integer\",\n format: \"int64\"\n };\n if (!def.checks) return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n if (check.inclusive) {\n res.minimum = check.value;\n } else {\n res.exclusiveMinimum = check.value;\n }\n break;\n case \"max\":\n if (check.inclusive) {\n res.maximum = check.value;\n } else {\n res.exclusiveMaximum = check.value;\n }\n break;\n case \"multipleOf\":\n res.multipleOf = check.value;\n break;\n }\n }\n return res;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/boolean.ts\nfunction parseBooleanDef() {\n return { type: \"boolean\" };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/branded.ts\nfunction parseBrandedDef(_def, refs) {\n return parseDef(_def.type._def, refs);\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/catch.ts\nvar parseCatchDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n\n// src/to-json-schema/zod3-to-json-schema/parsers/date.ts\nfunction parseDateDef(def, refs, overrideDateStrategy) {\n const strategy = overrideDateStrategy != null ? overrideDateStrategy : refs.dateStrategy;\n if (Array.isArray(strategy)) {\n return {\n anyOf: strategy.map((item, i) => parseDateDef(def, refs, item))\n };\n }\n switch (strategy) {\n case \"string\":\n case \"format:date-time\":\n return {\n type: \"string\",\n format: \"date-time\"\n };\n case \"format:date\":\n return {\n type: \"string\",\n format: \"date\"\n };\n case \"integer\":\n return integerDateParser(def);\n }\n}\nvar integerDateParser = (def) => {\n const res = {\n type: \"integer\",\n format: \"unix-time\"\n };\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n res.minimum = check.value;\n break;\n case \"max\":\n res.maximum = check.value;\n break;\n }\n }\n return res;\n};\n\n// src/to-json-schema/zod3-to-json-schema/parsers/default.ts\nfunction parseDefaultDef(_def, refs) {\n return {\n ...parseDef(_def.innerType._def, refs),\n default: _def.defaultValue()\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/effects.ts\nfunction parseEffectsDef(_def, refs) {\n return refs.effectStrategy === \"input\" ? parseDef(_def.schema._def, refs) : parseAnyDef();\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/enum.ts\nfunction parseEnumDef(def) {\n return {\n type: \"string\",\n enum: Array.from(def.values)\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/intersection.ts\nvar isJsonSchema7AllOfType = (type) => {\n if (\"type\" in type && type.type === \"string\") return false;\n return \"allOf\" in type;\n};\nfunction parseIntersectionDef(def, refs) {\n const allOf = [\n parseDef(def.left._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"]\n }),\n parseDef(def.right._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"1\"]\n })\n ].filter((x) => !!x);\n const mergedAllOf = [];\n allOf.forEach((schema) => {\n if (isJsonSchema7AllOfType(schema)) {\n mergedAllOf.push(...schema.allOf);\n } else {\n let nestedSchema = schema;\n if (\"additionalProperties\" in schema && schema.additionalProperties === false) {\n const { additionalProperties, ...rest } = schema;\n nestedSchema = rest;\n }\n mergedAllOf.push(nestedSchema);\n }\n });\n return mergedAllOf.length ? { allOf: mergedAllOf } : void 0;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/literal.ts\nfunction parseLiteralDef(def) {\n const parsedType = typeof def.value;\n if (parsedType !== \"bigint\" && parsedType !== \"number\" && parsedType !== \"boolean\" && parsedType !== \"string\") {\n return {\n type: Array.isArray(def.value) ? \"array\" : \"object\"\n };\n }\n return {\n type: parsedType === \"bigint\" ? \"integer\" : parsedType,\n const: def.value\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/record.ts\nimport {\n ZodFirstPartyTypeKind as ZodFirstPartyTypeKind2\n} from \"zod/v3\";\n\n// src/to-json-schema/zod3-to-json-schema/parsers/string.ts\nvar emojiRegex = void 0;\nvar zodPatterns = {\n /**\n * `c` was changed to `[cC]` to replicate /i flag\n */\n cuid: /^[cC][^\\s-]{8,}$/,\n cuid2: /^[0-9a-z]+$/,\n ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,\n /**\n * `a-z` was added to replicate /i flag\n */\n email: /^(?!\\.)(?!.*\\.\\.)([a-zA-Z0-9_'+\\-\\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\\-]*\\.)+[a-zA-Z]{2,}$/,\n /**\n * Constructed a valid Unicode RegExp\n *\n * Lazily instantiate since this type of regex isn't supported\n * in all envs (e.g. React Native).\n *\n * See:\n * https://github.com/colinhacks/zod/issues/2433\n * Fix in Zod:\n * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b\n */\n emoji: () => {\n if (emojiRegex === void 0) {\n emojiRegex = RegExp(\n \"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\",\n \"u\"\n );\n }\n return emojiRegex;\n },\n /**\n * Unused\n */\n uuid: /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/,\n /**\n * Unused\n */\n ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,\n ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,\n /**\n * Unused\n */\n ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,\n ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,\n base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,\n base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,\n nanoid: /^[a-zA-Z0-9_-]{21}$/,\n jwt: /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/\n};\nfunction parseStringDef(def, refs) {\n const res = {\n type: \"string\"\n };\n if (def.checks) {\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n res.minLength = typeof res.minLength === \"number\" ? Math.max(res.minLength, check.value) : check.value;\n break;\n case \"max\":\n res.maxLength = typeof res.maxLength === \"number\" ? Math.min(res.maxLength, check.value) : check.value;\n break;\n case \"email\":\n switch (refs.emailStrategy) {\n case \"format:email\":\n addFormat(res, \"email\", check.message, refs);\n break;\n case \"format:idn-email\":\n addFormat(res, \"idn-email\", check.message, refs);\n break;\n case \"pattern:zod\":\n addPattern(res, zodPatterns.email, check.message, refs);\n break;\n }\n break;\n case \"url\":\n addFormat(res, \"uri\", check.message, refs);\n break;\n case \"uuid\":\n addFormat(res, \"uuid\", check.message, refs);\n break;\n case \"regex\":\n addPattern(res, check.regex, check.message, refs);\n break;\n case \"cuid\":\n addPattern(res, zodPatterns.cuid, check.message, refs);\n break;\n case \"cuid2\":\n addPattern(res, zodPatterns.cuid2, check.message, refs);\n break;\n case \"startsWith\":\n addPattern(\n res,\n RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`),\n check.message,\n refs\n );\n break;\n case \"endsWith\":\n addPattern(\n res,\n RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`),\n check.message,\n refs\n );\n break;\n case \"datetime\":\n addFormat(res, \"date-time\", check.message, refs);\n break;\n case \"date\":\n addFormat(res, \"date\", check.message, refs);\n break;\n case \"time\":\n addFormat(res, \"time\", check.message, refs);\n break;\n case \"duration\":\n addFormat(res, \"duration\", check.message, refs);\n break;\n case \"length\":\n res.minLength = typeof res.minLength === \"number\" ? Math.max(res.minLength, check.value) : check.value;\n res.maxLength = typeof res.maxLength === \"number\" ? Math.min(res.maxLength, check.value) : check.value;\n break;\n case \"includes\": {\n addPattern(\n res,\n RegExp(escapeLiteralCheckValue(check.value, refs)),\n check.message,\n refs\n );\n break;\n }\n case \"ip\": {\n if (check.version !== \"v6\") {\n addFormat(res, \"ipv4\", check.message, refs);\n }\n if (check.version !== \"v4\") {\n addFormat(res, \"ipv6\", check.message, refs);\n }\n break;\n }\n case \"base64url\":\n addPattern(res, zodPatterns.base64url, check.message, refs);\n break;\n case \"jwt\":\n addPattern(res, zodPatterns.jwt, check.message, refs);\n break;\n case \"cidr\": {\n if (check.version !== \"v6\") {\n addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);\n }\n if (check.version !== \"v4\") {\n addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);\n }\n break;\n }\n case \"emoji\":\n addPattern(res, zodPatterns.emoji(), check.message, refs);\n break;\n case \"ulid\": {\n addPattern(res, zodPatterns.ulid, check.message, refs);\n break;\n }\n case \"base64\": {\n switch (refs.base64Strategy) {\n case \"format:binary\": {\n addFormat(res, \"binary\", check.message, refs);\n break;\n }\n case \"contentEncoding:base64\": {\n res.contentEncoding = \"base64\";\n break;\n }\n case \"pattern:zod\": {\n addPattern(res, zodPatterns.base64, check.message, refs);\n break;\n }\n }\n break;\n }\n case \"nanoid\": {\n addPattern(res, zodPatterns.nanoid, check.message, refs);\n }\n case \"toLowerCase\":\n case \"toUpperCase\":\n case \"trim\":\n break;\n default:\n /* @__PURE__ */ ((_) => {\n })(check);\n }\n }\n }\n return res;\n}\nfunction escapeLiteralCheckValue(literal, refs) {\n return refs.patternStrategy === \"escape\" ? escapeNonAlphaNumeric(literal) : literal;\n}\nvar ALPHA_NUMERIC = new Set(\n \"ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789\"\n);\nfunction escapeNonAlphaNumeric(source) {\n let result = \"\";\n for (let i = 0; i < source.length; i++) {\n if (!ALPHA_NUMERIC.has(source[i])) {\n result += \"\\\\\";\n }\n result += source[i];\n }\n return result;\n}\nfunction addFormat(schema, value, message, refs) {\n var _a2;\n if (schema.format || ((_a2 = schema.anyOf) == null ? void 0 : _a2.some((x) => x.format))) {\n if (!schema.anyOf) {\n schema.anyOf = [];\n }\n if (schema.format) {\n schema.anyOf.push({\n format: schema.format\n });\n delete schema.format;\n }\n schema.anyOf.push({\n format: value,\n ...message && refs.errorMessages && { errorMessage: { format: message } }\n });\n } else {\n schema.format = value;\n }\n}\nfunction addPattern(schema, regex, message, refs) {\n var _a2;\n if (schema.pattern || ((_a2 = schema.allOf) == null ? void 0 : _a2.some((x) => x.pattern))) {\n if (!schema.allOf) {\n schema.allOf = [];\n }\n if (schema.pattern) {\n schema.allOf.push({\n pattern: schema.pattern\n });\n delete schema.pattern;\n }\n schema.allOf.push({\n pattern: stringifyRegExpWithFlags(regex, refs),\n ...message && refs.errorMessages && { errorMessage: { pattern: message } }\n });\n } else {\n schema.pattern = stringifyRegExpWithFlags(regex, refs);\n }\n}\nfunction stringifyRegExpWithFlags(regex, refs) {\n var _a2;\n if (!refs.applyRegexFlags || !regex.flags) {\n return regex.source;\n }\n const flags = {\n i: regex.flags.includes(\"i\"),\n // Case-insensitive\n m: regex.flags.includes(\"m\"),\n // `^` and `$` matches adjacent to newline characters\n s: regex.flags.includes(\"s\")\n // `.` matches newlines\n };\n const source = flags.i ? regex.source.toLowerCase() : regex.source;\n let pattern = \"\";\n let isEscaped = false;\n let inCharGroup = false;\n let inCharRange = false;\n for (let i = 0; i < source.length; i++) {\n if (isEscaped) {\n pattern += source[i];\n isEscaped = false;\n continue;\n }\n if (flags.i) {\n if (inCharGroup) {\n if (source[i].match(/[a-z]/)) {\n if (inCharRange) {\n pattern += source[i];\n pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();\n inCharRange = false;\n } else if (source[i + 1] === \"-\" && ((_a2 = source[i + 2]) == null ? void 0 : _a2.match(/[a-z]/))) {\n pattern += source[i];\n inCharRange = true;\n } else {\n pattern += `${source[i]}${source[i].toUpperCase()}`;\n }\n continue;\n }\n } else if (source[i].match(/[a-z]/)) {\n pattern += `[${source[i]}${source[i].toUpperCase()}]`;\n continue;\n }\n }\n if (flags.m) {\n if (source[i] === \"^\") {\n pattern += `(^|(?<=[\\r\n]))`;\n continue;\n } else if (source[i] === \"$\") {\n pattern += `($|(?=[\\r\n]))`;\n continue;\n }\n }\n if (flags.s && source[i] === \".\") {\n pattern += inCharGroup ? `${source[i]}\\r\n` : `[${source[i]}\\r\n]`;\n continue;\n }\n pattern += source[i];\n if (source[i] === \"\\\\\") {\n isEscaped = true;\n } else if (inCharGroup && source[i] === \"]\") {\n inCharGroup = false;\n } else if (!inCharGroup && source[i] === \"[\") {\n inCharGroup = true;\n }\n }\n try {\n new RegExp(pattern);\n } catch (e) {\n console.warn(\n `Could not convert regex pattern at ${refs.currentPath.join(\n \"/\"\n )} to a flag-independent form! Falling back to the flag-ignorant source`\n );\n return regex.source;\n }\n return pattern;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/record.ts\nfunction parseRecordDef(def, refs) {\n var _a2, _b2, _c, _d, _e, _f;\n const schema = {\n type: \"object\",\n additionalProperties: (_a2 = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"]\n })) != null ? _a2 : refs.allowedAdditionalProperties\n };\n if (((_b2 = def.keyType) == null ? void 0 : _b2._def.typeName) === ZodFirstPartyTypeKind2.ZodString && ((_c = def.keyType._def.checks) == null ? void 0 : _c.length)) {\n const { type, ...keyType } = parseStringDef(def.keyType._def, refs);\n return {\n ...schema,\n propertyNames: keyType\n };\n } else if (((_d = def.keyType) == null ? void 0 : _d._def.typeName) === ZodFirstPartyTypeKind2.ZodEnum) {\n return {\n ...schema,\n propertyNames: {\n enum: def.keyType._def.values\n }\n };\n } else if (((_e = def.keyType) == null ? void 0 : _e._def.typeName) === ZodFirstPartyTypeKind2.ZodBranded && def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind2.ZodString && ((_f = def.keyType._def.type._def.checks) == null ? void 0 : _f.length)) {\n const { type, ...keyType } = parseBrandedDef(\n def.keyType._def,\n refs\n );\n return {\n ...schema,\n propertyNames: keyType\n };\n }\n return schema;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/map.ts\nfunction parseMapDef(def, refs) {\n if (refs.mapStrategy === \"record\") {\n return parseRecordDef(def, refs);\n }\n const keys = parseDef(def.keyType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"0\"]\n }) || parseAnyDef();\n const values = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"1\"]\n }) || parseAnyDef();\n return {\n type: \"array\",\n maxItems: 125,\n items: {\n type: \"array\",\n items: [keys, values],\n minItems: 2,\n maxItems: 2\n }\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/native-enum.ts\nfunction parseNativeEnumDef(def) {\n const object = def.values;\n const actualKeys = Object.keys(def.values).filter((key) => {\n return typeof object[object[key]] !== \"number\";\n });\n const actualValues = actualKeys.map((key) => object[key]);\n const parsedTypes = Array.from(\n new Set(actualValues.map((values) => typeof values))\n );\n return {\n type: parsedTypes.length === 1 ? parsedTypes[0] === \"string\" ? \"string\" : \"number\" : [\"string\", \"number\"],\n enum: actualValues\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/never.ts\nfunction parseNeverDef() {\n return { not: parseAnyDef() };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/null.ts\nfunction parseNullDef() {\n return {\n type: \"null\"\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/union.ts\nvar primitiveMappings = {\n ZodString: \"string\",\n ZodNumber: \"number\",\n ZodBigInt: \"integer\",\n ZodBoolean: \"boolean\",\n ZodNull: \"null\"\n};\nfunction parseUnionDef(def, refs) {\n const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;\n if (options.every(\n (x) => x._def.typeName in primitiveMappings && (!x._def.checks || !x._def.checks.length)\n )) {\n const types = options.reduce((types2, x) => {\n const type = primitiveMappings[x._def.typeName];\n return type && !types2.includes(type) ? [...types2, type] : types2;\n }, []);\n return {\n type: types.length > 1 ? types : types[0]\n };\n } else if (options.every((x) => x._def.typeName === \"ZodLiteral\" && !x.description)) {\n const types = options.reduce(\n (acc, x) => {\n const type = typeof x._def.value;\n switch (type) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return [...acc, type];\n case \"bigint\":\n return [...acc, \"integer\"];\n case \"object\":\n if (x._def.value === null) return [...acc, \"null\"];\n case \"symbol\":\n case \"undefined\":\n case \"function\":\n default:\n return acc;\n }\n },\n []\n );\n if (types.length === options.length) {\n const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);\n return {\n type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],\n enum: options.reduce(\n (acc, x) => {\n return acc.includes(x._def.value) ? acc : [...acc, x._def.value];\n },\n []\n )\n };\n }\n } else if (options.every((x) => x._def.typeName === \"ZodEnum\")) {\n return {\n type: \"string\",\n enum: options.reduce(\n (acc, x) => [\n ...acc,\n ...x._def.values.filter((x2) => !acc.includes(x2))\n ],\n []\n )\n };\n }\n return asAnyOf(def, refs);\n}\nvar asAnyOf = (def, refs) => {\n const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map(\n (x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", `${i}`]\n })\n ).filter(\n (x) => !!x && (!refs.strictUnions || typeof x === \"object\" && Object.keys(x).length > 0)\n );\n return anyOf.length ? { anyOf } : void 0;\n};\n\n// src/to-json-schema/zod3-to-json-schema/parsers/nullable.ts\nfunction parseNullableDef(def, refs) {\n if ([\"ZodString\", \"ZodNumber\", \"ZodBigInt\", \"ZodBoolean\", \"ZodNull\"].includes(\n def.innerType._def.typeName\n ) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {\n return {\n type: [\n primitiveMappings[def.innerType._def.typeName],\n \"null\"\n ]\n };\n }\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"0\"]\n });\n return base && { anyOf: [base, { type: \"null\" }] };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/number.ts\nfunction parseNumberDef(def) {\n const res = {\n type: \"number\"\n };\n if (!def.checks) return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"int\":\n res.type = \"integer\";\n break;\n case \"min\":\n if (check.inclusive) {\n res.minimum = check.value;\n } else {\n res.exclusiveMinimum = check.value;\n }\n break;\n case \"max\":\n if (check.inclusive) {\n res.maximum = check.value;\n } else {\n res.exclusiveMaximum = check.value;\n }\n break;\n case \"multipleOf\":\n res.multipleOf = check.value;\n break;\n }\n }\n return res;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/object.ts\nfunction parseObjectDef(def, refs) {\n const result = {\n type: \"object\",\n properties: {}\n };\n const required = [];\n const shape = def.shape();\n for (const propName in shape) {\n let propDef = shape[propName];\n if (propDef === void 0 || propDef._def === void 0) {\n continue;\n }\n const propOptional = safeIsOptional(propDef);\n const parsedDef = parseDef(propDef._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"properties\", propName],\n propertyPath: [...refs.currentPath, \"properties\", propName]\n });\n if (parsedDef === void 0) {\n continue;\n }\n result.properties[propName] = parsedDef;\n if (!propOptional) {\n required.push(propName);\n }\n }\n if (required.length) {\n result.required = required;\n }\n const additionalProperties = decideAdditionalProperties(def, refs);\n if (additionalProperties !== void 0) {\n result.additionalProperties = additionalProperties;\n }\n return result;\n}\nfunction decideAdditionalProperties(def, refs) {\n if (def.catchall._def.typeName !== \"ZodNever\") {\n return parseDef(def.catchall._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"]\n });\n }\n switch (def.unknownKeys) {\n case \"passthrough\":\n return refs.allowedAdditionalProperties;\n case \"strict\":\n return refs.rejectedAdditionalProperties;\n case \"strip\":\n return refs.removeAdditionalStrategy === \"strict\" ? refs.allowedAdditionalProperties : refs.rejectedAdditionalProperties;\n }\n}\nfunction safeIsOptional(schema) {\n try {\n return schema.isOptional();\n } catch (e) {\n return true;\n }\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/optional.ts\nvar parseOptionalDef = (def, refs) => {\n var _a2;\n if (refs.currentPath.toString() === ((_a2 = refs.propertyPath) == null ? void 0 : _a2.toString())) {\n return parseDef(def.innerType._def, refs);\n }\n const innerSchema = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"1\"]\n });\n return innerSchema ? { anyOf: [{ not: parseAnyDef() }, innerSchema] } : parseAnyDef();\n};\n\n// src/to-json-schema/zod3-to-json-schema/parsers/pipeline.ts\nvar parsePipelineDef = (def, refs) => {\n if (refs.pipeStrategy === \"input\") {\n return parseDef(def.in._def, refs);\n } else if (refs.pipeStrategy === \"output\") {\n return parseDef(def.out._def, refs);\n }\n const a = parseDef(def.in._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"]\n });\n const b = parseDef(def.out._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", a ? \"1\" : \"0\"]\n });\n return {\n allOf: [a, b].filter((x) => x !== void 0)\n };\n};\n\n// src/to-json-schema/zod3-to-json-schema/parsers/promise.ts\nfunction parsePromiseDef(def, refs) {\n return parseDef(def.type._def, refs);\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/set.ts\nfunction parseSetDef(def, refs) {\n const items = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"]\n });\n const schema = {\n type: \"array\",\n uniqueItems: true,\n items\n };\n if (def.minSize) {\n schema.minItems = def.minSize.value;\n }\n if (def.maxSize) {\n schema.maxItems = def.maxSize.value;\n }\n return schema;\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/tuple.ts\nfunction parseTupleDef(def, refs) {\n if (def.rest) {\n return {\n type: \"array\",\n minItems: def.items.length,\n items: def.items.map(\n (x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`]\n })\n ).reduce(\n (acc, x) => x === void 0 ? acc : [...acc, x],\n []\n ),\n additionalItems: parseDef(def.rest._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalItems\"]\n })\n };\n } else {\n return {\n type: \"array\",\n minItems: def.items.length,\n maxItems: def.items.length,\n items: def.items.map(\n (x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`]\n })\n ).reduce(\n (acc, x) => x === void 0 ? acc : [...acc, x],\n []\n )\n };\n }\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/undefined.ts\nfunction parseUndefinedDef() {\n return {\n not: parseAnyDef()\n };\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/unknown.ts\nfunction parseUnknownDef() {\n return parseAnyDef();\n}\n\n// src/to-json-schema/zod3-to-json-schema/parsers/readonly.ts\nvar parseReadonlyDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n\n// src/to-json-schema/zod3-to-json-schema/select-parser.ts\nvar selectParser = (def, typeName, refs) => {\n switch (typeName) {\n case ZodFirstPartyTypeKind3.ZodString:\n return parseStringDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodNumber:\n return parseNumberDef(def);\n case ZodFirstPartyTypeKind3.ZodObject:\n return parseObjectDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodBigInt:\n return parseBigintDef(def);\n case ZodFirstPartyTypeKind3.ZodBoolean:\n return parseBooleanDef();\n case ZodFirstPartyTypeKind3.ZodDate:\n return parseDateDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodUndefined:\n return parseUndefinedDef();\n case ZodFirstPartyTypeKind3.ZodNull:\n return parseNullDef();\n case ZodFirstPartyTypeKind3.ZodArray:\n return parseArrayDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodUnion:\n case ZodFirstPartyTypeKind3.ZodDiscriminatedUnion:\n return parseUnionDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodIntersection:\n return parseIntersectionDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodTuple:\n return parseTupleDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodRecord:\n return parseRecordDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodLiteral:\n return parseLiteralDef(def);\n case ZodFirstPartyTypeKind3.ZodEnum:\n return parseEnumDef(def);\n case ZodFirstPartyTypeKind3.ZodNativeEnum:\n return parseNativeEnumDef(def);\n case ZodFirstPartyTypeKind3.ZodNullable:\n return parseNullableDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodOptional:\n return parseOptionalDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodMap:\n return parseMapDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodSet:\n return parseSetDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodLazy:\n return () => def.getter()._def;\n case ZodFirstPartyTypeKind3.ZodPromise:\n return parsePromiseDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodNaN:\n case ZodFirstPartyTypeKind3.ZodNever:\n return parseNeverDef();\n case ZodFirstPartyTypeKind3.ZodEffects:\n return parseEffectsDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodAny:\n return parseAnyDef();\n case ZodFirstPartyTypeKind3.ZodUnknown:\n return parseUnknownDef();\n case ZodFirstPartyTypeKind3.ZodDefault:\n return parseDefaultDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodBranded:\n return parseBrandedDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodReadonly:\n return parseReadonlyDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodCatch:\n return parseCatchDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodPipeline:\n return parsePipelineDef(def, refs);\n case ZodFirstPartyTypeKind3.ZodFunction:\n case ZodFirstPartyTypeKind3.ZodVoid:\n case ZodFirstPartyTypeKind3.ZodSymbol:\n return void 0;\n default:\n return /* @__PURE__ */ ((_) => void 0)(typeName);\n }\n};\n\n// src/to-json-schema/zod3-to-json-schema/get-relative-path.ts\nvar getRelativePath = (pathA, pathB) => {\n let i = 0;\n for (; i < pathA.length && i < pathB.length; i++) {\n if (pathA[i] !== pathB[i]) break;\n }\n return [(pathA.length - i).toString(), ...pathB.slice(i)].join(\"/\");\n};\n\n// src/to-json-schema/zod3-to-json-schema/parse-def.ts\nfunction parseDef(def, refs, forceResolution = false) {\n var _a2;\n const seenItem = refs.seen.get(def);\n if (refs.override) {\n const overrideResult = (_a2 = refs.override) == null ? void 0 : _a2.call(\n refs,\n def,\n refs,\n seenItem,\n forceResolution\n );\n if (overrideResult !== ignoreOverride) {\n return overrideResult;\n }\n }\n if (seenItem && !forceResolution) {\n const seenSchema = get$ref(seenItem, refs);\n if (seenSchema !== void 0) {\n return seenSchema;\n }\n }\n const newItem = { def, path: refs.currentPath, jsonSchema: void 0 };\n refs.seen.set(def, newItem);\n const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);\n const jsonSchema2 = typeof jsonSchemaOrGetter === \"function\" ? parseDef(jsonSchemaOrGetter(), refs) : jsonSchemaOrGetter;\n if (jsonSchema2) {\n addMeta(def, refs, jsonSchema2);\n }\n if (refs.postProcess) {\n const postProcessResult = refs.postProcess(jsonSchema2, def, refs);\n newItem.jsonSchema = jsonSchema2;\n return postProcessResult;\n }\n newItem.jsonSchema = jsonSchema2;\n return jsonSchema2;\n}\nvar get$ref = (item, refs) => {\n switch (refs.$refStrategy) {\n case \"root\":\n return { $ref: item.path.join(\"/\") };\n case \"relative\":\n return { $ref: getRelativePath(refs.currentPath, item.path) };\n case \"none\":\n case \"seen\": {\n if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) {\n console.warn(\n `Recursive reference detected at ${refs.currentPath.join(\n \"/\"\n )}! Defaulting to any`\n );\n return parseAnyDef();\n }\n return refs.$refStrategy === \"seen\" ? parseAnyDef() : void 0;\n }\n }\n};\nvar addMeta = (def, refs, jsonSchema2) => {\n if (def.description) {\n jsonSchema2.description = def.description;\n }\n return jsonSchema2;\n};\n\n// src/to-json-schema/zod3-to-json-schema/refs.ts\nvar getRefs = (options) => {\n const _options = getDefaultOptions(options);\n const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;\n return {\n ..._options,\n currentPath,\n propertyPath: void 0,\n seen: new Map(\n Object.entries(_options.definitions).map(([name2, def]) => [\n def._def,\n {\n def: def._def,\n path: [..._options.basePath, _options.definitionPath, name2],\n // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.\n jsonSchema: void 0\n }\n ])\n )\n };\n};\n\n// src/to-json-schema/zod3-to-json-schema/zod3-to-json-schema.ts\nvar zod3ToJsonSchema = (schema, options) => {\n var _a2;\n const refs = getRefs(options);\n let definitions = typeof options === \"object\" && options.definitions ? Object.entries(options.definitions).reduce(\n (acc, [name3, schema2]) => {\n var _a3;\n return {\n ...acc,\n [name3]: (_a3 = parseDef(\n schema2._def,\n {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name3]\n },\n true\n )) != null ? _a3 : parseAnyDef()\n };\n },\n {}\n ) : void 0;\n const name2 = typeof options === \"string\" ? options : (options == null ? void 0 : options.nameStrategy) === \"title\" ? void 0 : options == null ? void 0 : options.name;\n const main = (_a2 = parseDef(\n schema._def,\n name2 === void 0 ? refs : {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name2]\n },\n false\n )) != null ? _a2 : parseAnyDef();\n const title = typeof options === \"object\" && options.name !== void 0 && options.nameStrategy === \"title\" ? options.name : void 0;\n if (title !== void 0) {\n main.title = title;\n }\n const combined = name2 === void 0 ? definitions ? {\n ...main,\n [refs.definitionPath]: definitions\n } : main : {\n $ref: [\n ...refs.$refStrategy === \"relative\" ? [] : refs.basePath,\n refs.definitionPath,\n name2\n ].join(\"/\"),\n [refs.definitionPath]: {\n ...definitions,\n [name2]: main\n }\n };\n combined.$schema = \"http://json-schema.org/draft-07/schema#\";\n return combined;\n};\n\n// src/schema.ts\nvar schemaSymbol = /* @__PURE__ */ Symbol.for(\"vercel.ai.schema\");\nfunction lazySchema(createSchema) {\n let schema;\n return () => {\n if (schema == null) {\n schema = createSchema();\n }\n return schema;\n };\n}\nfunction jsonSchema(jsonSchema2, {\n validate\n} = {}) {\n return {\n [schemaSymbol]: true,\n _type: void 0,\n // should never be used directly\n get jsonSchema() {\n if (typeof jsonSchema2 === \"function\") {\n jsonSchema2 = jsonSchema2();\n }\n return jsonSchema2;\n },\n validate\n };\n}\nfunction isSchema(value) {\n return typeof value === \"object\" && value !== null && schemaSymbol in value && value[schemaSymbol] === true && \"jsonSchema\" in value && \"validate\" in value;\n}\nfunction asSchema(schema) {\n return schema == null ? jsonSchema({ properties: {}, additionalProperties: false }) : isSchema(schema) ? schema : \"~standard\" in schema ? schema[\"~standard\"].vendor === \"zod\" ? zodSchema(schema) : standardSchema(schema) : schema();\n}\nfunction standardSchema(standardSchema2) {\n return jsonSchema(\n () => addAdditionalPropertiesToJsonSchema(\n standardSchema2[\"~standard\"].jsonSchema.input({\n target: \"draft-07\"\n })\n ),\n {\n validate: async (value) => {\n const result = await standardSchema2[\"~standard\"].validate(value);\n return \"value\" in result ? { success: true, value: result.value } : {\n success: false,\n error: new TypeValidationError({\n value,\n cause: result.issues\n })\n };\n }\n }\n );\n}\nfunction zod3Schema(zodSchema2, options) {\n var _a2;\n const useReferences = (_a2 = options == null ? void 0 : options.useReferences) != null ? _a2 : false;\n return jsonSchema(\n // defer json schema creation to avoid unnecessary computation when only validation is needed\n () => zod3ToJsonSchema(zodSchema2, {\n $refStrategy: useReferences ? \"root\" : \"none\"\n }),\n {\n validate: async (value) => {\n const result = await zodSchema2.safeParseAsync(value);\n return result.success ? { success: true, value: result.data } : { success: false, error: result.error };\n }\n }\n );\n}\nfunction zod4Schema(zodSchema2, options) {\n var _a2;\n const useReferences = (_a2 = options == null ? void 0 : options.useReferences) != null ? _a2 : false;\n return jsonSchema(\n // defer json schema creation to avoid unnecessary computation when only validation is needed\n () => addAdditionalPropertiesToJsonSchema(\n z4.toJSONSchema(zodSchema2, {\n target: \"draft-7\",\n io: \"input\",\n reused: useReferences ? \"ref\" : \"inline\"\n })\n ),\n {\n validate: async (value) => {\n const result = await z4.safeParseAsync(zodSchema2, value);\n return result.success ? { success: true, value: result.data } : { success: false, error: result.error };\n }\n }\n );\n}\nfunction isZod4Schema(zodSchema2) {\n return \"_zod\" in zodSchema2;\n}\nfunction zodSchema(zodSchema2, options) {\n if (isZod4Schema(zodSchema2)) {\n return zod4Schema(zodSchema2, options);\n } else {\n return zod3Schema(zodSchema2, options);\n }\n}\n\n// src/validate-types.ts\nasync function validateTypes({\n value,\n schema,\n context\n}) {\n const result = await safeValidateTypes({ value, schema, context });\n if (!result.success) {\n throw TypeValidationError2.wrap({ value, cause: result.error, context });\n }\n return result.value;\n}\nasync function safeValidateTypes({\n value,\n schema,\n context\n}) {\n const actualSchema = asSchema(schema);\n try {\n if (actualSchema.validate == null) {\n return { success: true, value, rawValue: value };\n }\n const result = await actualSchema.validate(value);\n if (result.success) {\n return { success: true, value: result.value, rawValue: value };\n }\n return {\n success: false,\n error: TypeValidationError2.wrap({ value, cause: result.error, context }),\n rawValue: value\n };\n } catch (error) {\n return {\n success: false,\n error: TypeValidationError2.wrap({ value, cause: error, context }),\n rawValue: value\n };\n }\n}\n\n// src/parse-json.ts\nasync function parseJSON({\n text,\n schema\n}) {\n try {\n const value = secureJsonParse(text);\n if (schema == null) {\n return value;\n }\n return validateTypes({ value, schema });\n } catch (error) {\n if (JSONParseError.isInstance(error) || TypeValidationError3.isInstance(error)) {\n throw error;\n }\n throw new JSONParseError({ text, cause: error });\n }\n}\nasync function safeParseJSON({\n text,\n schema\n}) {\n try {\n const value = secureJsonParse(text);\n if (schema == null) {\n return { success: true, value, rawValue: value };\n }\n return await safeValidateTypes({ value, schema });\n } catch (error) {\n return {\n success: false,\n error: JSONParseError.isInstance(error) ? error : new JSONParseError({ text, cause: error }),\n rawValue: void 0\n };\n }\n}\nfunction isParsableJson(input) {\n try {\n secureJsonParse(input);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// src/parse-json-event-stream.ts\nimport {\n EventSourceParserStream\n} from \"eventsource-parser/stream\";\nfunction parseJsonEventStream({\n stream,\n schema\n}) {\n return stream.pipeThrough(new TextDecoderStream()).pipeThrough(new EventSourceParserStream()).pipeThrough(\n new TransformStream({\n async transform({ data }, controller) {\n if (data === \"[DONE]\") {\n return;\n }\n controller.enqueue(await safeParseJSON({ text: data, schema }));\n }\n })\n );\n}\n\n// src/parse-provider-options.ts\nimport { InvalidArgumentError as InvalidArgumentError2 } from \"@ai-sdk/provider\";\nasync function parseProviderOptions({\n provider,\n providerOptions,\n schema\n}) {\n if ((providerOptions == null ? void 0 : providerOptions[provider]) == null) {\n return void 0;\n }\n const parsedProviderOptions = await safeValidateTypes({\n value: providerOptions[provider],\n schema\n });\n if (!parsedProviderOptions.success) {\n throw new InvalidArgumentError2({\n argument: \"providerOptions\",\n message: `invalid ${provider} provider options`,\n cause: parsedProviderOptions.error\n });\n }\n return parsedProviderOptions.value;\n}\n\n// src/post-to-api.ts\nimport { APICallError as APICallError3 } from \"@ai-sdk/provider\";\nvar getOriginalFetch2 = () => globalThis.fetch;\nvar postJsonToApi = async ({\n url,\n headers,\n body,\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch: fetch2\n}) => postToApi({\n url,\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers\n },\n body: {\n content: JSON.stringify(body),\n values: body\n },\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch: fetch2\n});\nvar postFormDataToApi = async ({\n url,\n headers,\n formData,\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch: fetch2\n}) => postToApi({\n url,\n headers,\n body: {\n content: formData,\n values: Object.fromEntries(formData.entries())\n },\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch: fetch2\n});\nvar postToApi = async ({\n url,\n headers = {},\n body,\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch: fetch2 = getOriginalFetch2()\n}) => {\n try {\n const response = await fetch2(url, {\n method: \"POST\",\n headers: withUserAgentSuffix(\n headers,\n `ai-sdk/provider-utils/${VERSION}`,\n getRuntimeEnvironmentUserAgent()\n ),\n body: body.content,\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (isAbortError(error) || APICallError3.isInstance(error)) {\n throw error;\n }\n throw new APICallError3({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError3.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError3({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n } catch (error) {\n throw handleFetchError({ error, url, requestBodyValues: body.values });\n }\n};\n\n// src/types/tool.ts\nfunction tool(tool2) {\n return tool2;\n}\nfunction dynamicTool(tool2) {\n return { ...tool2, type: \"dynamic\" };\n}\n\n// src/provider-tool-factory.ts\nfunction createProviderToolFactory({\n id,\n inputSchema\n}) {\n return ({\n execute,\n outputSchema,\n needsApproval,\n toModelOutput,\n onInputStart,\n onInputDelta,\n onInputAvailable,\n ...args\n }) => tool({\n type: \"provider\",\n id,\n args,\n inputSchema,\n outputSchema,\n execute,\n needsApproval,\n toModelOutput,\n onInputStart,\n onInputDelta,\n onInputAvailable\n });\n}\nfunction createProviderToolFactoryWithOutputSchema({\n id,\n inputSchema,\n outputSchema,\n supportsDeferredResults\n}) {\n return ({\n execute,\n needsApproval,\n toModelOutput,\n onInputStart,\n onInputDelta,\n onInputAvailable,\n ...args\n }) => tool({\n type: \"provider\",\n id,\n args,\n inputSchema,\n outputSchema,\n execute,\n needsApproval,\n toModelOutput,\n onInputStart,\n onInputDelta,\n onInputAvailable,\n supportsDeferredResults\n });\n}\n\n// src/remove-undefined-entries.ts\nfunction removeUndefinedEntries(record) {\n return Object.fromEntries(\n Object.entries(record).filter(([_key, value]) => value != null)\n );\n}\n\n// src/resolve.ts\nasync function resolve(value) {\n if (typeof value === \"function\") {\n value = value();\n }\n return Promise.resolve(value);\n}\n\n// src/response-handler.ts\nimport { APICallError as APICallError4, EmptyResponseBodyError } from \"@ai-sdk/provider\";\nvar createJsonErrorResponseHandler = ({\n errorSchema,\n errorToMessage,\n isRetryable\n}) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const responseHeaders = extractResponseHeaders(response);\n if (responseBody.trim() === \"\") {\n return {\n responseHeaders,\n value: new APICallError4({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n try {\n const parsedError = await parseJSON({\n text: responseBody,\n schema: errorSchema\n });\n return {\n responseHeaders,\n value: new APICallError4({\n message: errorToMessage(parsedError),\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n data: parsedError,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response, parsedError)\n })\n };\n } catch (parseError) {\n return {\n responseHeaders,\n value: new APICallError4({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n};\nvar createEventSourceResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n return {\n responseHeaders,\n value: parseJsonEventStream({\n stream: response.body,\n schema: chunkSchema\n })\n };\n};\nvar createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const parsedResult = await safeParseJSON({\n text: responseBody,\n schema: responseSchema\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!parsedResult.success) {\n throw new APICallError4({\n message: \"Invalid JSON response\",\n cause: parsedResult.error,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n url,\n requestBodyValues\n });\n }\n return {\n responseHeaders,\n value: parsedResult.value,\n rawValue: parsedResult.rawValue\n };\n};\nvar createBinaryResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (!response.body) {\n throw new APICallError4({\n message: \"Response body is empty\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0\n });\n }\n try {\n const buffer = await response.arrayBuffer();\n return {\n responseHeaders,\n value: new Uint8Array(buffer)\n };\n } catch (error) {\n throw new APICallError4({\n message: \"Failed to read response as array buffer\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0,\n cause: error\n });\n }\n};\nvar createStatusCodeErrorResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n const responseBody = await response.text();\n return {\n responseHeaders,\n value: new APICallError4({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody\n })\n };\n};\n\n// src/strip-file-extension.ts\nfunction stripFileExtension(filename) {\n const firstDotIndex = filename.indexOf(\".\");\n return firstDotIndex === -1 ? filename : filename.slice(0, firstDotIndex);\n}\n\n// src/without-trailing-slash.ts\nfunction withoutTrailingSlash(url) {\n return url == null ? void 0 : url.replace(/\\/$/, \"\");\n}\n\n// src/is-async-iterable.ts\nfunction isAsyncIterable(obj) {\n return obj != null && typeof obj[Symbol.asyncIterator] === \"function\";\n}\n\n// src/types/execute-tool.ts\nasync function* executeTool({\n execute,\n input,\n options\n}) {\n const result = execute(input, options);\n if (isAsyncIterable(result)) {\n let lastOutput;\n for await (const output of result) {\n lastOutput = output;\n yield { type: \"preliminary\", output };\n }\n yield { type: \"final\", output: lastOutput };\n } else {\n yield { type: \"final\", output: await result };\n }\n}\n\n// src/index.ts\nimport {\n EventSourceParserStream as EventSourceParserStream2\n} from \"eventsource-parser/stream\";\nexport {\n DEFAULT_MAX_DOWNLOAD_SIZE,\n DelayedPromise,\n DownloadError,\n EventSourceParserStream2 as EventSourceParserStream,\n VERSION,\n asSchema,\n combineHeaders,\n convertAsyncIteratorToReadableStream,\n convertBase64ToUint8Array,\n convertImageModelFileToDataUri,\n convertToBase64,\n convertToFormData,\n convertUint8ArrayToBase64,\n createBinaryResponseHandler,\n createEventSourceResponseHandler,\n createIdGenerator,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n createProviderToolFactory,\n createProviderToolFactoryWithOutputSchema,\n createStatusCodeErrorResponseHandler,\n createToolNameMapping,\n delay,\n downloadBlob,\n dynamicTool,\n executeTool,\n extractResponseHeaders,\n generateId,\n getErrorMessage,\n getFromApi,\n getRuntimeEnvironmentUserAgent,\n injectJsonInstructionIntoMessages,\n isAbortError,\n isNonNullable,\n isParsableJson,\n isUrlSupported,\n jsonSchema,\n lazySchema,\n loadApiKey,\n loadOptionalSetting,\n loadSetting,\n mediaTypeToExtension,\n normalizeHeaders,\n parseJSON,\n parseJsonEventStream,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n postToApi,\n readResponseWithSizeLimit,\n removeUndefinedEntries,\n resolve,\n safeParseJSON,\n safeValidateTypes,\n stripFileExtension,\n tool,\n validateDownloadUrl,\n validateTypes,\n withUserAgentSuffix,\n withoutTrailingSlash,\n zodSchema\n};\n//# sourceMappingURL=index.mjs.map"
6
6
  ],
7
7
  "mappings": "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",
8
- "debugId": "18A32AD927DE9E9464756E2164756E21",
8
+ "debugId": "A263F792FD6DEC0D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -5,6 +5,6 @@
5
5
  "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260601202201_amazing_prowler\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP TABLE \\`permission\\`;`)\n })\n },\n} satisfies DatabaseMigration.Migration\n"
6
6
  ],
7
7
  "mappings": ";wHAGA,SAAe,QACb,GAAI,iCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,0BAA4B,EAC3C,EAEL",
8
- "debugId": "D469629FF794CECB64756E2164756E21",
8
+ "debugId": "B181515557669D0D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -5,6 +5,6 @@
5
5
  "import { Effect } from \"effect\"\nimport type { DatabaseMigration } from \"../migration\"\n\nexport default {\n id: \"20260312043431_session_message_cursor\",\n up(tx) {\n return Effect.gen(function* () {\n yield* tx.run(`DROP INDEX IF EXISTS \\`message_session_idx\\`;`)\n yield* tx.run(`DROP INDEX IF EXISTS \\`part_message_idx\\`;`)\n yield* tx.run(\n `CREATE INDEX \\`message_session_time_created_id_idx\\` ON \\`message\\` (\\`session_id\\`,\\`time_created\\`,\\`id\\`);`,\n )\n yield* tx.run(`CREATE INDEX \\`part_message_id_id_idx\\` ON \\`part\\` (\\`message_id\\`,\\`id\\`);`)\n })\n },\n} satisfies DatabaseMigration.Migration\n"
6
6
  ],
7
7
  "mappings": ";wHAGA,SAAe,QACb,GAAI,wCACJ,EAAE,CAAC,EAAI,CACL,OAAO,EAAO,IAAI,SAAU,EAAG,CAC7B,MAAO,EAAG,IAAI,6CAA+C,EAC7D,MAAO,EAAG,IAAI,0CAA4C,EAC1D,MAAO,EAAG,IACR,qGACF,EACA,MAAO,EAAG,IAAI,sEAA8E,EAC7F,EAEL",
8
- "debugId": "A34855710B311B4864756E2164756E21",
8
+ "debugId": "DCFD2400AAE8F8DD64756E2164756E21",
9
9
  "names": []
10
10
  }