diff --git a/packages/client/package.json b/packages/client/package.json index d05a88ba..225ead48 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -88,6 +88,7 @@ }, "dependencies": { "@grpc/grpc-js": "^1.9.9", + "@lakehouse-rs/flight-sql-client": "^0.0.10", "@protobuf-ts/grpc-transport": "^2.9.1", "@protobuf-ts/grpcweb-transport": "^2.9.1", "@protobuf-ts/runtime-rpc": "^2.9.1", diff --git a/packages/client/src/impl/QueryApiImpl.ts b/packages/client/src/impl/QueryApiImpl.ts index 6b025780..d0bfd5d3 100644 --- a/packages/client/src/impl/QueryApiImpl.ts +++ b/packages/client/src/impl/QueryApiImpl.ts @@ -88,9 +88,11 @@ export default class QueryApiImpl implements QueryApi { const meta = this.prepareMetadata(options.headers) const rpcOptions: RpcOptions = {meta} - + const getStart = Date.now(); const flightDataStream = client.doGet(ticket, rpcOptions) - + const getEnd = Date.now(); + console.log(`get time: ${getEnd - getStart}ms`); + const start = Date.now(); const binaryStream = (async function* () { for await (const flightData of flightDataStream.responses) { // Include the length of dataHeader for the reader. @@ -102,7 +104,8 @@ export default class QueryApiImpl implements QueryApi { })() const reader = await RecordBatchReader.from(binaryStream) - + const end = Date.now(); + console.log(`record batch reader time: ${end - start}ms`); yield* reader } @@ -112,7 +115,7 @@ export default class QueryApiImpl implements QueryApi { options: QueryOptions ): AsyncGenerator, void, void> { const batches = this._queryRawBatches(query, database, options) - + const start = Date.now(); for await (const batch of batches) { const row: Record = {} for (const batchRow of batch) { @@ -122,8 +125,11 @@ export default class QueryApiImpl implements QueryApi { yield row } } + const end = Date.now(); + console.log(`query response time: ${end - start}ms`); } + async *queryPoints( query: string, database: string, diff --git a/packages/client/test/integration/client.ts b/packages/client/test/integration/client.ts new file mode 100644 index 00000000..c1850891 --- /dev/null +++ b/packages/client/test/integration/client.ts @@ -0,0 +1,137 @@ +import {InfluxDBClient} from '../../src' +import { ClientOptions, createFlightSqlClient } from '@lakehouse-rs/flight-sql-client'; +import {RecordBatchReader, tableFromIPC} from 'apache-arrow'; + +/* +const DB_HOST = process.env.HOST; +const DB_TOKEN = process.env.TOKEN; +const DB_DB = process.env.BUCKET_NAME; +*/ +const DB_HOST = "https://us-east-1-1.aws.cloud2.influxdata.com"; +const DB_TOKEN = "jGVT56tt_eeD7WDfh0y945R6r54k3XYmdLWLjJU0vpWsJbS7PqbwLFX58vfgucEOx5jr_B9v6Ap-myu4oVnirg=="; +const DB_DB = "samans-bucket"; + +//query = `SELECT usage_user FROM "cpu_host_max" WHERE time > now() - interval '60 minute'`; //This takes ~0.26 seconds +//const queryShort = `SELECT * FROM win_cpu WHERE time > now() - interval '3 hours'`; //This takes 2+ seconds +const queryLong = `SELECT * FROM win_cpu WHERE time > now() - interval '2 days'`; //This takes 8+ seconds + +describe('benchmark', () => { + it('query data', async () => { + // Create an instance of InfluxDB client + const client = new InfluxDBClient({ + host: DB_HOST, + token: DB_TOKEN, + database: DB_DB + }); + + const run = async (query: string, limit: number) => { + console.log(`running - ${query}`); + + let totalTime = 0; + const arr = []; + for (let i = 0; i < 5; i++) { + const start = Date.now(); + try { + const result = await client.query(query); + //const result = await client.queryPoints(query); + console.log(`reading start`) + for await (const val of result) { + arr.push(val); + } + } catch (error) { + console.error('Error executing query:', error); + } + + //fs.writeFileSync('output.txt', JSON.stringify(arr)); + const end = Date.now(); + const elapsed = (end - start) / 1000; + console.log(`iter: ${i} \t ${elapsed.toFixed(6)}s`); + totalTime += elapsed; + } + console.log(`avg time: ${(totalTime / 5).toFixed(6)}s`); + } + var limit : number = 0; + + + + for (let n = 1; n <= 2; n += 500) { + await run(queryLong, limit); + await new Promise((resolve) => setTimeout(resolve, 10000)); + } + }).timeout(300_000) + it('query data Flight Recordbatchreader', async () => { + const options: ClientOptions = { + tls: true, + //host: DB_HOST, + host: "us-east-1-1.aws.cloud2.influxdata.com", + port: 443, + token: DB_TOKEN, + headers: [{key: "database", value: DB_DB}], + }; + console.log("creating client"); + const client = await createFlightSqlClient(options); + console.log("executing query"); + const start = Date.now(); + const buffer = await client.query(queryLong); + const after = Date.now(); + console.log("converting to table"); + const batches = await RecordBatchReader.from(buffer); + var rows = []; + for await (const batch of batches) { + const row: Record = {} + for (const batchRow of batch) { + for (const column of batch.schema.fields) { + row[column.name] = batchRow[column.name] + } + rows.push(row); + } + } + //const table = tableFromIPC(buffer); + const end = Date.now(); + console.log(`query time: ${after - start}ms`); + console.log(`table time: ${end - after}ms`); + //console.log(table); + console.log(`rows: ${rows.length}`); + }).timeout(300_000) + it('query data Flight tablefromIpc', async () => { + const options: ClientOptions = { + tls: true, + //host: DB_HOST, + host: "us-east-1-1.aws.cloud2.influxdata.com", + port: 443, + token: DB_TOKEN, + headers: [{key: "database", value: DB_DB}], + }; + console.log("creating client"); + const client = await createFlightSqlClient(options); + console.log("executing query"); + const start = Date.now(); + const buffer = await client.query(queryLong); + const after = Date.now(); + console.log("converting to table"); + const table = tableFromIPC(buffer); + + var rows = []; + for await (const batch of table.batches) { + const row: Record = {} + for (const batchRow of batch) { + for (const column of batch.schema.fields) { + row[column.name] = batchRow[column.name] + } + rows.push(row); + } + } + + const end = Date.now(); + console.log(`query time: ${after - start}ms`); + console.log(`table time: ${end - after}ms`); + //console.log(table); + console.log(`table schema: ${table.schema}`); + console.log(`rows: ${rows.length}`); + }).timeout(300_000) + +}) + +describe('flight-sql-client', () => { + +}) diff --git a/yarn.lock b/yarn.lock index d18d04c0..7a82c1cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -491,6 +491,18 @@ resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@isaacs/string-locale-compare@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" @@ -586,6 +598,86 @@ resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== +"@lakehouse-rs/flight-sql-client-android-arm-eabi@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-android-arm-eabi/-/flight-sql-client-android-arm-eabi-0.0.10.tgz#78d91d979c1d111cd2b3e4613d71a759d4c276f5" + integrity sha512-FSats/tFyqMcfLLUcvSxnrm5KT17yJAfel8dPUO9V3Whv/MYrEOpAsrcweqNTgralzZigSw19XYg0OxHHbeveg== + +"@lakehouse-rs/flight-sql-client-android-arm64@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-android-arm64/-/flight-sql-client-android-arm64-0.0.10.tgz#c9097886b6076fc53cbd3f500e4e2741e8531047" + integrity sha512-SM0b49oUlx6IiYOj87Y7C5V4caLf1SDiKu7XNYsgaFaBT1cyCKjkcAsfB2PWMmmhKsgp/UkofKHd+d0OzUdJkA== + +"@lakehouse-rs/flight-sql-client-darwin-arm64@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-darwin-arm64/-/flight-sql-client-darwin-arm64-0.0.10.tgz#09b46fc9877ab3c5a293a4337d7d9881e74f7679" + integrity sha512-vGvxWUUQiP8xpDYrSVoYnB9w6R2HloR0Fjuyn8orTy/MxI5duK5uyOvkwM2BkBmU52aLAGCvVzfHnF86oIZRRQ== + +"@lakehouse-rs/flight-sql-client-darwin-x64@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-darwin-x64/-/flight-sql-client-darwin-x64-0.0.10.tgz#e31e52c5ba598b46191dece5b707bf530aeef39b" + integrity sha512-GG798Nd2RwSQwJF7lD2p6WjMP2LGtFt0jLzVBHKvr9WeACufOUgqoEeo8UWcAhNRtv0/kQLoieM3D0ytC9dgLg== + +"@lakehouse-rs/flight-sql-client-freebsd-x64@0.0.10": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-freebsd-x64/-/flight-sql-client-freebsd-x64-0.0.7.tgz#772289873234994a338d3878ae062aa5de737da6" + integrity sha512-XVErUhgidw3GPVrbI14HPOmkIV8r6bF6SUdemN+8n/6ldF0xDsgdjwWGj9PBUkEwn6tZkfjafF4UsQyLJ/UUEQ== + +"@lakehouse-rs/flight-sql-client-linux-arm-gnueabihf@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-linux-arm-gnueabihf/-/flight-sql-client-linux-arm-gnueabihf-0.0.10.tgz#89e50c576d6fef0fd38d6764907832fb7f31cb52" + integrity sha512-mwV0cXYzxgbK3cDZim+zyMfB5MhYuSZAapgeVYoNjtmDaWDDZNd4k5aOqdYAq6N0HTAYvxZ3CLaYowJoy+3vmg== + +"@lakehouse-rs/flight-sql-client-linux-arm64-gnu@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-linux-arm64-gnu/-/flight-sql-client-linux-arm64-gnu-0.0.10.tgz#5a81f1c5ae8f9f2a6fd5caa9f233ad057ba10eb3" + integrity sha512-YUG06GgSWrXfwcfK38q4Uvxe4zp30cE9Z0ElXrty0x49VchtYAR2GeenPtUAYJ8ebslan7pWzErfxKKz6QDvSA== + +"@lakehouse-rs/flight-sql-client-linux-arm64-musl@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-linux-arm64-musl/-/flight-sql-client-linux-arm64-musl-0.0.10.tgz#ca168799f41262ac273ab939a4b4949a5ca96003" + integrity sha512-6iVOb8wHjgsAMJkdHb01LE0wof3hv68kjYOtMFF7DJwLZBWXqLInN0iHOK0/U13EWKEnGD25JjyVbaq3he7OgQ== + +"@lakehouse-rs/flight-sql-client-linux-x64-gnu@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-linux-x64-gnu/-/flight-sql-client-linux-x64-gnu-0.0.10.tgz#9df7201836b1babbbe8a65446ca00606abf1833f" + integrity sha512-31YEbhfdURz/FTpF427XARMiAnbEonvbEXgRRpVAcMe/ANvKofVKicGvTH/IG2qNUwbqobD4mjQdfQhM3CqVyg== + +"@lakehouse-rs/flight-sql-client-linux-x64-musl@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-linux-x64-musl/-/flight-sql-client-linux-x64-musl-0.0.10.tgz#b513dfc32da16abd38e89261f728239837191d5c" + integrity sha512-bjJ8miz+OwXow0AU0MRIicCtLJzHD9A/SlERtvo9KvOhjjQPTjUV5vzZTNoyJLvSs0Rw/lfsJb9Xib8EIiuvuQ== + +"@lakehouse-rs/flight-sql-client-win32-ia32-msvc@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-win32-ia32-msvc/-/flight-sql-client-win32-ia32-msvc-0.0.10.tgz#f77e3e294855a9d6a58f735f17e24811b2f523d0" + integrity sha512-A0qZVDD9mRaevgry8KuuDt7DyNQ8YdwTSFe+KYXHCK9u21nibjTuh9A66cDOVNPwVOt5BFC9wRX0NlVMVIcZ0Q== + +"@lakehouse-rs/flight-sql-client-win32-x64-msvc@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client-win32-x64-msvc/-/flight-sql-client-win32-x64-msvc-0.0.10.tgz#80f33bba748058d360674a7ca4adc20de9a97774" + integrity sha512-RSc8xFGh8SSBSwgb4inAasb5ri2hsIcf4PPbpzBlAx+o/WcWnvxpE1zGReOX/0+aFPKLS6I+w4Hk3Zoh9yv0Fg== + +"@lakehouse-rs/flight-sql-client@^0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@lakehouse-rs/flight-sql-client/-/flight-sql-client-0.0.10.tgz#82d80d5565bfc5add6b8a8a590688dadb66ab250" + integrity sha512-a+4rshqmgpQcgXaWSRv6KkzJdOHsOBP5wqu/NK9DaMPvswNlWaDS49xEdwqZw9Y1UE2GXJVQ1fCQpyWEN+d+sA== + dependencies: + apache-arrow "^14.0.1" + optionalDependencies: + "@lakehouse-rs/flight-sql-client-android-arm-eabi" "0.0.10" + "@lakehouse-rs/flight-sql-client-android-arm64" "0.0.10" + "@lakehouse-rs/flight-sql-client-darwin-arm64" "0.0.10" + "@lakehouse-rs/flight-sql-client-darwin-x64" "0.0.10" + "@lakehouse-rs/flight-sql-client-freebsd-x64" "0.0.10" + "@lakehouse-rs/flight-sql-client-linux-arm-gnueabihf" "0.0.10" + "@lakehouse-rs/flight-sql-client-linux-arm64-gnu" "0.0.10" + "@lakehouse-rs/flight-sql-client-linux-arm64-musl" "0.0.10" + "@lakehouse-rs/flight-sql-client-linux-x64-gnu" "0.0.10" + "@lakehouse-rs/flight-sql-client-linux-x64-musl" "0.0.10" + "@lakehouse-rs/flight-sql-client-win32-ia32-msvc" "0.0.10" + "@lakehouse-rs/flight-sql-client-win32-x64-msvc" "0.0.10" + "@lerna/create@8.1.9": version "8.1.9" resolved "https://registry.yarnpkg.com/@lerna/create/-/create-8.1.9.tgz#6ab7b8514a9a200a4bacb7fa6cf6f01d82d3a154" @@ -1455,11 +1547,21 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== +"@types/command-line-args@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.0.tgz#adbb77980a1cc376bb208e3f4142e907410430f6" + integrity sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA== + "@types/command-line-args@^5.2.3": version "5.2.3" resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== +"@types/command-line-usage@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.2.tgz#ba5e3f6ae5a2009d466679cc431b50635bf1a064" + integrity sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg== + "@types/command-line-usage@^5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" @@ -1490,6 +1592,11 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== +"@types/node@20.3.0": + version "20.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.0.tgz#719498898d5defab83c3560f45d8498f58d11938" + integrity sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ== + "@types/node@>=13.7.0", "@types/node@^22": version "22.10.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" @@ -1509,6 +1616,11 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== +"@types/pad-left@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/pad-left/-/pad-left-2.1.1.tgz#17d906fc75804e1cc722da73623f1d978f16a137" + integrity sha512-Xd22WCRBydkGSApl5Bw0PhAOHKSVjNL3E3AwzKaps96IMraPqy5BvZIsBVK6JLwdybUzjHnuWVwpDd0JjTfHXA== + "@types/sinon@^17.0.0": version "17.0.3" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-17.0.3.tgz#9aa7e62f0a323b9ead177ed23a36ea757141a5fa" @@ -1744,6 +1856,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -1763,6 +1880,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -1776,6 +1898,22 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +apache-arrow@^14.0.1: + version "14.0.2" + resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-14.0.2.tgz#737f7b8211ef99a2c137dcc9d2001b469efb0344" + integrity sha512-EBO2xJN36/XoY81nhLcwCJgFwkboDZeyNQ+OPsG7bCoQjc2BT0aTyH/MR6SrL+LirSNz+cYqjGRlupMMlP1aEg== + dependencies: + "@types/command-line-args" "5.2.0" + "@types/command-line-usage" "5.0.2" + "@types/node" "20.3.0" + "@types/pad-left" "2.1.1" + command-line-args "5.2.1" + command-line-usage "7.0.1" + flatbuffers "23.5.26" + json-bignum "^0.0.3" + pad-left "^2.1.0" + tslib "^2.5.3" + apache-arrow@^18.0.0: version "18.0.0" resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-18.0.0.tgz#a187bd55318a7a68b6ff09835d05e89e019eba2e" @@ -2281,7 +2419,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -command-line-args@^5.2.1: +command-line-args@5.2.1, command-line-args@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== @@ -2291,7 +2429,7 @@ command-line-args@^5.2.1: lodash.camelcase "^4.3.0" typical "^4.0.0" -command-line-usage@^7.0.0, command-line-usage@^7.0.1: +command-line-usage@7.0.1, command-line-usage@^7.0.0, command-line-usage@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-7.0.1.tgz#e540afef4a4f3bc501b124ffde33956309100655" integrity sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ== @@ -2623,6 +2761,11 @@ duplexer@^0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ejs@^3.1.7: version "3.1.10" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -2645,6 +2788,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -3031,6 +3179,11 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== +flatbuffers@23.5.26: + version "23.5.26" + resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.5.26.tgz#01358e272a61239f0faf3bfbe4e014f3ace9d746" + integrity sha512-vE+SI9vrJDwi1oETtTIFldC/o9GsVKRM+s6EL0nQgxXlYV1Vc4Tk30hj4xGICftInKQKj1F3up2n8UbIVobISQ== + flatbuffers@^24.3.25: version "24.3.25" resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-24.3.25.tgz#e2f92259ba8aa53acd0af7844afb7c7eb95e7089" @@ -3788,12 +3941,12 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jackspeak@2.1.1, jackspeak@^2.3.5: - version "2.1.1" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.1.1.tgz#2a42db4cfbb7e55433c28b6f75d8b796af9669cd" - integrity sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw== +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== dependencies: - cliui "^8.0.1" + "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" @@ -5101,6 +5254,13 @@ pacote@^18.0.0, pacote@^18.0.6: ssri "^10.0.0" tar "^6.1.11" +pad-left@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pad-left/-/pad-left-2.1.0.tgz#16e6a3b2d44a8e138cb0838cc7cb403a4fc9e994" + integrity sha512-HJxs9K9AztdIQIAIa/OIazRAUW/L6B9hbQDxO4X07roW3eo9XqZc2ur9bn1StH9CnbbI9EgvejHQX7CBpCF1QA== + dependencies: + repeat-string "^1.5.4" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -5521,6 +5681,11 @@ release-zalgo@^1.0.0: dependencies: es6-error "^4.0.1" +repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5889,6 +6054,15 @@ string-argv@~0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -5898,6 +6072,15 @@ string-argv@~0.3.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -5912,6 +6095,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -5919,6 +6109,13 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -6212,6 +6409,11 @@ tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.2: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.5.3: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsup@^8.0.1: version "8.3.5" resolved "https://registry.yarnpkg.com/tsup/-/tsup-8.3.5.tgz#d55344e4756e924bf6f442e54e7d324b4471eee0" @@ -6494,6 +6696,15 @@ workerpool@^6.5.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -6512,6 +6723,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"