├── .gitignore ├── prettier.config.cjs ├── release.config.cjs ├── examples └── mixedbreadai-api │ ├── bun.lockb │ ├── package.json │ ├── tsconfig.json │ ├── .gitignore │ └── index.ts ├── renovate.json ├── tsconfig.json ├── .github └── workflows │ ├── test.yml │ └── release.yml ├── package.json ├── README.md ├── src ├── index.ts └── index.test.ts └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | trailingComma: "es5", 3 | }; 4 | -------------------------------------------------------------------------------- /release.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | branches: ["main"], 3 | }; 4 | -------------------------------------------------------------------------------- /examples/mixedbreadai-api/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/notrab/libsql-vector/HEAD/examples/mixedbreadai-api/bun.lockb -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["config:recommended"] 4 | } 5 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "commonjs", 5 | "strict": true, 6 | "esModuleInterop": true, 7 | "skipLibCheck": true, 8 | "forceConsistentCasingInFileNames": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/mixedbreadai-api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mixedbread", 3 | "module": "index.ts", 4 | "type": "module", 5 | "devDependencies": { 6 | "bun-types": "latest" 7 | }, 8 | "peerDependencies": { 9 | "typescript": "^5.0.0" 10 | }, 11 | "dependencies": { 12 | "@mixedbread-ai/sdk": "^2.2.11" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | on: 2 | pull_request: 3 | branches: 4 | - main 5 | 6 | jobs: 7 | test: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | - name: Setup pnpm 12 | uses: pnpm/action-setup@v3 13 | with: 14 | version: 8 15 | - uses: actions/setup-node@v4 16 | with: 17 | node-version: "lts/*" 18 | cache: "pnpm" 19 | - run: pnpm install 20 | - run: pnpm build 21 | - run: pnpm test -r 22 | -------------------------------------------------------------------------------- /examples/mixedbreadai-api/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["ESNext"], 4 | "module": "esnext", 5 | "target": "esnext", 6 | "moduleResolution": "bundler", 7 | "moduleDetection": "force", 8 | "allowImportingTsExtensions": true, 9 | "noEmit": true, 10 | "composite": true, 11 | "strict": true, 12 | "downlevelIteration": true, 13 | "skipLibCheck": true, 14 | "jsx": "react-jsx", 15 | "allowSyntheticDefaultImports": true, 16 | "forceConsistentCasingInFileNames": true, 17 | "allowJs": true, 18 | "types": [ 19 | "bun-types" // add Bun global 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | permissions: 9 | contents: write 10 | issues: write 11 | pull-requests: write 12 | 13 | jobs: 14 | release: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Setup pnpm 19 | uses: pnpm/action-setup@v3 20 | with: 21 | version: 8 22 | - uses: actions/setup-node@v4 23 | with: 24 | node-version: "lts/*" 25 | cache: "pnpm" 26 | - run: pnpm install 27 | - run: pnpm build 28 | - run: pnpm test 29 | - name: Release 30 | env: 31 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 32 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 33 | run: npx semantic-release 34 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "libsql-vector", 3 | "description": "Vector search SDK for LibSQL", 4 | "version": "0.0.0-development", 5 | "license": "MIT", 6 | "repository": "notrab/libsql-vector", 7 | "keywords": [ 8 | "turso", 9 | "tursodatabase", 10 | "sqlite", 11 | "libsql", 12 | "vector", 13 | "embeddings" 14 | ], 15 | "contributors": [ 16 | "Jamie Barton " 17 | ], 18 | "scripts": { 19 | "build": "tsup", 20 | "dev": "tsup --watch --clean=false", 21 | "test": "vitest", 22 | "semantic-release": "semantic-release" 23 | }, 24 | "devDependencies": { 25 | "@libsql/client": "^0.14.0", 26 | "@libsql/core": "^0.14.0", 27 | "@types/node": "^22.4.0", 28 | "semantic-release": "^24.1.1", 29 | "tsup": "^8.3.0", 30 | "typescript": "^5.6.2", 31 | "vite": "^5.4.8", 32 | "vitest": "^2.1.1" 33 | }, 34 | "peerDependencies": { 35 | "@libsql/client": "^0.7.0 || ^0.14.0" 36 | }, 37 | "tsup": { 38 | "entry": [ 39 | "src/index.ts" 40 | ], 41 | "splitting": true, 42 | "sourcemap": true, 43 | "clean": true, 44 | "dts": true, 45 | "format": [ 46 | "esm", 47 | "cjs" 48 | ], 49 | "skipNodeModulesBundle": true, 50 | "externals": [ 51 | "node_modules" 52 | ] 53 | }, 54 | "type": "module", 55 | "main": "./dist/index.cjs", 56 | "module": "./dist/index.js", 57 | "types": "./dist/index.d.ts", 58 | "exports": { 59 | ".": { 60 | "types": "./dist/index.d.ts", 61 | "import": { 62 | "node": "./dist/index.js", 63 | "default": "./dist/index.js" 64 | }, 65 | "require": { 66 | "node": "./dist/index.cjs", 67 | "default": "./dist/index.cjs" 68 | } 69 | } 70 | }, 71 | "files": [ 72 | "dist", 73 | "README.md" 74 | ], 75 | "publishConfig": { 76 | "access": "public" 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /examples/mixedbreadai-api/.gitignore: -------------------------------------------------------------------------------- 1 | # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore 2 | 3 | # Logs 4 | 5 | logs 6 | _.log 7 | npm-debug.log_ 8 | yarn-debug.log* 9 | yarn-error.log* 10 | lerna-debug.log* 11 | .pnpm-debug.log* 12 | 13 | # Caches 14 | 15 | .cache 16 | 17 | # Diagnostic reports (https://nodejs.org/api/report.html) 18 | 19 | report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 20 | 21 | # Runtime data 22 | 23 | pids 24 | _.pid 25 | _.seed 26 | *.pid.lock 27 | 28 | # Directory for instrumented libs generated by jscoverage/JSCover 29 | 30 | lib-cov 31 | 32 | # Coverage directory used by tools like istanbul 33 | 34 | coverage 35 | *.lcov 36 | 37 | # nyc test coverage 38 | 39 | .nyc_output 40 | 41 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 42 | 43 | .grunt 44 | 45 | # Bower dependency directory (https://bower.io/) 46 | 47 | bower_components 48 | 49 | # node-waf configuration 50 | 51 | .lock-wscript 52 | 53 | # Compiled binary addons (https://nodejs.org/api/addons.html) 54 | 55 | build/Release 56 | 57 | # Dependency directories 58 | 59 | node_modules/ 60 | jspm_packages/ 61 | 62 | # Snowpack dependency directory (https://snowpack.dev/) 63 | 64 | web_modules/ 65 | 66 | # TypeScript cache 67 | 68 | *.tsbuildinfo 69 | 70 | # Optional npm cache directory 71 | 72 | .npm 73 | 74 | # Optional eslint cache 75 | 76 | .eslintcache 77 | 78 | # Optional stylelint cache 79 | 80 | .stylelintcache 81 | 82 | # Microbundle cache 83 | 84 | .rpt2_cache/ 85 | .rts2_cache_cjs/ 86 | .rts2_cache_es/ 87 | .rts2_cache_umd/ 88 | 89 | # Optional REPL history 90 | 91 | .node_repl_history 92 | 93 | # Output of 'npm pack' 94 | 95 | *.tgz 96 | 97 | # Yarn Integrity file 98 | 99 | .yarn-integrity 100 | 101 | # dotenv environment variable files 102 | 103 | .env 104 | .env.development.local 105 | .env.test.local 106 | .env.production.local 107 | .env.local 108 | 109 | # parcel-bundler cache (https://parceljs.org/) 110 | 111 | .parcel-cache 112 | 113 | # Next.js build output 114 | 115 | .next 116 | out 117 | 118 | # Nuxt.js build / generate output 119 | 120 | .nuxt 121 | dist 122 | 123 | # Gatsby files 124 | 125 | # Comment in the public line in if your project uses Gatsby and not Next.js 126 | 127 | # https://nextjs.org/blog/next-9-1#public-directory-support 128 | 129 | # public 130 | 131 | # vuepress build output 132 | 133 | .vuepress/dist 134 | 135 | # vuepress v2.x temp and cache directory 136 | 137 | .temp 138 | 139 | # Docusaurus cache and generated files 140 | 141 | .docusaurus 142 | 143 | # Serverless directories 144 | 145 | .serverless/ 146 | 147 | # FuseBox cache 148 | 149 | .fusebox/ 150 | 151 | # DynamoDB Local files 152 | 153 | .dynamodb/ 154 | 155 | # TernJS port file 156 | 157 | .tern-port 158 | 159 | # Stores VSCode versions used for testing VSCode extensions 160 | 161 | .vscode-test 162 | 163 | # yarn v2 164 | 165 | .yarn/cache 166 | .yarn/unplugged 167 | .yarn/build-state.yml 168 | .yarn/install-state.gz 169 | .pnp.* 170 | 171 | # IntelliJ based IDEs 172 | .idea 173 | 174 | # Finder (MacOS) folder config 175 | .DS_Store 176 | -------------------------------------------------------------------------------- /examples/mixedbreadai-api/index.ts: -------------------------------------------------------------------------------- 1 | import { createClient } from "@libsql/client"; 2 | import { MixedbreadAIClient } from "@mixedbread-ai/sdk"; 3 | 4 | import { Index, IndexOptions, Vector } from "../../src"; 5 | 6 | const client = createClient({ 7 | url: "file:./movies.db", 8 | }); 9 | 10 | const indexOptions: IndexOptions = { 11 | tableName: "movies", 12 | dimensions: 1024, 13 | columns: [ 14 | { name: "title", type: "TEXT" }, 15 | { name: "year", type: "INTEGER" }, 16 | { name: "plot_summary", type: "TEXT" }, 17 | { name: "genres", type: "TEXT" }, 18 | ], 19 | debug: true, 20 | }; 21 | 22 | const movieIndex = new Index(client, indexOptions); 23 | 24 | const mxbai = new MixedbreadAIClient({ 25 | apiKey: "...", 26 | }); 27 | 28 | async function generateEmbedding(text: string): Promise { 29 | const res = await mxbai.embeddings({ 30 | model: "mixedbread-ai/mxbai-embed-large-v1", 31 | input: [text], 32 | normalized: true, 33 | encodingFormat: "float", 34 | truncationStrategy: "end", 35 | }); 36 | 37 | return res.data[0].embedding; 38 | } 39 | 40 | async function addMovie( 41 | title: string, 42 | year: number, 43 | plotSummary: string, 44 | genres: string[], 45 | ) { 46 | const textForEmbedding = `${title} ${plotSummary} ${genres.join(" ")}`; 47 | const embedding = await generateEmbedding(textForEmbedding); 48 | 49 | const movie: Vector = { 50 | id: `${title}_${year}`, 51 | vector: embedding, 52 | title, 53 | year, 54 | plot_summary: plotSummary, 55 | genres: genres.join(","), 56 | }; 57 | 58 | await movieIndex.upsert(movie); 59 | console.log(`Added movie: ${title}`); 60 | } 61 | 62 | async function getMovieRecommendations(query: string, topK: number = 5) { 63 | const queryEmbedding = await generateEmbedding(query); 64 | const results = await movieIndex.query(queryEmbedding, { topK }); 65 | 66 | console.log(`Recommendations for query: "${query}"`); 67 | results.forEach((result, index) => { 68 | console.log( 69 | `${index + 1}. ${result.title} (${result.year}) - Similarity: ${ 70 | result.score 71 | }`, 72 | ); 73 | }); 74 | } 75 | 76 | async function main() { 77 | await movieIndex.initialize(); 78 | 79 | await addMovie( 80 | "The Terminator", 81 | 1984, 82 | "A human soldier is sent from 2029 to 1984 to stop an almost indestructible cyborg killing machine, sent from the same year, which has been programmed to execute a young woman whose unborn son is the key to humanity's future salvation.", 83 | ["Action", "Sci-Fi"], 84 | ); 85 | 86 | await addMovie( 87 | "Wall-E", 88 | 2008, 89 | "In a distant, but not so unrealistic, future where mankind has abandoned earth because it has become covered with trash from products sold by the powerful multi-national Buy N Large corporation, WALL-E, a garbage collecting robot has been left to clean up the mess.", 90 | ["Animation", "Adventure", "Sci-Fi"], 91 | ); 92 | 93 | await addMovie( 94 | "Inception", 95 | 2010, 96 | "A thief who steals corporate secrets through the use of dream-sharing technology is given the inverse task of planting an idea into the mind of a CEO.", 97 | ["Action", "Adventure", "Sci-Fi"], 98 | ); 99 | 100 | await getMovieRecommendations( 101 | "I'm in the mood for a sci-fi action movie with robots", 102 | ); 103 | } 104 | 105 | main().catch(console.error); 106 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # libsql-vector 2 | 3 | Vector similarity search for libSQL and Turso. 4 | 5 | ```bash 6 | npm install libsql-vector 7 | ``` 8 | 9 | ## Usage 10 | 11 | ### Initializing the Index 12 | 13 | ```typescript 14 | import { createClient } from "@libsql/client"; 15 | import { Index } from "libsql-vector"; 16 | 17 | const client = createClient({ url: "file:vector.db" }); 18 | const vectorIndex = new Index(client, { 19 | tableName: "my_vectors", // optional, defaults to 'vector_index' 20 | dimensions: 384, 21 | columns: [ 22 | { name: "title", type: "TEXT" }, 23 | { name: "timestamp", type: "INTEGER" }, 24 | ], 25 | debug: process.env.NODE_ENV !== "production", // optional, defaults to false 26 | }); 27 | 28 | // Initialize the index (creates table and index if they don't exist) 29 | await vectorIndex.initialize(); 30 | ``` 31 | 32 | ### Upserting Vectors 33 | 34 | ```typescript 35 | const vectors = [ 36 | { 37 | id: "1", 38 | vector: [0.1, 0.2, 0.3 /* ... up to 384 dimensions */], 39 | title: "Example Document 1", 40 | timestamp: Date.now(), 41 | }, 42 | { 43 | id: "2", 44 | vector: [0.4, 0.5, 0.6 /* ... up to 384 dimensions */], 45 | title: "Example Document 2", 46 | timestamp: Date.now(), 47 | }, 48 | ]; 49 | 50 | await vectorIndex.upsert(vectors); 51 | ``` 52 | 53 | ### Querying Vectors 54 | 55 | ```typescript 56 | const queryVector = [0.2, 0.3, 0.4 /* ... up to 384 dimensions */]; 57 | 58 | // Basic query 59 | const results = await vectorIndex.query(queryVector, { topK: 5 }); 60 | 61 | console.log(results); 62 | // [ 63 | // { id: '1', score: 0.95, title: 'Example Document 1', timestamp: 1631234567890 }, 64 | // { id: '2', score: 0.82, title: 'Example Document 2', timestamp: 1631234567891 }, 65 | // ... 66 | // ] 67 | 68 | // Query with filter 69 | const filteredResults = await vectorIndex.query(queryVector, { 70 | topK: 5, 71 | filter: "timestamp > 1630000000000", 72 | }); 73 | 74 | // Query including vector data 75 | const resultsWithVectors = await vectorIndex.query(queryVector, { 76 | topK: 5, 77 | includeVectors: true, 78 | }); 79 | 80 | console.log(resultsWithVectors); 81 | // [ 82 | // { 83 | // id: '1', 84 | // score: 0.95, 85 | // title: 'Example Document 1', 86 | // timestamp: 1631234567890, 87 | // vector: [0.1, 0.2, 0.3, ...] 88 | // }, 89 | // ... 90 | // ] 91 | ``` 92 | 93 | ### Listing Vectors 94 | 95 | ```typescript 96 | // List vectors with default options 97 | const result = await vectorIndex.list(); 98 | 99 | console.log(result); 100 | // { 101 | // items: [ 102 | // { id: '1', metadata: { title: 'Example Document 1', timestamp: 1631234567890 } }, 103 | // { id: '2', metadata: { title: 'Example Document 2', timestamp: 1631234567891 } }, 104 | // ... 105 | // ], 106 | // nextCursor: '10' 107 | // } 108 | 109 | // List vectors with custom options 110 | const customResult = await vectorIndex.list({ 111 | cursor: "10", 112 | limit: 5, 113 | includeVectors: true, 114 | includeMetadata: false, 115 | }); 116 | 117 | console.log(customResult); 118 | // { 119 | // items: [ 120 | // { id: '11', vector: [0.1, 0.2, 0.3, ...] }, 121 | // { id: '12', vector: [0.4, 0.5, 0.6, ...] }, 122 | // ... 123 | // ], 124 | // nextCursor: '15' 125 | // } 126 | ``` 127 | 128 | ### Retrieving Vectors 129 | 130 | ```typescript 131 | // Retrieve a single vector 132 | const vector = await vectorIndex.retrieve("1"); 133 | 134 | console.log(vector); 135 | // { 136 | // id: '1', 137 | // vector: [0.1, 0.2, 0.3, ...], 138 | // metadata: { title: 'Example Document 1', timestamp: 1631234567890 } 139 | // } 140 | 141 | // Retrieve multiple vectors 142 | const vectors = await vectorIndex.retrieve(["1", "2"]); 143 | 144 | console.log(vectors); 145 | // [ 146 | // { 147 | // id: '1', 148 | // vector: [0.1, 0.2, 0.3, ...], 149 | // metadata: { title: 'Example Document 1', timestamp: 1631234567890 } 150 | // }, 151 | // { 152 | // id: '2', 153 | // vector: [0.4, 0.5, 0.6, ...], 154 | // metadata: { title: 'Example Document 2', timestamp: 1631234567891 } 155 | // } 156 | // ] 157 | 158 | // Retrieve without vector or metadata 159 | const vectorWithoutDetails = await vectorIndex.retrieve("1", { 160 | includeVector: false, 161 | includeMetadata: false, 162 | }); 163 | 164 | console.log(vectorWithoutDetails); 165 | // { id: '1' } 166 | ``` 167 | 168 | ## API Reference 169 | 170 | ### `new Index(client, options)` 171 | 172 | Creates a new vector index. 173 | 174 | - `client`: A libSQL client instance 175 | - `options`: Configuration options 176 | - `tableName`: Name of the table to store vectors (default: `vector_index`) 177 | - `dimensions`: Number of dimensions in your vectors 178 | - `columns`: Additional columns to store with each vector 179 | - `debug`: Enable debug logging (default: `false`) 180 | 181 | ### `index.initialize()` 182 | 183 | Initializes the index, creating the necessary table and index if they don't exist. 184 | 185 | ### `index.upsert(vectors)` 186 | 187 | Inserts or updates vectors in the index. 188 | 189 | - `vectors`: An array of vector objects, each containing: 190 | - `id`: Unique identifier for the vector 191 | - `vector`: Array of numbers representing the vector 192 | - Additional properties corresponding to the columns defined in the index options 193 | 194 | ### `index.query(queryVector, options)` 195 | 196 | Performs a similarity search. 197 | 198 | - `queryVector`: Array of numbers representing the query vector 199 | - `options`: 200 | - `topK`: Number of results to return 201 | - `filter`: SQL WHERE clause to filter results (optional) 202 | - `includeVectors`: Whether to include vector data in the results (default: `false`) 203 | 204 | Returns an array of results, each containing the vector's id, similarity score, and additional columns. 205 | 206 | ### `index.list(options)` 207 | 208 | Lists vectors in the index with pagination. 209 | 210 | - `options`: 211 | - `cursor`: Pagination cursor (optional) 212 | - `limit`: Number of items to return (default: 10) 213 | - `includeVectors`: Whether to include vector data in the results (default: false) 214 | - `includeMetadata`: Whether to include metadata in the results (default: true) 215 | 216 | Returns an object with `items` array and `nextCursor` for pagination. 217 | 218 | ### `index.retrieve(ids, options)` 219 | 220 | Retrieves one or more vectors by their IDs. 221 | 222 | - `ids`: A single ID or an array of IDs 223 | - `options`: 224 | - `includeVector`: Whether to include vector data in the results (default: true) 225 | - `includeMetadata`: Whether to include metadata in the results (default: true) 226 | 227 | Returns a single vector object or an array of vector objects. 228 | 229 | ## License 230 | 231 | [MIT](https://choosealicense.com/licenses/mit/) 232 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { Client, ResultSet, Value, LibsqlError, InValue } from "@libsql/client"; 2 | 3 | export type ColumnDefinition = { 4 | name: string; 5 | type: string; 6 | }; 7 | 8 | export interface Vector { 9 | id: string | number; 10 | vector: number[]; 11 | [key: string]: Value | number[]; 12 | } 13 | 14 | export interface QueryOptions { 15 | topK: number; 16 | includeVectors?: boolean; 17 | filter?: string; 18 | } 19 | 20 | export interface QueryResponse { 21 | id: string | number; 22 | score: number; 23 | vector?: number[]; 24 | [key: string]: Value | number[] | undefined; 25 | } 26 | 27 | export interface IndexOptions { 28 | tableName?: string; 29 | dimensions: number; 30 | columns: ColumnDefinition[]; 31 | debug?: boolean; 32 | } 33 | 34 | export interface ListOptions { 35 | cursor?: string; 36 | limit?: number; 37 | includeVectors?: boolean; 38 | includeMetadata?: boolean; 39 | } 40 | 41 | export interface ListResponse { 42 | items: ListItem[]; 43 | nextCursor: string | null; 44 | } 45 | 46 | export interface ListItem { 47 | id: string | number; 48 | vector?: number[]; 49 | metadata?: Record; 50 | [key: string]: Value | number[] | undefined | Record; 51 | } 52 | 53 | export interface RetrieveOptions { 54 | includeVector?: boolean; 55 | includeMetadata?: boolean; 56 | } 57 | 58 | export interface RetrieveResponse { 59 | id: string | number; 60 | vector?: number[]; 61 | metadata?: Record; 62 | [key: string]: Value | number[] | undefined | Record; 63 | } 64 | 65 | export class Index { 66 | private client: Client; 67 | private tableName: string; 68 | private dimensions: number; 69 | private columns: ColumnDefinition[]; 70 | private debug: boolean; 71 | 72 | constructor(client: Client, options: IndexOptions) { 73 | this.client = client; 74 | this.tableName = options.tableName || "vector_index"; 75 | this.dimensions = options.dimensions; 76 | this.columns = options.columns; 77 | this.debug = options.debug || false; 78 | } 79 | 80 | private log(...args: any[]): void { 81 | if (this.debug) { 82 | console.log(...args); 83 | } 84 | } 85 | 86 | async initialize(): Promise { 87 | await this.createTable(); 88 | await this.createIndex(); 89 | } 90 | 91 | async upsert(vectors: Vector | Vector[]): Promise { 92 | const vectorArray = Array.isArray(vectors) ? vectors : [vectors]; 93 | 94 | const columnNames = [ 95 | "id", 96 | "embedding", 97 | ...this.columns.map((col) => col.name), 98 | ]; 99 | 100 | for (const vec of vectorArray) { 101 | const values = [ 102 | `'${vec.id.toString().replace(/'/g, "''")}'`, 103 | // `vector32(x'${Buffer.from(new Float32Array(vec.vector).buffer).toString("hex")}')`, 104 | `vector32('[${vec.vector.join(", ")}]')`, 105 | ...this.columns.map((col) => { 106 | const value = vec[col.name]; 107 | return typeof value === "string" 108 | ? `'${value.replace(/'/g, "''")}'` 109 | : value; 110 | }), 111 | ]; 112 | 113 | const sql = ` 114 | INSERT OR REPLACE INTO ${this.tableName} (${columnNames.join(", ")}) 115 | VALUES (${values.join(", ")}) 116 | `; 117 | 118 | this.log("Upsert SQL:", sql); 119 | 120 | await this.client.execute(sql); 121 | } 122 | 123 | return "Success"; 124 | } 125 | 126 | async query( 127 | queryVector: number[], 128 | options: QueryOptions 129 | ): Promise { 130 | const { topK, includeVectors = false, filter = "" } = options; 131 | 132 | const selectClauses = [ 133 | `${this.tableName}.id`, 134 | `1 - vector_distance_cos(embedding, vector32('[${queryVector.join(", ")}]')) as similarity`, 135 | ...this.columns.map((col) => col.name), 136 | ]; 137 | 138 | if (includeVectors) 139 | selectClauses.push("vector_extract(embedding) as vector"); 140 | 141 | const sql = ` 142 | SELECT ${selectClauses.join(", ")} 143 | FROM ${this.tableName} 144 | ${filter ? `WHERE ${filter}` : ""} 145 | ORDER BY similarity DESC 146 | LIMIT ? 147 | `; 148 | 149 | this.log("Query SQL:", sql); 150 | 151 | const result: ResultSet = await this.client.execute({ sql, args: [topK] }); 152 | 153 | this.log("Query result:", result.rows); 154 | 155 | return result.rows.map((row) => { 156 | const response: QueryResponse = { 157 | id: this.ensureIdType(row.id), 158 | score: this.ensureNumber(row.similarity), 159 | }; 160 | 161 | if (includeVectors) { 162 | response.vector = this.parseVector(row.vector); 163 | } 164 | 165 | this.columns.forEach((col) => { 166 | response[col.name] = row[col.name]; 167 | }); 168 | 169 | return response; 170 | }); 171 | } 172 | 173 | async list(options: ListOptions = {}): Promise { 174 | const { 175 | cursor, 176 | limit = 10, 177 | includeVectors = false, 178 | includeMetadata = true, 179 | } = options; 180 | 181 | const selectClauses = [`${this.tableName}.id`]; 182 | 183 | if (includeVectors) { 184 | selectClauses.push(`vector_extract(embedding) as vector`); 185 | } 186 | 187 | if (includeMetadata) { 188 | this.columns.forEach((col) => selectClauses.push(col.name)); 189 | } 190 | 191 | let sql = `SELECT ${selectClauses.join(", ")} FROM ${this.tableName}`; 192 | const args: any[] = []; 193 | 194 | if (cursor) { 195 | sql += ` WHERE id > ?`; 196 | args.push(cursor); 197 | } 198 | 199 | sql += ` ORDER BY id LIMIT ?`; 200 | args.push(limit + 1); // Fetch one extra to determine if there's a next page 201 | 202 | this.log("List SQL:", sql); 203 | this.log("List args:", args); 204 | 205 | const result = await this.client.execute({ sql, args }); 206 | 207 | if (!result || !result.rows || result.rows.length === 0) { 208 | return { items: [], nextCursor: null }; 209 | } 210 | 211 | const items: ListItem[] = result.rows.slice(0, limit).map((row) => { 212 | const item: ListItem = { id: this.ensureIdType(row.id) }; 213 | 214 | if (includeVectors && row.vector) { 215 | item.vector = this.parseVector(row.vector); 216 | } 217 | 218 | if (includeMetadata) { 219 | item.metadata = {}; 220 | this.columns.forEach((col) => { 221 | item.metadata![col.name] = row[col.name]; 222 | }); 223 | } 224 | 225 | return item; 226 | }); 227 | 228 | let nextCursor: string | null = null; 229 | 230 | if (result.rows.length > limit) { 231 | const lastItem = result.rows[limit - 1]; 232 | 233 | if (lastItem && lastItem.id != null) { 234 | nextCursor = lastItem.id.toString(); 235 | } 236 | } 237 | 238 | return { items, nextCursor }; 239 | } 240 | 241 | async retrieve( 242 | ids: string | number | (string | number)[], 243 | options: RetrieveOptions = {} 244 | ): Promise { 245 | const { includeVector = true, includeMetadata = true } = options; 246 | const idsArray = Array.isArray(ids) ? ids : [ids]; 247 | 248 | const selectClauses = [`${this.tableName}.id`]; 249 | if (includeVector) { 250 | selectClauses.push(`vector_extract(embedding) as vector`); 251 | } 252 | if (includeMetadata) { 253 | this.columns.forEach((col) => selectClauses.push(col.name)); 254 | } 255 | 256 | const sql = ` 257 | SELECT ${selectClauses.join(", ")} 258 | FROM ${this.tableName} 259 | WHERE id IN (${idsArray.map(() => "?").join(", ")}) 260 | `; 261 | 262 | this.log("Retrieve SQL:", sql); 263 | this.log("Retrieve args:", idsArray); 264 | 265 | const result = await this.client.execute({ sql, args: idsArray }); 266 | 267 | const items: RetrieveResponse[] = result.rows.map((row) => { 268 | const item: RetrieveResponse = { id: this.ensureIdType(row.id) }; 269 | if (includeVector && row.vector) { 270 | item.vector = this.parseVector(row.vector); 271 | } 272 | if (includeMetadata) { 273 | item.metadata = {}; 274 | this.columns.forEach((col) => { 275 | item.metadata![col.name] = row[col.name]; 276 | }); 277 | } 278 | return item; 279 | }); 280 | 281 | return Array.isArray(ids) ? items : items[0]; 282 | } 283 | 284 | private async createTable(): Promise { 285 | const columnDefinitions = this.columns 286 | .map((col) => `${col.name} ${col.type}`) 287 | .join(", "); 288 | 289 | const sql = ` 290 | CREATE TABLE IF NOT EXISTS ${this.tableName} ( 291 | id TEXT PRIMARY KEY, 292 | embedding F32_BLOB(${this.dimensions}), 293 | ${columnDefinitions} 294 | ) 295 | `; 296 | 297 | this.log("Create table SQL:", sql); 298 | 299 | await this.client.execute(sql); 300 | } 301 | 302 | private async createIndex(): Promise { 303 | const sql = `CREATE INDEX IF NOT EXISTS idx_${this.tableName}_embedding ON ${this.tableName}(libsql_vector_idx(embedding))`; 304 | 305 | this.log("Create index SQL:", sql); 306 | 307 | await this.client.execute(sql); 308 | } 309 | 310 | private ensureIdType(value: Value): string | number { 311 | if (typeof value === "string" || typeof value === "number") { 312 | return value; 313 | } 314 | 315 | if (typeof value === "bigint") { 316 | return Number(value); 317 | } 318 | 319 | throw new Error(`Invalid id type: ${typeof value}`); 320 | } 321 | 322 | private ensureNumber(value: Value): number { 323 | if (typeof value === "number") { 324 | return value; 325 | } 326 | 327 | if (typeof value === "string") { 328 | return parseFloat(value); 329 | } 330 | 331 | if (typeof value === "bigint") { 332 | return Number(value); 333 | } 334 | 335 | throw new Error(`Invalid score type: ${typeof value}`); 336 | } 337 | 338 | private parseVector(value: Value): number[] | undefined { 339 | if (typeof value === "string") { 340 | try { 341 | return JSON.parse(value); 342 | } catch (e) { 343 | throw new Error(`Failed to parse vector: ${e}`); 344 | } 345 | } 346 | if (value instanceof ArrayBuffer) { 347 | // Make this configurable? Float32Array 348 | return Array.from(new Float32Array(value)); 349 | } 350 | if (value === null) { 351 | return undefined; 352 | } 353 | throw new Error(`Invalid vector type: ${typeof value}`); 354 | } 355 | } 356 | 357 | export { LibsqlError }; 358 | -------------------------------------------------------------------------------- /src/index.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect, beforeEach, afterEach } from "vitest"; 2 | import { Client, createClient } from "@libsql/client"; 3 | import fs from "fs"; 4 | import path from "path"; 5 | import os from "os"; 6 | 7 | import { Index, Vector, IndexOptions } from "./"; 8 | 9 | describe("libsql-vector", () => { 10 | let client: Client; 11 | let dbPath: string; 12 | 13 | beforeEach(() => { 14 | dbPath = path.join( 15 | os.tmpdir(), 16 | `test_db_${Date.now()}_${Math.random().toString(36).substring(7)}.sqlite` 17 | ); 18 | client = createClient({ url: `file:${dbPath}` }); 19 | }); 20 | 21 | afterEach(() => { 22 | client.close(); 23 | fs.unlinkSync(dbPath); 24 | }); 25 | 26 | describe("initialize", () => { 27 | it("should create table and index", async () => { 28 | const options: IndexOptions = { 29 | tableName: "test_table", 30 | dimensions: 3, 31 | columns: [ 32 | { name: "title", type: "TEXT" }, 33 | { name: "year", type: "INTEGER" }, 34 | ], 35 | }; 36 | 37 | const vectorIndex = new Index(client, options); 38 | await vectorIndex.initialize(); 39 | 40 | const tableResult = await client.execute( 41 | "SELECT name FROM sqlite_master WHERE type='table' AND name='test_table'" 42 | ); 43 | expect(tableResult.rows.length).toBe(1); 44 | 45 | const indexResult = await client.execute( 46 | "SELECT name FROM sqlite_master WHERE type='index' AND name='idx_test_table_embedding'" 47 | ); 48 | expect(indexResult.rows.length).toBe(1); 49 | }); 50 | 51 | it("should use the default table name when not specified", async () => { 52 | const optionsWithoutTableName: IndexOptions = { 53 | dimensions: 3, 54 | columns: [{ name: "test", type: "TEXT" }], 55 | }; 56 | 57 | const indexWithDefaultTable = new Index(client, optionsWithoutTableName); 58 | await indexWithDefaultTable.initialize(); 59 | 60 | const sql = 61 | "SELECT name FROM sqlite_master WHERE type='table' AND name='vector_index'"; 62 | const result = await client.execute(sql); 63 | 64 | expect(result.rows.length).toBe(1); 65 | expect(result.rows[0].name).toBe("vector_index"); 66 | }); 67 | }); 68 | 69 | describe("upsert", () => { 70 | it("should upsert a single vector correctly", async () => { 71 | const options: IndexOptions = { 72 | tableName: "test_table", 73 | dimensions: 3, 74 | columns: [ 75 | { name: "title", type: "TEXT" }, 76 | { name: "year", type: "INTEGER" }, 77 | ], 78 | }; 79 | 80 | const vectorIndex = new Index(client, options); 81 | await vectorIndex.initialize(); 82 | 83 | const vector: Vector = { 84 | id: "1", 85 | vector: [0.1, 0.2, 0.3], 86 | title: "Test 1", 87 | year: 2021, 88 | }; 89 | 90 | await vectorIndex.upsert(vector); 91 | 92 | const result = await client.execute("SELECT * FROM test_table"); 93 | expect(result.rows.length).toBe(1); 94 | expect(result.rows[0].id).toBe("1"); 95 | expect(result.rows[0].title).toBe("Test 1"); 96 | expect(result.rows[0].year).toBe(2021); 97 | expect(result.rows[0].embedding).not.toBeNull(); 98 | }); 99 | 100 | it("should upsert multiple vectors at once", async () => { 101 | const options: IndexOptions = { 102 | tableName: "test_table", 103 | dimensions: 3, 104 | columns: [ 105 | { name: "title", type: "TEXT" }, 106 | { name: "year", type: "INTEGER" }, 107 | { name: "plot_summary", type: "TEXT" }, 108 | { name: "genres", type: "TEXT" }, 109 | ], 110 | }; 111 | 112 | const vectorIndex = new Index(client, options); 113 | await vectorIndex.initialize(); 114 | 115 | const vectors: Vector[] = [ 116 | { 117 | id: "1", 118 | vector: [0.1, 0.2, 0.3], 119 | title: "Test 1", 120 | year: 2021, 121 | plot_summary: "This is a test movie 1", 122 | genres: "Action,Drama", 123 | }, 124 | { 125 | id: "2", 126 | vector: [0.4, 0.5, 0.6], 127 | title: "Test 2", 128 | year: 2022, 129 | plot_summary: "This is a test movie 2", 130 | genres: "Comedy,Romance", 131 | }, 132 | { 133 | id: "3", 134 | vector: [0.7, 0.8, 0.9], 135 | title: "Test 3", 136 | year: 2023, 137 | plot_summary: "This is a test movie 3", 138 | genres: "Sci-Fi,Thriller", 139 | }, 140 | ]; 141 | 142 | await vectorIndex.upsert(vectors); 143 | 144 | const result = await client.execute(`SELECT * FROM test_table`); 145 | 146 | expect(result.rows.length).toBe(3); 147 | 148 | vectors.forEach((vec, index) => { 149 | const row = result.rows[index]; 150 | expect(row.id).toBe(vec.id); 151 | expect(row.title).toBe(vec.title); 152 | expect(row.year).toBe(vec.year); 153 | expect(row.plot_summary).toBe(vec.plot_summary); 154 | expect(row.genres).toBe(vec.genres); 155 | expect(row.embedding).not.toBeNull(); 156 | }); 157 | }); 158 | }); 159 | 160 | describe("query", () => { 161 | let vectorIndex: Index; 162 | 163 | beforeEach(async () => { 164 | const options: IndexOptions = { 165 | tableName: "test_table", 166 | dimensions: 3, 167 | columns: [ 168 | { name: "title", type: "TEXT" }, 169 | { name: "year", type: "INTEGER" }, 170 | ], 171 | }; 172 | 173 | vectorIndex = new Index(client, options); 174 | await vectorIndex.initialize(); 175 | 176 | const vectors: Vector[] = [ 177 | { id: "1", vector: [0.1, 0.2, 0.3], title: "Test 1", year: 2021 }, 178 | { id: "2", vector: [0.4, 0.5, 0.6], title: "Test 2", year: 2022 }, 179 | { id: "3", vector: [0.7, 0.8, 0.9], title: "Test 3", year: 2023 }, 180 | ]; 181 | 182 | await vectorIndex.upsert(vectors); 183 | }); 184 | 185 | it("should query vectors correctly without a filter", async () => { 186 | const queryVector = [0.2, 0.3, 0.4]; 187 | const result = await vectorIndex.query(queryVector, { 188 | topK: 3, 189 | includeVectors: true, 190 | }); 191 | 192 | expect(result.length).toBe(3); 193 | expect(result.map((r) => r.id)).toEqual( 194 | expect.arrayContaining(["1", "2", "3"]) 195 | ); 196 | result.forEach((r) => { 197 | expect(r.score).toBeGreaterThanOrEqual(0); 198 | expect(r.score).toBeLessThanOrEqual(1); 199 | expect(r.vector).toHaveLength(3); 200 | }); 201 | }); 202 | 203 | it("should query vectors with a filter correctly", async () => { 204 | const queryVector = [0.2, 0.3, 0.4]; 205 | const result = await vectorIndex.query(queryVector, { 206 | topK: 2, 207 | filter: "year > 2021", 208 | }); 209 | 210 | expect(result.length).toBe(2); 211 | expect(result[0].id).toBe("2"); 212 | expect(result[0].year).toBe(2022); 213 | expect(result[1].id).toBe("3"); 214 | expect(result[1].year).toBe(2023); 215 | }); 216 | 217 | it("should return correct metadata and scores", async () => { 218 | const queryVector = [0.2, 0.3, 0.4]; 219 | const result = await vectorIndex.query(queryVector, { 220 | topK: 3, 221 | includeVectors: true, 222 | }); 223 | 224 | expect(result.length).toBe(3); 225 | result.forEach((r) => { 226 | expect(r.id).toBeDefined(); 227 | expect(r.score).toBeGreaterThanOrEqual(0); 228 | expect(r.score).toBeLessThanOrEqual(1); 229 | expect(r.title).toBeDefined(); 230 | expect(r.year).toBeDefined(); 231 | expect(r.vector).toHaveLength(3); 232 | }); 233 | }); 234 | }); 235 | 236 | describe("list", () => { 237 | let vectorIndex: Index; 238 | 239 | beforeEach(async () => { 240 | const options: IndexOptions = { 241 | tableName: "test_table", 242 | dimensions: 3, 243 | columns: [ 244 | { name: "title", type: "TEXT" }, 245 | { name: "year", type: "INTEGER" }, 246 | ], 247 | debug: true, 248 | }; 249 | 250 | vectorIndex = new Index(client, options); 251 | await vectorIndex.initialize(); 252 | 253 | // Insert 25 test vectors 254 | const vectors: Vector[] = Array.from({ length: 25 }, (_, i) => ({ 255 | id: `${i + 1}`, 256 | vector: [Math.random(), Math.random(), Math.random()], 257 | title: `Test ${i + 1}`, 258 | year: 2000 + i, 259 | })); 260 | 261 | await vectorIndex.upsert(vectors); 262 | }); 263 | 264 | it("should list vectors with default options", async () => { 265 | const result = await vectorIndex.list(); 266 | expect(result.items.length).toBe(10); 267 | expect(result.nextCursor).not.toBeNull(); 268 | expect(result.items[0].metadata).toBeDefined(); 269 | expect(result.items[0].vector).toBeUndefined(); 270 | }); 271 | 272 | it("should list vectors with custom limit", async () => { 273 | const result = await vectorIndex.list({ limit: 5 }); 274 | expect(result.items.length).toBe(5); 275 | expect(result.nextCursor).not.toBeNull(); 276 | }); 277 | 278 | it("should list vectors with cursor", async () => { 279 | const firstPage = await vectorIndex.list({ limit: 5 }); 280 | const secondPage = await vectorIndex.list({ 281 | cursor: firstPage.nextCursor, 282 | limit: 5, 283 | }); 284 | expect(secondPage.items[0].id).not.toBe(firstPage.items[0].id); 285 | expect(secondPage.items.length).toBe(5); 286 | }); 287 | 288 | it("should include vectors when requested", async () => { 289 | const result = await vectorIndex.list({ includeVectors: true }); 290 | expect(result.items[0].vector).toBeDefined(); 291 | expect(result.items[0].vector).toHaveLength(3); 292 | }); 293 | 294 | it("should not include metadata when not requested", async () => { 295 | const result = await vectorIndex.list({ includeMetadata: false }); 296 | expect(result.items[0].metadata).toBeUndefined(); 297 | }); 298 | 299 | it("should return null nextCursor on last page", async () => { 300 | const result = await vectorIndex.list({ limit: 30 }); // More than total items 301 | expect(result.nextCursor).toBeNull(); 302 | }); 303 | }); 304 | 305 | describe("retrieve", () => { 306 | let vectorIndex: Index; 307 | 308 | beforeEach(async () => { 309 | const options: IndexOptions = { 310 | tableName: "test_table", 311 | dimensions: 3, 312 | columns: [ 313 | { name: "title", type: "TEXT" }, 314 | { name: "year", type: "INTEGER" }, 315 | ], 316 | debug: true, 317 | }; 318 | 319 | vectorIndex = new Index(client, options); 320 | await vectorIndex.initialize(); 321 | 322 | // Insert test vectors 323 | const vectors: Vector[] = [ 324 | { id: "1", vector: [0.1, 0.2, 0.3], title: "Test 1", year: 2021 }, 325 | { id: "2", vector: [0.4, 0.5, 0.6], title: "Test 2", year: 2022 }, 326 | { id: "3", vector: [0.7, 0.8, 0.9], title: "Test 3", year: 2023 }, 327 | ]; 328 | 329 | await vectorIndex.upsert(vectors); 330 | }); 331 | 332 | it("should retrieve a single vector by ID", async () => { 333 | const result = await vectorIndex.retrieve("2"); 334 | expect(result).toHaveProperty("id", "2"); 335 | expect(result).toHaveProperty("vector"); 336 | expect(result).toHaveProperty("metadata"); 337 | expect(result.metadata).toHaveProperty("title", "Test 2"); 338 | expect(result.metadata).toHaveProperty("year", 2022); 339 | }); 340 | 341 | it("should retrieve multiple vectors by IDs", async () => { 342 | const result = await vectorIndex.retrieve(["1", "3"]); 343 | expect(Array.isArray(result)).toBe(true); 344 | expect(result).toHaveLength(2); 345 | expect(result[0]).toHaveProperty("id", "1"); 346 | expect(result[1]).toHaveProperty("id", "3"); 347 | }); 348 | 349 | it("should retrieve a vector without the embedding when specified", async () => { 350 | const result = await vectorIndex.retrieve("2", { includeVector: false }); 351 | expect(result).not.toHaveProperty("vector"); 352 | expect(result).toHaveProperty("metadata"); 353 | }); 354 | 355 | it("should retrieve a vector without metadata when specified", async () => { 356 | const result = await vectorIndex.retrieve("2", { 357 | includeMetadata: false, 358 | }); 359 | expect(result).toHaveProperty("vector"); 360 | expect(result).not.toHaveProperty("metadata"); 361 | }); 362 | 363 | it("should return undefined for non-existent IDs", async () => { 364 | const result = await vectorIndex.retrieve("999"); 365 | expect(result).toBeUndefined(); 366 | }); 367 | 368 | it("should handle mixed existing and non-existent IDs", async () => { 369 | const result = await vectorIndex.retrieve(["1", "999", "3"]); 370 | expect(Array.isArray(result)).toBe(true); 371 | expect(result).toHaveLength(2); 372 | expect(result[0]).toHaveProperty("id", "1"); 373 | expect(result[1]).toHaveProperty("id", "3"); 374 | }); 375 | 376 | it("should handle empty result set", async () => { 377 | // Clear the table 378 | await client.execute(`DELETE FROM ${vectorIndex.tableName}`); 379 | 380 | const result = await vectorIndex.list(); 381 | expect(result.items).toEqual([]); 382 | expect(result.nextCursor).toBeNull(); 383 | 384 | // Test with various options to ensure they're handled correctly 385 | const resultWithOptions = await vectorIndex.list({ 386 | limit: 5, 387 | includeVectors: true, 388 | includeMetadata: false, 389 | }); 390 | expect(resultWithOptions.items).toEqual([]); 391 | expect(resultWithOptions.nextCursor).toBeNull(); 392 | }); 393 | }); 394 | }); 395 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@libsql/client': 12 | specifier: ^0.14.0 13 | version: 0.14.0 14 | '@libsql/core': 15 | specifier: ^0.14.0 16 | version: 0.14.0 17 | '@types/node': 18 | specifier: ^22.4.0 19 | version: 22.7.3 20 | semantic-release: 21 | specifier: ^24.1.1 22 | version: 24.1.1(typescript@5.6.2) 23 | tsup: 24 | specifier: ^8.3.0 25 | version: 8.3.0(postcss@8.4.47)(typescript@5.6.2) 26 | typescript: 27 | specifier: ^5.6.2 28 | version: 5.6.2 29 | vite: 30 | specifier: ^5.4.8 31 | version: 5.4.8(@types/node@22.7.3) 32 | vitest: 33 | specifier: ^2.1.1 34 | version: 2.1.1(@types/node@22.7.3) 35 | 36 | packages: 37 | 38 | '@babel/code-frame@7.24.7': 39 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 40 | engines: {node: '>=6.9.0'} 41 | 42 | '@babel/helper-validator-identifier@7.24.7': 43 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 44 | engines: {node: '>=6.9.0'} 45 | 46 | '@babel/highlight@7.24.7': 47 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 48 | engines: {node: '>=6.9.0'} 49 | 50 | '@colors/colors@1.5.0': 51 | resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 52 | engines: {node: '>=0.1.90'} 53 | 54 | '@esbuild/aix-ppc64@0.21.5': 55 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 56 | engines: {node: '>=12'} 57 | cpu: [ppc64] 58 | os: [aix] 59 | 60 | '@esbuild/aix-ppc64@0.23.1': 61 | resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} 62 | engines: {node: '>=18'} 63 | cpu: [ppc64] 64 | os: [aix] 65 | 66 | '@esbuild/android-arm64@0.21.5': 67 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 68 | engines: {node: '>=12'} 69 | cpu: [arm64] 70 | os: [android] 71 | 72 | '@esbuild/android-arm64@0.23.1': 73 | resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} 74 | engines: {node: '>=18'} 75 | cpu: [arm64] 76 | os: [android] 77 | 78 | '@esbuild/android-arm@0.21.5': 79 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 80 | engines: {node: '>=12'} 81 | cpu: [arm] 82 | os: [android] 83 | 84 | '@esbuild/android-arm@0.23.1': 85 | resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} 86 | engines: {node: '>=18'} 87 | cpu: [arm] 88 | os: [android] 89 | 90 | '@esbuild/android-x64@0.21.5': 91 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 92 | engines: {node: '>=12'} 93 | cpu: [x64] 94 | os: [android] 95 | 96 | '@esbuild/android-x64@0.23.1': 97 | resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} 98 | engines: {node: '>=18'} 99 | cpu: [x64] 100 | os: [android] 101 | 102 | '@esbuild/darwin-arm64@0.21.5': 103 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 104 | engines: {node: '>=12'} 105 | cpu: [arm64] 106 | os: [darwin] 107 | 108 | '@esbuild/darwin-arm64@0.23.1': 109 | resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} 110 | engines: {node: '>=18'} 111 | cpu: [arm64] 112 | os: [darwin] 113 | 114 | '@esbuild/darwin-x64@0.21.5': 115 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 116 | engines: {node: '>=12'} 117 | cpu: [x64] 118 | os: [darwin] 119 | 120 | '@esbuild/darwin-x64@0.23.1': 121 | resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 122 | engines: {node: '>=18'} 123 | cpu: [x64] 124 | os: [darwin] 125 | 126 | '@esbuild/freebsd-arm64@0.21.5': 127 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 128 | engines: {node: '>=12'} 129 | cpu: [arm64] 130 | os: [freebsd] 131 | 132 | '@esbuild/freebsd-arm64@0.23.1': 133 | resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} 134 | engines: {node: '>=18'} 135 | cpu: [arm64] 136 | os: [freebsd] 137 | 138 | '@esbuild/freebsd-x64@0.21.5': 139 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 140 | engines: {node: '>=12'} 141 | cpu: [x64] 142 | os: [freebsd] 143 | 144 | '@esbuild/freebsd-x64@0.23.1': 145 | resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} 146 | engines: {node: '>=18'} 147 | cpu: [x64] 148 | os: [freebsd] 149 | 150 | '@esbuild/linux-arm64@0.21.5': 151 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 152 | engines: {node: '>=12'} 153 | cpu: [arm64] 154 | os: [linux] 155 | 156 | '@esbuild/linux-arm64@0.23.1': 157 | resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} 158 | engines: {node: '>=18'} 159 | cpu: [arm64] 160 | os: [linux] 161 | 162 | '@esbuild/linux-arm@0.21.5': 163 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 164 | engines: {node: '>=12'} 165 | cpu: [arm] 166 | os: [linux] 167 | 168 | '@esbuild/linux-arm@0.23.1': 169 | resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 170 | engines: {node: '>=18'} 171 | cpu: [arm] 172 | os: [linux] 173 | 174 | '@esbuild/linux-ia32@0.21.5': 175 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 176 | engines: {node: '>=12'} 177 | cpu: [ia32] 178 | os: [linux] 179 | 180 | '@esbuild/linux-ia32@0.23.1': 181 | resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} 182 | engines: {node: '>=18'} 183 | cpu: [ia32] 184 | os: [linux] 185 | 186 | '@esbuild/linux-loong64@0.21.5': 187 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 188 | engines: {node: '>=12'} 189 | cpu: [loong64] 190 | os: [linux] 191 | 192 | '@esbuild/linux-loong64@0.23.1': 193 | resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} 194 | engines: {node: '>=18'} 195 | cpu: [loong64] 196 | os: [linux] 197 | 198 | '@esbuild/linux-mips64el@0.21.5': 199 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 200 | engines: {node: '>=12'} 201 | cpu: [mips64el] 202 | os: [linux] 203 | 204 | '@esbuild/linux-mips64el@0.23.1': 205 | resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} 206 | engines: {node: '>=18'} 207 | cpu: [mips64el] 208 | os: [linux] 209 | 210 | '@esbuild/linux-ppc64@0.21.5': 211 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 212 | engines: {node: '>=12'} 213 | cpu: [ppc64] 214 | os: [linux] 215 | 216 | '@esbuild/linux-ppc64@0.23.1': 217 | resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 218 | engines: {node: '>=18'} 219 | cpu: [ppc64] 220 | os: [linux] 221 | 222 | '@esbuild/linux-riscv64@0.21.5': 223 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 224 | engines: {node: '>=12'} 225 | cpu: [riscv64] 226 | os: [linux] 227 | 228 | '@esbuild/linux-riscv64@0.23.1': 229 | resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} 230 | engines: {node: '>=18'} 231 | cpu: [riscv64] 232 | os: [linux] 233 | 234 | '@esbuild/linux-s390x@0.21.5': 235 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 236 | engines: {node: '>=12'} 237 | cpu: [s390x] 238 | os: [linux] 239 | 240 | '@esbuild/linux-s390x@0.23.1': 241 | resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} 242 | engines: {node: '>=18'} 243 | cpu: [s390x] 244 | os: [linux] 245 | 246 | '@esbuild/linux-x64@0.21.5': 247 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 248 | engines: {node: '>=12'} 249 | cpu: [x64] 250 | os: [linux] 251 | 252 | '@esbuild/linux-x64@0.23.1': 253 | resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} 254 | engines: {node: '>=18'} 255 | cpu: [x64] 256 | os: [linux] 257 | 258 | '@esbuild/netbsd-x64@0.21.5': 259 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 260 | engines: {node: '>=12'} 261 | cpu: [x64] 262 | os: [netbsd] 263 | 264 | '@esbuild/netbsd-x64@0.23.1': 265 | resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} 266 | engines: {node: '>=18'} 267 | cpu: [x64] 268 | os: [netbsd] 269 | 270 | '@esbuild/openbsd-arm64@0.23.1': 271 | resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 272 | engines: {node: '>=18'} 273 | cpu: [arm64] 274 | os: [openbsd] 275 | 276 | '@esbuild/openbsd-x64@0.21.5': 277 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 278 | engines: {node: '>=12'} 279 | cpu: [x64] 280 | os: [openbsd] 281 | 282 | '@esbuild/openbsd-x64@0.23.1': 283 | resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 284 | engines: {node: '>=18'} 285 | cpu: [x64] 286 | os: [openbsd] 287 | 288 | '@esbuild/sunos-x64@0.21.5': 289 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 290 | engines: {node: '>=12'} 291 | cpu: [x64] 292 | os: [sunos] 293 | 294 | '@esbuild/sunos-x64@0.23.1': 295 | resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} 296 | engines: {node: '>=18'} 297 | cpu: [x64] 298 | os: [sunos] 299 | 300 | '@esbuild/win32-arm64@0.21.5': 301 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 302 | engines: {node: '>=12'} 303 | cpu: [arm64] 304 | os: [win32] 305 | 306 | '@esbuild/win32-arm64@0.23.1': 307 | resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 308 | engines: {node: '>=18'} 309 | cpu: [arm64] 310 | os: [win32] 311 | 312 | '@esbuild/win32-ia32@0.21.5': 313 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 314 | engines: {node: '>=12'} 315 | cpu: [ia32] 316 | os: [win32] 317 | 318 | '@esbuild/win32-ia32@0.23.1': 319 | resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} 320 | engines: {node: '>=18'} 321 | cpu: [ia32] 322 | os: [win32] 323 | 324 | '@esbuild/win32-x64@0.21.5': 325 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 326 | engines: {node: '>=12'} 327 | cpu: [x64] 328 | os: [win32] 329 | 330 | '@esbuild/win32-x64@0.23.1': 331 | resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 332 | engines: {node: '>=18'} 333 | cpu: [x64] 334 | os: [win32] 335 | 336 | '@isaacs/cliui@8.0.2': 337 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 338 | engines: {node: '>=12'} 339 | 340 | '@jridgewell/gen-mapping@0.3.5': 341 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 342 | engines: {node: '>=6.0.0'} 343 | 344 | '@jridgewell/resolve-uri@3.1.2': 345 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 346 | engines: {node: '>=6.0.0'} 347 | 348 | '@jridgewell/set-array@1.2.1': 349 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 350 | engines: {node: '>=6.0.0'} 351 | 352 | '@jridgewell/sourcemap-codec@1.5.0': 353 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 354 | 355 | '@jridgewell/trace-mapping@0.3.25': 356 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 357 | 358 | '@libsql/client@0.14.0': 359 | resolution: {integrity: sha512-/9HEKfn6fwXB5aTEEoMeFh4CtG0ZzbncBb1e++OCdVpgKZ/xyMsIVYXm0w7Pv4RUel803vE6LwniB3PqD72R0Q==} 360 | 361 | '@libsql/core@0.14.0': 362 | resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} 363 | 364 | '@libsql/darwin-arm64@0.4.5': 365 | resolution: {integrity: sha512-xLdnn0NrgSk6OMi716FFs/27Hs33jtSd2fkKi/72Ey/qBtPWcB1BMurDQekzi0yAcfQTjGqIz7tpOibyjiEPyQ==} 366 | cpu: [arm64] 367 | os: [darwin] 368 | 369 | '@libsql/darwin-x64@0.4.5': 370 | resolution: {integrity: sha512-rZsEWj0H7oCqd5Y2pe0RzKmuQXC2OB1RbnFy4CvjeAjT6MP6mFp+Vx9mTCAUuJMhuoSVMsFPUJRpAQznl9E3Tg==} 371 | cpu: [x64] 372 | os: [darwin] 373 | 374 | '@libsql/hrana-client@0.7.0': 375 | resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==} 376 | 377 | '@libsql/isomorphic-fetch@0.3.1': 378 | resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==} 379 | engines: {node: '>=18.0.0'} 380 | 381 | '@libsql/isomorphic-ws@0.1.5': 382 | resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} 383 | 384 | '@libsql/linux-arm64-gnu@0.4.5': 385 | resolution: {integrity: sha512-VR09iu6KWGJ6fauCn59u/jJ9OA+/A2yQ0dr2HDN2zkRueLC6D2oGYt4gPfLZPFKf+WJpVMtIhNfd+Ru9MMaFkA==} 386 | cpu: [arm64] 387 | os: [linux] 388 | 389 | '@libsql/linux-arm64-musl@0.4.5': 390 | resolution: {integrity: sha512-74hvD5ej4rBshhxFGNYU16a3m8B/NjIPvhlZ/flG1Oeydfo6AuUXSSNFi+H5+zi9/uWuzyz5TLVeQcraoUV10A==} 391 | cpu: [arm64] 392 | os: [linux] 393 | 394 | '@libsql/linux-x64-gnu@0.4.5': 395 | resolution: {integrity: sha512-gb5WObGO3+rbuG8h9font1N02iF+zgYAgY0wNa8BNiZ5A9UolZKFxiqGFS7eHaAYfemHJKKTT+aAt3X2p5TibA==} 396 | cpu: [x64] 397 | os: [linux] 398 | 399 | '@libsql/linux-x64-musl@0.4.5': 400 | resolution: {integrity: sha512-JfyE6OVC5X4Nr4cFF77VhB1o+hBRxAqYT9YdeqnWdAQSYc/ASi5HnRALLAQEsGacFPZZ32pixfraQmPE3iJFfw==} 401 | cpu: [x64] 402 | os: [linux] 403 | 404 | '@libsql/win32-x64-msvc@0.4.5': 405 | resolution: {integrity: sha512-57GGurNJhOhq3XIopLdGnCoQ4kQAcmbmzzFoC4tpvDE/KSbwZ/13zqJWhQA41nMGk/PKM1XKfKmbIybKx1+eqA==} 406 | cpu: [x64] 407 | os: [win32] 408 | 409 | '@neon-rs/load@0.0.4': 410 | resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} 411 | 412 | '@nodelib/fs.scandir@2.1.5': 413 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 414 | engines: {node: '>= 8'} 415 | 416 | '@nodelib/fs.stat@2.0.5': 417 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 418 | engines: {node: '>= 8'} 419 | 420 | '@nodelib/fs.walk@1.2.8': 421 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 422 | engines: {node: '>= 8'} 423 | 424 | '@octokit/auth-token@5.1.1': 425 | resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} 426 | engines: {node: '>= 18'} 427 | 428 | '@octokit/core@6.1.2': 429 | resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} 430 | engines: {node: '>= 18'} 431 | 432 | '@octokit/endpoint@10.1.1': 433 | resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} 434 | engines: {node: '>= 18'} 435 | 436 | '@octokit/graphql@8.1.1': 437 | resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} 438 | engines: {node: '>= 18'} 439 | 440 | '@octokit/openapi-types@22.2.0': 441 | resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} 442 | 443 | '@octokit/plugin-paginate-rest@11.3.3': 444 | resolution: {integrity: sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==} 445 | engines: {node: '>= 18'} 446 | peerDependencies: 447 | '@octokit/core': '>=6' 448 | 449 | '@octokit/plugin-retry@7.1.2': 450 | resolution: {integrity: sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==} 451 | engines: {node: '>= 18'} 452 | peerDependencies: 453 | '@octokit/core': '>=6' 454 | 455 | '@octokit/plugin-throttling@9.3.1': 456 | resolution: {integrity: sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==} 457 | engines: {node: '>= 18'} 458 | peerDependencies: 459 | '@octokit/core': ^6.0.0 460 | 461 | '@octokit/request-error@6.1.5': 462 | resolution: {integrity: sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==} 463 | engines: {node: '>= 18'} 464 | 465 | '@octokit/request@9.1.3': 466 | resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==} 467 | engines: {node: '>= 18'} 468 | 469 | '@octokit/types@13.5.1': 470 | resolution: {integrity: sha512-F41lGiWBKPIWPBgjSvaDXTTQptBujnozENAK3S//nj7xsFdYdirImKlBB/hTjr+Vii68SM+8jG3UJWRa6DMuDA==} 471 | 472 | '@pkgjs/parseargs@0.11.0': 473 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 474 | engines: {node: '>=14'} 475 | 476 | '@pnpm/config.env-replace@1.1.0': 477 | resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} 478 | engines: {node: '>=12.22.0'} 479 | 480 | '@pnpm/network.ca-file@1.0.2': 481 | resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} 482 | engines: {node: '>=12.22.0'} 483 | 484 | '@pnpm/npm-conf@2.3.1': 485 | resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} 486 | engines: {node: '>=12'} 487 | 488 | '@rollup/rollup-android-arm-eabi@4.22.4': 489 | resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} 490 | cpu: [arm] 491 | os: [android] 492 | 493 | '@rollup/rollup-android-arm64@4.22.4': 494 | resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} 495 | cpu: [arm64] 496 | os: [android] 497 | 498 | '@rollup/rollup-darwin-arm64@4.22.4': 499 | resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} 500 | cpu: [arm64] 501 | os: [darwin] 502 | 503 | '@rollup/rollup-darwin-x64@4.22.4': 504 | resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} 505 | cpu: [x64] 506 | os: [darwin] 507 | 508 | '@rollup/rollup-linux-arm-gnueabihf@4.22.4': 509 | resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} 510 | cpu: [arm] 511 | os: [linux] 512 | 513 | '@rollup/rollup-linux-arm-musleabihf@4.22.4': 514 | resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} 515 | cpu: [arm] 516 | os: [linux] 517 | 518 | '@rollup/rollup-linux-arm64-gnu@4.22.4': 519 | resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} 520 | cpu: [arm64] 521 | os: [linux] 522 | 523 | '@rollup/rollup-linux-arm64-musl@4.22.4': 524 | resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} 525 | cpu: [arm64] 526 | os: [linux] 527 | 528 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': 529 | resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} 530 | cpu: [ppc64] 531 | os: [linux] 532 | 533 | '@rollup/rollup-linux-riscv64-gnu@4.22.4': 534 | resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} 535 | cpu: [riscv64] 536 | os: [linux] 537 | 538 | '@rollup/rollup-linux-s390x-gnu@4.22.4': 539 | resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} 540 | cpu: [s390x] 541 | os: [linux] 542 | 543 | '@rollup/rollup-linux-x64-gnu@4.22.4': 544 | resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} 545 | cpu: [x64] 546 | os: [linux] 547 | 548 | '@rollup/rollup-linux-x64-musl@4.22.4': 549 | resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} 550 | cpu: [x64] 551 | os: [linux] 552 | 553 | '@rollup/rollup-win32-arm64-msvc@4.22.4': 554 | resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} 555 | cpu: [arm64] 556 | os: [win32] 557 | 558 | '@rollup/rollup-win32-ia32-msvc@4.22.4': 559 | resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} 560 | cpu: [ia32] 561 | os: [win32] 562 | 563 | '@rollup/rollup-win32-x64-msvc@4.22.4': 564 | resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} 565 | cpu: [x64] 566 | os: [win32] 567 | 568 | '@sec-ant/readable-stream@0.4.1': 569 | resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 570 | 571 | '@semantic-release/commit-analyzer@13.0.0': 572 | resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} 573 | engines: {node: '>=20.8.1'} 574 | peerDependencies: 575 | semantic-release: '>=20.1.0' 576 | 577 | '@semantic-release/error@4.0.0': 578 | resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} 579 | engines: {node: '>=18'} 580 | 581 | '@semantic-release/github@10.3.5': 582 | resolution: {integrity: sha512-svvRglGmvqvxjmDgkXhrjf0lC88oZowFhOfifTldbgX9Dzj0inEtMLaC+3/MkDEmxmaQjWmF5Q/0CMIvPNSVdQ==} 583 | engines: {node: '>=20.8.1'} 584 | peerDependencies: 585 | semantic-release: '>=20.1.0' 586 | 587 | '@semantic-release/npm@12.0.1': 588 | resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} 589 | engines: {node: '>=20.8.1'} 590 | peerDependencies: 591 | semantic-release: '>=20.1.0' 592 | 593 | '@semantic-release/release-notes-generator@14.0.1': 594 | resolution: {integrity: sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==} 595 | engines: {node: '>=20.8.1'} 596 | peerDependencies: 597 | semantic-release: '>=20.1.0' 598 | 599 | '@sindresorhus/is@4.6.0': 600 | resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 601 | engines: {node: '>=10'} 602 | 603 | '@sindresorhus/merge-streams@2.3.0': 604 | resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} 605 | engines: {node: '>=18'} 606 | 607 | '@sindresorhus/merge-streams@4.0.0': 608 | resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} 609 | engines: {node: '>=18'} 610 | 611 | '@types/estree@1.0.5': 612 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 613 | 614 | '@types/node@22.7.3': 615 | resolution: {integrity: sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==} 616 | 617 | '@types/normalize-package-data@2.4.4': 618 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 619 | 620 | '@types/semver@7.5.8': 621 | resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} 622 | 623 | '@types/ws@8.5.12': 624 | resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} 625 | 626 | '@vitest/expect@2.1.1': 627 | resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==} 628 | 629 | '@vitest/mocker@2.1.1': 630 | resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==} 631 | peerDependencies: 632 | '@vitest/spy': 2.1.1 633 | msw: ^2.3.5 634 | vite: ^5.0.0 635 | peerDependenciesMeta: 636 | msw: 637 | optional: true 638 | vite: 639 | optional: true 640 | 641 | '@vitest/pretty-format@2.1.1': 642 | resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} 643 | 644 | '@vitest/runner@2.1.1': 645 | resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==} 646 | 647 | '@vitest/snapshot@2.1.1': 648 | resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==} 649 | 650 | '@vitest/spy@2.1.1': 651 | resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==} 652 | 653 | '@vitest/utils@2.1.1': 654 | resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} 655 | 656 | agent-base@7.1.1: 657 | resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} 658 | engines: {node: '>= 14'} 659 | 660 | aggregate-error@5.0.0: 661 | resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} 662 | engines: {node: '>=18'} 663 | 664 | ansi-escapes@7.0.0: 665 | resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} 666 | engines: {node: '>=18'} 667 | 668 | ansi-regex@5.0.1: 669 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 670 | engines: {node: '>=8'} 671 | 672 | ansi-regex@6.1.0: 673 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 674 | engines: {node: '>=12'} 675 | 676 | ansi-styles@3.2.1: 677 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 678 | engines: {node: '>=4'} 679 | 680 | ansi-styles@4.3.0: 681 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 682 | engines: {node: '>=8'} 683 | 684 | ansi-styles@6.2.1: 685 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 686 | engines: {node: '>=12'} 687 | 688 | any-promise@1.3.0: 689 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 690 | 691 | anymatch@3.1.3: 692 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 693 | engines: {node: '>= 8'} 694 | 695 | argparse@2.0.1: 696 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 697 | 698 | argv-formatter@1.0.0: 699 | resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} 700 | 701 | array-ify@1.0.0: 702 | resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} 703 | 704 | assertion-error@2.0.1: 705 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 706 | engines: {node: '>=12'} 707 | 708 | balanced-match@1.0.2: 709 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 710 | 711 | before-after-hook@3.0.2: 712 | resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} 713 | 714 | binary-extensions@2.3.0: 715 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 716 | engines: {node: '>=8'} 717 | 718 | bottleneck@2.19.5: 719 | resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} 720 | 721 | brace-expansion@2.0.1: 722 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 723 | 724 | braces@3.0.3: 725 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 726 | engines: {node: '>=8'} 727 | 728 | bundle-require@5.0.0: 729 | resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} 730 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 731 | peerDependencies: 732 | esbuild: '>=0.18' 733 | 734 | cac@6.7.14: 735 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 736 | engines: {node: '>=8'} 737 | 738 | callsites@3.1.0: 739 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 740 | engines: {node: '>=6'} 741 | 742 | chai@5.1.1: 743 | resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} 744 | engines: {node: '>=12'} 745 | 746 | chalk@2.4.2: 747 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 748 | engines: {node: '>=4'} 749 | 750 | chalk@4.1.2: 751 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 752 | engines: {node: '>=10'} 753 | 754 | chalk@5.3.0: 755 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 756 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 757 | 758 | char-regex@1.0.2: 759 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 760 | engines: {node: '>=10'} 761 | 762 | check-error@2.1.1: 763 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 764 | engines: {node: '>= 16'} 765 | 766 | chokidar@3.6.0: 767 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 768 | engines: {node: '>= 8.10.0'} 769 | 770 | clean-stack@5.2.0: 771 | resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} 772 | engines: {node: '>=14.16'} 773 | 774 | cli-highlight@2.1.11: 775 | resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} 776 | engines: {node: '>=8.0.0', npm: '>=5.0.0'} 777 | hasBin: true 778 | 779 | cli-table3@0.6.5: 780 | resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} 781 | engines: {node: 10.* || >= 12.*} 782 | 783 | cliui@7.0.4: 784 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 785 | 786 | cliui@8.0.1: 787 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 788 | engines: {node: '>=12'} 789 | 790 | color-convert@1.9.3: 791 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 792 | 793 | color-convert@2.0.1: 794 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 795 | engines: {node: '>=7.0.0'} 796 | 797 | color-name@1.1.3: 798 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 799 | 800 | color-name@1.1.4: 801 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 802 | 803 | commander@4.1.1: 804 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 805 | engines: {node: '>= 6'} 806 | 807 | compare-func@2.0.0: 808 | resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} 809 | 810 | config-chain@1.1.13: 811 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 812 | 813 | consola@3.2.3: 814 | resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} 815 | engines: {node: ^14.18.0 || >=16.10.0} 816 | 817 | conventional-changelog-angular@8.0.0: 818 | resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} 819 | engines: {node: '>=18'} 820 | 821 | conventional-changelog-writer@8.0.0: 822 | resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} 823 | engines: {node: '>=18'} 824 | hasBin: true 825 | 826 | conventional-commits-filter@5.0.0: 827 | resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} 828 | engines: {node: '>=18'} 829 | 830 | conventional-commits-parser@6.0.0: 831 | resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} 832 | engines: {node: '>=18'} 833 | hasBin: true 834 | 835 | convert-hrtime@5.0.0: 836 | resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} 837 | engines: {node: '>=12'} 838 | 839 | core-util-is@1.0.3: 840 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 841 | 842 | cosmiconfig@9.0.0: 843 | resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} 844 | engines: {node: '>=14'} 845 | peerDependencies: 846 | typescript: '>=4.9.5' 847 | peerDependenciesMeta: 848 | typescript: 849 | optional: true 850 | 851 | cross-spawn@7.0.3: 852 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 853 | engines: {node: '>= 8'} 854 | 855 | crypto-random-string@4.0.0: 856 | resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} 857 | engines: {node: '>=12'} 858 | 859 | data-uri-to-buffer@4.0.1: 860 | resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 861 | engines: {node: '>= 12'} 862 | 863 | debug@4.3.7: 864 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 865 | engines: {node: '>=6.0'} 866 | peerDependencies: 867 | supports-color: '*' 868 | peerDependenciesMeta: 869 | supports-color: 870 | optional: true 871 | 872 | deep-eql@5.0.2: 873 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 874 | engines: {node: '>=6'} 875 | 876 | deep-extend@0.6.0: 877 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 878 | engines: {node: '>=4.0.0'} 879 | 880 | detect-libc@2.0.2: 881 | resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} 882 | engines: {node: '>=8'} 883 | 884 | dir-glob@3.0.1: 885 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 886 | engines: {node: '>=8'} 887 | 888 | dot-prop@5.3.0: 889 | resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} 890 | engines: {node: '>=8'} 891 | 892 | duplexer2@0.1.4: 893 | resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} 894 | 895 | eastasianwidth@0.2.0: 896 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 897 | 898 | emoji-regex@8.0.0: 899 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 900 | 901 | emoji-regex@9.2.2: 902 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 903 | 904 | emojilib@2.4.0: 905 | resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} 906 | 907 | env-ci@11.1.0: 908 | resolution: {integrity: sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==} 909 | engines: {node: ^18.17 || >=20.6.1} 910 | 911 | env-paths@2.2.1: 912 | resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 913 | engines: {node: '>=6'} 914 | 915 | environment@1.1.0: 916 | resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} 917 | engines: {node: '>=18'} 918 | 919 | error-ex@1.3.2: 920 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 921 | 922 | esbuild@0.21.5: 923 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 924 | engines: {node: '>=12'} 925 | hasBin: true 926 | 927 | esbuild@0.23.1: 928 | resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 929 | engines: {node: '>=18'} 930 | hasBin: true 931 | 932 | escalade@3.2.0: 933 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 934 | engines: {node: '>=6'} 935 | 936 | escape-string-regexp@1.0.5: 937 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 938 | engines: {node: '>=0.8.0'} 939 | 940 | escape-string-regexp@5.0.0: 941 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 942 | engines: {node: '>=12'} 943 | 944 | estree-walker@3.0.3: 945 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 946 | 947 | execa@5.1.1: 948 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 949 | engines: {node: '>=10'} 950 | 951 | execa@8.0.1: 952 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 953 | engines: {node: '>=16.17'} 954 | 955 | execa@9.4.0: 956 | resolution: {integrity: sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==} 957 | engines: {node: ^18.19.0 || >=20.5.0} 958 | 959 | fast-glob@3.3.2: 960 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 961 | engines: {node: '>=8.6.0'} 962 | 963 | fastq@1.17.1: 964 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 965 | 966 | fdir@6.3.0: 967 | resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} 968 | peerDependencies: 969 | picomatch: ^3 || ^4 970 | peerDependenciesMeta: 971 | picomatch: 972 | optional: true 973 | 974 | fetch-blob@3.2.0: 975 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 976 | engines: {node: ^12.20 || >= 14.13} 977 | 978 | figures@2.0.0: 979 | resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} 980 | engines: {node: '>=4'} 981 | 982 | figures@6.1.0: 983 | resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} 984 | engines: {node: '>=18'} 985 | 986 | fill-range@7.1.1: 987 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 988 | engines: {node: '>=8'} 989 | 990 | find-up-simple@1.0.0: 991 | resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} 992 | engines: {node: '>=18'} 993 | 994 | find-up@2.1.0: 995 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 996 | engines: {node: '>=4'} 997 | 998 | find-versions@6.0.0: 999 | resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} 1000 | engines: {node: '>=18'} 1001 | 1002 | foreground-child@3.3.0: 1003 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1004 | engines: {node: '>=14'} 1005 | 1006 | formdata-polyfill@4.0.10: 1007 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 1008 | engines: {node: '>=12.20.0'} 1009 | 1010 | from2@2.3.0: 1011 | resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} 1012 | 1013 | fs-extra@11.2.0: 1014 | resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} 1015 | engines: {node: '>=14.14'} 1016 | 1017 | fsevents@2.3.3: 1018 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1019 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1020 | os: [darwin] 1021 | 1022 | function-timeout@1.0.2: 1023 | resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} 1024 | engines: {node: '>=18'} 1025 | 1026 | get-caller-file@2.0.5: 1027 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1028 | engines: {node: 6.* || 8.* || >= 10.*} 1029 | 1030 | get-func-name@2.0.2: 1031 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 1032 | 1033 | get-stream@6.0.1: 1034 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1035 | engines: {node: '>=10'} 1036 | 1037 | get-stream@7.0.1: 1038 | resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} 1039 | engines: {node: '>=16'} 1040 | 1041 | get-stream@8.0.1: 1042 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1043 | engines: {node: '>=16'} 1044 | 1045 | get-stream@9.0.1: 1046 | resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 1047 | engines: {node: '>=18'} 1048 | 1049 | git-log-parser@1.2.1: 1050 | resolution: {integrity: sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==} 1051 | 1052 | glob-parent@5.1.2: 1053 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1054 | engines: {node: '>= 6'} 1055 | 1056 | glob@10.4.5: 1057 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1058 | hasBin: true 1059 | 1060 | globby@14.0.2: 1061 | resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} 1062 | engines: {node: '>=18'} 1063 | 1064 | graceful-fs@4.2.10: 1065 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1066 | 1067 | graceful-fs@4.2.11: 1068 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1069 | 1070 | handlebars@4.7.8: 1071 | resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} 1072 | engines: {node: '>=0.4.7'} 1073 | hasBin: true 1074 | 1075 | has-flag@3.0.0: 1076 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1077 | engines: {node: '>=4'} 1078 | 1079 | has-flag@4.0.0: 1080 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1081 | engines: {node: '>=8'} 1082 | 1083 | highlight.js@10.7.3: 1084 | resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} 1085 | 1086 | hook-std@3.0.0: 1087 | resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} 1088 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1089 | 1090 | hosted-git-info@7.0.2: 1091 | resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} 1092 | engines: {node: ^16.14.0 || >=18.0.0} 1093 | 1094 | hosted-git-info@8.0.0: 1095 | resolution: {integrity: sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==} 1096 | engines: {node: ^18.17.0 || >=20.5.0} 1097 | 1098 | http-proxy-agent@7.0.2: 1099 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 1100 | engines: {node: '>= 14'} 1101 | 1102 | https-proxy-agent@7.0.5: 1103 | resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} 1104 | engines: {node: '>= 14'} 1105 | 1106 | human-signals@2.1.0: 1107 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1108 | engines: {node: '>=10.17.0'} 1109 | 1110 | human-signals@5.0.0: 1111 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1112 | engines: {node: '>=16.17.0'} 1113 | 1114 | human-signals@8.0.0: 1115 | resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} 1116 | engines: {node: '>=18.18.0'} 1117 | 1118 | ignore@5.3.2: 1119 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1120 | engines: {node: '>= 4'} 1121 | 1122 | import-fresh@3.3.0: 1123 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1124 | engines: {node: '>=6'} 1125 | 1126 | import-from-esm@1.3.4: 1127 | resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} 1128 | engines: {node: '>=16.20'} 1129 | 1130 | import-meta-resolve@4.1.0: 1131 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 1132 | 1133 | indent-string@5.0.0: 1134 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 1135 | engines: {node: '>=12'} 1136 | 1137 | index-to-position@0.1.2: 1138 | resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} 1139 | engines: {node: '>=18'} 1140 | 1141 | inherits@2.0.4: 1142 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1143 | 1144 | ini@1.3.8: 1145 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1146 | 1147 | into-stream@7.0.0: 1148 | resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} 1149 | engines: {node: '>=12'} 1150 | 1151 | is-arrayish@0.2.1: 1152 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1153 | 1154 | is-binary-path@2.1.0: 1155 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1156 | engines: {node: '>=8'} 1157 | 1158 | is-extglob@2.1.1: 1159 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1160 | engines: {node: '>=0.10.0'} 1161 | 1162 | is-fullwidth-code-point@3.0.0: 1163 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1164 | engines: {node: '>=8'} 1165 | 1166 | is-glob@4.0.3: 1167 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1168 | engines: {node: '>=0.10.0'} 1169 | 1170 | is-number@7.0.0: 1171 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1172 | engines: {node: '>=0.12.0'} 1173 | 1174 | is-obj@2.0.0: 1175 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} 1176 | engines: {node: '>=8'} 1177 | 1178 | is-plain-obj@4.1.0: 1179 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1180 | engines: {node: '>=12'} 1181 | 1182 | is-stream@2.0.1: 1183 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1184 | engines: {node: '>=8'} 1185 | 1186 | is-stream@3.0.0: 1187 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1188 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1189 | 1190 | is-stream@4.0.1: 1191 | resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 1192 | engines: {node: '>=18'} 1193 | 1194 | is-unicode-supported@2.1.0: 1195 | resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 1196 | engines: {node: '>=18'} 1197 | 1198 | isarray@1.0.0: 1199 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1200 | 1201 | isexe@2.0.0: 1202 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1203 | 1204 | issue-parser@7.0.1: 1205 | resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==} 1206 | engines: {node: ^18.17 || >=20.6.1} 1207 | 1208 | jackspeak@3.4.3: 1209 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1210 | 1211 | java-properties@1.0.2: 1212 | resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} 1213 | engines: {node: '>= 0.6.0'} 1214 | 1215 | joycon@3.1.1: 1216 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1217 | engines: {node: '>=10'} 1218 | 1219 | js-base64@3.7.7: 1220 | resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} 1221 | 1222 | js-tokens@4.0.0: 1223 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1224 | 1225 | js-yaml@4.1.0: 1226 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1227 | hasBin: true 1228 | 1229 | json-parse-better-errors@1.0.2: 1230 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1231 | 1232 | json-parse-even-better-errors@2.3.1: 1233 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1234 | 1235 | jsonfile@6.1.0: 1236 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1237 | 1238 | libsql@0.4.5: 1239 | resolution: {integrity: sha512-sorTJV6PNt94Wap27Sai5gtVLIea4Otb2LUiAUyr3p6BPOScGMKGt5F1b5X/XgkNtcsDKeX5qfeBDj+PdShclQ==} 1240 | cpu: [x64, arm64, wasm32] 1241 | os: [darwin, linux, win32] 1242 | 1243 | lilconfig@3.1.2: 1244 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1245 | engines: {node: '>=14'} 1246 | 1247 | lines-and-columns@1.2.4: 1248 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1249 | 1250 | load-json-file@4.0.0: 1251 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1252 | engines: {node: '>=4'} 1253 | 1254 | load-tsconfig@0.2.5: 1255 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1256 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1257 | 1258 | locate-path@2.0.0: 1259 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 1260 | engines: {node: '>=4'} 1261 | 1262 | lodash-es@4.17.21: 1263 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1264 | 1265 | lodash.capitalize@4.2.1: 1266 | resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} 1267 | 1268 | lodash.escaperegexp@4.1.2: 1269 | resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} 1270 | 1271 | lodash.isplainobject@4.0.6: 1272 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 1273 | 1274 | lodash.isstring@4.0.1: 1275 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 1276 | 1277 | lodash.sortby@4.7.0: 1278 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1279 | 1280 | lodash.uniqby@4.7.0: 1281 | resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} 1282 | 1283 | loupe@3.1.1: 1284 | resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} 1285 | 1286 | lru-cache@10.4.3: 1287 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1288 | 1289 | magic-string@0.30.11: 1290 | resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} 1291 | 1292 | marked-terminal@7.1.0: 1293 | resolution: {integrity: sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==} 1294 | engines: {node: '>=16.0.0'} 1295 | peerDependencies: 1296 | marked: '>=1 <14' 1297 | 1298 | marked@12.0.2: 1299 | resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} 1300 | engines: {node: '>= 18'} 1301 | hasBin: true 1302 | 1303 | meow@13.2.0: 1304 | resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} 1305 | engines: {node: '>=18'} 1306 | 1307 | merge-stream@2.0.0: 1308 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1309 | 1310 | merge2@1.4.1: 1311 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1312 | engines: {node: '>= 8'} 1313 | 1314 | micromatch@4.0.8: 1315 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1316 | engines: {node: '>=8.6'} 1317 | 1318 | mime@4.0.4: 1319 | resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==} 1320 | engines: {node: '>=16'} 1321 | hasBin: true 1322 | 1323 | mimic-fn@2.1.0: 1324 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1325 | engines: {node: '>=6'} 1326 | 1327 | mimic-fn@4.0.0: 1328 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1329 | engines: {node: '>=12'} 1330 | 1331 | minimatch@9.0.5: 1332 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1333 | engines: {node: '>=16 || 14 >=14.17'} 1334 | 1335 | minimist@1.2.8: 1336 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1337 | 1338 | minipass@7.1.2: 1339 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1340 | engines: {node: '>=16 || 14 >=14.17'} 1341 | 1342 | ms@2.1.3: 1343 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1344 | 1345 | mz@2.7.0: 1346 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1347 | 1348 | nanoid@3.3.7: 1349 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1350 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1351 | hasBin: true 1352 | 1353 | neo-async@2.6.2: 1354 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 1355 | 1356 | nerf-dart@1.0.0: 1357 | resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} 1358 | 1359 | node-domexception@1.0.0: 1360 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1361 | engines: {node: '>=10.5.0'} 1362 | 1363 | node-emoji@2.1.3: 1364 | resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} 1365 | engines: {node: '>=18'} 1366 | 1367 | node-fetch@3.3.2: 1368 | resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 1369 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1370 | 1371 | normalize-package-data@6.0.2: 1372 | resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} 1373 | engines: {node: ^16.14.0 || >=18.0.0} 1374 | 1375 | normalize-path@3.0.0: 1376 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1377 | engines: {node: '>=0.10.0'} 1378 | 1379 | normalize-url@8.0.1: 1380 | resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} 1381 | engines: {node: '>=14.16'} 1382 | 1383 | npm-run-path@4.0.1: 1384 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1385 | engines: {node: '>=8'} 1386 | 1387 | npm-run-path@5.3.0: 1388 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1389 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1390 | 1391 | npm-run-path@6.0.0: 1392 | resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} 1393 | engines: {node: '>=18'} 1394 | 1395 | npm@10.8.3: 1396 | resolution: {integrity: sha512-0IQlyAYvVtQ7uOhDFYZCGK8kkut2nh8cpAdA9E6FvRSJaTgtZRZgNjlC5ZCct//L73ygrpY93CxXpRJDtNqPVg==} 1397 | engines: {node: ^18.17.0 || >=20.5.0} 1398 | hasBin: true 1399 | bundledDependencies: 1400 | - '@isaacs/string-locale-compare' 1401 | - '@npmcli/arborist' 1402 | - '@npmcli/config' 1403 | - '@npmcli/fs' 1404 | - '@npmcli/map-workspaces' 1405 | - '@npmcli/package-json' 1406 | - '@npmcli/promise-spawn' 1407 | - '@npmcli/redact' 1408 | - '@npmcli/run-script' 1409 | - '@sigstore/tuf' 1410 | - abbrev 1411 | - archy 1412 | - cacache 1413 | - chalk 1414 | - ci-info 1415 | - cli-columns 1416 | - fastest-levenshtein 1417 | - fs-minipass 1418 | - glob 1419 | - graceful-fs 1420 | - hosted-git-info 1421 | - ini 1422 | - init-package-json 1423 | - is-cidr 1424 | - json-parse-even-better-errors 1425 | - libnpmaccess 1426 | - libnpmdiff 1427 | - libnpmexec 1428 | - libnpmfund 1429 | - libnpmhook 1430 | - libnpmorg 1431 | - libnpmpack 1432 | - libnpmpublish 1433 | - libnpmsearch 1434 | - libnpmteam 1435 | - libnpmversion 1436 | - make-fetch-happen 1437 | - minimatch 1438 | - minipass 1439 | - minipass-pipeline 1440 | - ms 1441 | - node-gyp 1442 | - nopt 1443 | - normalize-package-data 1444 | - npm-audit-report 1445 | - npm-install-checks 1446 | - npm-package-arg 1447 | - npm-pick-manifest 1448 | - npm-profile 1449 | - npm-registry-fetch 1450 | - npm-user-validate 1451 | - p-map 1452 | - pacote 1453 | - parse-conflict-json 1454 | - proc-log 1455 | - qrcode-terminal 1456 | - read 1457 | - semver 1458 | - spdx-expression-parse 1459 | - ssri 1460 | - supports-color 1461 | - tar 1462 | - text-table 1463 | - tiny-relative-date 1464 | - treeverse 1465 | - validate-npm-package-name 1466 | - which 1467 | - write-file-atomic 1468 | 1469 | object-assign@4.1.1: 1470 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1471 | engines: {node: '>=0.10.0'} 1472 | 1473 | onetime@5.1.2: 1474 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1475 | engines: {node: '>=6'} 1476 | 1477 | onetime@6.0.0: 1478 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1479 | engines: {node: '>=12'} 1480 | 1481 | p-each-series@3.0.0: 1482 | resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} 1483 | engines: {node: '>=12'} 1484 | 1485 | p-filter@4.1.0: 1486 | resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} 1487 | engines: {node: '>=18'} 1488 | 1489 | p-is-promise@3.0.0: 1490 | resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} 1491 | engines: {node: '>=8'} 1492 | 1493 | p-limit@1.3.0: 1494 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 1495 | engines: {node: '>=4'} 1496 | 1497 | p-locate@2.0.0: 1498 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 1499 | engines: {node: '>=4'} 1500 | 1501 | p-map@7.0.2: 1502 | resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} 1503 | engines: {node: '>=18'} 1504 | 1505 | p-reduce@3.0.0: 1506 | resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} 1507 | engines: {node: '>=12'} 1508 | 1509 | p-try@1.0.0: 1510 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 1511 | engines: {node: '>=4'} 1512 | 1513 | package-json-from-dist@1.0.1: 1514 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1515 | 1516 | parent-module@1.0.1: 1517 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1518 | engines: {node: '>=6'} 1519 | 1520 | parse-json@4.0.0: 1521 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1522 | engines: {node: '>=4'} 1523 | 1524 | parse-json@5.2.0: 1525 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1526 | engines: {node: '>=8'} 1527 | 1528 | parse-json@8.1.0: 1529 | resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} 1530 | engines: {node: '>=18'} 1531 | 1532 | parse-ms@4.0.0: 1533 | resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} 1534 | engines: {node: '>=18'} 1535 | 1536 | parse5-htmlparser2-tree-adapter@6.0.1: 1537 | resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} 1538 | 1539 | parse5@5.1.1: 1540 | resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} 1541 | 1542 | parse5@6.0.1: 1543 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 1544 | 1545 | path-exists@3.0.0: 1546 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 1547 | engines: {node: '>=4'} 1548 | 1549 | path-key@3.1.1: 1550 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1551 | engines: {node: '>=8'} 1552 | 1553 | path-key@4.0.0: 1554 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1555 | engines: {node: '>=12'} 1556 | 1557 | path-scurry@1.11.1: 1558 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1559 | engines: {node: '>=16 || 14 >=14.18'} 1560 | 1561 | path-type@4.0.0: 1562 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1563 | engines: {node: '>=8'} 1564 | 1565 | path-type@5.0.0: 1566 | resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} 1567 | engines: {node: '>=12'} 1568 | 1569 | pathe@1.1.2: 1570 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1571 | 1572 | pathval@2.0.0: 1573 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1574 | engines: {node: '>= 14.16'} 1575 | 1576 | picocolors@1.1.0: 1577 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} 1578 | 1579 | picomatch@2.3.1: 1580 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1581 | engines: {node: '>=8.6'} 1582 | 1583 | picomatch@4.0.2: 1584 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1585 | engines: {node: '>=12'} 1586 | 1587 | pify@3.0.0: 1588 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1589 | engines: {node: '>=4'} 1590 | 1591 | pirates@4.0.6: 1592 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1593 | engines: {node: '>= 6'} 1594 | 1595 | pkg-conf@2.1.0: 1596 | resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} 1597 | engines: {node: '>=4'} 1598 | 1599 | postcss-load-config@6.0.1: 1600 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1601 | engines: {node: '>= 18'} 1602 | peerDependencies: 1603 | jiti: '>=1.21.0' 1604 | postcss: '>=8.0.9' 1605 | tsx: ^4.8.1 1606 | yaml: ^2.4.2 1607 | peerDependenciesMeta: 1608 | jiti: 1609 | optional: true 1610 | postcss: 1611 | optional: true 1612 | tsx: 1613 | optional: true 1614 | yaml: 1615 | optional: true 1616 | 1617 | postcss@8.4.47: 1618 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1619 | engines: {node: ^10 || ^12 || >=14} 1620 | 1621 | pretty-ms@9.1.0: 1622 | resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} 1623 | engines: {node: '>=18'} 1624 | 1625 | process-nextick-args@2.0.1: 1626 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1627 | 1628 | promise-limit@2.7.0: 1629 | resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} 1630 | 1631 | proto-list@1.2.4: 1632 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 1633 | 1634 | punycode@2.3.1: 1635 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1636 | engines: {node: '>=6'} 1637 | 1638 | queue-microtask@1.2.3: 1639 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1640 | 1641 | rc@1.2.8: 1642 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 1643 | hasBin: true 1644 | 1645 | read-package-up@11.0.0: 1646 | resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} 1647 | engines: {node: '>=18'} 1648 | 1649 | read-pkg@9.0.1: 1650 | resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} 1651 | engines: {node: '>=18'} 1652 | 1653 | readable-stream@2.3.8: 1654 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 1655 | 1656 | readdirp@3.6.0: 1657 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1658 | engines: {node: '>=8.10.0'} 1659 | 1660 | registry-auth-token@5.0.2: 1661 | resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} 1662 | engines: {node: '>=14'} 1663 | 1664 | require-directory@2.1.1: 1665 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1666 | engines: {node: '>=0.10.0'} 1667 | 1668 | resolve-from@4.0.0: 1669 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1670 | engines: {node: '>=4'} 1671 | 1672 | resolve-from@5.0.0: 1673 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1674 | engines: {node: '>=8'} 1675 | 1676 | reusify@1.0.4: 1677 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1678 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1679 | 1680 | rollup@4.22.4: 1681 | resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} 1682 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1683 | hasBin: true 1684 | 1685 | run-parallel@1.2.0: 1686 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1687 | 1688 | safe-buffer@5.1.2: 1689 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1690 | 1691 | semantic-release@24.1.1: 1692 | resolution: {integrity: sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==} 1693 | engines: {node: '>=20.8.1'} 1694 | hasBin: true 1695 | 1696 | semver-diff@4.0.0: 1697 | resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} 1698 | engines: {node: '>=12'} 1699 | 1700 | semver-regex@4.0.5: 1701 | resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} 1702 | engines: {node: '>=12'} 1703 | 1704 | semver@7.6.3: 1705 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1706 | engines: {node: '>=10'} 1707 | hasBin: true 1708 | 1709 | shebang-command@2.0.0: 1710 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1711 | engines: {node: '>=8'} 1712 | 1713 | shebang-regex@3.0.0: 1714 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1715 | engines: {node: '>=8'} 1716 | 1717 | siginfo@2.0.0: 1718 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1719 | 1720 | signal-exit@3.0.7: 1721 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1722 | 1723 | signal-exit@4.1.0: 1724 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1725 | engines: {node: '>=14'} 1726 | 1727 | signale@1.4.0: 1728 | resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} 1729 | engines: {node: '>=6'} 1730 | 1731 | skin-tone@2.0.0: 1732 | resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} 1733 | engines: {node: '>=8'} 1734 | 1735 | slash@5.1.0: 1736 | resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 1737 | engines: {node: '>=14.16'} 1738 | 1739 | source-map-js@1.2.1: 1740 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1741 | engines: {node: '>=0.10.0'} 1742 | 1743 | source-map@0.6.1: 1744 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1745 | engines: {node: '>=0.10.0'} 1746 | 1747 | source-map@0.8.0-beta.0: 1748 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1749 | engines: {node: '>= 8'} 1750 | 1751 | spawn-error-forwarder@1.0.0: 1752 | resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} 1753 | 1754 | spdx-correct@3.2.0: 1755 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1756 | 1757 | spdx-exceptions@2.5.0: 1758 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 1759 | 1760 | spdx-expression-parse@3.0.1: 1761 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1762 | 1763 | spdx-license-ids@3.0.20: 1764 | resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} 1765 | 1766 | split2@1.0.0: 1767 | resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} 1768 | 1769 | stackback@0.0.2: 1770 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1771 | 1772 | std-env@3.7.0: 1773 | resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} 1774 | 1775 | stream-combiner2@1.1.1: 1776 | resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} 1777 | 1778 | string-width@4.2.3: 1779 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1780 | engines: {node: '>=8'} 1781 | 1782 | string-width@5.1.2: 1783 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1784 | engines: {node: '>=12'} 1785 | 1786 | string_decoder@1.1.1: 1787 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1788 | 1789 | strip-ansi@6.0.1: 1790 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1791 | engines: {node: '>=8'} 1792 | 1793 | strip-ansi@7.1.0: 1794 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1795 | engines: {node: '>=12'} 1796 | 1797 | strip-bom@3.0.0: 1798 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1799 | engines: {node: '>=4'} 1800 | 1801 | strip-final-newline@2.0.0: 1802 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1803 | engines: {node: '>=6'} 1804 | 1805 | strip-final-newline@3.0.0: 1806 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1807 | engines: {node: '>=12'} 1808 | 1809 | strip-final-newline@4.0.0: 1810 | resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} 1811 | engines: {node: '>=18'} 1812 | 1813 | strip-json-comments@2.0.1: 1814 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 1815 | engines: {node: '>=0.10.0'} 1816 | 1817 | sucrase@3.35.0: 1818 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1819 | engines: {node: '>=16 || 14 >=14.17'} 1820 | hasBin: true 1821 | 1822 | super-regex@1.0.0: 1823 | resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} 1824 | engines: {node: '>=18'} 1825 | 1826 | supports-color@5.5.0: 1827 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1828 | engines: {node: '>=4'} 1829 | 1830 | supports-color@7.2.0: 1831 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1832 | engines: {node: '>=8'} 1833 | 1834 | supports-hyperlinks@3.1.0: 1835 | resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} 1836 | engines: {node: '>=14.18'} 1837 | 1838 | temp-dir@3.0.0: 1839 | resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} 1840 | engines: {node: '>=14.16'} 1841 | 1842 | tempy@3.1.0: 1843 | resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} 1844 | engines: {node: '>=14.16'} 1845 | 1846 | thenify-all@1.6.0: 1847 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1848 | engines: {node: '>=0.8'} 1849 | 1850 | thenify@3.3.1: 1851 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1852 | 1853 | through2@2.0.5: 1854 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} 1855 | 1856 | time-span@5.1.0: 1857 | resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} 1858 | engines: {node: '>=12'} 1859 | 1860 | tinybench@2.9.0: 1861 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1862 | 1863 | tinyexec@0.3.0: 1864 | resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} 1865 | 1866 | tinyglobby@0.2.6: 1867 | resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} 1868 | engines: {node: '>=12.0.0'} 1869 | 1870 | tinypool@1.0.1: 1871 | resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} 1872 | engines: {node: ^18.0.0 || >=20.0.0} 1873 | 1874 | tinyrainbow@1.2.0: 1875 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} 1876 | engines: {node: '>=14.0.0'} 1877 | 1878 | tinyspy@3.0.2: 1879 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 1880 | engines: {node: '>=14.0.0'} 1881 | 1882 | to-regex-range@5.0.1: 1883 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1884 | engines: {node: '>=8.0'} 1885 | 1886 | tr46@1.0.1: 1887 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1888 | 1889 | traverse@0.6.8: 1890 | resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} 1891 | engines: {node: '>= 0.4'} 1892 | 1893 | tree-kill@1.2.2: 1894 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1895 | hasBin: true 1896 | 1897 | ts-interface-checker@0.1.13: 1898 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1899 | 1900 | tsup@8.3.0: 1901 | resolution: {integrity: sha512-ALscEeyS03IomcuNdFdc0YWGVIkwH1Ws7nfTbAPuoILvEV2hpGQAY72LIOjglGo4ShWpZfpBqP/jpQVCzqYQag==} 1902 | engines: {node: '>=18'} 1903 | hasBin: true 1904 | peerDependencies: 1905 | '@microsoft/api-extractor': ^7.36.0 1906 | '@swc/core': ^1 1907 | postcss: ^8.4.12 1908 | typescript: '>=4.5.0' 1909 | peerDependenciesMeta: 1910 | '@microsoft/api-extractor': 1911 | optional: true 1912 | '@swc/core': 1913 | optional: true 1914 | postcss: 1915 | optional: true 1916 | typescript: 1917 | optional: true 1918 | 1919 | type-fest@1.4.0: 1920 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 1921 | engines: {node: '>=10'} 1922 | 1923 | type-fest@2.19.0: 1924 | resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 1925 | engines: {node: '>=12.20'} 1926 | 1927 | type-fest@4.26.1: 1928 | resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} 1929 | engines: {node: '>=16'} 1930 | 1931 | typescript@5.6.2: 1932 | resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} 1933 | engines: {node: '>=14.17'} 1934 | hasBin: true 1935 | 1936 | uglify-js@3.19.3: 1937 | resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} 1938 | engines: {node: '>=0.8.0'} 1939 | hasBin: true 1940 | 1941 | undici-types@6.19.8: 1942 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1943 | 1944 | unicode-emoji-modifier-base@1.0.0: 1945 | resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} 1946 | engines: {node: '>=4'} 1947 | 1948 | unicorn-magic@0.1.0: 1949 | resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} 1950 | engines: {node: '>=18'} 1951 | 1952 | unicorn-magic@0.3.0: 1953 | resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} 1954 | engines: {node: '>=18'} 1955 | 1956 | unique-string@3.0.0: 1957 | resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} 1958 | engines: {node: '>=12'} 1959 | 1960 | universal-user-agent@7.0.2: 1961 | resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} 1962 | 1963 | universalify@2.0.1: 1964 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} 1965 | engines: {node: '>= 10.0.0'} 1966 | 1967 | url-join@5.0.0: 1968 | resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} 1969 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1970 | 1971 | util-deprecate@1.0.2: 1972 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1973 | 1974 | validate-npm-package-license@3.0.4: 1975 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1976 | 1977 | vite-node@2.1.1: 1978 | resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==} 1979 | engines: {node: ^18.0.0 || >=20.0.0} 1980 | hasBin: true 1981 | 1982 | vite@5.4.8: 1983 | resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} 1984 | engines: {node: ^18.0.0 || >=20.0.0} 1985 | hasBin: true 1986 | peerDependencies: 1987 | '@types/node': ^18.0.0 || >=20.0.0 1988 | less: '*' 1989 | lightningcss: ^1.21.0 1990 | sass: '*' 1991 | sass-embedded: '*' 1992 | stylus: '*' 1993 | sugarss: '*' 1994 | terser: ^5.4.0 1995 | peerDependenciesMeta: 1996 | '@types/node': 1997 | optional: true 1998 | less: 1999 | optional: true 2000 | lightningcss: 2001 | optional: true 2002 | sass: 2003 | optional: true 2004 | sass-embedded: 2005 | optional: true 2006 | stylus: 2007 | optional: true 2008 | sugarss: 2009 | optional: true 2010 | terser: 2011 | optional: true 2012 | 2013 | vitest@2.1.1: 2014 | resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==} 2015 | engines: {node: ^18.0.0 || >=20.0.0} 2016 | hasBin: true 2017 | peerDependencies: 2018 | '@edge-runtime/vm': '*' 2019 | '@types/node': ^18.0.0 || >=20.0.0 2020 | '@vitest/browser': 2.1.1 2021 | '@vitest/ui': 2.1.1 2022 | happy-dom: '*' 2023 | jsdom: '*' 2024 | peerDependenciesMeta: 2025 | '@edge-runtime/vm': 2026 | optional: true 2027 | '@types/node': 2028 | optional: true 2029 | '@vitest/browser': 2030 | optional: true 2031 | '@vitest/ui': 2032 | optional: true 2033 | happy-dom: 2034 | optional: true 2035 | jsdom: 2036 | optional: true 2037 | 2038 | web-streams-polyfill@3.3.3: 2039 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 2040 | engines: {node: '>= 8'} 2041 | 2042 | webidl-conversions@4.0.2: 2043 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2044 | 2045 | whatwg-url@7.1.0: 2046 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2047 | 2048 | which@2.0.2: 2049 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2050 | engines: {node: '>= 8'} 2051 | hasBin: true 2052 | 2053 | why-is-node-running@2.3.0: 2054 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 2055 | engines: {node: '>=8'} 2056 | hasBin: true 2057 | 2058 | wordwrap@1.0.0: 2059 | resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} 2060 | 2061 | wrap-ansi@7.0.0: 2062 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2063 | engines: {node: '>=10'} 2064 | 2065 | wrap-ansi@8.1.0: 2066 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2067 | engines: {node: '>=12'} 2068 | 2069 | ws@8.18.0: 2070 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 2071 | engines: {node: '>=10.0.0'} 2072 | peerDependencies: 2073 | bufferutil: ^4.0.1 2074 | utf-8-validate: '>=5.0.2' 2075 | peerDependenciesMeta: 2076 | bufferutil: 2077 | optional: true 2078 | utf-8-validate: 2079 | optional: true 2080 | 2081 | xtend@4.0.2: 2082 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2083 | engines: {node: '>=0.4'} 2084 | 2085 | y18n@5.0.8: 2086 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2087 | engines: {node: '>=10'} 2088 | 2089 | yargs-parser@20.2.9: 2090 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 2091 | engines: {node: '>=10'} 2092 | 2093 | yargs-parser@21.1.1: 2094 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2095 | engines: {node: '>=12'} 2096 | 2097 | yargs@16.2.0: 2098 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 2099 | engines: {node: '>=10'} 2100 | 2101 | yargs@17.7.2: 2102 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2103 | engines: {node: '>=12'} 2104 | 2105 | yoctocolors@2.1.1: 2106 | resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} 2107 | engines: {node: '>=18'} 2108 | 2109 | snapshots: 2110 | 2111 | '@babel/code-frame@7.24.7': 2112 | dependencies: 2113 | '@babel/highlight': 7.24.7 2114 | picocolors: 1.1.0 2115 | 2116 | '@babel/helper-validator-identifier@7.24.7': {} 2117 | 2118 | '@babel/highlight@7.24.7': 2119 | dependencies: 2120 | '@babel/helper-validator-identifier': 7.24.7 2121 | chalk: 2.4.2 2122 | js-tokens: 4.0.0 2123 | picocolors: 1.1.0 2124 | 2125 | '@colors/colors@1.5.0': 2126 | optional: true 2127 | 2128 | '@esbuild/aix-ppc64@0.21.5': 2129 | optional: true 2130 | 2131 | '@esbuild/aix-ppc64@0.23.1': 2132 | optional: true 2133 | 2134 | '@esbuild/android-arm64@0.21.5': 2135 | optional: true 2136 | 2137 | '@esbuild/android-arm64@0.23.1': 2138 | optional: true 2139 | 2140 | '@esbuild/android-arm@0.21.5': 2141 | optional: true 2142 | 2143 | '@esbuild/android-arm@0.23.1': 2144 | optional: true 2145 | 2146 | '@esbuild/android-x64@0.21.5': 2147 | optional: true 2148 | 2149 | '@esbuild/android-x64@0.23.1': 2150 | optional: true 2151 | 2152 | '@esbuild/darwin-arm64@0.21.5': 2153 | optional: true 2154 | 2155 | '@esbuild/darwin-arm64@0.23.1': 2156 | optional: true 2157 | 2158 | '@esbuild/darwin-x64@0.21.5': 2159 | optional: true 2160 | 2161 | '@esbuild/darwin-x64@0.23.1': 2162 | optional: true 2163 | 2164 | '@esbuild/freebsd-arm64@0.21.5': 2165 | optional: true 2166 | 2167 | '@esbuild/freebsd-arm64@0.23.1': 2168 | optional: true 2169 | 2170 | '@esbuild/freebsd-x64@0.21.5': 2171 | optional: true 2172 | 2173 | '@esbuild/freebsd-x64@0.23.1': 2174 | optional: true 2175 | 2176 | '@esbuild/linux-arm64@0.21.5': 2177 | optional: true 2178 | 2179 | '@esbuild/linux-arm64@0.23.1': 2180 | optional: true 2181 | 2182 | '@esbuild/linux-arm@0.21.5': 2183 | optional: true 2184 | 2185 | '@esbuild/linux-arm@0.23.1': 2186 | optional: true 2187 | 2188 | '@esbuild/linux-ia32@0.21.5': 2189 | optional: true 2190 | 2191 | '@esbuild/linux-ia32@0.23.1': 2192 | optional: true 2193 | 2194 | '@esbuild/linux-loong64@0.21.5': 2195 | optional: true 2196 | 2197 | '@esbuild/linux-loong64@0.23.1': 2198 | optional: true 2199 | 2200 | '@esbuild/linux-mips64el@0.21.5': 2201 | optional: true 2202 | 2203 | '@esbuild/linux-mips64el@0.23.1': 2204 | optional: true 2205 | 2206 | '@esbuild/linux-ppc64@0.21.5': 2207 | optional: true 2208 | 2209 | '@esbuild/linux-ppc64@0.23.1': 2210 | optional: true 2211 | 2212 | '@esbuild/linux-riscv64@0.21.5': 2213 | optional: true 2214 | 2215 | '@esbuild/linux-riscv64@0.23.1': 2216 | optional: true 2217 | 2218 | '@esbuild/linux-s390x@0.21.5': 2219 | optional: true 2220 | 2221 | '@esbuild/linux-s390x@0.23.1': 2222 | optional: true 2223 | 2224 | '@esbuild/linux-x64@0.21.5': 2225 | optional: true 2226 | 2227 | '@esbuild/linux-x64@0.23.1': 2228 | optional: true 2229 | 2230 | '@esbuild/netbsd-x64@0.21.5': 2231 | optional: true 2232 | 2233 | '@esbuild/netbsd-x64@0.23.1': 2234 | optional: true 2235 | 2236 | '@esbuild/openbsd-arm64@0.23.1': 2237 | optional: true 2238 | 2239 | '@esbuild/openbsd-x64@0.21.5': 2240 | optional: true 2241 | 2242 | '@esbuild/openbsd-x64@0.23.1': 2243 | optional: true 2244 | 2245 | '@esbuild/sunos-x64@0.21.5': 2246 | optional: true 2247 | 2248 | '@esbuild/sunos-x64@0.23.1': 2249 | optional: true 2250 | 2251 | '@esbuild/win32-arm64@0.21.5': 2252 | optional: true 2253 | 2254 | '@esbuild/win32-arm64@0.23.1': 2255 | optional: true 2256 | 2257 | '@esbuild/win32-ia32@0.21.5': 2258 | optional: true 2259 | 2260 | '@esbuild/win32-ia32@0.23.1': 2261 | optional: true 2262 | 2263 | '@esbuild/win32-x64@0.21.5': 2264 | optional: true 2265 | 2266 | '@esbuild/win32-x64@0.23.1': 2267 | optional: true 2268 | 2269 | '@isaacs/cliui@8.0.2': 2270 | dependencies: 2271 | string-width: 5.1.2 2272 | string-width-cjs: string-width@4.2.3 2273 | strip-ansi: 7.1.0 2274 | strip-ansi-cjs: strip-ansi@6.0.1 2275 | wrap-ansi: 8.1.0 2276 | wrap-ansi-cjs: wrap-ansi@7.0.0 2277 | 2278 | '@jridgewell/gen-mapping@0.3.5': 2279 | dependencies: 2280 | '@jridgewell/set-array': 1.2.1 2281 | '@jridgewell/sourcemap-codec': 1.5.0 2282 | '@jridgewell/trace-mapping': 0.3.25 2283 | 2284 | '@jridgewell/resolve-uri@3.1.2': {} 2285 | 2286 | '@jridgewell/set-array@1.2.1': {} 2287 | 2288 | '@jridgewell/sourcemap-codec@1.5.0': {} 2289 | 2290 | '@jridgewell/trace-mapping@0.3.25': 2291 | dependencies: 2292 | '@jridgewell/resolve-uri': 3.1.2 2293 | '@jridgewell/sourcemap-codec': 1.5.0 2294 | 2295 | '@libsql/client@0.14.0': 2296 | dependencies: 2297 | '@libsql/core': 0.14.0 2298 | '@libsql/hrana-client': 0.7.0 2299 | js-base64: 3.7.7 2300 | libsql: 0.4.5 2301 | promise-limit: 2.7.0 2302 | transitivePeerDependencies: 2303 | - bufferutil 2304 | - utf-8-validate 2305 | 2306 | '@libsql/core@0.14.0': 2307 | dependencies: 2308 | js-base64: 3.7.7 2309 | 2310 | '@libsql/darwin-arm64@0.4.5': 2311 | optional: true 2312 | 2313 | '@libsql/darwin-x64@0.4.5': 2314 | optional: true 2315 | 2316 | '@libsql/hrana-client@0.7.0': 2317 | dependencies: 2318 | '@libsql/isomorphic-fetch': 0.3.1 2319 | '@libsql/isomorphic-ws': 0.1.5 2320 | js-base64: 3.7.7 2321 | node-fetch: 3.3.2 2322 | transitivePeerDependencies: 2323 | - bufferutil 2324 | - utf-8-validate 2325 | 2326 | '@libsql/isomorphic-fetch@0.3.1': {} 2327 | 2328 | '@libsql/isomorphic-ws@0.1.5': 2329 | dependencies: 2330 | '@types/ws': 8.5.12 2331 | ws: 8.18.0 2332 | transitivePeerDependencies: 2333 | - bufferutil 2334 | - utf-8-validate 2335 | 2336 | '@libsql/linux-arm64-gnu@0.4.5': 2337 | optional: true 2338 | 2339 | '@libsql/linux-arm64-musl@0.4.5': 2340 | optional: true 2341 | 2342 | '@libsql/linux-x64-gnu@0.4.5': 2343 | optional: true 2344 | 2345 | '@libsql/linux-x64-musl@0.4.5': 2346 | optional: true 2347 | 2348 | '@libsql/win32-x64-msvc@0.4.5': 2349 | optional: true 2350 | 2351 | '@neon-rs/load@0.0.4': {} 2352 | 2353 | '@nodelib/fs.scandir@2.1.5': 2354 | dependencies: 2355 | '@nodelib/fs.stat': 2.0.5 2356 | run-parallel: 1.2.0 2357 | 2358 | '@nodelib/fs.stat@2.0.5': {} 2359 | 2360 | '@nodelib/fs.walk@1.2.8': 2361 | dependencies: 2362 | '@nodelib/fs.scandir': 2.1.5 2363 | fastq: 1.17.1 2364 | 2365 | '@octokit/auth-token@5.1.1': {} 2366 | 2367 | '@octokit/core@6.1.2': 2368 | dependencies: 2369 | '@octokit/auth-token': 5.1.1 2370 | '@octokit/graphql': 8.1.1 2371 | '@octokit/request': 9.1.3 2372 | '@octokit/request-error': 6.1.5 2373 | '@octokit/types': 13.5.1 2374 | before-after-hook: 3.0.2 2375 | universal-user-agent: 7.0.2 2376 | 2377 | '@octokit/endpoint@10.1.1': 2378 | dependencies: 2379 | '@octokit/types': 13.5.1 2380 | universal-user-agent: 7.0.2 2381 | 2382 | '@octokit/graphql@8.1.1': 2383 | dependencies: 2384 | '@octokit/request': 9.1.3 2385 | '@octokit/types': 13.5.1 2386 | universal-user-agent: 7.0.2 2387 | 2388 | '@octokit/openapi-types@22.2.0': {} 2389 | 2390 | '@octokit/plugin-paginate-rest@11.3.3(@octokit/core@6.1.2)': 2391 | dependencies: 2392 | '@octokit/core': 6.1.2 2393 | '@octokit/types': 13.5.1 2394 | 2395 | '@octokit/plugin-retry@7.1.2(@octokit/core@6.1.2)': 2396 | dependencies: 2397 | '@octokit/core': 6.1.2 2398 | '@octokit/request-error': 6.1.5 2399 | '@octokit/types': 13.5.1 2400 | bottleneck: 2.19.5 2401 | 2402 | '@octokit/plugin-throttling@9.3.1(@octokit/core@6.1.2)': 2403 | dependencies: 2404 | '@octokit/core': 6.1.2 2405 | '@octokit/types': 13.5.1 2406 | bottleneck: 2.19.5 2407 | 2408 | '@octokit/request-error@6.1.5': 2409 | dependencies: 2410 | '@octokit/types': 13.5.1 2411 | 2412 | '@octokit/request@9.1.3': 2413 | dependencies: 2414 | '@octokit/endpoint': 10.1.1 2415 | '@octokit/request-error': 6.1.5 2416 | '@octokit/types': 13.5.1 2417 | universal-user-agent: 7.0.2 2418 | 2419 | '@octokit/types@13.5.1': 2420 | dependencies: 2421 | '@octokit/openapi-types': 22.2.0 2422 | 2423 | '@pkgjs/parseargs@0.11.0': 2424 | optional: true 2425 | 2426 | '@pnpm/config.env-replace@1.1.0': {} 2427 | 2428 | '@pnpm/network.ca-file@1.0.2': 2429 | dependencies: 2430 | graceful-fs: 4.2.10 2431 | 2432 | '@pnpm/npm-conf@2.3.1': 2433 | dependencies: 2434 | '@pnpm/config.env-replace': 1.1.0 2435 | '@pnpm/network.ca-file': 1.0.2 2436 | config-chain: 1.1.13 2437 | 2438 | '@rollup/rollup-android-arm-eabi@4.22.4': 2439 | optional: true 2440 | 2441 | '@rollup/rollup-android-arm64@4.22.4': 2442 | optional: true 2443 | 2444 | '@rollup/rollup-darwin-arm64@4.22.4': 2445 | optional: true 2446 | 2447 | '@rollup/rollup-darwin-x64@4.22.4': 2448 | optional: true 2449 | 2450 | '@rollup/rollup-linux-arm-gnueabihf@4.22.4': 2451 | optional: true 2452 | 2453 | '@rollup/rollup-linux-arm-musleabihf@4.22.4': 2454 | optional: true 2455 | 2456 | '@rollup/rollup-linux-arm64-gnu@4.22.4': 2457 | optional: true 2458 | 2459 | '@rollup/rollup-linux-arm64-musl@4.22.4': 2460 | optional: true 2461 | 2462 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': 2463 | optional: true 2464 | 2465 | '@rollup/rollup-linux-riscv64-gnu@4.22.4': 2466 | optional: true 2467 | 2468 | '@rollup/rollup-linux-s390x-gnu@4.22.4': 2469 | optional: true 2470 | 2471 | '@rollup/rollup-linux-x64-gnu@4.22.4': 2472 | optional: true 2473 | 2474 | '@rollup/rollup-linux-x64-musl@4.22.4': 2475 | optional: true 2476 | 2477 | '@rollup/rollup-win32-arm64-msvc@4.22.4': 2478 | optional: true 2479 | 2480 | '@rollup/rollup-win32-ia32-msvc@4.22.4': 2481 | optional: true 2482 | 2483 | '@rollup/rollup-win32-x64-msvc@4.22.4': 2484 | optional: true 2485 | 2486 | '@sec-ant/readable-stream@0.4.1': {} 2487 | 2488 | '@semantic-release/commit-analyzer@13.0.0(semantic-release@24.1.1(typescript@5.6.2))': 2489 | dependencies: 2490 | conventional-changelog-angular: 8.0.0 2491 | conventional-changelog-writer: 8.0.0 2492 | conventional-commits-filter: 5.0.0 2493 | conventional-commits-parser: 6.0.0 2494 | debug: 4.3.7 2495 | import-from-esm: 1.3.4 2496 | lodash-es: 4.17.21 2497 | micromatch: 4.0.8 2498 | semantic-release: 24.1.1(typescript@5.6.2) 2499 | transitivePeerDependencies: 2500 | - supports-color 2501 | 2502 | '@semantic-release/error@4.0.0': {} 2503 | 2504 | '@semantic-release/github@10.3.5(semantic-release@24.1.1(typescript@5.6.2))': 2505 | dependencies: 2506 | '@octokit/core': 6.1.2 2507 | '@octokit/plugin-paginate-rest': 11.3.3(@octokit/core@6.1.2) 2508 | '@octokit/plugin-retry': 7.1.2(@octokit/core@6.1.2) 2509 | '@octokit/plugin-throttling': 9.3.1(@octokit/core@6.1.2) 2510 | '@semantic-release/error': 4.0.0 2511 | aggregate-error: 5.0.0 2512 | debug: 4.3.7 2513 | dir-glob: 3.0.1 2514 | globby: 14.0.2 2515 | http-proxy-agent: 7.0.2 2516 | https-proxy-agent: 7.0.5 2517 | issue-parser: 7.0.1 2518 | lodash-es: 4.17.21 2519 | mime: 4.0.4 2520 | p-filter: 4.1.0 2521 | semantic-release: 24.1.1(typescript@5.6.2) 2522 | url-join: 5.0.0 2523 | transitivePeerDependencies: 2524 | - supports-color 2525 | 2526 | '@semantic-release/npm@12.0.1(semantic-release@24.1.1(typescript@5.6.2))': 2527 | dependencies: 2528 | '@semantic-release/error': 4.0.0 2529 | aggregate-error: 5.0.0 2530 | execa: 9.4.0 2531 | fs-extra: 11.2.0 2532 | lodash-es: 4.17.21 2533 | nerf-dart: 1.0.0 2534 | normalize-url: 8.0.1 2535 | npm: 10.8.3 2536 | rc: 1.2.8 2537 | read-pkg: 9.0.1 2538 | registry-auth-token: 5.0.2 2539 | semantic-release: 24.1.1(typescript@5.6.2) 2540 | semver: 7.6.3 2541 | tempy: 3.1.0 2542 | 2543 | '@semantic-release/release-notes-generator@14.0.1(semantic-release@24.1.1(typescript@5.6.2))': 2544 | dependencies: 2545 | conventional-changelog-angular: 8.0.0 2546 | conventional-changelog-writer: 8.0.0 2547 | conventional-commits-filter: 5.0.0 2548 | conventional-commits-parser: 6.0.0 2549 | debug: 4.3.7 2550 | get-stream: 7.0.1 2551 | import-from-esm: 1.3.4 2552 | into-stream: 7.0.0 2553 | lodash-es: 4.17.21 2554 | read-package-up: 11.0.0 2555 | semantic-release: 24.1.1(typescript@5.6.2) 2556 | transitivePeerDependencies: 2557 | - supports-color 2558 | 2559 | '@sindresorhus/is@4.6.0': {} 2560 | 2561 | '@sindresorhus/merge-streams@2.3.0': {} 2562 | 2563 | '@sindresorhus/merge-streams@4.0.0': {} 2564 | 2565 | '@types/estree@1.0.5': {} 2566 | 2567 | '@types/node@22.7.3': 2568 | dependencies: 2569 | undici-types: 6.19.8 2570 | 2571 | '@types/normalize-package-data@2.4.4': {} 2572 | 2573 | '@types/semver@7.5.8': {} 2574 | 2575 | '@types/ws@8.5.12': 2576 | dependencies: 2577 | '@types/node': 22.7.3 2578 | 2579 | '@vitest/expect@2.1.1': 2580 | dependencies: 2581 | '@vitest/spy': 2.1.1 2582 | '@vitest/utils': 2.1.1 2583 | chai: 5.1.1 2584 | tinyrainbow: 1.2.0 2585 | 2586 | '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.8(@types/node@22.7.3))': 2587 | dependencies: 2588 | '@vitest/spy': 2.1.1 2589 | estree-walker: 3.0.3 2590 | magic-string: 0.30.11 2591 | optionalDependencies: 2592 | vite: 5.4.8(@types/node@22.7.3) 2593 | 2594 | '@vitest/pretty-format@2.1.1': 2595 | dependencies: 2596 | tinyrainbow: 1.2.0 2597 | 2598 | '@vitest/runner@2.1.1': 2599 | dependencies: 2600 | '@vitest/utils': 2.1.1 2601 | pathe: 1.1.2 2602 | 2603 | '@vitest/snapshot@2.1.1': 2604 | dependencies: 2605 | '@vitest/pretty-format': 2.1.1 2606 | magic-string: 0.30.11 2607 | pathe: 1.1.2 2608 | 2609 | '@vitest/spy@2.1.1': 2610 | dependencies: 2611 | tinyspy: 3.0.2 2612 | 2613 | '@vitest/utils@2.1.1': 2614 | dependencies: 2615 | '@vitest/pretty-format': 2.1.1 2616 | loupe: 3.1.1 2617 | tinyrainbow: 1.2.0 2618 | 2619 | agent-base@7.1.1: 2620 | dependencies: 2621 | debug: 4.3.7 2622 | transitivePeerDependencies: 2623 | - supports-color 2624 | 2625 | aggregate-error@5.0.0: 2626 | dependencies: 2627 | clean-stack: 5.2.0 2628 | indent-string: 5.0.0 2629 | 2630 | ansi-escapes@7.0.0: 2631 | dependencies: 2632 | environment: 1.1.0 2633 | 2634 | ansi-regex@5.0.1: {} 2635 | 2636 | ansi-regex@6.1.0: {} 2637 | 2638 | ansi-styles@3.2.1: 2639 | dependencies: 2640 | color-convert: 1.9.3 2641 | 2642 | ansi-styles@4.3.0: 2643 | dependencies: 2644 | color-convert: 2.0.1 2645 | 2646 | ansi-styles@6.2.1: {} 2647 | 2648 | any-promise@1.3.0: {} 2649 | 2650 | anymatch@3.1.3: 2651 | dependencies: 2652 | normalize-path: 3.0.0 2653 | picomatch: 2.3.1 2654 | 2655 | argparse@2.0.1: {} 2656 | 2657 | argv-formatter@1.0.0: {} 2658 | 2659 | array-ify@1.0.0: {} 2660 | 2661 | assertion-error@2.0.1: {} 2662 | 2663 | balanced-match@1.0.2: {} 2664 | 2665 | before-after-hook@3.0.2: {} 2666 | 2667 | binary-extensions@2.3.0: {} 2668 | 2669 | bottleneck@2.19.5: {} 2670 | 2671 | brace-expansion@2.0.1: 2672 | dependencies: 2673 | balanced-match: 1.0.2 2674 | 2675 | braces@3.0.3: 2676 | dependencies: 2677 | fill-range: 7.1.1 2678 | 2679 | bundle-require@5.0.0(esbuild@0.23.1): 2680 | dependencies: 2681 | esbuild: 0.23.1 2682 | load-tsconfig: 0.2.5 2683 | 2684 | cac@6.7.14: {} 2685 | 2686 | callsites@3.1.0: {} 2687 | 2688 | chai@5.1.1: 2689 | dependencies: 2690 | assertion-error: 2.0.1 2691 | check-error: 2.1.1 2692 | deep-eql: 5.0.2 2693 | loupe: 3.1.1 2694 | pathval: 2.0.0 2695 | 2696 | chalk@2.4.2: 2697 | dependencies: 2698 | ansi-styles: 3.2.1 2699 | escape-string-regexp: 1.0.5 2700 | supports-color: 5.5.0 2701 | 2702 | chalk@4.1.2: 2703 | dependencies: 2704 | ansi-styles: 4.3.0 2705 | supports-color: 7.2.0 2706 | 2707 | chalk@5.3.0: {} 2708 | 2709 | char-regex@1.0.2: {} 2710 | 2711 | check-error@2.1.1: {} 2712 | 2713 | chokidar@3.6.0: 2714 | dependencies: 2715 | anymatch: 3.1.3 2716 | braces: 3.0.3 2717 | glob-parent: 5.1.2 2718 | is-binary-path: 2.1.0 2719 | is-glob: 4.0.3 2720 | normalize-path: 3.0.0 2721 | readdirp: 3.6.0 2722 | optionalDependencies: 2723 | fsevents: 2.3.3 2724 | 2725 | clean-stack@5.2.0: 2726 | dependencies: 2727 | escape-string-regexp: 5.0.0 2728 | 2729 | cli-highlight@2.1.11: 2730 | dependencies: 2731 | chalk: 4.1.2 2732 | highlight.js: 10.7.3 2733 | mz: 2.7.0 2734 | parse5: 5.1.1 2735 | parse5-htmlparser2-tree-adapter: 6.0.1 2736 | yargs: 16.2.0 2737 | 2738 | cli-table3@0.6.5: 2739 | dependencies: 2740 | string-width: 4.2.3 2741 | optionalDependencies: 2742 | '@colors/colors': 1.5.0 2743 | 2744 | cliui@7.0.4: 2745 | dependencies: 2746 | string-width: 4.2.3 2747 | strip-ansi: 6.0.1 2748 | wrap-ansi: 7.0.0 2749 | 2750 | cliui@8.0.1: 2751 | dependencies: 2752 | string-width: 4.2.3 2753 | strip-ansi: 6.0.1 2754 | wrap-ansi: 7.0.0 2755 | 2756 | color-convert@1.9.3: 2757 | dependencies: 2758 | color-name: 1.1.3 2759 | 2760 | color-convert@2.0.1: 2761 | dependencies: 2762 | color-name: 1.1.4 2763 | 2764 | color-name@1.1.3: {} 2765 | 2766 | color-name@1.1.4: {} 2767 | 2768 | commander@4.1.1: {} 2769 | 2770 | compare-func@2.0.0: 2771 | dependencies: 2772 | array-ify: 1.0.0 2773 | dot-prop: 5.3.0 2774 | 2775 | config-chain@1.1.13: 2776 | dependencies: 2777 | ini: 1.3.8 2778 | proto-list: 1.2.4 2779 | 2780 | consola@3.2.3: {} 2781 | 2782 | conventional-changelog-angular@8.0.0: 2783 | dependencies: 2784 | compare-func: 2.0.0 2785 | 2786 | conventional-changelog-writer@8.0.0: 2787 | dependencies: 2788 | '@types/semver': 7.5.8 2789 | conventional-commits-filter: 5.0.0 2790 | handlebars: 4.7.8 2791 | meow: 13.2.0 2792 | semver: 7.6.3 2793 | 2794 | conventional-commits-filter@5.0.0: {} 2795 | 2796 | conventional-commits-parser@6.0.0: 2797 | dependencies: 2798 | meow: 13.2.0 2799 | 2800 | convert-hrtime@5.0.0: {} 2801 | 2802 | core-util-is@1.0.3: {} 2803 | 2804 | cosmiconfig@9.0.0(typescript@5.6.2): 2805 | dependencies: 2806 | env-paths: 2.2.1 2807 | import-fresh: 3.3.0 2808 | js-yaml: 4.1.0 2809 | parse-json: 5.2.0 2810 | optionalDependencies: 2811 | typescript: 5.6.2 2812 | 2813 | cross-spawn@7.0.3: 2814 | dependencies: 2815 | path-key: 3.1.1 2816 | shebang-command: 2.0.0 2817 | which: 2.0.2 2818 | 2819 | crypto-random-string@4.0.0: 2820 | dependencies: 2821 | type-fest: 1.4.0 2822 | 2823 | data-uri-to-buffer@4.0.1: {} 2824 | 2825 | debug@4.3.7: 2826 | dependencies: 2827 | ms: 2.1.3 2828 | 2829 | deep-eql@5.0.2: {} 2830 | 2831 | deep-extend@0.6.0: {} 2832 | 2833 | detect-libc@2.0.2: {} 2834 | 2835 | dir-glob@3.0.1: 2836 | dependencies: 2837 | path-type: 4.0.0 2838 | 2839 | dot-prop@5.3.0: 2840 | dependencies: 2841 | is-obj: 2.0.0 2842 | 2843 | duplexer2@0.1.4: 2844 | dependencies: 2845 | readable-stream: 2.3.8 2846 | 2847 | eastasianwidth@0.2.0: {} 2848 | 2849 | emoji-regex@8.0.0: {} 2850 | 2851 | emoji-regex@9.2.2: {} 2852 | 2853 | emojilib@2.4.0: {} 2854 | 2855 | env-ci@11.1.0: 2856 | dependencies: 2857 | execa: 8.0.1 2858 | java-properties: 1.0.2 2859 | 2860 | env-paths@2.2.1: {} 2861 | 2862 | environment@1.1.0: {} 2863 | 2864 | error-ex@1.3.2: 2865 | dependencies: 2866 | is-arrayish: 0.2.1 2867 | 2868 | esbuild@0.21.5: 2869 | optionalDependencies: 2870 | '@esbuild/aix-ppc64': 0.21.5 2871 | '@esbuild/android-arm': 0.21.5 2872 | '@esbuild/android-arm64': 0.21.5 2873 | '@esbuild/android-x64': 0.21.5 2874 | '@esbuild/darwin-arm64': 0.21.5 2875 | '@esbuild/darwin-x64': 0.21.5 2876 | '@esbuild/freebsd-arm64': 0.21.5 2877 | '@esbuild/freebsd-x64': 0.21.5 2878 | '@esbuild/linux-arm': 0.21.5 2879 | '@esbuild/linux-arm64': 0.21.5 2880 | '@esbuild/linux-ia32': 0.21.5 2881 | '@esbuild/linux-loong64': 0.21.5 2882 | '@esbuild/linux-mips64el': 0.21.5 2883 | '@esbuild/linux-ppc64': 0.21.5 2884 | '@esbuild/linux-riscv64': 0.21.5 2885 | '@esbuild/linux-s390x': 0.21.5 2886 | '@esbuild/linux-x64': 0.21.5 2887 | '@esbuild/netbsd-x64': 0.21.5 2888 | '@esbuild/openbsd-x64': 0.21.5 2889 | '@esbuild/sunos-x64': 0.21.5 2890 | '@esbuild/win32-arm64': 0.21.5 2891 | '@esbuild/win32-ia32': 0.21.5 2892 | '@esbuild/win32-x64': 0.21.5 2893 | 2894 | esbuild@0.23.1: 2895 | optionalDependencies: 2896 | '@esbuild/aix-ppc64': 0.23.1 2897 | '@esbuild/android-arm': 0.23.1 2898 | '@esbuild/android-arm64': 0.23.1 2899 | '@esbuild/android-x64': 0.23.1 2900 | '@esbuild/darwin-arm64': 0.23.1 2901 | '@esbuild/darwin-x64': 0.23.1 2902 | '@esbuild/freebsd-arm64': 0.23.1 2903 | '@esbuild/freebsd-x64': 0.23.1 2904 | '@esbuild/linux-arm': 0.23.1 2905 | '@esbuild/linux-arm64': 0.23.1 2906 | '@esbuild/linux-ia32': 0.23.1 2907 | '@esbuild/linux-loong64': 0.23.1 2908 | '@esbuild/linux-mips64el': 0.23.1 2909 | '@esbuild/linux-ppc64': 0.23.1 2910 | '@esbuild/linux-riscv64': 0.23.1 2911 | '@esbuild/linux-s390x': 0.23.1 2912 | '@esbuild/linux-x64': 0.23.1 2913 | '@esbuild/netbsd-x64': 0.23.1 2914 | '@esbuild/openbsd-arm64': 0.23.1 2915 | '@esbuild/openbsd-x64': 0.23.1 2916 | '@esbuild/sunos-x64': 0.23.1 2917 | '@esbuild/win32-arm64': 0.23.1 2918 | '@esbuild/win32-ia32': 0.23.1 2919 | '@esbuild/win32-x64': 0.23.1 2920 | 2921 | escalade@3.2.0: {} 2922 | 2923 | escape-string-regexp@1.0.5: {} 2924 | 2925 | escape-string-regexp@5.0.0: {} 2926 | 2927 | estree-walker@3.0.3: 2928 | dependencies: 2929 | '@types/estree': 1.0.5 2930 | 2931 | execa@5.1.1: 2932 | dependencies: 2933 | cross-spawn: 7.0.3 2934 | get-stream: 6.0.1 2935 | human-signals: 2.1.0 2936 | is-stream: 2.0.1 2937 | merge-stream: 2.0.0 2938 | npm-run-path: 4.0.1 2939 | onetime: 5.1.2 2940 | signal-exit: 3.0.7 2941 | strip-final-newline: 2.0.0 2942 | 2943 | execa@8.0.1: 2944 | dependencies: 2945 | cross-spawn: 7.0.3 2946 | get-stream: 8.0.1 2947 | human-signals: 5.0.0 2948 | is-stream: 3.0.0 2949 | merge-stream: 2.0.0 2950 | npm-run-path: 5.3.0 2951 | onetime: 6.0.0 2952 | signal-exit: 4.1.0 2953 | strip-final-newline: 3.0.0 2954 | 2955 | execa@9.4.0: 2956 | dependencies: 2957 | '@sindresorhus/merge-streams': 4.0.0 2958 | cross-spawn: 7.0.3 2959 | figures: 6.1.0 2960 | get-stream: 9.0.1 2961 | human-signals: 8.0.0 2962 | is-plain-obj: 4.1.0 2963 | is-stream: 4.0.1 2964 | npm-run-path: 6.0.0 2965 | pretty-ms: 9.1.0 2966 | signal-exit: 4.1.0 2967 | strip-final-newline: 4.0.0 2968 | yoctocolors: 2.1.1 2969 | 2970 | fast-glob@3.3.2: 2971 | dependencies: 2972 | '@nodelib/fs.stat': 2.0.5 2973 | '@nodelib/fs.walk': 1.2.8 2974 | glob-parent: 5.1.2 2975 | merge2: 1.4.1 2976 | micromatch: 4.0.8 2977 | 2978 | fastq@1.17.1: 2979 | dependencies: 2980 | reusify: 1.0.4 2981 | 2982 | fdir@6.3.0(picomatch@4.0.2): 2983 | optionalDependencies: 2984 | picomatch: 4.0.2 2985 | 2986 | fetch-blob@3.2.0: 2987 | dependencies: 2988 | node-domexception: 1.0.0 2989 | web-streams-polyfill: 3.3.3 2990 | 2991 | figures@2.0.0: 2992 | dependencies: 2993 | escape-string-regexp: 1.0.5 2994 | 2995 | figures@6.1.0: 2996 | dependencies: 2997 | is-unicode-supported: 2.1.0 2998 | 2999 | fill-range@7.1.1: 3000 | dependencies: 3001 | to-regex-range: 5.0.1 3002 | 3003 | find-up-simple@1.0.0: {} 3004 | 3005 | find-up@2.1.0: 3006 | dependencies: 3007 | locate-path: 2.0.0 3008 | 3009 | find-versions@6.0.0: 3010 | dependencies: 3011 | semver-regex: 4.0.5 3012 | super-regex: 1.0.0 3013 | 3014 | foreground-child@3.3.0: 3015 | dependencies: 3016 | cross-spawn: 7.0.3 3017 | signal-exit: 4.1.0 3018 | 3019 | formdata-polyfill@4.0.10: 3020 | dependencies: 3021 | fetch-blob: 3.2.0 3022 | 3023 | from2@2.3.0: 3024 | dependencies: 3025 | inherits: 2.0.4 3026 | readable-stream: 2.3.8 3027 | 3028 | fs-extra@11.2.0: 3029 | dependencies: 3030 | graceful-fs: 4.2.11 3031 | jsonfile: 6.1.0 3032 | universalify: 2.0.1 3033 | 3034 | fsevents@2.3.3: 3035 | optional: true 3036 | 3037 | function-timeout@1.0.2: {} 3038 | 3039 | get-caller-file@2.0.5: {} 3040 | 3041 | get-func-name@2.0.2: {} 3042 | 3043 | get-stream@6.0.1: {} 3044 | 3045 | get-stream@7.0.1: {} 3046 | 3047 | get-stream@8.0.1: {} 3048 | 3049 | get-stream@9.0.1: 3050 | dependencies: 3051 | '@sec-ant/readable-stream': 0.4.1 3052 | is-stream: 4.0.1 3053 | 3054 | git-log-parser@1.2.1: 3055 | dependencies: 3056 | argv-formatter: 1.0.0 3057 | spawn-error-forwarder: 1.0.0 3058 | split2: 1.0.0 3059 | stream-combiner2: 1.1.1 3060 | through2: 2.0.5 3061 | traverse: 0.6.8 3062 | 3063 | glob-parent@5.1.2: 3064 | dependencies: 3065 | is-glob: 4.0.3 3066 | 3067 | glob@10.4.5: 3068 | dependencies: 3069 | foreground-child: 3.3.0 3070 | jackspeak: 3.4.3 3071 | minimatch: 9.0.5 3072 | minipass: 7.1.2 3073 | package-json-from-dist: 1.0.1 3074 | path-scurry: 1.11.1 3075 | 3076 | globby@14.0.2: 3077 | dependencies: 3078 | '@sindresorhus/merge-streams': 2.3.0 3079 | fast-glob: 3.3.2 3080 | ignore: 5.3.2 3081 | path-type: 5.0.0 3082 | slash: 5.1.0 3083 | unicorn-magic: 0.1.0 3084 | 3085 | graceful-fs@4.2.10: {} 3086 | 3087 | graceful-fs@4.2.11: {} 3088 | 3089 | handlebars@4.7.8: 3090 | dependencies: 3091 | minimist: 1.2.8 3092 | neo-async: 2.6.2 3093 | source-map: 0.6.1 3094 | wordwrap: 1.0.0 3095 | optionalDependencies: 3096 | uglify-js: 3.19.3 3097 | 3098 | has-flag@3.0.0: {} 3099 | 3100 | has-flag@4.0.0: {} 3101 | 3102 | highlight.js@10.7.3: {} 3103 | 3104 | hook-std@3.0.0: {} 3105 | 3106 | hosted-git-info@7.0.2: 3107 | dependencies: 3108 | lru-cache: 10.4.3 3109 | 3110 | hosted-git-info@8.0.0: 3111 | dependencies: 3112 | lru-cache: 10.4.3 3113 | 3114 | http-proxy-agent@7.0.2: 3115 | dependencies: 3116 | agent-base: 7.1.1 3117 | debug: 4.3.7 3118 | transitivePeerDependencies: 3119 | - supports-color 3120 | 3121 | https-proxy-agent@7.0.5: 3122 | dependencies: 3123 | agent-base: 7.1.1 3124 | debug: 4.3.7 3125 | transitivePeerDependencies: 3126 | - supports-color 3127 | 3128 | human-signals@2.1.0: {} 3129 | 3130 | human-signals@5.0.0: {} 3131 | 3132 | human-signals@8.0.0: {} 3133 | 3134 | ignore@5.3.2: {} 3135 | 3136 | import-fresh@3.3.0: 3137 | dependencies: 3138 | parent-module: 1.0.1 3139 | resolve-from: 4.0.0 3140 | 3141 | import-from-esm@1.3.4: 3142 | dependencies: 3143 | debug: 4.3.7 3144 | import-meta-resolve: 4.1.0 3145 | transitivePeerDependencies: 3146 | - supports-color 3147 | 3148 | import-meta-resolve@4.1.0: {} 3149 | 3150 | indent-string@5.0.0: {} 3151 | 3152 | index-to-position@0.1.2: {} 3153 | 3154 | inherits@2.0.4: {} 3155 | 3156 | ini@1.3.8: {} 3157 | 3158 | into-stream@7.0.0: 3159 | dependencies: 3160 | from2: 2.3.0 3161 | p-is-promise: 3.0.0 3162 | 3163 | is-arrayish@0.2.1: {} 3164 | 3165 | is-binary-path@2.1.0: 3166 | dependencies: 3167 | binary-extensions: 2.3.0 3168 | 3169 | is-extglob@2.1.1: {} 3170 | 3171 | is-fullwidth-code-point@3.0.0: {} 3172 | 3173 | is-glob@4.0.3: 3174 | dependencies: 3175 | is-extglob: 2.1.1 3176 | 3177 | is-number@7.0.0: {} 3178 | 3179 | is-obj@2.0.0: {} 3180 | 3181 | is-plain-obj@4.1.0: {} 3182 | 3183 | is-stream@2.0.1: {} 3184 | 3185 | is-stream@3.0.0: {} 3186 | 3187 | is-stream@4.0.1: {} 3188 | 3189 | is-unicode-supported@2.1.0: {} 3190 | 3191 | isarray@1.0.0: {} 3192 | 3193 | isexe@2.0.0: {} 3194 | 3195 | issue-parser@7.0.1: 3196 | dependencies: 3197 | lodash.capitalize: 4.2.1 3198 | lodash.escaperegexp: 4.1.2 3199 | lodash.isplainobject: 4.0.6 3200 | lodash.isstring: 4.0.1 3201 | lodash.uniqby: 4.7.0 3202 | 3203 | jackspeak@3.4.3: 3204 | dependencies: 3205 | '@isaacs/cliui': 8.0.2 3206 | optionalDependencies: 3207 | '@pkgjs/parseargs': 0.11.0 3208 | 3209 | java-properties@1.0.2: {} 3210 | 3211 | joycon@3.1.1: {} 3212 | 3213 | js-base64@3.7.7: {} 3214 | 3215 | js-tokens@4.0.0: {} 3216 | 3217 | js-yaml@4.1.0: 3218 | dependencies: 3219 | argparse: 2.0.1 3220 | 3221 | json-parse-better-errors@1.0.2: {} 3222 | 3223 | json-parse-even-better-errors@2.3.1: {} 3224 | 3225 | jsonfile@6.1.0: 3226 | dependencies: 3227 | universalify: 2.0.1 3228 | optionalDependencies: 3229 | graceful-fs: 4.2.11 3230 | 3231 | libsql@0.4.5: 3232 | dependencies: 3233 | '@neon-rs/load': 0.0.4 3234 | detect-libc: 2.0.2 3235 | optionalDependencies: 3236 | '@libsql/darwin-arm64': 0.4.5 3237 | '@libsql/darwin-x64': 0.4.5 3238 | '@libsql/linux-arm64-gnu': 0.4.5 3239 | '@libsql/linux-arm64-musl': 0.4.5 3240 | '@libsql/linux-x64-gnu': 0.4.5 3241 | '@libsql/linux-x64-musl': 0.4.5 3242 | '@libsql/win32-x64-msvc': 0.4.5 3243 | 3244 | lilconfig@3.1.2: {} 3245 | 3246 | lines-and-columns@1.2.4: {} 3247 | 3248 | load-json-file@4.0.0: 3249 | dependencies: 3250 | graceful-fs: 4.2.11 3251 | parse-json: 4.0.0 3252 | pify: 3.0.0 3253 | strip-bom: 3.0.0 3254 | 3255 | load-tsconfig@0.2.5: {} 3256 | 3257 | locate-path@2.0.0: 3258 | dependencies: 3259 | p-locate: 2.0.0 3260 | path-exists: 3.0.0 3261 | 3262 | lodash-es@4.17.21: {} 3263 | 3264 | lodash.capitalize@4.2.1: {} 3265 | 3266 | lodash.escaperegexp@4.1.2: {} 3267 | 3268 | lodash.isplainobject@4.0.6: {} 3269 | 3270 | lodash.isstring@4.0.1: {} 3271 | 3272 | lodash.sortby@4.7.0: {} 3273 | 3274 | lodash.uniqby@4.7.0: {} 3275 | 3276 | loupe@3.1.1: 3277 | dependencies: 3278 | get-func-name: 2.0.2 3279 | 3280 | lru-cache@10.4.3: {} 3281 | 3282 | magic-string@0.30.11: 3283 | dependencies: 3284 | '@jridgewell/sourcemap-codec': 1.5.0 3285 | 3286 | marked-terminal@7.1.0(marked@12.0.2): 3287 | dependencies: 3288 | ansi-escapes: 7.0.0 3289 | chalk: 5.3.0 3290 | cli-highlight: 2.1.11 3291 | cli-table3: 0.6.5 3292 | marked: 12.0.2 3293 | node-emoji: 2.1.3 3294 | supports-hyperlinks: 3.1.0 3295 | 3296 | marked@12.0.2: {} 3297 | 3298 | meow@13.2.0: {} 3299 | 3300 | merge-stream@2.0.0: {} 3301 | 3302 | merge2@1.4.1: {} 3303 | 3304 | micromatch@4.0.8: 3305 | dependencies: 3306 | braces: 3.0.3 3307 | picomatch: 2.3.1 3308 | 3309 | mime@4.0.4: {} 3310 | 3311 | mimic-fn@2.1.0: {} 3312 | 3313 | mimic-fn@4.0.0: {} 3314 | 3315 | minimatch@9.0.5: 3316 | dependencies: 3317 | brace-expansion: 2.0.1 3318 | 3319 | minimist@1.2.8: {} 3320 | 3321 | minipass@7.1.2: {} 3322 | 3323 | ms@2.1.3: {} 3324 | 3325 | mz@2.7.0: 3326 | dependencies: 3327 | any-promise: 1.3.0 3328 | object-assign: 4.1.1 3329 | thenify-all: 1.6.0 3330 | 3331 | nanoid@3.3.7: {} 3332 | 3333 | neo-async@2.6.2: {} 3334 | 3335 | nerf-dart@1.0.0: {} 3336 | 3337 | node-domexception@1.0.0: {} 3338 | 3339 | node-emoji@2.1.3: 3340 | dependencies: 3341 | '@sindresorhus/is': 4.6.0 3342 | char-regex: 1.0.2 3343 | emojilib: 2.4.0 3344 | skin-tone: 2.0.0 3345 | 3346 | node-fetch@3.3.2: 3347 | dependencies: 3348 | data-uri-to-buffer: 4.0.1 3349 | fetch-blob: 3.2.0 3350 | formdata-polyfill: 4.0.10 3351 | 3352 | normalize-package-data@6.0.2: 3353 | dependencies: 3354 | hosted-git-info: 7.0.2 3355 | semver: 7.6.3 3356 | validate-npm-package-license: 3.0.4 3357 | 3358 | normalize-path@3.0.0: {} 3359 | 3360 | normalize-url@8.0.1: {} 3361 | 3362 | npm-run-path@4.0.1: 3363 | dependencies: 3364 | path-key: 3.1.1 3365 | 3366 | npm-run-path@5.3.0: 3367 | dependencies: 3368 | path-key: 4.0.0 3369 | 3370 | npm-run-path@6.0.0: 3371 | dependencies: 3372 | path-key: 4.0.0 3373 | unicorn-magic: 0.3.0 3374 | 3375 | npm@10.8.3: {} 3376 | 3377 | object-assign@4.1.1: {} 3378 | 3379 | onetime@5.1.2: 3380 | dependencies: 3381 | mimic-fn: 2.1.0 3382 | 3383 | onetime@6.0.0: 3384 | dependencies: 3385 | mimic-fn: 4.0.0 3386 | 3387 | p-each-series@3.0.0: {} 3388 | 3389 | p-filter@4.1.0: 3390 | dependencies: 3391 | p-map: 7.0.2 3392 | 3393 | p-is-promise@3.0.0: {} 3394 | 3395 | p-limit@1.3.0: 3396 | dependencies: 3397 | p-try: 1.0.0 3398 | 3399 | p-locate@2.0.0: 3400 | dependencies: 3401 | p-limit: 1.3.0 3402 | 3403 | p-map@7.0.2: {} 3404 | 3405 | p-reduce@3.0.0: {} 3406 | 3407 | p-try@1.0.0: {} 3408 | 3409 | package-json-from-dist@1.0.1: {} 3410 | 3411 | parent-module@1.0.1: 3412 | dependencies: 3413 | callsites: 3.1.0 3414 | 3415 | parse-json@4.0.0: 3416 | dependencies: 3417 | error-ex: 1.3.2 3418 | json-parse-better-errors: 1.0.2 3419 | 3420 | parse-json@5.2.0: 3421 | dependencies: 3422 | '@babel/code-frame': 7.24.7 3423 | error-ex: 1.3.2 3424 | json-parse-even-better-errors: 2.3.1 3425 | lines-and-columns: 1.2.4 3426 | 3427 | parse-json@8.1.0: 3428 | dependencies: 3429 | '@babel/code-frame': 7.24.7 3430 | index-to-position: 0.1.2 3431 | type-fest: 4.26.1 3432 | 3433 | parse-ms@4.0.0: {} 3434 | 3435 | parse5-htmlparser2-tree-adapter@6.0.1: 3436 | dependencies: 3437 | parse5: 6.0.1 3438 | 3439 | parse5@5.1.1: {} 3440 | 3441 | parse5@6.0.1: {} 3442 | 3443 | path-exists@3.0.0: {} 3444 | 3445 | path-key@3.1.1: {} 3446 | 3447 | path-key@4.0.0: {} 3448 | 3449 | path-scurry@1.11.1: 3450 | dependencies: 3451 | lru-cache: 10.4.3 3452 | minipass: 7.1.2 3453 | 3454 | path-type@4.0.0: {} 3455 | 3456 | path-type@5.0.0: {} 3457 | 3458 | pathe@1.1.2: {} 3459 | 3460 | pathval@2.0.0: {} 3461 | 3462 | picocolors@1.1.0: {} 3463 | 3464 | picomatch@2.3.1: {} 3465 | 3466 | picomatch@4.0.2: {} 3467 | 3468 | pify@3.0.0: {} 3469 | 3470 | pirates@4.0.6: {} 3471 | 3472 | pkg-conf@2.1.0: 3473 | dependencies: 3474 | find-up: 2.1.0 3475 | load-json-file: 4.0.0 3476 | 3477 | postcss-load-config@6.0.1(postcss@8.4.47): 3478 | dependencies: 3479 | lilconfig: 3.1.2 3480 | optionalDependencies: 3481 | postcss: 8.4.47 3482 | 3483 | postcss@8.4.47: 3484 | dependencies: 3485 | nanoid: 3.3.7 3486 | picocolors: 1.1.0 3487 | source-map-js: 1.2.1 3488 | 3489 | pretty-ms@9.1.0: 3490 | dependencies: 3491 | parse-ms: 4.0.0 3492 | 3493 | process-nextick-args@2.0.1: {} 3494 | 3495 | promise-limit@2.7.0: {} 3496 | 3497 | proto-list@1.2.4: {} 3498 | 3499 | punycode@2.3.1: {} 3500 | 3501 | queue-microtask@1.2.3: {} 3502 | 3503 | rc@1.2.8: 3504 | dependencies: 3505 | deep-extend: 0.6.0 3506 | ini: 1.3.8 3507 | minimist: 1.2.8 3508 | strip-json-comments: 2.0.1 3509 | 3510 | read-package-up@11.0.0: 3511 | dependencies: 3512 | find-up-simple: 1.0.0 3513 | read-pkg: 9.0.1 3514 | type-fest: 4.26.1 3515 | 3516 | read-pkg@9.0.1: 3517 | dependencies: 3518 | '@types/normalize-package-data': 2.4.4 3519 | normalize-package-data: 6.0.2 3520 | parse-json: 8.1.0 3521 | type-fest: 4.26.1 3522 | unicorn-magic: 0.1.0 3523 | 3524 | readable-stream@2.3.8: 3525 | dependencies: 3526 | core-util-is: 1.0.3 3527 | inherits: 2.0.4 3528 | isarray: 1.0.0 3529 | process-nextick-args: 2.0.1 3530 | safe-buffer: 5.1.2 3531 | string_decoder: 1.1.1 3532 | util-deprecate: 1.0.2 3533 | 3534 | readdirp@3.6.0: 3535 | dependencies: 3536 | picomatch: 2.3.1 3537 | 3538 | registry-auth-token@5.0.2: 3539 | dependencies: 3540 | '@pnpm/npm-conf': 2.3.1 3541 | 3542 | require-directory@2.1.1: {} 3543 | 3544 | resolve-from@4.0.0: {} 3545 | 3546 | resolve-from@5.0.0: {} 3547 | 3548 | reusify@1.0.4: {} 3549 | 3550 | rollup@4.22.4: 3551 | dependencies: 3552 | '@types/estree': 1.0.5 3553 | optionalDependencies: 3554 | '@rollup/rollup-android-arm-eabi': 4.22.4 3555 | '@rollup/rollup-android-arm64': 4.22.4 3556 | '@rollup/rollup-darwin-arm64': 4.22.4 3557 | '@rollup/rollup-darwin-x64': 4.22.4 3558 | '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 3559 | '@rollup/rollup-linux-arm-musleabihf': 4.22.4 3560 | '@rollup/rollup-linux-arm64-gnu': 4.22.4 3561 | '@rollup/rollup-linux-arm64-musl': 4.22.4 3562 | '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 3563 | '@rollup/rollup-linux-riscv64-gnu': 4.22.4 3564 | '@rollup/rollup-linux-s390x-gnu': 4.22.4 3565 | '@rollup/rollup-linux-x64-gnu': 4.22.4 3566 | '@rollup/rollup-linux-x64-musl': 4.22.4 3567 | '@rollup/rollup-win32-arm64-msvc': 4.22.4 3568 | '@rollup/rollup-win32-ia32-msvc': 4.22.4 3569 | '@rollup/rollup-win32-x64-msvc': 4.22.4 3570 | fsevents: 2.3.3 3571 | 3572 | run-parallel@1.2.0: 3573 | dependencies: 3574 | queue-microtask: 1.2.3 3575 | 3576 | safe-buffer@5.1.2: {} 3577 | 3578 | semantic-release@24.1.1(typescript@5.6.2): 3579 | dependencies: 3580 | '@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.1.1(typescript@5.6.2)) 3581 | '@semantic-release/error': 4.0.0 3582 | '@semantic-release/github': 10.3.5(semantic-release@24.1.1(typescript@5.6.2)) 3583 | '@semantic-release/npm': 12.0.1(semantic-release@24.1.1(typescript@5.6.2)) 3584 | '@semantic-release/release-notes-generator': 14.0.1(semantic-release@24.1.1(typescript@5.6.2)) 3585 | aggregate-error: 5.0.0 3586 | cosmiconfig: 9.0.0(typescript@5.6.2) 3587 | debug: 4.3.7 3588 | env-ci: 11.1.0 3589 | execa: 9.4.0 3590 | figures: 6.1.0 3591 | find-versions: 6.0.0 3592 | get-stream: 6.0.1 3593 | git-log-parser: 1.2.1 3594 | hook-std: 3.0.0 3595 | hosted-git-info: 8.0.0 3596 | import-from-esm: 1.3.4 3597 | lodash-es: 4.17.21 3598 | marked: 12.0.2 3599 | marked-terminal: 7.1.0(marked@12.0.2) 3600 | micromatch: 4.0.8 3601 | p-each-series: 3.0.0 3602 | p-reduce: 3.0.0 3603 | read-package-up: 11.0.0 3604 | resolve-from: 5.0.0 3605 | semver: 7.6.3 3606 | semver-diff: 4.0.0 3607 | signale: 1.4.0 3608 | yargs: 17.7.2 3609 | transitivePeerDependencies: 3610 | - supports-color 3611 | - typescript 3612 | 3613 | semver-diff@4.0.0: 3614 | dependencies: 3615 | semver: 7.6.3 3616 | 3617 | semver-regex@4.0.5: {} 3618 | 3619 | semver@7.6.3: {} 3620 | 3621 | shebang-command@2.0.0: 3622 | dependencies: 3623 | shebang-regex: 3.0.0 3624 | 3625 | shebang-regex@3.0.0: {} 3626 | 3627 | siginfo@2.0.0: {} 3628 | 3629 | signal-exit@3.0.7: {} 3630 | 3631 | signal-exit@4.1.0: {} 3632 | 3633 | signale@1.4.0: 3634 | dependencies: 3635 | chalk: 2.4.2 3636 | figures: 2.0.0 3637 | pkg-conf: 2.1.0 3638 | 3639 | skin-tone@2.0.0: 3640 | dependencies: 3641 | unicode-emoji-modifier-base: 1.0.0 3642 | 3643 | slash@5.1.0: {} 3644 | 3645 | source-map-js@1.2.1: {} 3646 | 3647 | source-map@0.6.1: {} 3648 | 3649 | source-map@0.8.0-beta.0: 3650 | dependencies: 3651 | whatwg-url: 7.1.0 3652 | 3653 | spawn-error-forwarder@1.0.0: {} 3654 | 3655 | spdx-correct@3.2.0: 3656 | dependencies: 3657 | spdx-expression-parse: 3.0.1 3658 | spdx-license-ids: 3.0.20 3659 | 3660 | spdx-exceptions@2.5.0: {} 3661 | 3662 | spdx-expression-parse@3.0.1: 3663 | dependencies: 3664 | spdx-exceptions: 2.5.0 3665 | spdx-license-ids: 3.0.20 3666 | 3667 | spdx-license-ids@3.0.20: {} 3668 | 3669 | split2@1.0.0: 3670 | dependencies: 3671 | through2: 2.0.5 3672 | 3673 | stackback@0.0.2: {} 3674 | 3675 | std-env@3.7.0: {} 3676 | 3677 | stream-combiner2@1.1.1: 3678 | dependencies: 3679 | duplexer2: 0.1.4 3680 | readable-stream: 2.3.8 3681 | 3682 | string-width@4.2.3: 3683 | dependencies: 3684 | emoji-regex: 8.0.0 3685 | is-fullwidth-code-point: 3.0.0 3686 | strip-ansi: 6.0.1 3687 | 3688 | string-width@5.1.2: 3689 | dependencies: 3690 | eastasianwidth: 0.2.0 3691 | emoji-regex: 9.2.2 3692 | strip-ansi: 7.1.0 3693 | 3694 | string_decoder@1.1.1: 3695 | dependencies: 3696 | safe-buffer: 5.1.2 3697 | 3698 | strip-ansi@6.0.1: 3699 | dependencies: 3700 | ansi-regex: 5.0.1 3701 | 3702 | strip-ansi@7.1.0: 3703 | dependencies: 3704 | ansi-regex: 6.1.0 3705 | 3706 | strip-bom@3.0.0: {} 3707 | 3708 | strip-final-newline@2.0.0: {} 3709 | 3710 | strip-final-newline@3.0.0: {} 3711 | 3712 | strip-final-newline@4.0.0: {} 3713 | 3714 | strip-json-comments@2.0.1: {} 3715 | 3716 | sucrase@3.35.0: 3717 | dependencies: 3718 | '@jridgewell/gen-mapping': 0.3.5 3719 | commander: 4.1.1 3720 | glob: 10.4.5 3721 | lines-and-columns: 1.2.4 3722 | mz: 2.7.0 3723 | pirates: 4.0.6 3724 | ts-interface-checker: 0.1.13 3725 | 3726 | super-regex@1.0.0: 3727 | dependencies: 3728 | function-timeout: 1.0.2 3729 | time-span: 5.1.0 3730 | 3731 | supports-color@5.5.0: 3732 | dependencies: 3733 | has-flag: 3.0.0 3734 | 3735 | supports-color@7.2.0: 3736 | dependencies: 3737 | has-flag: 4.0.0 3738 | 3739 | supports-hyperlinks@3.1.0: 3740 | dependencies: 3741 | has-flag: 4.0.0 3742 | supports-color: 7.2.0 3743 | 3744 | temp-dir@3.0.0: {} 3745 | 3746 | tempy@3.1.0: 3747 | dependencies: 3748 | is-stream: 3.0.0 3749 | temp-dir: 3.0.0 3750 | type-fest: 2.19.0 3751 | unique-string: 3.0.0 3752 | 3753 | thenify-all@1.6.0: 3754 | dependencies: 3755 | thenify: 3.3.1 3756 | 3757 | thenify@3.3.1: 3758 | dependencies: 3759 | any-promise: 1.3.0 3760 | 3761 | through2@2.0.5: 3762 | dependencies: 3763 | readable-stream: 2.3.8 3764 | xtend: 4.0.2 3765 | 3766 | time-span@5.1.0: 3767 | dependencies: 3768 | convert-hrtime: 5.0.0 3769 | 3770 | tinybench@2.9.0: {} 3771 | 3772 | tinyexec@0.3.0: {} 3773 | 3774 | tinyglobby@0.2.6: 3775 | dependencies: 3776 | fdir: 6.3.0(picomatch@4.0.2) 3777 | picomatch: 4.0.2 3778 | 3779 | tinypool@1.0.1: {} 3780 | 3781 | tinyrainbow@1.2.0: {} 3782 | 3783 | tinyspy@3.0.2: {} 3784 | 3785 | to-regex-range@5.0.1: 3786 | dependencies: 3787 | is-number: 7.0.0 3788 | 3789 | tr46@1.0.1: 3790 | dependencies: 3791 | punycode: 2.3.1 3792 | 3793 | traverse@0.6.8: {} 3794 | 3795 | tree-kill@1.2.2: {} 3796 | 3797 | ts-interface-checker@0.1.13: {} 3798 | 3799 | tsup@8.3.0(postcss@8.4.47)(typescript@5.6.2): 3800 | dependencies: 3801 | bundle-require: 5.0.0(esbuild@0.23.1) 3802 | cac: 6.7.14 3803 | chokidar: 3.6.0 3804 | consola: 3.2.3 3805 | debug: 4.3.7 3806 | esbuild: 0.23.1 3807 | execa: 5.1.1 3808 | joycon: 3.1.1 3809 | picocolors: 1.1.0 3810 | postcss-load-config: 6.0.1(postcss@8.4.47) 3811 | resolve-from: 5.0.0 3812 | rollup: 4.22.4 3813 | source-map: 0.8.0-beta.0 3814 | sucrase: 3.35.0 3815 | tinyglobby: 0.2.6 3816 | tree-kill: 1.2.2 3817 | optionalDependencies: 3818 | postcss: 8.4.47 3819 | typescript: 5.6.2 3820 | transitivePeerDependencies: 3821 | - jiti 3822 | - supports-color 3823 | - tsx 3824 | - yaml 3825 | 3826 | type-fest@1.4.0: {} 3827 | 3828 | type-fest@2.19.0: {} 3829 | 3830 | type-fest@4.26.1: {} 3831 | 3832 | typescript@5.6.2: {} 3833 | 3834 | uglify-js@3.19.3: 3835 | optional: true 3836 | 3837 | undici-types@6.19.8: {} 3838 | 3839 | unicode-emoji-modifier-base@1.0.0: {} 3840 | 3841 | unicorn-magic@0.1.0: {} 3842 | 3843 | unicorn-magic@0.3.0: {} 3844 | 3845 | unique-string@3.0.0: 3846 | dependencies: 3847 | crypto-random-string: 4.0.0 3848 | 3849 | universal-user-agent@7.0.2: {} 3850 | 3851 | universalify@2.0.1: {} 3852 | 3853 | url-join@5.0.0: {} 3854 | 3855 | util-deprecate@1.0.2: {} 3856 | 3857 | validate-npm-package-license@3.0.4: 3858 | dependencies: 3859 | spdx-correct: 3.2.0 3860 | spdx-expression-parse: 3.0.1 3861 | 3862 | vite-node@2.1.1(@types/node@22.7.3): 3863 | dependencies: 3864 | cac: 6.7.14 3865 | debug: 4.3.7 3866 | pathe: 1.1.2 3867 | vite: 5.4.8(@types/node@22.7.3) 3868 | transitivePeerDependencies: 3869 | - '@types/node' 3870 | - less 3871 | - lightningcss 3872 | - sass 3873 | - sass-embedded 3874 | - stylus 3875 | - sugarss 3876 | - supports-color 3877 | - terser 3878 | 3879 | vite@5.4.8(@types/node@22.7.3): 3880 | dependencies: 3881 | esbuild: 0.21.5 3882 | postcss: 8.4.47 3883 | rollup: 4.22.4 3884 | optionalDependencies: 3885 | '@types/node': 22.7.3 3886 | fsevents: 2.3.3 3887 | 3888 | vitest@2.1.1(@types/node@22.7.3): 3889 | dependencies: 3890 | '@vitest/expect': 2.1.1 3891 | '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.8(@types/node@22.7.3)) 3892 | '@vitest/pretty-format': 2.1.1 3893 | '@vitest/runner': 2.1.1 3894 | '@vitest/snapshot': 2.1.1 3895 | '@vitest/spy': 2.1.1 3896 | '@vitest/utils': 2.1.1 3897 | chai: 5.1.1 3898 | debug: 4.3.7 3899 | magic-string: 0.30.11 3900 | pathe: 1.1.2 3901 | std-env: 3.7.0 3902 | tinybench: 2.9.0 3903 | tinyexec: 0.3.0 3904 | tinypool: 1.0.1 3905 | tinyrainbow: 1.2.0 3906 | vite: 5.4.8(@types/node@22.7.3) 3907 | vite-node: 2.1.1(@types/node@22.7.3) 3908 | why-is-node-running: 2.3.0 3909 | optionalDependencies: 3910 | '@types/node': 22.7.3 3911 | transitivePeerDependencies: 3912 | - less 3913 | - lightningcss 3914 | - msw 3915 | - sass 3916 | - sass-embedded 3917 | - stylus 3918 | - sugarss 3919 | - supports-color 3920 | - terser 3921 | 3922 | web-streams-polyfill@3.3.3: {} 3923 | 3924 | webidl-conversions@4.0.2: {} 3925 | 3926 | whatwg-url@7.1.0: 3927 | dependencies: 3928 | lodash.sortby: 4.7.0 3929 | tr46: 1.0.1 3930 | webidl-conversions: 4.0.2 3931 | 3932 | which@2.0.2: 3933 | dependencies: 3934 | isexe: 2.0.0 3935 | 3936 | why-is-node-running@2.3.0: 3937 | dependencies: 3938 | siginfo: 2.0.0 3939 | stackback: 0.0.2 3940 | 3941 | wordwrap@1.0.0: {} 3942 | 3943 | wrap-ansi@7.0.0: 3944 | dependencies: 3945 | ansi-styles: 4.3.0 3946 | string-width: 4.2.3 3947 | strip-ansi: 6.0.1 3948 | 3949 | wrap-ansi@8.1.0: 3950 | dependencies: 3951 | ansi-styles: 6.2.1 3952 | string-width: 5.1.2 3953 | strip-ansi: 7.1.0 3954 | 3955 | ws@8.18.0: {} 3956 | 3957 | xtend@4.0.2: {} 3958 | 3959 | y18n@5.0.8: {} 3960 | 3961 | yargs-parser@20.2.9: {} 3962 | 3963 | yargs-parser@21.1.1: {} 3964 | 3965 | yargs@16.2.0: 3966 | dependencies: 3967 | cliui: 7.0.4 3968 | escalade: 3.2.0 3969 | get-caller-file: 2.0.5 3970 | require-directory: 2.1.1 3971 | string-width: 4.2.3 3972 | y18n: 5.0.8 3973 | yargs-parser: 20.2.9 3974 | 3975 | yargs@17.7.2: 3976 | dependencies: 3977 | cliui: 8.0.1 3978 | escalade: 3.2.0 3979 | get-caller-file: 2.0.5 3980 | require-directory: 2.1.1 3981 | string-width: 4.2.3 3982 | y18n: 5.0.8 3983 | yargs-parser: 21.1.1 3984 | 3985 | yoctocolors@2.1.1: {} 3986 | --------------------------------------------------------------------------------