├── .gitignore ├── README.md ├── chinese.md ├── dist └── copy.js ├── package-lock.json ├── package.json ├── src └── index.ts ├── tsconfig.json └── wrangler.toml /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | 3 | logs 4 | _.log 5 | npm-debug.log_ 6 | yarn-debug.log* 7 | yarn-error.log* 8 | lerna-debug.log* 9 | .pnpm-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | 13 | report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 14 | 15 | # Runtime data 16 | 17 | pids 18 | _.pid 19 | _.seed 20 | \*.pid.lock 21 | 22 | # Directory for instrumented libs generated by jscoverage/JSCover 23 | 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | 28 | coverage 29 | \*.lcov 30 | 31 | # nyc test coverage 32 | 33 | .nyc_output 34 | 35 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 36 | 37 | .grunt 38 | 39 | # Bower dependency directory (https://bower.io/) 40 | 41 | bower_components 42 | 43 | # node-waf configuration 44 | 45 | .lock-wscript 46 | 47 | # Compiled binary addons (https://nodejs.org/api/addons.html) 48 | 49 | build/Release 50 | 51 | # Dependency directories 52 | 53 | node_modules/ 54 | jspm_packages/ 55 | 56 | # Snowpack dependency directory (https://snowpack.dev/) 57 | 58 | web_modules/ 59 | 60 | # TypeScript cache 61 | 62 | \*.tsbuildinfo 63 | 64 | # Optional npm cache directory 65 | 66 | .npm 67 | 68 | # Optional eslint cache 69 | 70 | .eslintcache 71 | 72 | # Optional stylelint cache 73 | 74 | .stylelintcache 75 | 76 | # Microbundle cache 77 | 78 | .rpt2_cache/ 79 | .rts2_cache_cjs/ 80 | .rts2_cache_es/ 81 | .rts2_cache_umd/ 82 | 83 | # Optional REPL history 84 | 85 | .node_repl_history 86 | 87 | # Output of 'npm pack' 88 | 89 | \*.tgz 90 | 91 | # Yarn Integrity file 92 | 93 | .yarn-integrity 94 | 95 | # dotenv environment variable files 96 | 97 | .env 98 | .env.development.local 99 | .env.test.local 100 | .env.production.local 101 | .env.local 102 | 103 | # parcel-bundler cache (https://parceljs.org/) 104 | 105 | .cache 106 | .parcel-cache 107 | 108 | # Next.js build output 109 | 110 | .next 111 | out 112 | 113 | # Nuxt.js build / generate output 114 | 115 | .nuxt 116 | 117 | # Gatsby files 118 | 119 | .cache/ 120 | 121 | # Comment in the public line in if your project uses Gatsby and not Next.js 122 | 123 | # https://nextjs.org/blog/next-9-1#public-directory-support 124 | 125 | # public 126 | 127 | # vuepress build output 128 | 129 | .vuepress/dist 130 | 131 | # vuepress v2.x temp and cache directory 132 | 133 | .temp 134 | .cache 135 | 136 | # Docusaurus cache and generated files 137 | 138 | .docusaurus 139 | 140 | # Serverless directories 141 | 142 | .serverless/ 143 | 144 | # FuseBox cache 145 | 146 | .fusebox/ 147 | 148 | # DynamoDB Local files 149 | 150 | .dynamodb/ 151 | 152 | # TernJS port file 153 | 154 | .tern-port 155 | 156 | # Stores VSCode versions used for testing VSCode extensions 157 | 158 | .vscode-test 159 | 160 | # yarn v2 161 | 162 | .yarn/cache 163 | .yarn/unplugged 164 | .yarn/build-state.yml 165 | .yarn/install-state.gz 166 | .pnp.\* 167 | 168 | # wrangler project 169 | 170 | .dev.vars 171 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Using openai_cloudflare_worker_proxy [中文](https://github.com/isxuelinme/openai_cloudflare_worker_proxy/blob/main/chinese.md) 2 | ### First, you must have a top-level domain name and transfer your domain DNS to cloudflare , because Cloudflare blocks all subdomains of worker from being visited from China. (I'm not blaming Cloudflare, you know what I mean.) 3 | 4 | ### Second: [copy these code of link and change password to yourself password](https://github.com/isxuelinme/openai_cloudflare_worker_proxy/blob/main/dist/copy.js "copy the code and change password to yourself password") 5 | 6 | ### Third : create a worker by your cloudflare dashboard, and paste above code of link to your worker online editer 7 | 8 | 9 | ### when you request , add the following header to your http request 10 | ```js 11 | header["x-l-password"] = , 12 | ``` 13 | #### The role of the password is to protect your cloudflare from overloading 14 | 15 | -------------------------------------------------------------------------------- /chinese.md: -------------------------------------------------------------------------------- 1 | ## 使用教程 2 | ### 首先你需要有一个顶级域名并将你的DNS解析服务迁移到Cloudflare,你无法在中国使用cloudflare worker的子域名,因为cloudflare肯定屏蔽了中国IP地址(希望你相信我说的,中文是这样。 3 | 4 | ### 第二步: [点击这个链接,复制其中的代码保存在你本地的“记事本”里,并将其中的密码改为你自己的](https://github.com/isxuelinme/openai_cloudflare_worker_proxy/blob/main/dist/copy.js "点击这个链接,复制其中的代码保存在你本地的“记事本”里,并将其中的密码改为你自己的") 5 | 6 | ### 第三步 : 登陆你的cloudflare后台, 然后创建一个worker, 并分配一个子域名给自己的worker, 然后在网页上进行在线编辑,把第二步准备好的代码粘贴进去,进行部署。 7 | 8 | 9 | ### 访问的时候就是把api.openai.com这个域名换成你自己的,然后加一个http头在请求里, 10 | ```js 11 | header["x-l-password"] = 第二步里你自己设置的密码, 12 | ``` 13 | #### 密码是防止你的woker被人滥用,超过每日100000次访问的限制,别问我如何创建worker等,问这种问题我建议你付费。 14 | 15 | -------------------------------------------------------------------------------- /dist/copy.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | (() => { 3 | //change to yourself password 4 | var password = "your password"; 5 | var __defProp = Object.defineProperty; 6 | var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; 7 | var __publicField = (obj, key, value) => { 8 | __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); 9 | return value; 10 | }; 11 | 12 | // node_modules/reflare/dist/src/middlewares/cors.js 13 | var useCORS = async (context, next) => { 14 | await next(); 15 | const { request, response, route } = context; 16 | const corsOptions = route.cors; 17 | if (corsOptions === void 0) { 18 | return; 19 | } 20 | const { origin, methods, exposedHeaders, allowedHeaders, credentials, maxAge } = corsOptions; 21 | const requestOrigin = request.headers.get("origin"); 22 | if (requestOrigin === null || origin === false) { 23 | return; 24 | } 25 | const corsHeaders = new Headers(response.headers); 26 | if (origin === true) { 27 | corsHeaders.set("Access-Control-Allow-Origin", requestOrigin); 28 | } else if (Array.isArray(origin)) { 29 | if (origin.includes(requestOrigin)) { 30 | corsHeaders.set("Access-Control-Allow-Origin", requestOrigin); 31 | } 32 | } else if (origin === "*") { 33 | corsHeaders.set("Access-Control-Allow-Origin", "*"); 34 | } 35 | if (Array.isArray(methods)) { 36 | corsHeaders.set("Access-Control-Allow-Methods", methods.join(",")); 37 | } else if (methods === "*") { 38 | corsHeaders.set("Access-Control-Allow-Methods", "*"); 39 | } else { 40 | const requestMethod = request.headers.get("Access-Control-Request-Method"); 41 | if (requestMethod !== null) { 42 | corsHeaders.set("Access-Control-Allow-Methods", requestMethod); 43 | } 44 | } 45 | if (Array.isArray(exposedHeaders)) { 46 | corsHeaders.set("Access-Control-Expose-Headers", exposedHeaders.join(",")); 47 | } else if (exposedHeaders === "*") { 48 | corsHeaders.set("Access-Control-Expose-Headers", "*"); 49 | } 50 | if (Array.isArray(allowedHeaders)) { 51 | corsHeaders.set("Access-Control-Allow-Headers", allowedHeaders.join(",")); 52 | } else if (allowedHeaders === "*") { 53 | corsHeaders.set("Access-Control-Allow-Headers", "*"); 54 | } else { 55 | const requestHeaders = request.headers.get("Access-Control-Request-Headers"); 56 | if (requestHeaders !== null) { 57 | corsHeaders.set("Access-Control-Allow-Headers", requestHeaders); 58 | } 59 | } 60 | if (credentials === true) { 61 | corsHeaders.set("Access-Control-Allow-Credentials", "true"); 62 | } 63 | if (maxAge !== void 0 && Number.isInteger(maxAge)) { 64 | corsHeaders.set("Access-Control-Max-Age", maxAge.toString()); 65 | } 66 | context.response = new Response(response.body, { 67 | status: response.status, 68 | statusText: response.statusText, 69 | headers: corsHeaders 70 | }); 71 | }; 72 | 73 | // node_modules/reflare/dist/src/middlewares/firewall.js 74 | var fields = /* @__PURE__ */ new Set([ 75 | "country", 76 | "continent", 77 | "asn", 78 | "ip", 79 | "hostname", 80 | "user-agent" 81 | ]); 82 | var operators = /* @__PURE__ */ new Set([ 83 | "equal", 84 | "not equal", 85 | "greater", 86 | "less", 87 | "in", 88 | "not in", 89 | "contain", 90 | "not contain", 91 | "match", 92 | "not match" 93 | ]); 94 | var validateFirewall = ({ field, operator, value }) => { 95 | if (field === void 0 || operator === void 0 || value === void 0) { 96 | throw new Error("Invalid 'firewall' field in the option object"); 97 | } 98 | if (fields.has(field) === false) { 99 | throw new Error("Invalid 'firewall' field in the option object"); 100 | } 101 | if (operators.has(operator) === false) { 102 | throw new Error("Invalid 'firewall' field in the option object"); 103 | } 104 | }; 105 | var getFieldParam = (request, field) => { 106 | const cfProperties = request.cf; 107 | switch (field) { 108 | case "asn": 109 | return cfProperties?.asn; 110 | case "continent": 111 | return cfProperties && "continent" in cfProperties ? cfProperties.continent : ""; 112 | case "country": 113 | return cfProperties && "country" in cfProperties ? cfProperties.country : ""; 114 | case "hostname": 115 | return request.headers.get("host") || ""; 116 | case "ip": 117 | return request.headers.get("cf-connecting-ip") || ""; 118 | case "user-agent": 119 | return request.headers.get("user-agent") || ""; 120 | default: 121 | return void 0; 122 | } 123 | }; 124 | var matchOperator = (fieldParam, value) => { 125 | if (!(value instanceof RegExp)) { 126 | throw new Error("You must use 'new RegExp('...')' for 'value' in firewall configuration to use 'match' or 'not match' operator"); 127 | } 128 | return value.test(fieldParam.toString()); 129 | }; 130 | var notMatchOperator = (fieldParam, value) => !matchOperator(fieldParam, value); 131 | var equalOperator = (fieldParam, value) => fieldParam === value; 132 | var notEqualOperator = (fieldParam, value) => fieldParam !== value; 133 | var greaterOperator = (fieldParam, value) => { 134 | if (typeof fieldParam !== "number" || typeof value !== "number") { 135 | throw new Error("You must use number for 'value' in firewall configuration to use 'greater' or 'less' operator"); 136 | } 137 | return fieldParam > value; 138 | }; 139 | var lessOperator = (fieldParam, value) => { 140 | if (typeof fieldParam !== "number" || typeof value !== "number") { 141 | throw new Error("You must use number for 'value' in firewall configuration to use 'greater' or 'less' operator"); 142 | } 143 | return fieldParam < value; 144 | }; 145 | var containOperator = (fieldParam, value) => { 146 | if (typeof fieldParam !== "string" || typeof value !== "string") { 147 | throw new Error("You must use string for 'value' in firewall configuration to use 'contain' or 'not contain' operator"); 148 | } 149 | return fieldParam.includes(value); 150 | }; 151 | var notContainOperator = (fieldParam, value) => !containOperator(fieldParam, value); 152 | var inOperator = (fieldParam, value) => { 153 | if (!Array.isArray(value)) { 154 | throw new Error("You must use an Array for 'value' in firewall configuration to use 'in' or 'not in' operator"); 155 | } 156 | return value.some((item) => item === fieldParam); 157 | }; 158 | var notInOperator = (fieldParam, value) => !inOperator(fieldParam, value); 159 | var operatorsMap = { 160 | match: matchOperator, 161 | contain: containOperator, 162 | equal: equalOperator, 163 | in: inOperator, 164 | greater: greaterOperator, 165 | less: lessOperator, 166 | "not match": notMatchOperator, 167 | "not contain": notContainOperator, 168 | "not equal": notEqualOperator, 169 | "not in": notInOperator 170 | }; 171 | var useFirewall = async (context, next) => { 172 | const { request, route } = context; 173 | if (route.firewall === void 0) { 174 | await next(); 175 | return; 176 | } 177 | route.firewall.forEach(validateFirewall); 178 | for (const { field, operator, value } of route.firewall) { 179 | const fieldParam = getFieldParam(request, field); 180 | if (fieldParam !== void 0 && operatorsMap[operator](fieldParam, value)) { 181 | throw new Error("You don't have permission to access this service."); 182 | } 183 | } 184 | await next(); 185 | }; 186 | 187 | // node_modules/reflare/dist/src/middlewares/headers.js 188 | var setForwardedHeaders = (headers) => { 189 | headers.set("X-Forwarded-Proto", "https"); 190 | const host = headers.get("Host"); 191 | if (host !== null) { 192 | headers.set("X-Forwarded-Host", host); 193 | } 194 | const ip = headers.get("cf-connecting-ip"); 195 | const forwardedForHeader = headers.get("X-Forwarded-For"); 196 | if (ip !== null && forwardedForHeader === null) { 197 | headers.set("X-Forwarded-For", ip); 198 | } 199 | }; 200 | var useHeaders = async (context, next) => { 201 | const { request, route } = context; 202 | const requestHeaders = new Headers(request.headers); 203 | setForwardedHeaders(requestHeaders); 204 | if (route.headers === void 0) { 205 | context.request = new Request(request.url, { 206 | body: request.body, 207 | method: request.method, 208 | headers: requestHeaders 209 | }); 210 | await next(); 211 | return; 212 | } 213 | if (route.headers.request !== void 0) { 214 | for (const [key, value] of Object.entries(route.headers.request)) { 215 | requestHeaders.set(key, value); 216 | } 217 | } 218 | context.request = new Request(request.url, { 219 | body: request.body, 220 | method: request.method, 221 | headers: requestHeaders 222 | }); 223 | await next(); 224 | const { response } = context; 225 | const responseHeaders = new Headers(response.headers); 226 | if (route.headers.response !== void 0) { 227 | for (const [key, value] of Object.entries(route.headers.response)) { 228 | responseHeaders.set(key, value); 229 | } 230 | } 231 | context.response = new Response(response.body, { 232 | status: response.status, 233 | statusText: response.statusText, 234 | headers: responseHeaders 235 | }); 236 | }; 237 | 238 | // node_modules/reflare/dist/src/middlewares/load-balancing.js 239 | var validateUpstream = (upstream) => { 240 | if (upstream.domain === void 0) { 241 | throw new Error("Invalid 'upstream' field in the option object"); 242 | } 243 | }; 244 | var ipHashHandler = (upstream, request) => { 245 | const ipString = request.headers.get("cf-connecting-ip") || "0.0.0.0"; 246 | const userIP = ipString.split(".").map((octet, index, array) => parseInt(octet, 10) * 256 ** (array.length - index - 1)).reduce((accumulator, current) => accumulator + current); 247 | return upstream[userIP % upstream.length]; 248 | }; 249 | var randomHandler = (upstream) => { 250 | const weights = upstream.map((option) => option.weight === void 0 ? 1 : option.weight); 251 | const totalWeight = weights.reduce((acc, num, index) => { 252 | const sum = acc + num; 253 | weights[index] = sum; 254 | return sum; 255 | }); 256 | if (totalWeight === 0) { 257 | throw new Error("Total weights should be greater than 0."); 258 | } 259 | const random = Math.random() * totalWeight; 260 | for (const index of weights.keys()) { 261 | if (weights[index] >= random) { 262 | return upstream[index]; 263 | } 264 | } 265 | return upstream[Math.floor(Math.random() * upstream.length)]; 266 | }; 267 | var handlersMap = { 268 | random: randomHandler, 269 | "ip-hash": ipHashHandler 270 | }; 271 | var useLoadBalancing = async (context, next) => { 272 | const { request, route } = context; 273 | const { upstream, loadBalancing } = route; 274 | if (upstream === void 0) { 275 | throw new Error("The required 'upstream' field in the option object is missing"); 276 | } else if (Array.isArray(upstream)) { 277 | upstream.forEach(validateUpstream); 278 | } else { 279 | validateUpstream(upstream); 280 | } 281 | const upstreamArray = Array.isArray(upstream) ? upstream : [upstream]; 282 | if (loadBalancing === void 0) { 283 | context.upstream = randomHandler(upstreamArray, request); 284 | await next(); 285 | return; 286 | } 287 | const policy = loadBalancing.policy || "random"; 288 | const policyHandler = handlersMap[policy]; 289 | context.upstream = policyHandler(upstreamArray, request); 290 | await next(); 291 | }; 292 | 293 | // node_modules/reflare/dist/src/utils.js 294 | var createResponse = (body, status) => new Response(body, { 295 | status 296 | }); 297 | var getHostname = (request) => { 298 | const url = new URL(request.url); 299 | return url.host; 300 | }; 301 | var convertToArray = (value) => Array.isArray(value) ? value : [value]; 302 | 303 | // node_modules/reflare/dist/src/middlewares/upstream.js 304 | var cloneRequest = (url, request) => { 305 | const requestInit = { 306 | body: request.body, 307 | method: request.method, 308 | headers: request.headers 309 | }; 310 | return new Request(url, requestInit); 311 | }; 312 | var getURL = (url, upstream) => { 313 | const cloneURL = new URL(url); 314 | const { domain, port, protocol } = upstream; 315 | cloneURL.hostname = domain; 316 | if (protocol !== void 0) { 317 | cloneURL.protocol = `${protocol}:`; 318 | } 319 | if (port === void 0) { 320 | cloneURL.port = ""; 321 | } else { 322 | cloneURL.port = port.toString(); 323 | } 324 | return cloneURL.href; 325 | }; 326 | var useUpstream = async (context, next) => { 327 | const { request, upstream } = context; 328 | if (upstream === null) { 329 | await next(); 330 | return; 331 | } 332 | const url = getURL(request.url, upstream); 333 | const onRequest = upstream.onRequest ? convertToArray(upstream.onRequest) : null; 334 | const onResponse = upstream.onResponse ? convertToArray(upstream.onResponse) : null; 335 | let upstreamRequest = cloneRequest(url, request); 336 | if (onRequest) { 337 | upstreamRequest = onRequest.reduce((prevRequest, fn) => fn(cloneRequest(url, prevRequest), url), upstreamRequest); 338 | } 339 | context.response = await fetch(upstreamRequest); 340 | if (onResponse) { 341 | context.response = onResponse.reduce((prevResponse, fn) => fn(new Response(prevResponse.body, prevResponse), url), new Response(context.response.body, context.response)); 342 | } 343 | await next(); 344 | }; 345 | 346 | // node_modules/reflare/dist/src/database/workers-kv.js 347 | var WorkersKV = class { 348 | constructor(namespace) { 349 | __publicField(this, "namespace"); 350 | __publicField(this, "get", async (key) => { 351 | const value = await this.namespace.get(key, { 352 | type: "json", 353 | cacheTtl: 60 354 | }); 355 | return value; 356 | }); 357 | __publicField(this, "put", async (key, value) => { 358 | await this.namespace.put(key, JSON.stringify(value)); 359 | }); 360 | __publicField(this, "delete", async (key) => { 361 | await this.namespace.delete(key); 362 | }); 363 | this.namespace = namespace; 364 | } 365 | }; 366 | 367 | // node_modules/reflare/dist/src/middleware.js 368 | var usePipeline = (...initMiddlewares) => { 369 | const stack = [...initMiddlewares]; 370 | const push = (...middlewares) => { 371 | stack.push(...middlewares); 372 | }; 373 | const execute = async (context) => { 374 | const runner = async (prevIndex, index) => { 375 | if (index === prevIndex) { 376 | throw new Error("next() called multiple times"); 377 | } 378 | if (index >= stack.length) { 379 | return; 380 | } 381 | const middleware = stack[index]; 382 | const next = async () => runner(index, index + 1); 383 | await middleware(context, next); 384 | }; 385 | await runner(-1, 0); 386 | }; 387 | return { 388 | push, 389 | execute 390 | }; 391 | }; 392 | 393 | // node_modules/reflare/dist/src/index.js 394 | var filter = (request, routeList) => { 395 | const url = new URL(request.url); 396 | for (const route of routeList) { 397 | if (route.methods === void 0 || route.methods.includes(request.method)) { 398 | const match = convertToArray(route.path).some((path) => { 399 | const re = RegExp(`^${path.replace(/(\/?)\*/g, "($1.*)?").replace(/\/$/, "").replace(/:(\w+)(\?)?(\.)?/g, "$2(?<$1>[^/]+)$2$3").replace(/\.(?=[\w(])/, "\\.").replace(/\)\.\?\(([^[]+)\[\^/g, "?)\\.?($1(?<=\\.)[^\\.")}/*$`); 400 | return url.pathname.match(re); 401 | }); 402 | if (match) { 403 | return route; 404 | } 405 | } 406 | } 407 | return void 0; 408 | }; 409 | var defaultOptions = { 410 | provider: "static", 411 | routeList: [] 412 | }; 413 | var useReflare = async (options = defaultOptions) => { 414 | const pipeline = usePipeline(useFirewall, useLoadBalancing, useHeaders, useCORS, useUpstream); 415 | const routeList = []; 416 | if (options.provider === "static") { 417 | for (const route of options.routeList) { 418 | routeList.push(route); 419 | } 420 | } 421 | if (options.provider === "kv") { 422 | const database = new WorkersKV(options.namespace); 423 | const routeListKV = await database.get("route-list") || []; 424 | for (const routeKV of routeListKV) { 425 | routeList.push(routeKV); 426 | } 427 | } 428 | const handle = async (request) => { 429 | const route = filter(request, routeList); 430 | if (route === void 0) { 431 | return createResponse("Failed to find a route that matches the path and method of the current request", 500); 432 | } 433 | const context = { 434 | request, 435 | route, 436 | hostname: getHostname(request), 437 | response: new Response("Unhandled response"), 438 | upstream: null 439 | }; 440 | try { 441 | await pipeline.execute(context); 442 | } catch (error) { 443 | if (error instanceof Error) { 444 | context.response = createResponse(error.message, 500); 445 | } 446 | } 447 | return context.response; 448 | }; 449 | const unshift = (route) => { 450 | routeList.unshift(route); 451 | }; 452 | const push = (route) => { 453 | routeList.push(route); 454 | }; 455 | return { 456 | handle, 457 | unshift, 458 | push 459 | }; 460 | }; 461 | var src_default = useReflare; 462 | 463 | // src/index.ts 464 | var handleRequest = async (request) => { 465 | const reflare = await src_default(); 466 | reflare.push({ 467 | path: "*", 468 | upstream: { 469 | domain: "api.openai.com", 470 | protocol: "https" 471 | } 472 | }); 473 | return reflare.handle(request); 474 | }; 475 | addEventListener("fetch", (event) => { 476 | console.log(password); 477 | if (event.request.headers.get("x-l-password") === password) { 478 | return event.respondWith(handleRequest(event.request)); 479 | } else { 480 | return event.respondWith(new Response('{"code":403,"msg":"Wrong password"}', { status: 403 })); 481 | } 482 | }); 483 | })(); 484 | //# sourceMappingURL=index.js.map 485 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "openai_cloudflare_proxy", 3 | "version": "0.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "openai_cloudflare_proxy", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "reflare": "^1.1.1" 12 | }, 13 | "devDependencies": { 14 | "@cloudflare/workers-types": "^4.20230321.0", 15 | "typescript": "^5.0.2", 16 | "vitest": "^0.29.7", 17 | "wrangler": "2.10.0" 18 | } 19 | }, 20 | "node_modules/@cloudflare/kv-asset-handler": { 21 | "version": "0.2.0", 22 | "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz", 23 | "integrity": "sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==", 24 | "dev": true, 25 | "dependencies": { 26 | "mime": "^3.0.0" 27 | } 28 | }, 29 | "node_modules/@cloudflare/workers-types": { 30 | "version": "4.20230321.0", 31 | "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20230321.0.tgz", 32 | "integrity": "sha512-zyRFz9AUS0tbg3/kJ+3zxvp9fl/O9yOJlChih/o86hhOqRMcZVbWefYAvFPidRvYUHM5YTG1wjU1bF9FFckRVg==", 33 | "dev": true 34 | }, 35 | "node_modules/@esbuild-plugins/node-globals-polyfill": { 36 | "version": "0.1.1", 37 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz", 38 | "integrity": "sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==", 39 | "dev": true, 40 | "peerDependencies": { 41 | "esbuild": "*" 42 | } 43 | }, 44 | "node_modules/@esbuild-plugins/node-modules-polyfill": { 45 | "version": "0.1.4", 46 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz", 47 | "integrity": "sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==", 48 | "dev": true, 49 | "dependencies": { 50 | "escape-string-regexp": "^4.0.0", 51 | "rollup-plugin-node-polyfills": "^0.2.1" 52 | }, 53 | "peerDependencies": { 54 | "esbuild": "*" 55 | } 56 | }, 57 | "node_modules/@esbuild/android-arm": { 58 | "version": "0.17.12", 59 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.12.tgz", 60 | "integrity": "sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ==", 61 | "cpu": [ 62 | "arm" 63 | ], 64 | "dev": true, 65 | "optional": true, 66 | "os": [ 67 | "android" 68 | ], 69 | "engines": { 70 | "node": ">=12" 71 | } 72 | }, 73 | "node_modules/@esbuild/android-arm64": { 74 | "version": "0.17.12", 75 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.12.tgz", 76 | "integrity": "sha512-WQ9p5oiXXYJ33F2EkE3r0FRDFVpEdcDiwNX3u7Xaibxfx6vQE0Sb8ytrfQsA5WO6kDn6mDfKLh6KrPBjvkk7xA==", 77 | "cpu": [ 78 | "arm64" 79 | ], 80 | "dev": true, 81 | "optional": true, 82 | "os": [ 83 | "android" 84 | ], 85 | "engines": { 86 | "node": ">=12" 87 | } 88 | }, 89 | "node_modules/@esbuild/android-x64": { 90 | "version": "0.17.12", 91 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.12.tgz", 92 | "integrity": "sha512-m4OsaCr5gT+se25rFPHKQXARMyAehHTQAz4XX1Vk3d27VtqiX0ALMBPoXZsGaB6JYryCLfgGwUslMqTfqeLU0w==", 93 | "cpu": [ 94 | "x64" 95 | ], 96 | "dev": true, 97 | "optional": true, 98 | "os": [ 99 | "android" 100 | ], 101 | "engines": { 102 | "node": ">=12" 103 | } 104 | }, 105 | "node_modules/@esbuild/darwin-arm64": { 106 | "version": "0.17.12", 107 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.12.tgz", 108 | "integrity": "sha512-O3GCZghRIx+RAN0NDPhyyhRgwa19MoKlzGonIb5hgTj78krqp9XZbYCvFr9N1eUxg0ZQEpiiZ4QvsOQwBpP+lg==", 109 | "cpu": [ 110 | "arm64" 111 | ], 112 | "dev": true, 113 | "optional": true, 114 | "os": [ 115 | "darwin" 116 | ], 117 | "engines": { 118 | "node": ">=12" 119 | } 120 | }, 121 | "node_modules/@esbuild/darwin-x64": { 122 | "version": "0.17.12", 123 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.12.tgz", 124 | "integrity": "sha512-5D48jM3tW27h1qjaD9UNRuN+4v0zvksqZSPZqeSWggfMlsVdAhH3pwSfQIFJwcs9QJ9BRibPS4ViZgs3d2wsCA==", 125 | "cpu": [ 126 | "x64" 127 | ], 128 | "dev": true, 129 | "optional": true, 130 | "os": [ 131 | "darwin" 132 | ], 133 | "engines": { 134 | "node": ">=12" 135 | } 136 | }, 137 | "node_modules/@esbuild/freebsd-arm64": { 138 | "version": "0.17.12", 139 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.12.tgz", 140 | "integrity": "sha512-OWvHzmLNTdF1erSvrfoEBGlN94IE6vCEaGEkEH29uo/VoONqPnoDFfShi41Ew+yKimx4vrmmAJEGNoyyP+OgOQ==", 141 | "cpu": [ 142 | "arm64" 143 | ], 144 | "dev": true, 145 | "optional": true, 146 | "os": [ 147 | "freebsd" 148 | ], 149 | "engines": { 150 | "node": ">=12" 151 | } 152 | }, 153 | "node_modules/@esbuild/freebsd-x64": { 154 | "version": "0.17.12", 155 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.12.tgz", 156 | "integrity": "sha512-A0Xg5CZv8MU9xh4a+7NUpi5VHBKh1RaGJKqjxe4KG87X+mTjDE6ZvlJqpWoeJxgfXHT7IMP9tDFu7IZ03OtJAw==", 157 | "cpu": [ 158 | "x64" 159 | ], 160 | "dev": true, 161 | "optional": true, 162 | "os": [ 163 | "freebsd" 164 | ], 165 | "engines": { 166 | "node": ">=12" 167 | } 168 | }, 169 | "node_modules/@esbuild/linux-arm": { 170 | "version": "0.17.12", 171 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.12.tgz", 172 | "integrity": "sha512-WsHyJ7b7vzHdJ1fv67Yf++2dz3D726oO3QCu8iNYik4fb5YuuReOI9OtA+n7Mk0xyQivNTPbl181s+5oZ38gyA==", 173 | "cpu": [ 174 | "arm" 175 | ], 176 | "dev": true, 177 | "optional": true, 178 | "os": [ 179 | "linux" 180 | ], 181 | "engines": { 182 | "node": ">=12" 183 | } 184 | }, 185 | "node_modules/@esbuild/linux-arm64": { 186 | "version": "0.17.12", 187 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.12.tgz", 188 | "integrity": "sha512-cK3AjkEc+8v8YG02hYLQIQlOznW+v9N+OI9BAFuyqkfQFR+DnDLhEM5N8QRxAUz99cJTo1rLNXqRrvY15gbQUg==", 189 | "cpu": [ 190 | "arm64" 191 | ], 192 | "dev": true, 193 | "optional": true, 194 | "os": [ 195 | "linux" 196 | ], 197 | "engines": { 198 | "node": ">=12" 199 | } 200 | }, 201 | "node_modules/@esbuild/linux-ia32": { 202 | "version": "0.17.12", 203 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.12.tgz", 204 | "integrity": "sha512-jdOBXJqcgHlah/nYHnj3Hrnl9l63RjtQ4vn9+bohjQPI2QafASB5MtHAoEv0JQHVb/xYQTFOeuHnNYE1zF7tYw==", 205 | "cpu": [ 206 | "ia32" 207 | ], 208 | "dev": true, 209 | "optional": true, 210 | "os": [ 211 | "linux" 212 | ], 213 | "engines": { 214 | "node": ">=12" 215 | } 216 | }, 217 | "node_modules/@esbuild/linux-loong64": { 218 | "version": "0.17.12", 219 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.12.tgz", 220 | "integrity": "sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA==", 221 | "cpu": [ 222 | "loong64" 223 | ], 224 | "dev": true, 225 | "optional": true, 226 | "os": [ 227 | "linux" 228 | ], 229 | "engines": { 230 | "node": ">=12" 231 | } 232 | }, 233 | "node_modules/@esbuild/linux-mips64el": { 234 | "version": "0.17.12", 235 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.12.tgz", 236 | "integrity": "sha512-o8CIhfBwKcxmEENOH9RwmUejs5jFiNoDw7YgS0EJTF6kgPgcqLFjgoc5kDey5cMHRVCIWc6kK2ShUePOcc7RbA==", 237 | "cpu": [ 238 | "mips64el" 239 | ], 240 | "dev": true, 241 | "optional": true, 242 | "os": [ 243 | "linux" 244 | ], 245 | "engines": { 246 | "node": ">=12" 247 | } 248 | }, 249 | "node_modules/@esbuild/linux-ppc64": { 250 | "version": "0.17.12", 251 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.12.tgz", 252 | "integrity": "sha512-biMLH6NR/GR4z+ap0oJYb877LdBpGac8KfZoEnDiBKd7MD/xt8eaw1SFfYRUeMVx519kVkAOL2GExdFmYnZx3A==", 253 | "cpu": [ 254 | "ppc64" 255 | ], 256 | "dev": true, 257 | "optional": true, 258 | "os": [ 259 | "linux" 260 | ], 261 | "engines": { 262 | "node": ">=12" 263 | } 264 | }, 265 | "node_modules/@esbuild/linux-riscv64": { 266 | "version": "0.17.12", 267 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.12.tgz", 268 | "integrity": "sha512-jkphYUiO38wZGeWlfIBMB72auOllNA2sLfiZPGDtOBb1ELN8lmqBrlMiucgL8awBw1zBXN69PmZM6g4yTX84TA==", 269 | "cpu": [ 270 | "riscv64" 271 | ], 272 | "dev": true, 273 | "optional": true, 274 | "os": [ 275 | "linux" 276 | ], 277 | "engines": { 278 | "node": ">=12" 279 | } 280 | }, 281 | "node_modules/@esbuild/linux-s390x": { 282 | "version": "0.17.12", 283 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.12.tgz", 284 | "integrity": "sha512-j3ucLdeY9HBcvODhCY4b+Ds3hWGO8t+SAidtmWu/ukfLLG/oYDMaA+dnugTVAg5fnUOGNbIYL9TOjhWgQB8W5g==", 285 | "cpu": [ 286 | "s390x" 287 | ], 288 | "dev": true, 289 | "optional": true, 290 | "os": [ 291 | "linux" 292 | ], 293 | "engines": { 294 | "node": ">=12" 295 | } 296 | }, 297 | "node_modules/@esbuild/linux-x64": { 298 | "version": "0.17.12", 299 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.12.tgz", 300 | "integrity": "sha512-uo5JL3cgaEGotaqSaJdRfFNSCUJOIliKLnDGWaVCgIKkHxwhYMm95pfMbWZ9l7GeW9kDg0tSxcy9NYdEtjwwmA==", 301 | "cpu": [ 302 | "x64" 303 | ], 304 | "dev": true, 305 | "optional": true, 306 | "os": [ 307 | "linux" 308 | ], 309 | "engines": { 310 | "node": ">=12" 311 | } 312 | }, 313 | "node_modules/@esbuild/netbsd-x64": { 314 | "version": "0.17.12", 315 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.12.tgz", 316 | "integrity": "sha512-DNdoRg8JX+gGsbqt2gPgkgb00mqOgOO27KnrWZtdABl6yWTST30aibGJ6geBq3WM2TIeW6COs5AScnC7GwtGPg==", 317 | "cpu": [ 318 | "x64" 319 | ], 320 | "dev": true, 321 | "optional": true, 322 | "os": [ 323 | "netbsd" 324 | ], 325 | "engines": { 326 | "node": ">=12" 327 | } 328 | }, 329 | "node_modules/@esbuild/openbsd-x64": { 330 | "version": "0.17.12", 331 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.12.tgz", 332 | "integrity": "sha512-aVsENlr7B64w8I1lhHShND5o8cW6sB9n9MUtLumFlPhG3elhNWtE7M1TFpj3m7lT3sKQUMkGFjTQBrvDDO1YWA==", 333 | "cpu": [ 334 | "x64" 335 | ], 336 | "dev": true, 337 | "optional": true, 338 | "os": [ 339 | "openbsd" 340 | ], 341 | "engines": { 342 | "node": ">=12" 343 | } 344 | }, 345 | "node_modules/@esbuild/sunos-x64": { 346 | "version": "0.17.12", 347 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.12.tgz", 348 | "integrity": "sha512-qbHGVQdKSwi0JQJuZznS4SyY27tYXYF0mrgthbxXrZI3AHKuRvU+Eqbg/F0rmLDpW/jkIZBlCO1XfHUBMNJ1pg==", 349 | "cpu": [ 350 | "x64" 351 | ], 352 | "dev": true, 353 | "optional": true, 354 | "os": [ 355 | "sunos" 356 | ], 357 | "engines": { 358 | "node": ">=12" 359 | } 360 | }, 361 | "node_modules/@esbuild/win32-arm64": { 362 | "version": "0.17.12", 363 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.12.tgz", 364 | "integrity": "sha512-zsCp8Ql+96xXTVTmm6ffvoTSZSV2B/LzzkUXAY33F/76EajNw1m+jZ9zPfNJlJ3Rh4EzOszNDHsmG/fZOhtqDg==", 365 | "cpu": [ 366 | "arm64" 367 | ], 368 | "dev": true, 369 | "optional": true, 370 | "os": [ 371 | "win32" 372 | ], 373 | "engines": { 374 | "node": ">=12" 375 | } 376 | }, 377 | "node_modules/@esbuild/win32-ia32": { 378 | "version": "0.17.12", 379 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.12.tgz", 380 | "integrity": "sha512-FfrFjR4id7wcFYOdqbDfDET3tjxCozUgbqdkOABsSFzoZGFC92UK7mg4JKRc/B3NNEf1s2WHxJ7VfTdVDPN3ng==", 381 | "cpu": [ 382 | "ia32" 383 | ], 384 | "dev": true, 385 | "optional": true, 386 | "os": [ 387 | "win32" 388 | ], 389 | "engines": { 390 | "node": ">=12" 391 | } 392 | }, 393 | "node_modules/@esbuild/win32-x64": { 394 | "version": "0.17.12", 395 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.12.tgz", 396 | "integrity": "sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw==", 397 | "cpu": [ 398 | "x64" 399 | ], 400 | "dev": true, 401 | "optional": true, 402 | "os": [ 403 | "win32" 404 | ], 405 | "engines": { 406 | "node": ">=12" 407 | } 408 | }, 409 | "node_modules/@iarna/toml": { 410 | "version": "2.2.5", 411 | "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", 412 | "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", 413 | "dev": true 414 | }, 415 | "node_modules/@miniflare/cache": { 416 | "version": "2.12.0", 417 | "resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.12.0.tgz", 418 | "integrity": "sha512-rAeuCqjevXrNbMimN22Sa70PieiHvjeILHDOBObQ/0GqVNn/cFO6L/v9GYT8R4X5XhHoIuqo6cvZQrxERySDyQ==", 419 | "dev": true, 420 | "dependencies": { 421 | "@miniflare/core": "2.12.0", 422 | "@miniflare/shared": "2.12.0", 423 | "http-cache-semantics": "^4.1.0", 424 | "undici": "5.11.0" 425 | }, 426 | "engines": { 427 | "node": ">=16.13" 428 | } 429 | }, 430 | "node_modules/@miniflare/cli-parser": { 431 | "version": "2.12.0", 432 | "resolved": "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.12.0.tgz", 433 | "integrity": "sha512-F+fUhJbAAqlKHfFHRyP/jsbNwP57uAU/IypLg+0i1mEhy1foq6XAVQrldsmHZPvKp/YUHWyMxKcWeDfMY3qnxg==", 434 | "dev": true, 435 | "dependencies": { 436 | "@miniflare/shared": "2.12.0", 437 | "kleur": "^4.1.4" 438 | }, 439 | "engines": { 440 | "node": ">=16.13" 441 | } 442 | }, 443 | "node_modules/@miniflare/core": { 444 | "version": "2.12.0", 445 | "resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.12.0.tgz", 446 | "integrity": "sha512-TrlmF3lrXhPlkheNiYGFkVTEhZyN/ok7F42+csE7UDPZpm94n4VqbT/85ssAy5rOJRVlyscHMExrrPeB40L34A==", 447 | "dev": true, 448 | "dependencies": { 449 | "@iarna/toml": "^2.2.5", 450 | "@miniflare/queues": "2.12.0", 451 | "@miniflare/shared": "2.12.0", 452 | "@miniflare/watcher": "2.12.0", 453 | "busboy": "^1.6.0", 454 | "dotenv": "^10.0.0", 455 | "kleur": "^4.1.4", 456 | "set-cookie-parser": "^2.4.8", 457 | "undici": "5.11.0", 458 | "urlpattern-polyfill": "^4.0.3" 459 | }, 460 | "engines": { 461 | "node": ">=16.13" 462 | } 463 | }, 464 | "node_modules/@miniflare/d1": { 465 | "version": "2.12.0", 466 | "resolved": "https://registry.npmjs.org/@miniflare/d1/-/d1-2.12.0.tgz", 467 | "integrity": "sha512-KmaJoXnijuwldplWYnORy3/A2H6XKtrk51HUUe3hg6/JL46L3c7iRrKmruYUC5VtVwWMpvWzGT5uQfpdGQdiHw==", 468 | "dev": true, 469 | "dependencies": { 470 | "@miniflare/core": "2.12.0", 471 | "@miniflare/shared": "2.12.0" 472 | }, 473 | "engines": { 474 | "node": ">=16.7" 475 | } 476 | }, 477 | "node_modules/@miniflare/durable-objects": { 478 | "version": "2.12.0", 479 | "resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.12.0.tgz", 480 | "integrity": "sha512-tK0teVpYlT6R2rjvUlLoqf/7+3K3/XKzkJnG40Rtn6pNddtIyzGilmc8YHUpw3FFhOLaN+o5bDe01PRjOAQ9vA==", 481 | "dev": true, 482 | "dependencies": { 483 | "@miniflare/core": "2.12.0", 484 | "@miniflare/shared": "2.12.0", 485 | "@miniflare/storage-memory": "2.12.0", 486 | "undici": "5.11.0" 487 | }, 488 | "engines": { 489 | "node": ">=16.13" 490 | } 491 | }, 492 | "node_modules/@miniflare/html-rewriter": { 493 | "version": "2.12.0", 494 | "resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.12.0.tgz", 495 | "integrity": "sha512-aNZUh9uTr6nFg2Pn4sB5swRCBA/Oj66N8kDWZhjy56jpFq9w3XuZKc80GuPXKak9n4yLZB4d+cpEK4aVmn7cFg==", 496 | "dev": true, 497 | "dependencies": { 498 | "@miniflare/core": "2.12.0", 499 | "@miniflare/shared": "2.12.0", 500 | "html-rewriter-wasm": "^0.4.1", 501 | "undici": "5.11.0" 502 | }, 503 | "engines": { 504 | "node": ">=16.13" 505 | } 506 | }, 507 | "node_modules/@miniflare/http-server": { 508 | "version": "2.12.0", 509 | "resolved": "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.12.0.tgz", 510 | "integrity": "sha512-OWOssYXgKUYpbzhMD0l5Lq4j0GLNQLXLaraQrhmTK/x1Y4RVPcrlEgShoQ/Adlmc9rU3LEV8uQBXLAfYCQrH3Q==", 511 | "dev": true, 512 | "dependencies": { 513 | "@miniflare/core": "2.12.0", 514 | "@miniflare/shared": "2.12.0", 515 | "@miniflare/web-sockets": "2.12.0", 516 | "kleur": "^4.1.4", 517 | "selfsigned": "^2.0.0", 518 | "undici": "5.11.0", 519 | "ws": "^8.2.2", 520 | "youch": "^2.2.2" 521 | }, 522 | "engines": { 523 | "node": ">=16.13" 524 | } 525 | }, 526 | "node_modules/@miniflare/kv": { 527 | "version": "2.12.0", 528 | "resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.12.0.tgz", 529 | "integrity": "sha512-7EvlgeOeIDEFcFyimzuErkqhS1sB7MqRur7z07VmzdpEx3Ud15/XNGANSM0jd4Iv8pLPPJAq4ESnoJPS7R6m+Q==", 530 | "dev": true, 531 | "dependencies": { 532 | "@miniflare/shared": "2.12.0" 533 | }, 534 | "engines": { 535 | "node": ">=16.13" 536 | } 537 | }, 538 | "node_modules/@miniflare/queues": { 539 | "version": "2.12.0", 540 | "resolved": "https://registry.npmjs.org/@miniflare/queues/-/queues-2.12.0.tgz", 541 | "integrity": "sha512-NSR2lSpK4xrrugj3vDaA9181sCydshff/1onAz7ypHOpWMrFebM8BWBeAT7Q1ktkn6633ropqHdOzwjByJj0EQ==", 542 | "dev": true, 543 | "dependencies": { 544 | "@miniflare/shared": "2.12.0" 545 | }, 546 | "engines": { 547 | "node": ">=16.7" 548 | } 549 | }, 550 | "node_modules/@miniflare/r2": { 551 | "version": "2.12.0", 552 | "resolved": "https://registry.npmjs.org/@miniflare/r2/-/r2-2.12.0.tgz", 553 | "integrity": "sha512-FW9s61B3AOXbKfGNXnDKMVF7Tbx12f7+W/4HJdrqeuu1bgG9oBhCLELZ9UrIPNw3QF5a6Z39pKGu3HnxuH59Mg==", 554 | "dev": true, 555 | "dependencies": { 556 | "@miniflare/shared": "2.12.0", 557 | "undici": "5.11.0" 558 | }, 559 | "engines": { 560 | "node": ">=16.13" 561 | } 562 | }, 563 | "node_modules/@miniflare/runner-vm": { 564 | "version": "2.12.0", 565 | "resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.12.0.tgz", 566 | "integrity": "sha512-4o0VGR9ih3fp+np1L94W/nxGf2M0gTe/3drZjUmCHvgPsdBcUHqhquT3uEVX3x7HBhCKprU1X5VifMOVRo+Zwg==", 567 | "dev": true, 568 | "dependencies": { 569 | "@miniflare/shared": "2.12.0" 570 | }, 571 | "engines": { 572 | "node": ">=16.13" 573 | } 574 | }, 575 | "node_modules/@miniflare/scheduler": { 576 | "version": "2.12.0", 577 | "resolved": "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.12.0.tgz", 578 | "integrity": "sha512-mFh+xxwbPHiUGP/8o2Qe63m/4ianMdb0MkPMksTP1gg/xRj0nybv7gj0V/iZ+RrjM0t1mYoA0keT3RjgpKlDEA==", 579 | "dev": true, 580 | "dependencies": { 581 | "@miniflare/core": "2.12.0", 582 | "@miniflare/shared": "2.12.0", 583 | "cron-schedule": "^3.0.4" 584 | }, 585 | "engines": { 586 | "node": ">=16.13" 587 | } 588 | }, 589 | "node_modules/@miniflare/shared": { 590 | "version": "2.12.0", 591 | "resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.12.0.tgz", 592 | "integrity": "sha512-hxBZv0bhiSuUwEtIBmfnBvH3Zfv4OU0LVtKGc98icGQyI5pocBhMy9bXthZdEybQv7MikVp5HEFV2KRCudg2GA==", 593 | "dev": true, 594 | "dependencies": { 595 | "@types/better-sqlite3": "^7.6.0", 596 | "kleur": "^4.1.4", 597 | "npx-import": "^1.1.4", 598 | "picomatch": "^2.3.1" 599 | }, 600 | "engines": { 601 | "node": ">=16.13" 602 | } 603 | }, 604 | "node_modules/@miniflare/sites": { 605 | "version": "2.12.0", 606 | "resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.12.0.tgz", 607 | "integrity": "sha512-ueUSfELJPzIWrv75HWpcMc989+LYZgwzglagW/pYC/oMc0fVYOXC6Ro/MUBrR3yUA9i8ySap4NOK3oO9dsSR9Q==", 608 | "dev": true, 609 | "dependencies": { 610 | "@miniflare/kv": "2.12.0", 611 | "@miniflare/shared": "2.12.0", 612 | "@miniflare/storage-file": "2.12.0" 613 | }, 614 | "engines": { 615 | "node": ">=16.13" 616 | } 617 | }, 618 | "node_modules/@miniflare/storage-file": { 619 | "version": "2.12.0", 620 | "resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.12.0.tgz", 621 | "integrity": "sha512-KA1Uh02pE82McUr07b1oW4kv6dkE1xjBhjY0L0JzNT7tfm6yUvv1u3Xp0r84x5BC7p/0yqVq2zWE7PC+smbqyQ==", 622 | "dev": true, 623 | "dependencies": { 624 | "@miniflare/shared": "2.12.0", 625 | "@miniflare/storage-memory": "2.12.0" 626 | }, 627 | "engines": { 628 | "node": ">=16.13" 629 | } 630 | }, 631 | "node_modules/@miniflare/storage-memory": { 632 | "version": "2.12.0", 633 | "resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.12.0.tgz", 634 | "integrity": "sha512-riBoz0p8xKyPUbYy3HUc1mowAMinTxhkdBVorrdqAUucwK4HLGpVL9C1q8e10JZYpHkl/wde4puQId2ajWP+lg==", 635 | "dev": true, 636 | "dependencies": { 637 | "@miniflare/shared": "2.12.0" 638 | }, 639 | "engines": { 640 | "node": ">=16.13" 641 | } 642 | }, 643 | "node_modules/@miniflare/watcher": { 644 | "version": "2.12.0", 645 | "resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.12.0.tgz", 646 | "integrity": "sha512-IH4bENdS2xM+KhlJ/1wAt0FGtOClQ+ortaycIA/FTxaS7v+hu3qha6DlV3/LKM1y3r1IcPK5+fEDrf+RPcEgJA==", 647 | "dev": true, 648 | "dependencies": { 649 | "@miniflare/shared": "2.12.0" 650 | }, 651 | "engines": { 652 | "node": ">=16.13" 653 | } 654 | }, 655 | "node_modules/@miniflare/web-sockets": { 656 | "version": "2.12.0", 657 | "resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.12.0.tgz", 658 | "integrity": "sha512-g8evGvmku5t6BdDDPvhhnpmTJU/iMJhwpMFRdX1j3gzY5aLjpS8E2ISE5hrXZyasygyYqrD0oMoAulI3R9PHog==", 659 | "dev": true, 660 | "dependencies": { 661 | "@miniflare/core": "2.12.0", 662 | "@miniflare/shared": "2.12.0", 663 | "undici": "5.11.0", 664 | "ws": "^8.2.2" 665 | }, 666 | "engines": { 667 | "node": ">=16.13" 668 | } 669 | }, 670 | "node_modules/@types/better-sqlite3": { 671 | "version": "7.6.3", 672 | "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz", 673 | "integrity": "sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ==", 674 | "dev": true, 675 | "dependencies": { 676 | "@types/node": "*" 677 | } 678 | }, 679 | "node_modules/@types/chai": { 680 | "version": "4.3.4", 681 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", 682 | "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", 683 | "dev": true 684 | }, 685 | "node_modules/@types/chai-subset": { 686 | "version": "1.3.3", 687 | "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", 688 | "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", 689 | "dev": true, 690 | "dependencies": { 691 | "@types/chai": "*" 692 | } 693 | }, 694 | "node_modules/@types/node": { 695 | "version": "18.15.5", 696 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz", 697 | "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==", 698 | "dev": true 699 | }, 700 | "node_modules/@types/stack-trace": { 701 | "version": "0.0.29", 702 | "resolved": "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz", 703 | "integrity": "sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==", 704 | "dev": true 705 | }, 706 | "node_modules/@vitest/expect": { 707 | "version": "0.29.7", 708 | "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.29.7.tgz", 709 | "integrity": "sha512-UtG0tW0DP6b3N8aw7PHmweKDsvPv4wjGvrVZW7OSxaFg76ShtVdMiMcUkZJgCE8QWUmhwaM0aQhbbVLo4F4pkA==", 710 | "dev": true, 711 | "dependencies": { 712 | "@vitest/spy": "0.29.7", 713 | "@vitest/utils": "0.29.7", 714 | "chai": "^4.3.7" 715 | } 716 | }, 717 | "node_modules/@vitest/runner": { 718 | "version": "0.29.7", 719 | "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.29.7.tgz", 720 | "integrity": "sha512-Yt0+csM945+odOx4rjZSjibQfl2ymxqVsmYz6sO2fiO5RGPYDFCo60JF6tLL9pz4G/kjY4irUxadeB1XT+H1jg==", 721 | "dev": true, 722 | "dependencies": { 723 | "@vitest/utils": "0.29.7", 724 | "p-limit": "^4.0.0", 725 | "pathe": "^1.1.0" 726 | } 727 | }, 728 | "node_modules/@vitest/spy": { 729 | "version": "0.29.7", 730 | "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.29.7.tgz", 731 | "integrity": "sha512-IalL0iO6A6Xz8hthR8sctk6ZS//zVBX48EiNwQguYACdgdei9ZhwMaBFV70mpmeYAFCRAm+DpoFHM5470Im78A==", 732 | "dev": true, 733 | "dependencies": { 734 | "tinyspy": "^1.0.2" 735 | } 736 | }, 737 | "node_modules/@vitest/utils": { 738 | "version": "0.29.7", 739 | "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.29.7.tgz", 740 | "integrity": "sha512-vNgGadp2eE5XKCXtZXL5UyNEDn68npSct75OC9AlELenSK0DiV1Mb9tfkwJHKjRb69iek+e79iipoJx8+s3SdA==", 741 | "dev": true, 742 | "dependencies": { 743 | "cli-truncate": "^3.1.0", 744 | "diff": "^5.1.0", 745 | "loupe": "^2.3.6", 746 | "pretty-format": "^27.5.1" 747 | } 748 | }, 749 | "node_modules/acorn": { 750 | "version": "8.8.2", 751 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", 752 | "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", 753 | "dev": true, 754 | "bin": { 755 | "acorn": "bin/acorn" 756 | }, 757 | "engines": { 758 | "node": ">=0.4.0" 759 | } 760 | }, 761 | "node_modules/acorn-walk": { 762 | "version": "8.2.0", 763 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", 764 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", 765 | "dev": true, 766 | "engines": { 767 | "node": ">=0.4.0" 768 | } 769 | }, 770 | "node_modules/ansi-regex": { 771 | "version": "5.0.1", 772 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 773 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 774 | "dev": true, 775 | "engines": { 776 | "node": ">=8" 777 | } 778 | }, 779 | "node_modules/ansi-styles": { 780 | "version": "5.2.0", 781 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 782 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 783 | "dev": true, 784 | "engines": { 785 | "node": ">=10" 786 | }, 787 | "funding": { 788 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 789 | } 790 | }, 791 | "node_modules/anymatch": { 792 | "version": "3.1.3", 793 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 794 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 795 | "dev": true, 796 | "dependencies": { 797 | "normalize-path": "^3.0.0", 798 | "picomatch": "^2.0.4" 799 | }, 800 | "engines": { 801 | "node": ">= 8" 802 | } 803 | }, 804 | "node_modules/assertion-error": { 805 | "version": "1.1.0", 806 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", 807 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", 808 | "dev": true, 809 | "engines": { 810 | "node": "*" 811 | } 812 | }, 813 | "node_modules/binary-extensions": { 814 | "version": "2.2.0", 815 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 816 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 817 | "dev": true, 818 | "engines": { 819 | "node": ">=8" 820 | } 821 | }, 822 | "node_modules/blake3-wasm": { 823 | "version": "2.1.5", 824 | "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", 825 | "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", 826 | "dev": true 827 | }, 828 | "node_modules/braces": { 829 | "version": "3.0.2", 830 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 831 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 832 | "dev": true, 833 | "dependencies": { 834 | "fill-range": "^7.0.1" 835 | }, 836 | "engines": { 837 | "node": ">=8" 838 | } 839 | }, 840 | "node_modules/buffer-from": { 841 | "version": "1.1.2", 842 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 843 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 844 | "dev": true 845 | }, 846 | "node_modules/builtins": { 847 | "version": "5.0.1", 848 | "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", 849 | "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", 850 | "dev": true, 851 | "dependencies": { 852 | "semver": "^7.0.0" 853 | } 854 | }, 855 | "node_modules/busboy": { 856 | "version": "1.6.0", 857 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 858 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 859 | "dev": true, 860 | "dependencies": { 861 | "streamsearch": "^1.1.0" 862 | }, 863 | "engines": { 864 | "node": ">=10.16.0" 865 | } 866 | }, 867 | "node_modules/cac": { 868 | "version": "6.7.14", 869 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 870 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 871 | "dev": true, 872 | "engines": { 873 | "node": ">=8" 874 | } 875 | }, 876 | "node_modules/chai": { 877 | "version": "4.3.7", 878 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", 879 | "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", 880 | "dev": true, 881 | "dependencies": { 882 | "assertion-error": "^1.1.0", 883 | "check-error": "^1.0.2", 884 | "deep-eql": "^4.1.2", 885 | "get-func-name": "^2.0.0", 886 | "loupe": "^2.3.1", 887 | "pathval": "^1.1.1", 888 | "type-detect": "^4.0.5" 889 | }, 890 | "engines": { 891 | "node": ">=4" 892 | } 893 | }, 894 | "node_modules/check-error": { 895 | "version": "1.0.2", 896 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", 897 | "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", 898 | "dev": true, 899 | "engines": { 900 | "node": "*" 901 | } 902 | }, 903 | "node_modules/chokidar": { 904 | "version": "3.5.3", 905 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 906 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 907 | "dev": true, 908 | "funding": [ 909 | { 910 | "type": "individual", 911 | "url": "https://paulmillr.com/funding/" 912 | } 913 | ], 914 | "dependencies": { 915 | "anymatch": "~3.1.2", 916 | "braces": "~3.0.2", 917 | "glob-parent": "~5.1.2", 918 | "is-binary-path": "~2.1.0", 919 | "is-glob": "~4.0.1", 920 | "normalize-path": "~3.0.0", 921 | "readdirp": "~3.6.0" 922 | }, 923 | "engines": { 924 | "node": ">= 8.10.0" 925 | }, 926 | "optionalDependencies": { 927 | "fsevents": "~2.3.2" 928 | } 929 | }, 930 | "node_modules/cli-truncate": { 931 | "version": "3.1.0", 932 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", 933 | "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", 934 | "dev": true, 935 | "dependencies": { 936 | "slice-ansi": "^5.0.0", 937 | "string-width": "^5.0.0" 938 | }, 939 | "engines": { 940 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 941 | }, 942 | "funding": { 943 | "url": "https://github.com/sponsors/sindresorhus" 944 | } 945 | }, 946 | "node_modules/cookie": { 947 | "version": "0.4.2", 948 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 949 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", 950 | "dev": true, 951 | "engines": { 952 | "node": ">= 0.6" 953 | } 954 | }, 955 | "node_modules/cron-schedule": { 956 | "version": "3.0.6", 957 | "resolved": "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.6.tgz", 958 | "integrity": "sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==", 959 | "dev": true 960 | }, 961 | "node_modules/cross-spawn": { 962 | "version": "7.0.3", 963 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 964 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 965 | "dev": true, 966 | "dependencies": { 967 | "path-key": "^3.1.0", 968 | "shebang-command": "^2.0.0", 969 | "which": "^2.0.1" 970 | }, 971 | "engines": { 972 | "node": ">= 8" 973 | } 974 | }, 975 | "node_modules/debug": { 976 | "version": "4.3.4", 977 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 978 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 979 | "dev": true, 980 | "dependencies": { 981 | "ms": "2.1.2" 982 | }, 983 | "engines": { 984 | "node": ">=6.0" 985 | }, 986 | "peerDependenciesMeta": { 987 | "supports-color": { 988 | "optional": true 989 | } 990 | } 991 | }, 992 | "node_modules/deep-eql": { 993 | "version": "4.1.3", 994 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", 995 | "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", 996 | "dev": true, 997 | "dependencies": { 998 | "type-detect": "^4.0.0" 999 | }, 1000 | "engines": { 1001 | "node": ">=6" 1002 | } 1003 | }, 1004 | "node_modules/diff": { 1005 | "version": "5.1.0", 1006 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", 1007 | "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", 1008 | "dev": true, 1009 | "engines": { 1010 | "node": ">=0.3.1" 1011 | } 1012 | }, 1013 | "node_modules/dotenv": { 1014 | "version": "10.0.0", 1015 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", 1016 | "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", 1017 | "dev": true, 1018 | "engines": { 1019 | "node": ">=10" 1020 | } 1021 | }, 1022 | "node_modules/eastasianwidth": { 1023 | "version": "0.2.0", 1024 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1025 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1026 | "dev": true 1027 | }, 1028 | "node_modules/emoji-regex": { 1029 | "version": "9.2.2", 1030 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1031 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 1032 | "dev": true 1033 | }, 1034 | "node_modules/esbuild": { 1035 | "version": "0.17.12", 1036 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.12.tgz", 1037 | "integrity": "sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ==", 1038 | "dev": true, 1039 | "hasInstallScript": true, 1040 | "bin": { 1041 | "esbuild": "bin/esbuild" 1042 | }, 1043 | "engines": { 1044 | "node": ">=12" 1045 | }, 1046 | "optionalDependencies": { 1047 | "@esbuild/android-arm": "0.17.12", 1048 | "@esbuild/android-arm64": "0.17.12", 1049 | "@esbuild/android-x64": "0.17.12", 1050 | "@esbuild/darwin-arm64": "0.17.12", 1051 | "@esbuild/darwin-x64": "0.17.12", 1052 | "@esbuild/freebsd-arm64": "0.17.12", 1053 | "@esbuild/freebsd-x64": "0.17.12", 1054 | "@esbuild/linux-arm": "0.17.12", 1055 | "@esbuild/linux-arm64": "0.17.12", 1056 | "@esbuild/linux-ia32": "0.17.12", 1057 | "@esbuild/linux-loong64": "0.17.12", 1058 | "@esbuild/linux-mips64el": "0.17.12", 1059 | "@esbuild/linux-ppc64": "0.17.12", 1060 | "@esbuild/linux-riscv64": "0.17.12", 1061 | "@esbuild/linux-s390x": "0.17.12", 1062 | "@esbuild/linux-x64": "0.17.12", 1063 | "@esbuild/netbsd-x64": "0.17.12", 1064 | "@esbuild/openbsd-x64": "0.17.12", 1065 | "@esbuild/sunos-x64": "0.17.12", 1066 | "@esbuild/win32-arm64": "0.17.12", 1067 | "@esbuild/win32-ia32": "0.17.12", 1068 | "@esbuild/win32-x64": "0.17.12" 1069 | } 1070 | }, 1071 | "node_modules/escape-string-regexp": { 1072 | "version": "4.0.0", 1073 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1074 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1075 | "dev": true, 1076 | "engines": { 1077 | "node": ">=10" 1078 | }, 1079 | "funding": { 1080 | "url": "https://github.com/sponsors/sindresorhus" 1081 | } 1082 | }, 1083 | "node_modules/estree-walker": { 1084 | "version": "0.6.1", 1085 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 1086 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 1087 | "dev": true 1088 | }, 1089 | "node_modules/execa": { 1090 | "version": "6.1.0", 1091 | "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", 1092 | "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", 1093 | "dev": true, 1094 | "dependencies": { 1095 | "cross-spawn": "^7.0.3", 1096 | "get-stream": "^6.0.1", 1097 | "human-signals": "^3.0.1", 1098 | "is-stream": "^3.0.0", 1099 | "merge-stream": "^2.0.0", 1100 | "npm-run-path": "^5.1.0", 1101 | "onetime": "^6.0.0", 1102 | "signal-exit": "^3.0.7", 1103 | "strip-final-newline": "^3.0.0" 1104 | }, 1105 | "engines": { 1106 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1107 | }, 1108 | "funding": { 1109 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 1110 | } 1111 | }, 1112 | "node_modules/fill-range": { 1113 | "version": "7.0.1", 1114 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1115 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1116 | "dev": true, 1117 | "dependencies": { 1118 | "to-regex-range": "^5.0.1" 1119 | }, 1120 | "engines": { 1121 | "node": ">=8" 1122 | } 1123 | }, 1124 | "node_modules/fsevents": { 1125 | "version": "2.3.2", 1126 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1127 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1128 | "dev": true, 1129 | "hasInstallScript": true, 1130 | "optional": true, 1131 | "os": [ 1132 | "darwin" 1133 | ], 1134 | "engines": { 1135 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1136 | } 1137 | }, 1138 | "node_modules/function-bind": { 1139 | "version": "1.1.1", 1140 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1141 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1142 | "dev": true 1143 | }, 1144 | "node_modules/get-func-name": { 1145 | "version": "2.0.0", 1146 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", 1147 | "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", 1148 | "dev": true, 1149 | "engines": { 1150 | "node": "*" 1151 | } 1152 | }, 1153 | "node_modules/get-stream": { 1154 | "version": "6.0.1", 1155 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 1156 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 1157 | "dev": true, 1158 | "engines": { 1159 | "node": ">=10" 1160 | }, 1161 | "funding": { 1162 | "url": "https://github.com/sponsors/sindresorhus" 1163 | } 1164 | }, 1165 | "node_modules/glob-parent": { 1166 | "version": "5.1.2", 1167 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1168 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1169 | "dev": true, 1170 | "dependencies": { 1171 | "is-glob": "^4.0.1" 1172 | }, 1173 | "engines": { 1174 | "node": ">= 6" 1175 | } 1176 | }, 1177 | "node_modules/has": { 1178 | "version": "1.0.3", 1179 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1180 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1181 | "dev": true, 1182 | "dependencies": { 1183 | "function-bind": "^1.1.1" 1184 | }, 1185 | "engines": { 1186 | "node": ">= 0.4.0" 1187 | } 1188 | }, 1189 | "node_modules/html-rewriter-wasm": { 1190 | "version": "0.4.1", 1191 | "resolved": "https://registry.npmjs.org/html-rewriter-wasm/-/html-rewriter-wasm-0.4.1.tgz", 1192 | "integrity": "sha512-lNovG8CMCCmcVB1Q7xggMSf7tqPCijZXaH4gL6iE8BFghdQCbaY5Met9i1x2Ex8m/cZHDUtXK9H6/znKamRP8Q==", 1193 | "dev": true 1194 | }, 1195 | "node_modules/http-cache-semantics": { 1196 | "version": "4.1.1", 1197 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 1198 | "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 1199 | "dev": true 1200 | }, 1201 | "node_modules/human-signals": { 1202 | "version": "3.0.1", 1203 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", 1204 | "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", 1205 | "dev": true, 1206 | "engines": { 1207 | "node": ">=12.20.0" 1208 | } 1209 | }, 1210 | "node_modules/is-binary-path": { 1211 | "version": "2.1.0", 1212 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1213 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1214 | "dev": true, 1215 | "dependencies": { 1216 | "binary-extensions": "^2.0.0" 1217 | }, 1218 | "engines": { 1219 | "node": ">=8" 1220 | } 1221 | }, 1222 | "node_modules/is-core-module": { 1223 | "version": "2.11.0", 1224 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 1225 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 1226 | "dev": true, 1227 | "dependencies": { 1228 | "has": "^1.0.3" 1229 | }, 1230 | "funding": { 1231 | "url": "https://github.com/sponsors/ljharb" 1232 | } 1233 | }, 1234 | "node_modules/is-extglob": { 1235 | "version": "2.1.1", 1236 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1237 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1238 | "dev": true, 1239 | "engines": { 1240 | "node": ">=0.10.0" 1241 | } 1242 | }, 1243 | "node_modules/is-fullwidth-code-point": { 1244 | "version": "4.0.0", 1245 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", 1246 | "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", 1247 | "dev": true, 1248 | "engines": { 1249 | "node": ">=12" 1250 | }, 1251 | "funding": { 1252 | "url": "https://github.com/sponsors/sindresorhus" 1253 | } 1254 | }, 1255 | "node_modules/is-glob": { 1256 | "version": "4.0.3", 1257 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1258 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1259 | "dev": true, 1260 | "dependencies": { 1261 | "is-extglob": "^2.1.1" 1262 | }, 1263 | "engines": { 1264 | "node": ">=0.10.0" 1265 | } 1266 | }, 1267 | "node_modules/is-number": { 1268 | "version": "7.0.0", 1269 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1270 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1271 | "dev": true, 1272 | "engines": { 1273 | "node": ">=0.12.0" 1274 | } 1275 | }, 1276 | "node_modules/is-stream": { 1277 | "version": "3.0.0", 1278 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 1279 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 1280 | "dev": true, 1281 | "engines": { 1282 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1283 | }, 1284 | "funding": { 1285 | "url": "https://github.com/sponsors/sindresorhus" 1286 | } 1287 | }, 1288 | "node_modules/isexe": { 1289 | "version": "2.0.0", 1290 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1291 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1292 | "dev": true 1293 | }, 1294 | "node_modules/jsonc-parser": { 1295 | "version": "3.2.0", 1296 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", 1297 | "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", 1298 | "dev": true 1299 | }, 1300 | "node_modules/kleur": { 1301 | "version": "4.1.5", 1302 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 1303 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 1304 | "dev": true, 1305 | "engines": { 1306 | "node": ">=6" 1307 | } 1308 | }, 1309 | "node_modules/local-pkg": { 1310 | "version": "0.4.3", 1311 | "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", 1312 | "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", 1313 | "dev": true, 1314 | "engines": { 1315 | "node": ">=14" 1316 | }, 1317 | "funding": { 1318 | "url": "https://github.com/sponsors/antfu" 1319 | } 1320 | }, 1321 | "node_modules/loupe": { 1322 | "version": "2.3.6", 1323 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", 1324 | "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", 1325 | "dev": true, 1326 | "dependencies": { 1327 | "get-func-name": "^2.0.0" 1328 | } 1329 | }, 1330 | "node_modules/lru-cache": { 1331 | "version": "6.0.0", 1332 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1333 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1334 | "dev": true, 1335 | "dependencies": { 1336 | "yallist": "^4.0.0" 1337 | }, 1338 | "engines": { 1339 | "node": ">=10" 1340 | } 1341 | }, 1342 | "node_modules/magic-string": { 1343 | "version": "0.25.9", 1344 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1345 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1346 | "dev": true, 1347 | "dependencies": { 1348 | "sourcemap-codec": "^1.4.8" 1349 | } 1350 | }, 1351 | "node_modules/merge-stream": { 1352 | "version": "2.0.0", 1353 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1354 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1355 | "dev": true 1356 | }, 1357 | "node_modules/mime": { 1358 | "version": "3.0.0", 1359 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 1360 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 1361 | "dev": true, 1362 | "bin": { 1363 | "mime": "cli.js" 1364 | }, 1365 | "engines": { 1366 | "node": ">=10.0.0" 1367 | } 1368 | }, 1369 | "node_modules/mimic-fn": { 1370 | "version": "4.0.0", 1371 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 1372 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 1373 | "dev": true, 1374 | "engines": { 1375 | "node": ">=12" 1376 | }, 1377 | "funding": { 1378 | "url": "https://github.com/sponsors/sindresorhus" 1379 | } 1380 | }, 1381 | "node_modules/miniflare": { 1382 | "version": "2.12.0", 1383 | "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-2.12.0.tgz", 1384 | "integrity": "sha512-Af90T8nzDkZFNSYnOZB/ne7TjsIIPZ23BAmIks1itDUwDvuFooEbDnuvBgjyksg3WBm6o5QB4y2+Dx8/j8mptg==", 1385 | "dev": true, 1386 | "dependencies": { 1387 | "@miniflare/cache": "2.12.0", 1388 | "@miniflare/cli-parser": "2.12.0", 1389 | "@miniflare/core": "2.12.0", 1390 | "@miniflare/d1": "2.12.0", 1391 | "@miniflare/durable-objects": "2.12.0", 1392 | "@miniflare/html-rewriter": "2.12.0", 1393 | "@miniflare/http-server": "2.12.0", 1394 | "@miniflare/kv": "2.12.0", 1395 | "@miniflare/queues": "2.12.0", 1396 | "@miniflare/r2": "2.12.0", 1397 | "@miniflare/runner-vm": "2.12.0", 1398 | "@miniflare/scheduler": "2.12.0", 1399 | "@miniflare/shared": "2.12.0", 1400 | "@miniflare/sites": "2.12.0", 1401 | "@miniflare/storage-file": "2.12.0", 1402 | "@miniflare/storage-memory": "2.12.0", 1403 | "@miniflare/web-sockets": "2.12.0", 1404 | "kleur": "^4.1.4", 1405 | "semiver": "^1.1.0", 1406 | "source-map-support": "^0.5.20", 1407 | "undici": "5.11.0" 1408 | }, 1409 | "bin": { 1410 | "miniflare": "bootstrap.js" 1411 | }, 1412 | "engines": { 1413 | "node": ">=16.13" 1414 | }, 1415 | "peerDependencies": { 1416 | "@miniflare/storage-redis": "2.12.0", 1417 | "cron-schedule": "^3.0.4", 1418 | "ioredis": "^4.27.9" 1419 | }, 1420 | "peerDependenciesMeta": { 1421 | "@miniflare/storage-redis": { 1422 | "optional": true 1423 | }, 1424 | "cron-schedule": { 1425 | "optional": true 1426 | }, 1427 | "ioredis": { 1428 | "optional": true 1429 | } 1430 | } 1431 | }, 1432 | "node_modules/mlly": { 1433 | "version": "1.2.0", 1434 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.2.0.tgz", 1435 | "integrity": "sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==", 1436 | "dev": true, 1437 | "dependencies": { 1438 | "acorn": "^8.8.2", 1439 | "pathe": "^1.1.0", 1440 | "pkg-types": "^1.0.2", 1441 | "ufo": "^1.1.1" 1442 | } 1443 | }, 1444 | "node_modules/ms": { 1445 | "version": "2.1.2", 1446 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1447 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1448 | "dev": true 1449 | }, 1450 | "node_modules/mustache": { 1451 | "version": "4.2.0", 1452 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", 1453 | "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", 1454 | "dev": true, 1455 | "bin": { 1456 | "mustache": "bin/mustache" 1457 | } 1458 | }, 1459 | "node_modules/nanoid": { 1460 | "version": "3.3.4", 1461 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1462 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 1463 | "dev": true, 1464 | "bin": { 1465 | "nanoid": "bin/nanoid.cjs" 1466 | }, 1467 | "engines": { 1468 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1469 | } 1470 | }, 1471 | "node_modules/node-forge": { 1472 | "version": "1.3.1", 1473 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", 1474 | "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", 1475 | "dev": true, 1476 | "engines": { 1477 | "node": ">= 6.13.0" 1478 | } 1479 | }, 1480 | "node_modules/normalize-path": { 1481 | "version": "3.0.0", 1482 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1483 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1484 | "dev": true, 1485 | "engines": { 1486 | "node": ">=0.10.0" 1487 | } 1488 | }, 1489 | "node_modules/npm-run-path": { 1490 | "version": "5.1.0", 1491 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", 1492 | "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", 1493 | "dev": true, 1494 | "dependencies": { 1495 | "path-key": "^4.0.0" 1496 | }, 1497 | "engines": { 1498 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1499 | }, 1500 | "funding": { 1501 | "url": "https://github.com/sponsors/sindresorhus" 1502 | } 1503 | }, 1504 | "node_modules/npm-run-path/node_modules/path-key": { 1505 | "version": "4.0.0", 1506 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 1507 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 1508 | "dev": true, 1509 | "engines": { 1510 | "node": ">=12" 1511 | }, 1512 | "funding": { 1513 | "url": "https://github.com/sponsors/sindresorhus" 1514 | } 1515 | }, 1516 | "node_modules/npx-import": { 1517 | "version": "1.1.4", 1518 | "resolved": "https://registry.npmjs.org/npx-import/-/npx-import-1.1.4.tgz", 1519 | "integrity": "sha512-3ShymTWOgqGyNlh5lMJAejLuIv3W1K3fbI5Ewc6YErZU3Sp0PqsNs8UIU1O8z5+KVl/Du5ag56Gza9vdorGEoA==", 1520 | "dev": true, 1521 | "dependencies": { 1522 | "execa": "^6.1.0", 1523 | "parse-package-name": "^1.0.0", 1524 | "semver": "^7.3.7", 1525 | "validate-npm-package-name": "^4.0.0" 1526 | } 1527 | }, 1528 | "node_modules/onetime": { 1529 | "version": "6.0.0", 1530 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 1531 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 1532 | "dev": true, 1533 | "dependencies": { 1534 | "mimic-fn": "^4.0.0" 1535 | }, 1536 | "engines": { 1537 | "node": ">=12" 1538 | }, 1539 | "funding": { 1540 | "url": "https://github.com/sponsors/sindresorhus" 1541 | } 1542 | }, 1543 | "node_modules/p-limit": { 1544 | "version": "4.0.0", 1545 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", 1546 | "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", 1547 | "dev": true, 1548 | "dependencies": { 1549 | "yocto-queue": "^1.0.0" 1550 | }, 1551 | "engines": { 1552 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1553 | }, 1554 | "funding": { 1555 | "url": "https://github.com/sponsors/sindresorhus" 1556 | } 1557 | }, 1558 | "node_modules/parse-package-name": { 1559 | "version": "1.0.0", 1560 | "resolved": "https://registry.npmjs.org/parse-package-name/-/parse-package-name-1.0.0.tgz", 1561 | "integrity": "sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==", 1562 | "dev": true 1563 | }, 1564 | "node_modules/path-key": { 1565 | "version": "3.1.1", 1566 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1567 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1568 | "dev": true, 1569 | "engines": { 1570 | "node": ">=8" 1571 | } 1572 | }, 1573 | "node_modules/path-parse": { 1574 | "version": "1.0.7", 1575 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1576 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1577 | "dev": true 1578 | }, 1579 | "node_modules/path-to-regexp": { 1580 | "version": "6.2.1", 1581 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", 1582 | "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", 1583 | "dev": true 1584 | }, 1585 | "node_modules/pathe": { 1586 | "version": "1.1.0", 1587 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", 1588 | "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", 1589 | "dev": true 1590 | }, 1591 | "node_modules/pathval": { 1592 | "version": "1.1.1", 1593 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", 1594 | "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", 1595 | "dev": true, 1596 | "engines": { 1597 | "node": "*" 1598 | } 1599 | }, 1600 | "node_modules/picocolors": { 1601 | "version": "1.0.0", 1602 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1603 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1604 | "dev": true 1605 | }, 1606 | "node_modules/picomatch": { 1607 | "version": "2.3.1", 1608 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1609 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1610 | "dev": true, 1611 | "engines": { 1612 | "node": ">=8.6" 1613 | }, 1614 | "funding": { 1615 | "url": "https://github.com/sponsors/jonschlinkert" 1616 | } 1617 | }, 1618 | "node_modules/pkg-types": { 1619 | "version": "1.0.2", 1620 | "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", 1621 | "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", 1622 | "dev": true, 1623 | "dependencies": { 1624 | "jsonc-parser": "^3.2.0", 1625 | "mlly": "^1.1.1", 1626 | "pathe": "^1.1.0" 1627 | } 1628 | }, 1629 | "node_modules/postcss": { 1630 | "version": "8.4.21", 1631 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", 1632 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", 1633 | "dev": true, 1634 | "funding": [ 1635 | { 1636 | "type": "opencollective", 1637 | "url": "https://opencollective.com/postcss/" 1638 | }, 1639 | { 1640 | "type": "tidelift", 1641 | "url": "https://tidelift.com/funding/github/npm/postcss" 1642 | } 1643 | ], 1644 | "dependencies": { 1645 | "nanoid": "^3.3.4", 1646 | "picocolors": "^1.0.0", 1647 | "source-map-js": "^1.0.2" 1648 | }, 1649 | "engines": { 1650 | "node": "^10 || ^12 || >=14" 1651 | } 1652 | }, 1653 | "node_modules/pretty-format": { 1654 | "version": "27.5.1", 1655 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 1656 | "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 1657 | "dev": true, 1658 | "dependencies": { 1659 | "ansi-regex": "^5.0.1", 1660 | "ansi-styles": "^5.0.0", 1661 | "react-is": "^17.0.1" 1662 | }, 1663 | "engines": { 1664 | "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" 1665 | } 1666 | }, 1667 | "node_modules/react-is": { 1668 | "version": "17.0.2", 1669 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 1670 | "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 1671 | "dev": true 1672 | }, 1673 | "node_modules/readdirp": { 1674 | "version": "3.6.0", 1675 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1676 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1677 | "dev": true, 1678 | "dependencies": { 1679 | "picomatch": "^2.2.1" 1680 | }, 1681 | "engines": { 1682 | "node": ">=8.10.0" 1683 | } 1684 | }, 1685 | "node_modules/reflare": { 1686 | "version": "1.1.1", 1687 | "resolved": "https://registry.npmjs.org/reflare/-/reflare-1.1.1.tgz", 1688 | "integrity": "sha512-W3S78aCwbVVPzmmgK7PYhHSQBkDaX1ZzaOAarTHFHawoKmlg714b/fpv8gv7hnkOyIbQP0qlFn2laIBgCwOtWA==" 1689 | }, 1690 | "node_modules/resolve": { 1691 | "version": "1.22.1", 1692 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1693 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1694 | "dev": true, 1695 | "dependencies": { 1696 | "is-core-module": "^2.9.0", 1697 | "path-parse": "^1.0.7", 1698 | "supports-preserve-symlinks-flag": "^1.0.0" 1699 | }, 1700 | "bin": { 1701 | "resolve": "bin/resolve" 1702 | }, 1703 | "funding": { 1704 | "url": "https://github.com/sponsors/ljharb" 1705 | } 1706 | }, 1707 | "node_modules/rollup": { 1708 | "version": "3.20.0", 1709 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.0.tgz", 1710 | "integrity": "sha512-YsIfrk80NqUDrxrjWPXUa7PWvAfegZEXHuPsEZg58fGCdjL1I9C1i/NaG+L+27kxxwkrG/QEDEQc8s/ynXWWGQ==", 1711 | "dev": true, 1712 | "bin": { 1713 | "rollup": "dist/bin/rollup" 1714 | }, 1715 | "engines": { 1716 | "node": ">=14.18.0", 1717 | "npm": ">=8.0.0" 1718 | }, 1719 | "optionalDependencies": { 1720 | "fsevents": "~2.3.2" 1721 | } 1722 | }, 1723 | "node_modules/rollup-plugin-inject": { 1724 | "version": "3.0.2", 1725 | "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", 1726 | "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", 1727 | "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", 1728 | "dev": true, 1729 | "dependencies": { 1730 | "estree-walker": "^0.6.1", 1731 | "magic-string": "^0.25.3", 1732 | "rollup-pluginutils": "^2.8.1" 1733 | } 1734 | }, 1735 | "node_modules/rollup-plugin-node-polyfills": { 1736 | "version": "0.2.1", 1737 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", 1738 | "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", 1739 | "dev": true, 1740 | "dependencies": { 1741 | "rollup-plugin-inject": "^3.0.0" 1742 | } 1743 | }, 1744 | "node_modules/rollup-pluginutils": { 1745 | "version": "2.8.2", 1746 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1747 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1748 | "dev": true, 1749 | "dependencies": { 1750 | "estree-walker": "^0.6.1" 1751 | } 1752 | }, 1753 | "node_modules/selfsigned": { 1754 | "version": "2.1.1", 1755 | "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", 1756 | "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", 1757 | "dev": true, 1758 | "dependencies": { 1759 | "node-forge": "^1" 1760 | }, 1761 | "engines": { 1762 | "node": ">=10" 1763 | } 1764 | }, 1765 | "node_modules/semiver": { 1766 | "version": "1.1.0", 1767 | "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", 1768 | "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==", 1769 | "dev": true, 1770 | "engines": { 1771 | "node": ">=6" 1772 | } 1773 | }, 1774 | "node_modules/semver": { 1775 | "version": "7.3.8", 1776 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", 1777 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", 1778 | "dev": true, 1779 | "dependencies": { 1780 | "lru-cache": "^6.0.0" 1781 | }, 1782 | "bin": { 1783 | "semver": "bin/semver.js" 1784 | }, 1785 | "engines": { 1786 | "node": ">=10" 1787 | } 1788 | }, 1789 | "node_modules/set-cookie-parser": { 1790 | "version": "2.6.0", 1791 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", 1792 | "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", 1793 | "dev": true 1794 | }, 1795 | "node_modules/shebang-command": { 1796 | "version": "2.0.0", 1797 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1798 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1799 | "dev": true, 1800 | "dependencies": { 1801 | "shebang-regex": "^3.0.0" 1802 | }, 1803 | "engines": { 1804 | "node": ">=8" 1805 | } 1806 | }, 1807 | "node_modules/shebang-regex": { 1808 | "version": "3.0.0", 1809 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1810 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1811 | "dev": true, 1812 | "engines": { 1813 | "node": ">=8" 1814 | } 1815 | }, 1816 | "node_modules/siginfo": { 1817 | "version": "2.0.0", 1818 | "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 1819 | "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 1820 | "dev": true 1821 | }, 1822 | "node_modules/signal-exit": { 1823 | "version": "3.0.7", 1824 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1825 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1826 | "dev": true 1827 | }, 1828 | "node_modules/slice-ansi": { 1829 | "version": "5.0.0", 1830 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", 1831 | "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", 1832 | "dev": true, 1833 | "dependencies": { 1834 | "ansi-styles": "^6.0.0", 1835 | "is-fullwidth-code-point": "^4.0.0" 1836 | }, 1837 | "engines": { 1838 | "node": ">=12" 1839 | }, 1840 | "funding": { 1841 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 1842 | } 1843 | }, 1844 | "node_modules/slice-ansi/node_modules/ansi-styles": { 1845 | "version": "6.2.1", 1846 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 1847 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 1848 | "dev": true, 1849 | "engines": { 1850 | "node": ">=12" 1851 | }, 1852 | "funding": { 1853 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1854 | } 1855 | }, 1856 | "node_modules/source-map": { 1857 | "version": "0.6.1", 1858 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1859 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1860 | "dev": true, 1861 | "engines": { 1862 | "node": ">=0.10.0" 1863 | } 1864 | }, 1865 | "node_modules/source-map-js": { 1866 | "version": "1.0.2", 1867 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1868 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1869 | "dev": true, 1870 | "engines": { 1871 | "node": ">=0.10.0" 1872 | } 1873 | }, 1874 | "node_modules/source-map-support": { 1875 | "version": "0.5.21", 1876 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1877 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1878 | "dev": true, 1879 | "dependencies": { 1880 | "buffer-from": "^1.0.0", 1881 | "source-map": "^0.6.0" 1882 | } 1883 | }, 1884 | "node_modules/sourcemap-codec": { 1885 | "version": "1.4.8", 1886 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1887 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 1888 | "deprecated": "Please use @jridgewell/sourcemap-codec instead", 1889 | "dev": true 1890 | }, 1891 | "node_modules/stack-trace": { 1892 | "version": "0.0.10", 1893 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 1894 | "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", 1895 | "dev": true, 1896 | "engines": { 1897 | "node": "*" 1898 | } 1899 | }, 1900 | "node_modules/stackback": { 1901 | "version": "0.0.2", 1902 | "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 1903 | "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 1904 | "dev": true 1905 | }, 1906 | "node_modules/std-env": { 1907 | "version": "3.3.2", 1908 | "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", 1909 | "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", 1910 | "dev": true 1911 | }, 1912 | "node_modules/streamsearch": { 1913 | "version": "1.1.0", 1914 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 1915 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 1916 | "dev": true, 1917 | "engines": { 1918 | "node": ">=10.0.0" 1919 | } 1920 | }, 1921 | "node_modules/string-width": { 1922 | "version": "5.1.2", 1923 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1924 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1925 | "dev": true, 1926 | "dependencies": { 1927 | "eastasianwidth": "^0.2.0", 1928 | "emoji-regex": "^9.2.2", 1929 | "strip-ansi": "^7.0.1" 1930 | }, 1931 | "engines": { 1932 | "node": ">=12" 1933 | }, 1934 | "funding": { 1935 | "url": "https://github.com/sponsors/sindresorhus" 1936 | } 1937 | }, 1938 | "node_modules/strip-ansi": { 1939 | "version": "7.0.1", 1940 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", 1941 | "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", 1942 | "dev": true, 1943 | "dependencies": { 1944 | "ansi-regex": "^6.0.1" 1945 | }, 1946 | "engines": { 1947 | "node": ">=12" 1948 | }, 1949 | "funding": { 1950 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 1951 | } 1952 | }, 1953 | "node_modules/strip-ansi/node_modules/ansi-regex": { 1954 | "version": "6.0.1", 1955 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 1956 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 1957 | "dev": true, 1958 | "engines": { 1959 | "node": ">=12" 1960 | }, 1961 | "funding": { 1962 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 1963 | } 1964 | }, 1965 | "node_modules/strip-final-newline": { 1966 | "version": "3.0.0", 1967 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 1968 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 1969 | "dev": true, 1970 | "engines": { 1971 | "node": ">=12" 1972 | }, 1973 | "funding": { 1974 | "url": "https://github.com/sponsors/sindresorhus" 1975 | } 1976 | }, 1977 | "node_modules/strip-literal": { 1978 | "version": "1.0.1", 1979 | "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", 1980 | "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", 1981 | "dev": true, 1982 | "dependencies": { 1983 | "acorn": "^8.8.2" 1984 | }, 1985 | "funding": { 1986 | "url": "https://github.com/sponsors/antfu" 1987 | } 1988 | }, 1989 | "node_modules/supports-preserve-symlinks-flag": { 1990 | "version": "1.0.0", 1991 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1992 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1993 | "dev": true, 1994 | "engines": { 1995 | "node": ">= 0.4" 1996 | }, 1997 | "funding": { 1998 | "url": "https://github.com/sponsors/ljharb" 1999 | } 2000 | }, 2001 | "node_modules/tinybench": { 2002 | "version": "2.4.0", 2003 | "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.4.0.tgz", 2004 | "integrity": "sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==", 2005 | "dev": true 2006 | }, 2007 | "node_modules/tinypool": { 2008 | "version": "0.4.0", 2009 | "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.4.0.tgz", 2010 | "integrity": "sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==", 2011 | "dev": true, 2012 | "engines": { 2013 | "node": ">=14.0.0" 2014 | } 2015 | }, 2016 | "node_modules/tinyspy": { 2017 | "version": "1.1.1", 2018 | "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz", 2019 | "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==", 2020 | "dev": true, 2021 | "engines": { 2022 | "node": ">=14.0.0" 2023 | } 2024 | }, 2025 | "node_modules/to-regex-range": { 2026 | "version": "5.0.1", 2027 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2028 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2029 | "dev": true, 2030 | "dependencies": { 2031 | "is-number": "^7.0.0" 2032 | }, 2033 | "engines": { 2034 | "node": ">=8.0" 2035 | } 2036 | }, 2037 | "node_modules/type-detect": { 2038 | "version": "4.0.8", 2039 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 2040 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 2041 | "dev": true, 2042 | "engines": { 2043 | "node": ">=4" 2044 | } 2045 | }, 2046 | "node_modules/typescript": { 2047 | "version": "5.0.2", 2048 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", 2049 | "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", 2050 | "dev": true, 2051 | "bin": { 2052 | "tsc": "bin/tsc", 2053 | "tsserver": "bin/tsserver" 2054 | }, 2055 | "engines": { 2056 | "node": ">=12.20" 2057 | } 2058 | }, 2059 | "node_modules/ufo": { 2060 | "version": "1.1.1", 2061 | "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", 2062 | "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", 2063 | "dev": true 2064 | }, 2065 | "node_modules/undici": { 2066 | "version": "5.11.0", 2067 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.11.0.tgz", 2068 | "integrity": "sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==", 2069 | "dev": true, 2070 | "dependencies": { 2071 | "busboy": "^1.6.0" 2072 | }, 2073 | "engines": { 2074 | "node": ">=12.18" 2075 | } 2076 | }, 2077 | "node_modules/urlpattern-polyfill": { 2078 | "version": "4.0.3", 2079 | "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-4.0.3.tgz", 2080 | "integrity": "sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==", 2081 | "dev": true 2082 | }, 2083 | "node_modules/validate-npm-package-name": { 2084 | "version": "4.0.0", 2085 | "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", 2086 | "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", 2087 | "dev": true, 2088 | "dependencies": { 2089 | "builtins": "^5.0.0" 2090 | }, 2091 | "engines": { 2092 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 2093 | } 2094 | }, 2095 | "node_modules/vite": { 2096 | "version": "4.2.1", 2097 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", 2098 | "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", 2099 | "dev": true, 2100 | "dependencies": { 2101 | "esbuild": "^0.17.5", 2102 | "postcss": "^8.4.21", 2103 | "resolve": "^1.22.1", 2104 | "rollup": "^3.18.0" 2105 | }, 2106 | "bin": { 2107 | "vite": "bin/vite.js" 2108 | }, 2109 | "engines": { 2110 | "node": "^14.18.0 || >=16.0.0" 2111 | }, 2112 | "optionalDependencies": { 2113 | "fsevents": "~2.3.2" 2114 | }, 2115 | "peerDependencies": { 2116 | "@types/node": ">= 14", 2117 | "less": "*", 2118 | "sass": "*", 2119 | "stylus": "*", 2120 | "sugarss": "*", 2121 | "terser": "^5.4.0" 2122 | }, 2123 | "peerDependenciesMeta": { 2124 | "@types/node": { 2125 | "optional": true 2126 | }, 2127 | "less": { 2128 | "optional": true 2129 | }, 2130 | "sass": { 2131 | "optional": true 2132 | }, 2133 | "stylus": { 2134 | "optional": true 2135 | }, 2136 | "sugarss": { 2137 | "optional": true 2138 | }, 2139 | "terser": { 2140 | "optional": true 2141 | } 2142 | } 2143 | }, 2144 | "node_modules/vite-node": { 2145 | "version": "0.29.7", 2146 | "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.29.7.tgz", 2147 | "integrity": "sha512-PakCZLvz37yFfUPWBnLa1OYHPCGm5v4pmRrTcFN4V/N/T3I6tyP3z07S//9w+DdeL7vVd0VSeyMZuAh+449ZWw==", 2148 | "dev": true, 2149 | "dependencies": { 2150 | "cac": "^6.7.14", 2151 | "debug": "^4.3.4", 2152 | "mlly": "^1.1.0", 2153 | "pathe": "^1.1.0", 2154 | "picocolors": "^1.0.0", 2155 | "vite": "^3.0.0 || ^4.0.0" 2156 | }, 2157 | "bin": { 2158 | "vite-node": "vite-node.mjs" 2159 | }, 2160 | "engines": { 2161 | "node": ">=v14.16.0" 2162 | }, 2163 | "funding": { 2164 | "url": "https://github.com/sponsors/antfu" 2165 | } 2166 | }, 2167 | "node_modules/vitest": { 2168 | "version": "0.29.7", 2169 | "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.29.7.tgz", 2170 | "integrity": "sha512-aWinOSOu4jwTuZHkb+cCyrqQ116Q9TXaJrNKTHudKBknIpR0VplzeaOUuDF9jeZcrbtQKZQt6yrtd+eakbaxHg==", 2171 | "dev": true, 2172 | "dependencies": { 2173 | "@types/chai": "^4.3.4", 2174 | "@types/chai-subset": "^1.3.3", 2175 | "@types/node": "*", 2176 | "@vitest/expect": "0.29.7", 2177 | "@vitest/runner": "0.29.7", 2178 | "@vitest/spy": "0.29.7", 2179 | "@vitest/utils": "0.29.7", 2180 | "acorn": "^8.8.1", 2181 | "acorn-walk": "^8.2.0", 2182 | "cac": "^6.7.14", 2183 | "chai": "^4.3.7", 2184 | "debug": "^4.3.4", 2185 | "local-pkg": "^0.4.2", 2186 | "pathe": "^1.1.0", 2187 | "picocolors": "^1.0.0", 2188 | "source-map": "^0.6.1", 2189 | "std-env": "^3.3.1", 2190 | "strip-literal": "^1.0.0", 2191 | "tinybench": "^2.3.1", 2192 | "tinypool": "^0.4.0", 2193 | "tinyspy": "^1.0.2", 2194 | "vite": "^3.0.0 || ^4.0.0", 2195 | "vite-node": "0.29.7", 2196 | "why-is-node-running": "^2.2.2" 2197 | }, 2198 | "bin": { 2199 | "vitest": "vitest.mjs" 2200 | }, 2201 | "engines": { 2202 | "node": ">=v14.16.0" 2203 | }, 2204 | "funding": { 2205 | "url": "https://github.com/sponsors/antfu" 2206 | }, 2207 | "peerDependencies": { 2208 | "@edge-runtime/vm": "*", 2209 | "@vitest/browser": "*", 2210 | "@vitest/ui": "*", 2211 | "happy-dom": "*", 2212 | "jsdom": "*" 2213 | }, 2214 | "peerDependenciesMeta": { 2215 | "@edge-runtime/vm": { 2216 | "optional": true 2217 | }, 2218 | "@vitest/browser": { 2219 | "optional": true 2220 | }, 2221 | "@vitest/ui": { 2222 | "optional": true 2223 | }, 2224 | "happy-dom": { 2225 | "optional": true 2226 | }, 2227 | "jsdom": { 2228 | "optional": true 2229 | }, 2230 | "safaridriver": { 2231 | "optional": true 2232 | }, 2233 | "webdriverio": { 2234 | "optional": true 2235 | } 2236 | } 2237 | }, 2238 | "node_modules/which": { 2239 | "version": "2.0.2", 2240 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2241 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2242 | "dev": true, 2243 | "dependencies": { 2244 | "isexe": "^2.0.0" 2245 | }, 2246 | "bin": { 2247 | "node-which": "bin/node-which" 2248 | }, 2249 | "engines": { 2250 | "node": ">= 8" 2251 | } 2252 | }, 2253 | "node_modules/why-is-node-running": { 2254 | "version": "2.2.2", 2255 | "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", 2256 | "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", 2257 | "dev": true, 2258 | "dependencies": { 2259 | "siginfo": "^2.0.0", 2260 | "stackback": "0.0.2" 2261 | }, 2262 | "bin": { 2263 | "why-is-node-running": "cli.js" 2264 | }, 2265 | "engines": { 2266 | "node": ">=8" 2267 | } 2268 | }, 2269 | "node_modules/wrangler": { 2270 | "version": "2.10.0", 2271 | "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-2.10.0.tgz", 2272 | "integrity": "sha512-h/N7IN5R7P2xWMdUgLbgoWbfrTRVp2wXzT5HTXVg0DPufDY7X3Vf3xX2RW7pt+JTvbUdpOSD0dVyRR4Fxluzog==", 2273 | "dev": true, 2274 | "dependencies": { 2275 | "@cloudflare/kv-asset-handler": "^0.2.0", 2276 | "@esbuild-plugins/node-globals-polyfill": "^0.1.1", 2277 | "@esbuild-plugins/node-modules-polyfill": "^0.1.4", 2278 | "@miniflare/core": "2.12.0", 2279 | "@miniflare/d1": "2.12.0", 2280 | "@miniflare/durable-objects": "2.12.0", 2281 | "blake3-wasm": "^2.1.5", 2282 | "chokidar": "^3.5.3", 2283 | "esbuild": "0.16.3", 2284 | "miniflare": "2.12.0", 2285 | "nanoid": "^3.3.3", 2286 | "path-to-regexp": "^6.2.0", 2287 | "selfsigned": "^2.0.1", 2288 | "source-map": "^0.7.4", 2289 | "xxhash-wasm": "^1.0.1" 2290 | }, 2291 | "bin": { 2292 | "wrangler": "bin/wrangler.js", 2293 | "wrangler2": "bin/wrangler.js" 2294 | }, 2295 | "engines": { 2296 | "node": ">=16.13.0" 2297 | }, 2298 | "optionalDependencies": { 2299 | "fsevents": "~2.3.2" 2300 | } 2301 | }, 2302 | "node_modules/wrangler/node_modules/@esbuild/android-arm": { 2303 | "version": "0.16.3", 2304 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.3.tgz", 2305 | "integrity": "sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==", 2306 | "cpu": [ 2307 | "arm" 2308 | ], 2309 | "dev": true, 2310 | "optional": true, 2311 | "os": [ 2312 | "android" 2313 | ], 2314 | "engines": { 2315 | "node": ">=12" 2316 | } 2317 | }, 2318 | "node_modules/wrangler/node_modules/@esbuild/android-arm64": { 2319 | "version": "0.16.3", 2320 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.3.tgz", 2321 | "integrity": "sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==", 2322 | "cpu": [ 2323 | "arm64" 2324 | ], 2325 | "dev": true, 2326 | "optional": true, 2327 | "os": [ 2328 | "android" 2329 | ], 2330 | "engines": { 2331 | "node": ">=12" 2332 | } 2333 | }, 2334 | "node_modules/wrangler/node_modules/@esbuild/android-x64": { 2335 | "version": "0.16.3", 2336 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.3.tgz", 2337 | "integrity": "sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==", 2338 | "cpu": [ 2339 | "x64" 2340 | ], 2341 | "dev": true, 2342 | "optional": true, 2343 | "os": [ 2344 | "android" 2345 | ], 2346 | "engines": { 2347 | "node": ">=12" 2348 | } 2349 | }, 2350 | "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": { 2351 | "version": "0.16.3", 2352 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.3.tgz", 2353 | "integrity": "sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==", 2354 | "cpu": [ 2355 | "arm64" 2356 | ], 2357 | "dev": true, 2358 | "optional": true, 2359 | "os": [ 2360 | "darwin" 2361 | ], 2362 | "engines": { 2363 | "node": ">=12" 2364 | } 2365 | }, 2366 | "node_modules/wrangler/node_modules/@esbuild/darwin-x64": { 2367 | "version": "0.16.3", 2368 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.3.tgz", 2369 | "integrity": "sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==", 2370 | "cpu": [ 2371 | "x64" 2372 | ], 2373 | "dev": true, 2374 | "optional": true, 2375 | "os": [ 2376 | "darwin" 2377 | ], 2378 | "engines": { 2379 | "node": ">=12" 2380 | } 2381 | }, 2382 | "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": { 2383 | "version": "0.16.3", 2384 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.3.tgz", 2385 | "integrity": "sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==", 2386 | "cpu": [ 2387 | "arm64" 2388 | ], 2389 | "dev": true, 2390 | "optional": true, 2391 | "os": [ 2392 | "freebsd" 2393 | ], 2394 | "engines": { 2395 | "node": ">=12" 2396 | } 2397 | }, 2398 | "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": { 2399 | "version": "0.16.3", 2400 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.3.tgz", 2401 | "integrity": "sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==", 2402 | "cpu": [ 2403 | "x64" 2404 | ], 2405 | "dev": true, 2406 | "optional": true, 2407 | "os": [ 2408 | "freebsd" 2409 | ], 2410 | "engines": { 2411 | "node": ">=12" 2412 | } 2413 | }, 2414 | "node_modules/wrangler/node_modules/@esbuild/linux-arm": { 2415 | "version": "0.16.3", 2416 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.3.tgz", 2417 | "integrity": "sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==", 2418 | "cpu": [ 2419 | "arm" 2420 | ], 2421 | "dev": true, 2422 | "optional": true, 2423 | "os": [ 2424 | "linux" 2425 | ], 2426 | "engines": { 2427 | "node": ">=12" 2428 | } 2429 | }, 2430 | "node_modules/wrangler/node_modules/@esbuild/linux-arm64": { 2431 | "version": "0.16.3", 2432 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.3.tgz", 2433 | "integrity": "sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==", 2434 | "cpu": [ 2435 | "arm64" 2436 | ], 2437 | "dev": true, 2438 | "optional": true, 2439 | "os": [ 2440 | "linux" 2441 | ], 2442 | "engines": { 2443 | "node": ">=12" 2444 | } 2445 | }, 2446 | "node_modules/wrangler/node_modules/@esbuild/linux-ia32": { 2447 | "version": "0.16.3", 2448 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.3.tgz", 2449 | "integrity": "sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==", 2450 | "cpu": [ 2451 | "ia32" 2452 | ], 2453 | "dev": true, 2454 | "optional": true, 2455 | "os": [ 2456 | "linux" 2457 | ], 2458 | "engines": { 2459 | "node": ">=12" 2460 | } 2461 | }, 2462 | "node_modules/wrangler/node_modules/@esbuild/linux-loong64": { 2463 | "version": "0.16.3", 2464 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.3.tgz", 2465 | "integrity": "sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==", 2466 | "cpu": [ 2467 | "loong64" 2468 | ], 2469 | "dev": true, 2470 | "optional": true, 2471 | "os": [ 2472 | "linux" 2473 | ], 2474 | "engines": { 2475 | "node": ">=12" 2476 | } 2477 | }, 2478 | "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": { 2479 | "version": "0.16.3", 2480 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.3.tgz", 2481 | "integrity": "sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==", 2482 | "cpu": [ 2483 | "mips64el" 2484 | ], 2485 | "dev": true, 2486 | "optional": true, 2487 | "os": [ 2488 | "linux" 2489 | ], 2490 | "engines": { 2491 | "node": ">=12" 2492 | } 2493 | }, 2494 | "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": { 2495 | "version": "0.16.3", 2496 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.3.tgz", 2497 | "integrity": "sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==", 2498 | "cpu": [ 2499 | "ppc64" 2500 | ], 2501 | "dev": true, 2502 | "optional": true, 2503 | "os": [ 2504 | "linux" 2505 | ], 2506 | "engines": { 2507 | "node": ">=12" 2508 | } 2509 | }, 2510 | "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": { 2511 | "version": "0.16.3", 2512 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.3.tgz", 2513 | "integrity": "sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==", 2514 | "cpu": [ 2515 | "riscv64" 2516 | ], 2517 | "dev": true, 2518 | "optional": true, 2519 | "os": [ 2520 | "linux" 2521 | ], 2522 | "engines": { 2523 | "node": ">=12" 2524 | } 2525 | }, 2526 | "node_modules/wrangler/node_modules/@esbuild/linux-s390x": { 2527 | "version": "0.16.3", 2528 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.3.tgz", 2529 | "integrity": "sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==", 2530 | "cpu": [ 2531 | "s390x" 2532 | ], 2533 | "dev": true, 2534 | "optional": true, 2535 | "os": [ 2536 | "linux" 2537 | ], 2538 | "engines": { 2539 | "node": ">=12" 2540 | } 2541 | }, 2542 | "node_modules/wrangler/node_modules/@esbuild/linux-x64": { 2543 | "version": "0.16.3", 2544 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.3.tgz", 2545 | "integrity": "sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==", 2546 | "cpu": [ 2547 | "x64" 2548 | ], 2549 | "dev": true, 2550 | "optional": true, 2551 | "os": [ 2552 | "linux" 2553 | ], 2554 | "engines": { 2555 | "node": ">=12" 2556 | } 2557 | }, 2558 | "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": { 2559 | "version": "0.16.3", 2560 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.3.tgz", 2561 | "integrity": "sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==", 2562 | "cpu": [ 2563 | "x64" 2564 | ], 2565 | "dev": true, 2566 | "optional": true, 2567 | "os": [ 2568 | "netbsd" 2569 | ], 2570 | "engines": { 2571 | "node": ">=12" 2572 | } 2573 | }, 2574 | "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": { 2575 | "version": "0.16.3", 2576 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.3.tgz", 2577 | "integrity": "sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==", 2578 | "cpu": [ 2579 | "x64" 2580 | ], 2581 | "dev": true, 2582 | "optional": true, 2583 | "os": [ 2584 | "openbsd" 2585 | ], 2586 | "engines": { 2587 | "node": ">=12" 2588 | } 2589 | }, 2590 | "node_modules/wrangler/node_modules/@esbuild/sunos-x64": { 2591 | "version": "0.16.3", 2592 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.3.tgz", 2593 | "integrity": "sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==", 2594 | "cpu": [ 2595 | "x64" 2596 | ], 2597 | "dev": true, 2598 | "optional": true, 2599 | "os": [ 2600 | "sunos" 2601 | ], 2602 | "engines": { 2603 | "node": ">=12" 2604 | } 2605 | }, 2606 | "node_modules/wrangler/node_modules/@esbuild/win32-arm64": { 2607 | "version": "0.16.3", 2608 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.3.tgz", 2609 | "integrity": "sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==", 2610 | "cpu": [ 2611 | "arm64" 2612 | ], 2613 | "dev": true, 2614 | "optional": true, 2615 | "os": [ 2616 | "win32" 2617 | ], 2618 | "engines": { 2619 | "node": ">=12" 2620 | } 2621 | }, 2622 | "node_modules/wrangler/node_modules/@esbuild/win32-ia32": { 2623 | "version": "0.16.3", 2624 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.3.tgz", 2625 | "integrity": "sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==", 2626 | "cpu": [ 2627 | "ia32" 2628 | ], 2629 | "dev": true, 2630 | "optional": true, 2631 | "os": [ 2632 | "win32" 2633 | ], 2634 | "engines": { 2635 | "node": ">=12" 2636 | } 2637 | }, 2638 | "node_modules/wrangler/node_modules/@esbuild/win32-x64": { 2639 | "version": "0.16.3", 2640 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.3.tgz", 2641 | "integrity": "sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==", 2642 | "cpu": [ 2643 | "x64" 2644 | ], 2645 | "dev": true, 2646 | "optional": true, 2647 | "os": [ 2648 | "win32" 2649 | ], 2650 | "engines": { 2651 | "node": ">=12" 2652 | } 2653 | }, 2654 | "node_modules/wrangler/node_modules/esbuild": { 2655 | "version": "0.16.3", 2656 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.3.tgz", 2657 | "integrity": "sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==", 2658 | "dev": true, 2659 | "hasInstallScript": true, 2660 | "bin": { 2661 | "esbuild": "bin/esbuild" 2662 | }, 2663 | "engines": { 2664 | "node": ">=12" 2665 | }, 2666 | "optionalDependencies": { 2667 | "@esbuild/android-arm": "0.16.3", 2668 | "@esbuild/android-arm64": "0.16.3", 2669 | "@esbuild/android-x64": "0.16.3", 2670 | "@esbuild/darwin-arm64": "0.16.3", 2671 | "@esbuild/darwin-x64": "0.16.3", 2672 | "@esbuild/freebsd-arm64": "0.16.3", 2673 | "@esbuild/freebsd-x64": "0.16.3", 2674 | "@esbuild/linux-arm": "0.16.3", 2675 | "@esbuild/linux-arm64": "0.16.3", 2676 | "@esbuild/linux-ia32": "0.16.3", 2677 | "@esbuild/linux-loong64": "0.16.3", 2678 | "@esbuild/linux-mips64el": "0.16.3", 2679 | "@esbuild/linux-ppc64": "0.16.3", 2680 | "@esbuild/linux-riscv64": "0.16.3", 2681 | "@esbuild/linux-s390x": "0.16.3", 2682 | "@esbuild/linux-x64": "0.16.3", 2683 | "@esbuild/netbsd-x64": "0.16.3", 2684 | "@esbuild/openbsd-x64": "0.16.3", 2685 | "@esbuild/sunos-x64": "0.16.3", 2686 | "@esbuild/win32-arm64": "0.16.3", 2687 | "@esbuild/win32-ia32": "0.16.3", 2688 | "@esbuild/win32-x64": "0.16.3" 2689 | } 2690 | }, 2691 | "node_modules/wrangler/node_modules/source-map": { 2692 | "version": "0.7.4", 2693 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", 2694 | "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", 2695 | "dev": true, 2696 | "engines": { 2697 | "node": ">= 8" 2698 | } 2699 | }, 2700 | "node_modules/ws": { 2701 | "version": "8.13.0", 2702 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", 2703 | "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", 2704 | "dev": true, 2705 | "engines": { 2706 | "node": ">=10.0.0" 2707 | }, 2708 | "peerDependencies": { 2709 | "bufferutil": "^4.0.1", 2710 | "utf-8-validate": ">=5.0.2" 2711 | }, 2712 | "peerDependenciesMeta": { 2713 | "bufferutil": { 2714 | "optional": true 2715 | }, 2716 | "utf-8-validate": { 2717 | "optional": true 2718 | } 2719 | } 2720 | }, 2721 | "node_modules/xxhash-wasm": { 2722 | "version": "1.0.2", 2723 | "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", 2724 | "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", 2725 | "dev": true 2726 | }, 2727 | "node_modules/yallist": { 2728 | "version": "4.0.0", 2729 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2730 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 2731 | "dev": true 2732 | }, 2733 | "node_modules/yocto-queue": { 2734 | "version": "1.0.0", 2735 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", 2736 | "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", 2737 | "dev": true, 2738 | "engines": { 2739 | "node": ">=12.20" 2740 | }, 2741 | "funding": { 2742 | "url": "https://github.com/sponsors/sindresorhus" 2743 | } 2744 | }, 2745 | "node_modules/youch": { 2746 | "version": "2.2.2", 2747 | "resolved": "https://registry.npmjs.org/youch/-/youch-2.2.2.tgz", 2748 | "integrity": "sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==", 2749 | "dev": true, 2750 | "dependencies": { 2751 | "@types/stack-trace": "0.0.29", 2752 | "cookie": "^0.4.1", 2753 | "mustache": "^4.2.0", 2754 | "stack-trace": "0.0.10" 2755 | } 2756 | } 2757 | } 2758 | } 2759 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "openai_cloudflare_proxy", 3 | "version": "0.0.0", 4 | "devDependencies": { 5 | "@cloudflare/workers-types": "^4.20230321.0", 6 | "typescript": "^5.0.2", 7 | "vitest": "^0.29.7", 8 | "wrangler": "2.10.0" 9 | }, 10 | "private": true, 11 | "scripts": { 12 | "start": "wrangler dev", 13 | "deploy": "wrangler publish", 14 | "test": "vitest" 15 | }, 16 | "dependencies": { 17 | "reflare": "^1.1.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import useReflare from "reflare"; 2 | const password = "hhahahah" 3 | const handleRequest = async (request: Request): Promise => { 4 | const reflare = await useReflare(); 5 | reflare.push({ 6 | path: "*", 7 | upstream: { 8 | domain: "api.openai.com", 9 | protocol: "https", 10 | }, 11 | }); 12 | 13 | return reflare.handle(request); 14 | }; 15 | 16 | addEventListener("fetch", (event) => { 17 | console.log(password) 18 | if(event.request.headers.get("x-l-password") === password) { 19 | return event.respondWith(handleRequest(event.request)); 20 | }else{ 21 | event.request.headers.delete("x-l-password") 22 | return event.respondWith(new Response('{"code":403,"msg":"Wrong password"}', {status: 403})); 23 | } 24 | }); -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | "lib": [ 16 | "es2021" 17 | ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, 18 | "jsx": "react" /* Specify what JSX code is generated. */, 19 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 20 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 21 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 22 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 23 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 24 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 25 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 26 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 27 | 28 | /* Modules */ 29 | "module": "es2022" /* Specify what module code is generated. */, 30 | // "rootDir": "./", /* Specify the root folder within your source files. */ 31 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */, 32 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 33 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 34 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 35 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 36 | "types": [ 37 | "@cloudflare/workers-types", 38 | "vitest" 39 | ] /* Specify type package names to be included without being referenced in a source file. */, 40 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 41 | "resolveJsonModule": true /* Enable importing .json files */, 42 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 43 | 44 | /* JavaScript Support */ 45 | "allowJs": true /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */, 46 | "checkJs": false /* Enable error reporting in type-checked JavaScript files. */, 47 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 48 | 49 | /* Emit */ 50 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 51 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 52 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 53 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 54 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 55 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 56 | // "removeComments": true, /* Disable emitting comments. */ 57 | "noEmit": true /* Disable emitting files from a compilation. */, 58 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 59 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 60 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 61 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 62 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 63 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 64 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 65 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 66 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 67 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 68 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 69 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 70 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 71 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 72 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 73 | 74 | /* Interop Constraints */ 75 | "isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */, 76 | "allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */, 77 | // "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, 78 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 79 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 80 | 81 | /* Type Checking */ 82 | "strict": true /* Enable all strict type-checking options. */, 83 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 84 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 85 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 86 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 87 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 88 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 89 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 90 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 91 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 92 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 93 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 94 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 95 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 96 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 97 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 98 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 99 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 100 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 101 | 102 | /* Completeness */ 103 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 104 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "openai_cloudflare_proxy" 2 | main = "src/index.ts" 3 | compatibility_date = "2023-03-22" 4 | --------------------------------------------------------------------------------