diff --git a/.gitignore b/.gitignore index 99e372a31..a34d4644a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ shared/dist .env .envrc +.cursorrules # Fpx .fpxconfig diff --git a/examples/service-bindings/README.md b/examples/service-bindings/README.md new file mode 100644 index 000000000..8cb7900b9 --- /dev/null +++ b/examples/service-bindings/README.md @@ -0,0 +1,11 @@ +# Service Bindings Example + +In this folder there are two Workers, `woof` and `meow`. + +`meow` is a Hono api that uses `woof` as a [service binding](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/), which is, it calls + +`woof` is a simple service that can bark and sniff. + +To run the example, run `pnpm dev` in the `meow` directory, and then in a separate terminal run `pnpm dev` in the `woof` directory. + +In your terminal for `meow`, it should list `WOOF` as being a connected service, once `woof` is running. \ No newline at end of file diff --git a/examples/service-bindings/meow/.dev.vars.example b/examples/service-bindings/meow/.dev.vars.example new file mode 100644 index 000000000..251814d32 --- /dev/null +++ b/examples/service-bindings/meow/.dev.vars.example @@ -0,0 +1 @@ +FPX_ENDPOINT= diff --git a/examples/service-bindings/meow/.gitignore b/examples/service-bindings/meow/.gitignore new file mode 100644 index 000000000..4e0e234dd --- /dev/null +++ b/examples/service-bindings/meow/.gitignore @@ -0,0 +1,39 @@ +# prod +dist/ + +# dev +.yarn/ +!.yarn/releases +.vscode/* +!.vscode/launch.json +!.vscode/*.code-snippets +.idea/workspace.xml +.idea/usage.statistics.xml +.idea/shelf + +# deps +node_modules/ +.wrangler + +# env +.env +.env.production +.dev.vars +.prod.vars + +# logs +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# misc +.DS_Store + +# drizzle +drizzle + +.wrangler \ No newline at end of file diff --git a/examples/service-bindings/meow/README.md b/examples/service-bindings/meow/README.md new file mode 100644 index 000000000..c794be89d --- /dev/null +++ b/examples/service-bindings/meow/README.md @@ -0,0 +1,26 @@ +# Meow: Part of Service Bindings Example + +This is a very simple Hono api that uses a service binding to call the `woof` service. + +To run the example, first run `pnpm dev` in the `meow` directory, and then in a separate terminal run `pnpm dev` in the `woof` directory. + +Notice that in `meow`'s `wrangler.toml`, we have: + +```toml +bindings = [ + { name = "WOOF", binding = "woof" } +] +``` + +The name `"WOOF"` must match the `name` field in `woof`'s `wrangler.toml`. + +Then, we expose `WOOF` as the binding, and tell Hono it's available via `c.env.WOOF` + +```typescript +import type { WoofWorker } from "../../woof/src"; + +type Bindings = { + WOOF: WoofWorker; +}; +const app = new Hono<{ Bindings: Bindings }>(); +``` diff --git a/examples/service-bindings/meow/package.json b/examples/service-bindings/meow/package.json new file mode 100644 index 000000000..ef29e5a00 --- /dev/null +++ b/examples/service-bindings/meow/package.json @@ -0,0 +1,18 @@ +{ + "name": "meow", + "scripts": { + "dev": "wrangler dev src/index.ts", + "deploy": "wrangler deploy --minify src/index.ts" + }, + "dependencies": { + "dotenv": "^16.4.5", + "drizzle-orm": "^0.36.0", + "hono": "^4.6.7" + }, + "devDependencies": { + "@cloudflare/workers-types": "^4.20241106.0", + "@fiberplane/hono-otel": "workspace:*", + "tsx": "^4.19.2", + "wrangler": "^3.87.0" + } +} diff --git a/examples/service-bindings/meow/src/index.ts b/examples/service-bindings/meow/src/index.ts new file mode 100644 index 000000000..773ab87b8 --- /dev/null +++ b/examples/service-bindings/meow/src/index.ts @@ -0,0 +1,18 @@ +import { instrument } from "@fiberplane/hono-otel"; +import { Hono } from "hono"; + +import type { WoofWorker } from "../../woof/src"; + +type Bindings = { + WOOF: WoofWorker; +}; + +const app = new Hono<{ Bindings: Bindings }>(); + +app.get("/", async (c) => { + const bark = await c.env.WOOF.bark({ volume: 10 }); + c.env.WOOF.sniff(); + return c.text(`Meow from above! ☁️πŸͺΏπŸˆ (But dog says "${bark}")`); +}); + +export default instrument(app); diff --git a/examples/service-bindings/meow/tsconfig.json b/examples/service-bindings/meow/tsconfig.json new file mode 100644 index 000000000..612fe2c12 --- /dev/null +++ b/examples/service-bindings/meow/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "skipLibCheck": true, + "lib": ["ESNext"], + "types": ["@cloudflare/workers-types"], + "jsx": "react-jsx", + "jsxImportSource": "hono/jsx" + } +} diff --git a/examples/service-bindings/meow/wrangler.toml b/examples/service-bindings/meow/wrangler.toml new file mode 100644 index 000000000..a2de53dd7 --- /dev/null +++ b/examples/service-bindings/meow/wrangler.toml @@ -0,0 +1,27 @@ +name = "meow" +compatibility_date = "2024-11-11" +compatibility_flags = [ "nodejs_compat" ] + +services = [ + { binding = "WOOF", service = "woof" } +] + +# [vars] +# MY_VAR = "my-variable" + +# Workers Logs +# Docs: https://developers.cloudflare.com/workers/observability/logs/workers-logs/ +# Configuration: https://developers.cloudflare.com/workers/observability/logs/workers-logs/#enable-workers-logs +[observability] +enabled = true + +# [[kv_namespaces]] +# binding = "MY_KV_NAMESPACE" +# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + +# [[r2_buckets]] +# binding = "MY_BUCKET" +# bucket_name = "my-bucket" + +# [ai] +# binding = "AI" diff --git a/examples/service-bindings/woof/.gitignore b/examples/service-bindings/woof/.gitignore new file mode 100644 index 000000000..4e0e234dd --- /dev/null +++ b/examples/service-bindings/woof/.gitignore @@ -0,0 +1,39 @@ +# prod +dist/ + +# dev +.yarn/ +!.yarn/releases +.vscode/* +!.vscode/launch.json +!.vscode/*.code-snippets +.idea/workspace.xml +.idea/usage.statistics.xml +.idea/shelf + +# deps +node_modules/ +.wrangler + +# env +.env +.env.production +.dev.vars +.prod.vars + +# logs +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# misc +.DS_Store + +# drizzle +drizzle + +.wrangler \ No newline at end of file diff --git a/examples/service-bindings/woof/README.md b/examples/service-bindings/woof/README.md new file mode 100644 index 000000000..00e7cc417 --- /dev/null +++ b/examples/service-bindings/woof/README.md @@ -0,0 +1,19 @@ +# Woof: Part of Service Bindings Example + +`Woof` is a simple worker that is bound to `meow` via [Cloudflare's worker service bindings](https://developers.cloudflare.com/workers/runtime-apis/service-bindings/). + +Note that the `name` field in `wrangler.toml` must match the name used in `meow` to bind to this worker. + +So in this worker's `wrangler.toml`, we have: + +```toml +name = "woof" # NOTE - Use this name inside `meow` to bind to this worker +``` + +And in `meow`'s `wrangler.toml`, we have: + +```toml +bindings = [ + { name = "WOOF", binding = "woof" } +] +``` diff --git a/examples/service-bindings/woof/package.json b/examples/service-bindings/woof/package.json new file mode 100644 index 000000000..e8751f0d0 --- /dev/null +++ b/examples/service-bindings/woof/package.json @@ -0,0 +1,15 @@ +{ + "name": "woof", + "scripts": { + "dev": "wrangler dev src/index.ts", + "deploy": "wrangler deploy --minify src/index.ts" + }, + "dependencies": { + "dotenv": "^16.4.5", + "drizzle-orm": "^0.36.0" + }, + "devDependencies": { + "@cloudflare/workers-types": "^4.20241106.0", + "wrangler": "^3.87.0" + } +} diff --git a/examples/service-bindings/woof/src/index.ts b/examples/service-bindings/woof/src/index.ts new file mode 100644 index 000000000..4cb897165 --- /dev/null +++ b/examples/service-bindings/woof/src/index.ts @@ -0,0 +1,25 @@ +import { WorkerEntrypoint } from "cloudflare:workers"; + +export class WoofWorker extends WorkerEntrypoint { + async bark(options: { volume: number }): Promise { + await new Promise((resolve) => setTimeout(resolve, 200)); + + if (options.volume > 5) { + return "WOOF"; + } + + return "woof"; + } + + sniff() { + return "sniff"; + } + + // From Cloudflare docs: "Currently, entrypoints without a named handler are not supported" + // TODO - Check if this is still the case that we need a fetch handler? + async fetch() { + return new Response(null, { status: 404 }); + } +} + +export default WoofWorker; diff --git a/examples/service-bindings/woof/tsconfig.json b/examples/service-bindings/woof/tsconfig.json new file mode 100644 index 000000000..612fe2c12 --- /dev/null +++ b/examples/service-bindings/woof/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "skipLibCheck": true, + "lib": ["ESNext"], + "types": ["@cloudflare/workers-types"], + "jsx": "react-jsx", + "jsxImportSource": "hono/jsx" + } +} diff --git a/examples/service-bindings/woof/wrangler.toml b/examples/service-bindings/woof/wrangler.toml new file mode 100644 index 000000000..8900c7af7 --- /dev/null +++ b/examples/service-bindings/woof/wrangler.toml @@ -0,0 +1,2 @@ +name = "woof" # NOTE - Use this name inside `meow` to bind to this worker +compatibility_date = "2024-11-11" diff --git a/packages/client-library-otel/.swcrc b/packages/client-library-otel/.swcrc deleted file mode 100644 index 2b6c27569..000000000 --- a/packages/client-library-otel/.swcrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "jsc": { - "target": "es2020", - "parser": { - "syntax": "typescript", - "tsx": false, - "decorators": true, - "dynamicImport": true - }, - "transform": { - "decoratorMetadata": true - } - }, - "module": { - "type": "es6" - }, - "sourceMaps": true -} diff --git a/packages/client-library-otel/package.json b/packages/client-library-otel/package.json index 7d4df264a..40ebd8d3e 100644 --- a/packages/client-library-otel/package.json +++ b/packages/client-library-otel/package.json @@ -4,7 +4,7 @@ "author": "Fiberplane", "type": "module", "main": "dist/index.js", - "version": "0.4.0-canary.0", + "version": "0.5.0", "dependencies": { "@opentelemetry/api": "~1.9.0", "@opentelemetry/exporter-trace-otlp-http": "^0.52.1", @@ -18,9 +18,6 @@ "devDependencies": { "@biomejs/biome": "^1.7.3", "@cloudflare/workers-types": "^4.20240403.0", - "@swc/cli": "^0.4.0", - "@swc/core": "^1.5.22", - "@swc/plugin-transform-imports": "^2.0.4", "hono": "^4.6.5", "nodemon": "^3.1.7", "rimraf": "^6.0.1", @@ -44,10 +41,9 @@ "format": "biome check . --write", "lint": "biome lint .", "typecheck": "tsc --noEmit", - "build": "pnpm run clean && npm run build:types && pnpm run build:swc && pnpm run build:alias", + "build": "pnpm run clean && npm run build:types && pnpm run build:alias", "build:types": "tsc --project tsconfig.json", "build:alias": "tsc-alias -p tsconfig.json -f", - "build:swc": "cd src && swc . -d ../dist --source-maps", "dev": "wrangler dev sample/index.ts", "prepublishOnly": "pnpm run build", "clean": "rimraf dist", diff --git a/packages/client-library-otel/src/measure.ts b/packages/client-library-otel/src/measure.ts index 9bede6bc5..5d55cbb26 100644 --- a/packages/client-library-otel/src/measure.ts +++ b/packages/client-library-otel/src/measure.ts @@ -8,7 +8,7 @@ import { trace, } from "@opentelemetry/api"; import type { FpxLogger } from "./logger"; -import { isPromise } from "./utils"; +import { isPromiseLike } from "./utils"; export type MeasureOptions< /** @@ -202,18 +202,14 @@ export function measure( ) as RESULT; } - if (isPromise>(returnValue)) { + if (isPromiseLike>(returnValue)) { shouldEndSpan = false; - return handlePromise( - span, - returnValue as Promise>, - { - onSuccess, - onError, - checkResult, - endSpanManually, - }, - ) as RESULT; + return handlePromise(span, returnValue, { + onSuccess, + onError, + checkResult, + endSpanManually, + }) as RESULT; } span.setStatus({ code: SpanStatusCode.OK }); @@ -223,7 +219,7 @@ export function measure( span, returnValue as ExtractInnerResult, ); - if (isPromise(result)) { + if (isPromiseLike(result)) { shouldEndSpan = false; result.finally(() => { if (!endSpanManually) { @@ -277,17 +273,17 @@ export function measure( * * @returns the promise */ -async function handlePromise>( +async function handlePromise( span: Span, - resultPromise: T, + resultPromise: PromiseLike, options: Pick< - MeasureOptions, + MeasureOptions>, "onSuccess" | "onError" | "checkResult" | "endSpanManually" >, ) { const { onSuccess, onError, checkResult, endSpanManually = false } = options; try { - const result = (await resultPromise) as ExtractInnerResult; + const result = await resultPromise; if (checkResult) { try { @@ -317,7 +313,7 @@ async function handlePromise>( } } - return result as ExtractInnerResult; + return result; } } diff --git a/packages/client-library-otel/src/patch/cf-bindings.ts b/packages/client-library-otel/src/patch/cf-bindings.ts index da80d10fa..e333ebbd1 100644 --- a/packages/client-library-otel/src/patch/cf-bindings.ts +++ b/packages/client-library-otel/src/patch/cf-bindings.ts @@ -57,6 +57,12 @@ export function patchCloudflareBindings( * @returns A proxied binding */ function patchCloudflareBinding(o: object, bindingName: string) { + // HACK - Check this first, since Worker bindings are a special case + // where any property access is interpreted as an RPC call to the worker. + if (isCloudflareWorkerBinding(o)) { + return proxyServiceBinding(o, bindingName); + } + if (!isCloudflareBinding(o)) { return o; } @@ -119,6 +125,77 @@ function patchCloudflareBinding(o: object, bindingName: string) { return proxiedBinding; } +/** + * Proxy a Service binding to add instrumentation to its RPC calls + * + * @param o - The Service binding to proxy + * + * @returns A proxied binding for a bound Worker (see: https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/) + */ +function proxyServiceBinding(o: object, bindingName: string) { + if (!isCloudflareWorkerBinding(o)) { + return o; + } + + if (isAlreadyProxied(o)) { + return o; + } + + const proxiedBinding = new Proxy(o, { + get(serviceTarget, serviceProp) { + const serviceMethod = String(serviceProp); + const serviceValue = Reflect.get(serviceTarget, serviceProp); + + // NOTE - Should ignore some common methods and properties on the binding + if ( + serviceMethod === "toJSON" || + serviceMethod === "connect" || + serviceMethod === "constructor" + ) { + return serviceValue; + } + + if (typeof serviceValue === "function") { + const bindingType = "Worker"; + + // The name for the span, which will show up in the UI + const name = `${bindingName}.${serviceMethod}`; + + const measuredBinding = measure( + { + name, + attributes: getCfBindingAttributes( + bindingType, + bindingName, + serviceMethod, + ), + onStart: (span, args) => { + span.setAttributes({ + args: safelySerializeJSON(args), + }); + }, + // NOTE - Must be async, since the `result` is a custom thenable from Cloudflare + onSuccess: async (span, result) => { + addResultAttribute(span, result); + return result; + }, + onError: handleError, + }, + serviceValue, + ); + + return measuredBinding; + } + + return serviceValue; + }, + }); + + markAsProxied(proxiedBinding); + + return proxiedBinding; +} + /** * Proxy a D1 binding to add instrumentation to database calls. * @@ -259,6 +336,7 @@ function handleError(span: Span, error: unknown) { // TODO - Remove this, it is temporary function isCloudflareBinding(o: unknown): o is object { return ( + isCloudflareWorkerBinding(o) || isCloudflareAiBinding(o) || isCloudflareR2Binding(o) || isCloudflareD1Binding(o) || @@ -295,6 +373,23 @@ function isCloudflareD1Binding(o: unknown) { return true; } +/** + * Check if an object is a Cloudflare Worker binding + * + * This uses some heuristics to check for a Worker binding, since `instanceof WorkerEntrypoint` does not work. + * + * @param o - The object to check + * @returns `true` if the object is a Cloudflare Worker binding, `false` otherwise + */ +function isCloudflareWorkerBinding(o: unknown): boolean { + const isFetcher = getConstructorName(o) === "Fetcher"; + return ( + isFetcher && + hasFunctionWithName(o, "fetch") && + hasFunctionWithName(o, "connect") + ); +} + function hasCloudflareD1Session( o: unknown, ): o is { alwaysPrimarySession: object } { @@ -330,6 +425,23 @@ function getConstructorName(o: unknown) { return Object.getPrototypeOf(o).constructor.name; } +/** + * Check if an object has a function property with a given name + * + * @param o - The object to check + * @param name - The name of the function to check for + * @returns `true` if the object has a function with the given name, `false` otherwise + */ +function hasFunctionWithName(o: unknown, name: string): boolean { + const result = + o && + typeof o === "object" && + name in o && + typeof (o as Record)[name] === "function"; + + return !!result; +} + /** * Check if a Cloudflare binding is already proxied by us * @@ -337,6 +449,15 @@ function getConstructorName(o: unknown) { * @returns `true` if the binding is already proxied, `false` otherwise */ function isAlreadyProxied(o: object) { + // Any property access on a worker binding will be true, + // since the property access is interpreted as an RPC call to the worker. + // So, we need to check if there's a property descriptor on the object that we set. + // + if (isCloudflareWorkerBinding(o)) { + const descriptor = getProxiedKey(o); + return !!descriptor; + } + if (IS_PROXIED_KEY in o) { return !!o[IS_PROXIED_KEY]; } @@ -356,3 +477,7 @@ function markAsProxied(o: object) { configurable: true, }); } + +function getProxiedKey(o: object) { + return Object.getOwnPropertyDescriptor(o, IS_PROXIED_KEY); +} diff --git a/packages/client-library-otel/src/utils/index.ts b/packages/client-library-otel/src/utils/index.ts index 58d72a81d..d94b8f917 100644 --- a/packages/client-library-otel/src/utils/index.ts +++ b/packages/client-library-otel/src/utils/index.ts @@ -5,8 +5,12 @@ export * from "./request"; export * from "./wrapper"; export { cloneResponse } from "./response"; -export function isPromise(value: unknown): value is Promise { - return value instanceof Promise; +export function isPromiseLike(value: unknown): value is PromiseLike { + return ( + isObject(value) && + "then" in value && + typeof (value as { then: unknown }).then === "function" + ); } export function isObject(value: unknown): value is object { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 573311249..aa6ff961f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 5.5.4 wrangler: specifier: ^3.73.0 - version: 3.73.0(@cloudflare/workers-types@4.20241022.0) + version: 3.73.0(@cloudflare/workers-types@4.20241112.0) api: dependencies: @@ -249,6 +249,47 @@ importers: specifier: ^3.73.0 version: 3.83.0(@cloudflare/workers-types@4.20241022.0) + examples/service-bindings/meow: + dependencies: + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + drizzle-orm: + specifier: ^0.36.0 + version: 0.36.4(@cloudflare/workers-types@4.20241112.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0)(@neondatabase/serverless@0.10.1)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.3)(react@18.3.1) + hono: + specifier: ^4.6.7 + version: 4.6.9 + devDependencies: + '@cloudflare/workers-types': + specifier: ^4.20241106.0 + version: 4.20241112.0 + '@fiberplane/hono-otel': + specifier: workspace:* + version: link:../../../packages/client-library-otel + tsx: + specifier: ^4.19.2 + version: 4.19.2 + wrangler: + specifier: ^3.87.0 + version: 3.90.0(@cloudflare/workers-types@4.20241112.0) + + examples/service-bindings/woof: + dependencies: + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + drizzle-orm: + specifier: ^0.36.0 + version: 0.36.4(@cloudflare/workers-types@4.20241112.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0)(@neondatabase/serverless@0.10.1)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.3)(react@18.3.1) + devDependencies: + '@cloudflare/workers-types': + specifier: ^4.20241106.0 + version: 4.20241112.0 + wrangler: + specifier: ^3.87.0 + version: 3.90.0(@cloudflare/workers-types@4.20241112.0) + examples/test-static-analysis: dependencies: '@fiberplane/hono-otel': @@ -450,15 +491,6 @@ importers: '@cloudflare/workers-types': specifier: ^4.20240403.0 version: 4.20240806.0 - '@swc/cli': - specifier: ^0.4.0 - version: 0.4.0(@swc/core@1.7.10(@swc/helpers@0.5.13))(chokidar@3.6.0) - '@swc/core': - specifier: ^1.5.22 - version: 1.7.10(@swc/helpers@0.5.13) - '@swc/plugin-transform-imports': - specifier: ^2.0.4 - version: 2.0.11 hono: specifier: ^4.6.5 version: 4.6.9 @@ -826,7 +858,7 @@ importers: version: 0.14.1 wrangler: specifier: ^3.78.5 - version: 3.78.5(@cloudflare/workers-types@4.20241022.0) + version: 3.78.5(@cloudflare/workers-types@4.20241112.0) packages: @@ -1562,6 +1594,10 @@ packages: resolution: {integrity: sha512-LLQRTqx7lKC7o2eCYMpyc5FXV8d0pUX6r3A+agzhqS9aoR5A6zCPefwQGcvbKx83ozX22ATZcemwxQXn12UofQ==} engines: {node: '>=16.7.0'} + '@cloudflare/workers-shared@0.8.0': + resolution: {integrity: sha512-1OvFkNtslaMZAJsaocTmbACApgmWv55uLpNj50Pn2MGcxdAjpqykXJFQw5tKc+lGV9TDZh9oO3Rsk17IEQDzIg==} + engines: {node: '>=16.7.0'} + '@cloudflare/workers-shared@0.9.0': resolution: {integrity: sha512-eP6Ir45uPbKnpADVzUCtkRUYxYxjB1Ew6n/whTJvHu8H4m93USHAceCMm736VBZdlxuhXXUjEP3fCUxKPn+cfw==} engines: {node: '>=16.7.0'} @@ -1575,6 +1611,9 @@ packages: '@cloudflare/workers-types@4.20241022.0': resolution: {integrity: sha512-1zOAw5QIDKItzGatzCrEpfLOB1AuMTwVqKmbw9B9eBfCUGRFNfJYMrJxIwcse9EmKahsQt2GruqU00pY/GyXgg==} + '@cloudflare/workers-types@4.20241112.0': + resolution: {integrity: sha512-Q4p9bAWZrX14bSCKY9to19xl0KMU7nsO5sJ2cTVspHoypsjPUMeQCsjHjmsO2C4Myo8/LPeDvmqFmkyNAPPYZw==} + '@codemirror/autocomplete@6.18.2': resolution: {integrity: sha512-wJGylKtMFR/Ds6Gh01+OovXE/pncPiKZNNBKuC39pKnH+XK5d9+WsNqcrdxPjFPFTigRBqse0rfxw9UxrfyhPg==} peerDependencies: @@ -3047,10 +3086,6 @@ packages: '@mixedbread-ai/sdk@2.2.11': resolution: {integrity: sha512-NJiY6BVPR+s/DTzUPQS1Pv418trOmII/8hftmIqxXlYaKbIrgJimQfwCW9M6Y21YPcMA8zTQGYZHm4IWlMjIQw==} - '@mole-inc/bin-wrapper@8.0.1': - resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@monaco-editor/loader@1.4.0': resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} peerDependencies: @@ -4373,17 +4408,6 @@ packages: peerDependencies: '@svgr/core': '*' - '@swc/cli@0.4.0': - resolution: {integrity: sha512-4JdVrPtF/4rCMXp6Q1h5I6YkYZrCCcqod7Wk97ZQq7K8vNGzJUryBv4eHCvqx5sJOJBrbYm9fcswe1B0TygNoA==} - engines: {node: '>= 16.14.0'} - hasBin: true - peerDependencies: - '@swc/core': ^1.2.66 - chokidar: ^3.5.1 - peerDependenciesMeta: - chokidar: - optional: true - '@swc/core-darwin-arm64@1.7.10': resolution: {integrity: sha512-TYp4x/9w/C/yMU1olK5hTKq/Hi7BjG71UJ4V1U1WxI1JA3uokjQ/GoktDfmH5V5pX4dgGSOJwUe2RjoN8Z/XnA==} engines: {node: '>=10'} @@ -4459,16 +4483,9 @@ packages: '@swc/helpers@0.5.13': resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - '@swc/plugin-transform-imports@2.0.11': - resolution: {integrity: sha512-TQSOI4chAzRaV6gbYxkeUjyF/vBLB0+MiIWz2DmglBlFEnL2HLw+80+bPTxrOCG11G/mrQDq1r82EU11rYJnow==} - '@swc/types@0.1.12': resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - '@tanstack/query-core@5.52.0': resolution: {integrity: sha512-U1DOEgltjUwalN6uWYTewSnA14b+tE7lSylOiASKCAO61ENJeCq9VVD/TXHA6O5u9+6v5+UgGYBSccTKDoyMqw==} @@ -4488,9 +4505,6 @@ packages: resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==} engines: {node: '>=12'} - '@tokenizer/token@0.3.0': - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -4510,9 +4524,6 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -4534,12 +4545,6 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} @@ -4600,9 +4605,6 @@ packages: '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -4947,9 +4949,6 @@ packages: aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} @@ -5072,18 +5071,6 @@ packages: bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - bin-check@4.1.0: - resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} - engines: {node: '>=4'} - - bin-version-check@5.1.0: - resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} - engines: {node: '>=12'} - - bin-version@6.0.0: - resolution: {integrity: sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==} - engines: {node: '>=12'} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -5160,14 +5147,6 @@ packages: resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} engines: {node: ^16.14.0 || >=18.0.0} - cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - - cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -5360,9 +5339,6 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -5449,10 +5425,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -5476,10 +5448,6 @@ packages: console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5509,9 +5477,6 @@ packages: cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -5622,10 +5587,6 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -6021,6 +5982,98 @@ packages: sqlite3: optional: true + drizzle-orm@0.36.4: + resolution: {integrity: sha512-1OZY3PXD7BR00Gl61UUOFihslDldfH4NFRH2MbP54Yxi0G/PKn4HfO65JYZ7c16DeP3SpM3Aw+VXVG9j6CRSXA==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.2.0' + '@libsql/client': '>=0.10.0' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/react': '>=18' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=14.0.0' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + react: '>=18' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@libsql/client-wasm': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/react': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + drizzle-zod@0.5.1: resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==} peerDependencies: @@ -6202,10 +6255,6 @@ packages: resolution: {integrity: sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==} engines: {node: '>=14.18'} - execa@0.7.0: - resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} - engines: {node: '>=4'} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -6214,10 +6263,6 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} @@ -6229,14 +6274,6 @@ packages: expressive-code@0.35.6: resolution: {integrity: sha512-+mx+TPTbMqgo0mL92Xh9QgjW0kSQIsEivMgEcOnaqKqL7qCw8Vkqc5Rg/di7ZYw4aMUSr74VTc+w8GQWu05j1g==} - ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - - ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -6319,21 +6356,9 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-type@17.1.6: - resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - filename-reserved-regex@3.0.0: - resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - filenamify@5.1.1: - resolution: {integrity: sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==} - engines: {node: '>=12.20'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -6358,10 +6383,6 @@ packages: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - find-versions@5.1.0: - resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} - engines: {node: '>=12'} - find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} @@ -6498,10 +6519,6 @@ packages: resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} engines: {node: '>=10'} - get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -6565,10 +6582,6 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} - gpt-tokenizer@2.6.0: resolution: {integrity: sha512-4NzSmroimN+yEg8KFmG+URerBtVHrOIXhcohn5TgmaKWzVOIeZ5AJshQzI3lJybYnLk4HWHWy/deIw+VSfcw2g==} @@ -6726,10 +6739,6 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -6901,10 +6910,6 @@ packages: resolution: {integrity: sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==} engines: {node: '>=8'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -6916,10 +6921,6 @@ packages: is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -7029,9 +7030,6 @@ packages: json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -7086,9 +7084,6 @@ packages: jws@4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -7341,10 +7336,6 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -7352,9 +7343,6 @@ packages: resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} engines: {node: 20 || >=22} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -7607,10 +7595,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - mimic-response@2.1.0: resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} engines: {node: '>=8'} @@ -7800,10 +7784,6 @@ packages: nice-grpc@2.1.10: resolution: {integrity: sha512-Nujs/4wWJvE5OSxWPp3M5H+zHJAgsWMo38bMNfKQP1VDeCChp7MiKTkhJBV5JZvrBIkPhYQCLIbfvVqEoSuTuA==} - nice-napi@1.0.2: - resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} - os: ['!win32'] - nlcst-to-string@4.0.0: resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} @@ -7814,9 +7794,6 @@ packages: resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} engines: {node: '>=10'} - node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -7841,10 +7818,6 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} - hasBin: true - node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -7866,20 +7839,12 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - not@0.1.0: resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} notion-md-crawler@1.0.0: resolution: {integrity: sha512-mdB6zn/i32qO2C7X7wZLDpWvFryO3bPYMuBfFgmTPomnfEtIejdQJNVaZzw2GapM82lfWZ5dfsZp3s3UL4p1Fg==} - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -7995,10 +7960,6 @@ packages: resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} engines: {node: '>=18'} - os-filter-obj@2.0.0: - resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} - engines: {node: '>=4'} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -8014,10 +7975,6 @@ packages: resolution: {integrity: sha512-1EZTywPZeUKac9gD7q8np3Aj+V54kvfIcjNEVNDSbG2Ys5xA5foW2HquvMMqgyWGLqIFMlc0Iq/HmyMHqN48sA==} engines: {node: '>=12'} - p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -8148,10 +8105,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -8191,10 +8144,6 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} - peek-readable@5.1.4: - resolution: {integrity: sha512-E7mY2VmKqw9jYuXrSWGHFuPCW2SLQenzXLF3amGaY6lXXg4/b3gj5HVM7h8ZjCO/nZS9ICs0Cz285+32FvNd/A==} - engines: {node: '>=14.16'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -8250,9 +8199,6 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - piscina@4.6.1: - resolution: {integrity: sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==} - pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -8441,9 +8387,6 @@ packages: proxy-memoize@3.0.1: resolution: {integrity: sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g==} - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -8482,10 +8425,6 @@ packages: queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - quick-lru@7.0.0: resolution: {integrity: sha512-MX8gB7cVYTrYcFfAnfLlhRd0+Toyl8yX8uBx1MrX7K0jegiz9TumwOK27ldXrgDlHRdVi+MqU9Ssw6dr4BNreg==} engines: {node: '>=18'} @@ -8626,10 +8565,6 @@ packages: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - readable-web-to-node-stream@3.0.2: - resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} - engines: {node: '>=8'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -8723,9 +8658,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -8745,9 +8677,6 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -8858,14 +8787,6 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - semver-regex@4.0.5: - resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} - engines: {node: '>=12'} - - semver-truncate@3.0.0: - resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} - engines: {node: '>=12'} - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -8893,18 +8814,10 @@ packages: resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -8963,14 +8876,6 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - sort-keys-length@1.0.1: - resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} - engines: {node: '>=0.10.0'} - - sort-keys@1.1.2: - resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -9127,10 +9032,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -9150,17 +9051,9 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - strip-outer@2.0.0: - resolution: {integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - strtok3@7.1.1: - resolution: {integrity: sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==} - engines: {node: '>=16'} - style-mod@4.1.2: resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} @@ -9330,10 +9223,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - token-types@5.0.1: - resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} - engines: {node: '>=14.16'} - touch@3.1.1: resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true @@ -9359,10 +9248,6 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trim-repeated@2.0.0: - resolution: {integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==} - engines: {node: '>=12'} - triple-beam@1.4.1: resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} engines: {node: '>= 14.0.0'} @@ -9540,6 +9425,9 @@ packages: unenv-nightly@2.0.0-20241018-011344-e666fcf: resolution: {integrity: sha512-D00bYn8rzkCBOlLx+k1iHQlc69jvtJRT7Eek4yIGQ6461a2tUBjngGZdRpqsoXAJCz/qBW0NgPting7Zvg+ysg==} + unenv-nightly@2.0.0-20241111-080453-894aa31: + resolution: {integrity: sha512-0W39QQOQ9VE8kVVUpGwEG+pZcsCXk5wqNG6rDPE6Gr+fiA69LR0qERM61hW5KCOkC1/ArCFrfCGjwHyyv/bI0Q==} + unenv-nightly@2.0.0-20241121-161142-806b5c0: resolution: {integrity: sha512-RnFOasE/O0Q55gBkNB1b84OgKttgLEijGO0JCWpbn+O4XxpyCQg89NmcqQ5RGUiy4y+rMIrKzePTquQcLQF5pQ==} @@ -9979,10 +9867,6 @@ packages: resolution: {integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==} engines: {node: '>=18.12'} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -10072,6 +9956,16 @@ packages: '@cloudflare/workers-types': optional: true + wrangler@3.90.0: + resolution: {integrity: sha512-E/6E9ORAl987+3kP8wDiE3L1lj9r4vQ32/dl5toIxIkSMssmPRQVdxqwgMxbxJrytbFNo8Eo6swgjd4y4nUaLg==} + engines: {node: '>=16.17.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20241106.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + wrangler@3.91.0: resolution: {integrity: sha512-Hdzn6wbY9cz5kL85ZUvWLwLIH7nPaEVRblfms40jhRf4qQO/Zf74aFlku8rQFbe8/2aVZFaxJVfBd6JQMeMSBQ==} engines: {node: '>=16.17.0'} @@ -10132,9 +10026,6 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -11490,6 +11381,11 @@ snapshots: mime: 3.0.0 zod: 3.23.8 + '@cloudflare/workers-shared@0.8.0': + dependencies: + mime: 3.0.0 + zod: 3.23.8 + '@cloudflare/workers-shared@0.9.0': dependencies: mime: 3.0.0 @@ -11501,6 +11397,8 @@ snapshots: '@cloudflare/workers-types@4.20241022.0': {} + '@cloudflare/workers-types@4.20241112.0': {} + '@codemirror/autocomplete@6.18.2(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1)': dependencies: '@codemirror/language': 6.10.2 @@ -12868,17 +12766,6 @@ snapshots: transitivePeerDependencies: - encoding - '@mole-inc/bin-wrapper@8.0.1': - dependencies: - bin-check: 4.1.0 - bin-version-check: 5.1.0 - content-disposition: 0.5.4 - ext-name: 5.0.0 - file-type: 17.1.6 - filenamify: 5.1.1 - got: 11.8.6 - os-filter-obj: 2.0.0 - '@monaco-editor/loader@1.4.0(monaco-editor@0.51.0)': dependencies: monaco-editor: 0.51.0 @@ -14342,21 +14229,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/cli@0.4.0(@swc/core@1.7.10(@swc/helpers@0.5.13))(chokidar@3.6.0)': - dependencies: - '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.7.10(@swc/helpers@0.5.13) - '@swc/counter': 0.1.3 - commander: 8.3.0 - fast-glob: 3.3.2 - minimatch: 9.0.5 - piscina: 4.6.1 - semver: 7.6.3 - slash: 3.0.0 - source-map: 0.7.4 - optionalDependencies: - chokidar: 3.6.0 - '@swc/core-darwin-arm64@1.7.10': optional: true @@ -14411,18 +14283,10 @@ snapshots: tslib: 2.6.3 optional: true - '@swc/plugin-transform-imports@2.0.11': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types@0.1.12': dependencies: '@swc/counter': 0.1.3 - '@szmarczak/http-timer@4.0.6': - dependencies: - defer-to-connect: 2.0.1 - '@tanstack/query-core@5.52.0': {} '@tanstack/react-query@5.52.1(react@18.3.1)': @@ -14438,8 +14302,6 @@ snapshots: '@tanstack/table-core@8.20.5': {} - '@tokenizer/token@0.3.0': {} - '@trysound/sax@0.2.0': {} '@types/acorn@4.0.6': @@ -14467,13 +14329,6 @@ snapshots: dependencies: '@babel/types': 7.26.0 - '@types/cacheable-request@6.0.3': - dependencies: - '@types/http-cache-semantics': 4.0.4 - '@types/keyv': 3.1.4 - '@types/node': 22.8.7 - '@types/responselike': 1.0.3 - '@types/cookie@0.6.0': {} '@types/debug@4.1.12': @@ -14494,12 +14349,6 @@ snapshots: dependencies: '@types/unist': 3.0.2 - '@types/http-cache-semantics@4.0.4': {} - - '@types/keyv@3.1.4': - dependencies: - '@types/node': 22.8.7 - '@types/lodash-es@4.17.12': dependencies: '@types/lodash': 4.17.7 @@ -14572,10 +14421,6 @@ snapshots: '@types/resolve@1.20.6': {} - '@types/responselike@1.0.3': - dependencies: - '@types/node': 22.8.7 - '@types/retry@0.12.0': {} '@types/sax@1.2.7': @@ -15054,8 +14899,6 @@ snapshots: aproba@2.0.0: optional: true - arch@2.2.0: {} - are-we-there-yet@2.0.0: dependencies: delegates: 1.0.0 @@ -15259,22 +15102,6 @@ snapshots: bignumber.js@9.1.2: {} - bin-check@4.1.0: - dependencies: - execa: 0.7.0 - executable: 4.1.1 - - bin-version-check@5.1.0: - dependencies: - bin-version: 6.0.0 - semver: 7.6.3 - semver-truncate: 3.0.0 - - bin-version@6.0.0: - dependencies: - execa: 5.1.1 - find-versions: 5.1.0 - binary-extensions@2.3.0: {} bl@4.1.0: @@ -15369,18 +15196,6 @@ snapshots: tar: 6.2.1 unique-filename: 3.0.0 - cacheable-lookup@5.0.4: {} - - cacheable-request@7.0.4: - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -15600,10 +15415,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone-response@1.0.3: - dependencies: - mimic-response: 1.0.1 - clone@1.0.4: {} clsx@2.0.0: {} @@ -15714,8 +15525,6 @@ snapshots: commander@7.2.0: {} - commander@8.3.0: {} - commander@9.5.0: {} common-ancestor-path@1.0.1: {} @@ -15731,10 +15540,6 @@ snapshots: console-control-strings@1.1.0: optional: true - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - convert-source-map@2.0.0: {} cookie@0.5.0: {} @@ -15760,12 +15565,6 @@ snapshots: transitivePeerDependencies: - encoding - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -15859,8 +15658,6 @@ snapshots: dependencies: clone: 1.0.4 - defer-to-connect@2.0.1: {} - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -16018,6 +15815,17 @@ snapshots: '@types/react': 18.3.3 react: 18.3.1 + drizzle-orm@0.36.4(@cloudflare/workers-types@4.20241112.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0)(@neondatabase/serverless@0.10.1)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.3)(react@18.3.1): + optionalDependencies: + '@cloudflare/workers-types': 4.20241112.0 + '@libsql/client': 0.14.0 + '@libsql/client-wasm': 0.14.0 + '@neondatabase/serverless': 0.10.1 + '@opentelemetry/api': 1.9.0 + '@types/pg': 8.11.10 + '@types/react': 18.3.3 + react: 18.3.1 + drizzle-zod@0.5.1(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240806.0)(@libsql/client@0.6.2)(@neondatabase/serverless@0.10.1)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.3)(react@18.3.1))(zod@3.23.8): dependencies: drizzle-orm: 0.33.0(@cloudflare/workers-types@4.20240806.0)(@libsql/client@0.6.2)(@neondatabase/serverless@0.10.1)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.3)(react@18.3.1) @@ -16310,16 +16118,6 @@ snapshots: eventsource-parser@1.1.2: {} - execa@0.7.0: - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -16344,10 +16142,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - executable@4.1.1: - dependencies: - pify: 2.3.0 - exit-hook@2.2.1: {} expand-template@2.0.3: {} @@ -16359,15 +16153,6 @@ snapshots: '@expressive-code/plugin-shiki': 0.35.6 '@expressive-code/plugin-text-markers': 0.35.6 - ext-list@2.2.2: - dependencies: - mime-db: 1.52.0 - - ext-name@5.0.0: - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -16457,24 +16242,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-type@17.1.6: - dependencies: - readable-web-to-node-stream: 3.0.2 - strtok3: 7.1.1 - token-types: 5.0.1 - filelist@1.0.4: dependencies: minimatch: 5.1.6 - filename-reserved-regex@3.0.0: {} - - filenamify@5.1.1: - dependencies: - filename-reserved-regex: 3.0.0 - strip-outer: 2.0.0 - trim-repeated: 2.0.0 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -16498,10 +16269,6 @@ snapshots: locate-path: 7.2.0 path-exists: 5.0.0 - find-versions@5.1.0: - dependencies: - semver-regex: 4.0.5 - find-yarn-workspace-root2@1.2.16: dependencies: micromatch: 4.0.8 @@ -16640,8 +16407,6 @@ snapshots: get-stdin@8.0.0: {} - get-stream@3.0.0: {} - get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -16725,20 +16490,6 @@ snapshots: dependencies: get-intrinsic: 1.2.4 - got@11.8.6: - dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 - decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - gpt-tokenizer@2.6.0: {} graceful-fs@4.2.11: {} @@ -17044,11 +16795,6 @@ snapshots: transitivePeerDependencies: - supports-color - http2-wrapper@1.0.3: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -17202,8 +16948,6 @@ snapshots: is-observable@2.1.0: {} - is-plain-obj@1.1.0: {} - is-plain-obj@4.1.0: {} is-plain-object@5.0.0: {} @@ -17212,8 +16956,6 @@ snapshots: dependencies: '@types/estree': 1.0.6 - is-stream@1.1.0: {} - is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -17307,8 +17049,6 @@ snapshots: dependencies: bignumber.js: 9.1.2 - json-buffer@3.0.1: {} - json-parse-even-better-errors@2.3.1: {} json-schema-traverse@1.0.0: {} @@ -17381,10 +17121,6 @@ snapshots: jwa: 2.0.0 safe-buffer: 5.2.1 - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - kind-of@6.0.3: {} kleur@3.0.3: {} @@ -17699,17 +17435,10 @@ snapshots: dependencies: tslib: 2.6.3 - lowercase-keys@2.0.0: {} - lru-cache@10.4.3: {} lru-cache@11.0.0: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -18250,8 +17979,6 @@ snapshots: mimic-function@5.0.1: {} - mimic-response@1.0.1: {} - mimic-response@2.1.0: optional: true @@ -18461,12 +18188,6 @@ snapshots: abort-controller-x: 0.4.3 nice-grpc-common: 2.0.2 - nice-napi@1.0.2: - dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.8.1 - optional: true - nlcst-to-string@4.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -18480,9 +18201,6 @@ snapshots: dependencies: semver: 7.6.3 - node-addon-api@3.2.1: - optional: true - node-addon-api@6.1.0: {} node-domexception@1.0.0: {} @@ -18501,9 +18219,6 @@ snapshots: node-forge@1.3.1: {} - node-gyp-build@4.8.1: - optional: true - node-releases@2.0.18: {} nodemon@3.1.7: @@ -18528,8 +18243,6 @@ snapshots: normalize-range@0.1.2: {} - normalize-url@6.1.0: {} - not@0.1.0: {} notion-md-crawler@1.0.0(encoding@0.1.13): @@ -18539,10 +18252,6 @@ snapshots: transitivePeerDependencies: - encoding - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -18691,10 +18400,6 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.0 - os-filter-obj@2.0.0: - dependencies: - arch: 2.2.0 - os-tmpdir@1.0.2: {} over-9000@9000.1.4: {} @@ -18717,8 +18422,6 @@ snapshots: type-fest: 2.19.0 vali-date: 1.0.0 - p-cancelable@2.1.1: {} - p-finally@1.0.0: {} p-limit@2.3.0: @@ -18854,8 +18557,6 @@ snapshots: path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -18884,8 +18585,6 @@ snapshots: pathval@2.0.0: {} - peek-readable@5.1.4: {} - pend@1.2.0: {} periscopic@3.1.0: @@ -18930,10 +18629,6 @@ snapshots: pirates@4.0.6: {} - piscina@4.6.1: - optionalDependencies: - nice-napi: 1.0.2 - pkg-dir@4.2.0: dependencies: find-up: 4.1.0 @@ -19161,8 +18856,6 @@ snapshots: dependencies: proxy-compare: 3.0.0 - pseudomap@1.0.2: {} - psl@1.9.0: {} pstree.remy@1.1.8: {} @@ -19201,8 +18894,6 @@ snapshots: queue-tick@1.0.1: {} - quick-lru@5.1.1: {} - quick-lru@7.0.0: {} railroad-diagrams@1.0.0: {} @@ -19355,10 +19046,6 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 - readable-web-to-node-stream@3.0.2: - dependencies: - readable-stream: 3.6.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -19522,8 +19209,6 @@ snapshots: requires-port@1.0.0: {} - resolve-alpn@1.2.1: {} - resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -19538,10 +19223,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@2.0.1: - dependencies: - lowercase-keys: 2.0.0 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -19677,12 +19358,6 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - semver-regex@4.0.5: {} - - semver-truncate@3.0.0: - dependencies: - semver: 7.6.3 - semver@6.3.1: {} semver@7.6.3: {} @@ -19738,16 +19413,10 @@ snapshots: '@img/sharp-win32-ia32': 0.33.4 '@img/sharp-win32-x64': 0.33.4 - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} shiki@1.17.7: @@ -19822,14 +19491,6 @@ snapshots: dot-case: 3.0.4 tslib: 2.6.3 - sort-keys-length@1.0.1: - dependencies: - sort-keys: 1.1.2 - - sort-keys@1.1.2: - dependencies: - is-plain-obj: 1.1.0 - source-map-js@1.2.0: {} source-map-js@1.2.1: {} @@ -19978,8 +19639,6 @@ snapshots: strip-bom@3.0.0: {} - strip-eof@1.0.0: {} - strip-final-newline@2.0.0: {} strip-final-newline@3.0.0: {} @@ -19994,15 +19653,8 @@ snapshots: dependencies: js-tokens: 9.0.0 - strip-outer@2.0.0: {} - strnum@1.0.5: {} - strtok3@7.1.1: - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 5.1.4 - style-mod@4.1.2: {} style-to-object@0.4.4: @@ -20255,11 +19907,6 @@ snapshots: dependencies: is-number: 7.0.0 - token-types@5.0.1: - dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - touch@3.1.1: {} tough-cookie@4.1.4: @@ -20283,10 +19930,6 @@ snapshots: trim-lines@3.0.1: {} - trim-repeated@2.0.0: - dependencies: - escape-string-regexp: 5.0.0 - triple-beam@1.4.1: {} trough@2.2.0: {} @@ -20459,6 +20102,13 @@ snapshots: pathe: 1.1.2 ufo: 1.5.4 + unenv-nightly@2.0.0-20241111-080453-894aa31: + dependencies: + defu: 6.1.4 + ohash: 1.1.4 + pathe: 1.1.2 + ufo: 1.5.4 + unenv-nightly@2.0.0-20241121-161142-806b5c0: dependencies: defu: 6.1.4 @@ -21019,10 +20669,6 @@ snapshots: dependencies: load-yaml-file: 0.2.0 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -21108,7 +20754,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20241106.1 '@cloudflare/workerd-windows-64': 1.20241106.1 - wrangler@3.73.0(@cloudflare/workers-types@4.20241022.0): + wrangler@3.73.0(@cloudflare/workers-types@4.20241112.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@cloudflare/workers-shared': 0.4.1 @@ -21129,14 +20775,14 @@ snapshots: workerd: 1.20240821.1 xxhash-wasm: 1.0.2 optionalDependencies: - '@cloudflare/workers-types': 4.20241022.0 + '@cloudflare/workers-types': 4.20241112.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - wrangler@3.78.5(@cloudflare/workers-types@4.20241022.0): + wrangler@3.78.5(@cloudflare/workers-types@4.20241112.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@cloudflare/workers-shared': 0.5.3 @@ -21157,7 +20803,7 @@ snapshots: workerd: 1.20240909.0 xxhash-wasm: 1.0.2 optionalDependencies: - '@cloudflare/workers-types': 4.20241022.0 + '@cloudflare/workers-types': 4.20241112.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil @@ -21222,6 +20868,35 @@ snapshots: - supports-color - utf-8-validate + wrangler@3.90.0(@cloudflare/workers-types@4.20241112.0): + dependencies: + '@cloudflare/kv-asset-handler': 0.3.4 + '@cloudflare/workers-shared': 0.8.0 + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + chokidar: 4.0.1 + date-fns: 4.1.0 + esbuild: 0.17.19 + itty-time: 1.0.6 + miniflare: 3.20241106.1 + nanoid: 3.3.7 + path-to-regexp: 6.3.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + selfsigned: 2.4.1 + source-map: 0.6.1 + unenv: unenv-nightly@2.0.0-20241111-080453-894aa31 + workerd: 1.20241106.1 + xxhash-wasm: 1.0.2 + optionalDependencies: + '@cloudflare/workers-types': 4.20241112.0 + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + wrangler@3.91.0(@cloudflare/workers-types@4.20241022.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 @@ -21292,8 +20967,6 @@ snapshots: y18n@5.0.8: {} - yallist@2.1.2: {} - yallist@3.1.1: {} yallist@4.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 09001fe97..b3de4a6fe 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,5 +5,6 @@ packages: - "honc-code-gen" - "packages/*" - "examples/*" + - "examples/service-bindings/*" - "webhonc" - "www"