From 6b41cfffabc8499e9058784f2b15580c347ff0fe Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Mon, 4 Dec 2023 21:05:36 +0000 Subject: [PATCH] feat: simplify api, add events iterator - callbacks input is not `MaybeResult` anymore just the the data directly. Any error parsing from server is emitted async - add iterator version of network events closes #71 --- package.json | 2 +- packages/homestar/package.json | 8 +- packages/homestar/pw-test.config.js | 40 +- packages/homestar/readme.md | 4 + packages/homestar/src/index.js | 237 +++--- packages/homestar/test/homestar.test.js | 140 +++- packages/homestar/test/wasmify.node.test.js | 26 +- pnpm-lock.yaml | 878 ++++++++++---------- 8 files changed, 733 insertions(+), 602 deletions(-) diff --git a/package.json b/package.json index d1ba1e8..2bbb664 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@fission-codes/eslint-config": "workspace:^", "depcheck": "^1.4.7", - "lint-staged": "^15.0.2", + "lint-staged": "^15.2.0", "prettier": "3.1.0", "simple-git-hooks": "^2.9.0", "typedoc": "^0.25.4", diff --git a/packages/homestar/package.json b/packages/homestar/package.json index c243cdc..42c6233 100644 --- a/packages/homestar/package.json +++ b/packages/homestar/package.json @@ -90,17 +90,17 @@ "@bytecodealliance/componentize-js": "^0.4.1", "@types/get-value": "^3.0.5", "@types/json-templates": "^3.0.3", - "@types/node": "^20.10.0", + "@types/node": "^20.10.3", "@types/object-path": "^0.11.4", "execa": "^8.0.1", - "homestar-runtime": "^0.0.8", + "homestar-runtime": "rc", "iso-base": "^2.0.1", - "kubo-rpc-client": "^3.0.1", + "kubo-rpc-client": "^3.0.2", "p-defer": "^4.0.0", "playwright-test": "^14.0.0", "tempy": "^3.1.0", "testcontainers": "^10.3.2", - "type-fest": "^4.8.2", + "type-fest": "^4.8.3", "unws": "^0.2.4", "ws": "^8.14.2" }, diff --git a/packages/homestar/pw-test.config.js b/packages/homestar/pw-test.config.js index adf9710..81bed90 100644 --- a/packages/homestar/pw-test.config.js +++ b/packages/homestar/pw-test.config.js @@ -98,21 +98,17 @@ async function startHomestar(httpPort) { await fs.writeFile( config1, ` -[monitoring] -process_collector_interval = 500 -console_subscriber_port = 5600 - - [node] +[node.network.metrics] +port = 4020 + +[node.network.rpc] +port = 9820 -[node.network] -metrics_port = 4060 -events_buffer_len = 1000 -rpc_port = 9840 -webserver_port = 8060 +[node.network.webserver] +port = 8020 [node.network.ipfs] -host = '127.0.0.1' port = ${httpPort} ` ) @@ -131,21 +127,17 @@ port = ${httpPort} await fs.writeFile( config2, ` -[monitoring] -process_collector_interval = 500 -console_subscriber_port = 5600 - - [node] +[node.network.metrics] +port = 4030 + +[node.network.rpc] +port = 9830 -[node.network] -metrics_port = 4070 -events_buffer_len = 1000 -rpc_port = 9850 -webserver_port = 8070 +[node.network.webserver] +port = 8030 [node.network.ipfs] -host = '127.0.0.1' port = ${httpPort} ` ) @@ -159,8 +151,8 @@ port = ${httpPort} return { hs1, hs2, - hs1Url: 'ws://localhost:8060', - hs2Url: 'ws://localhost:8070', + hs1Url: 'ws://127.0.0.1:8020', + hs2Url: 'ws://127.0.0.1:8030', } } /** diff --git a/packages/homestar/readme.md b/packages/homestar/readme.md index af06a4f..1fc631a 100644 --- a/packages/homestar/readme.md +++ b/packages/homestar/readme.md @@ -27,6 +27,10 @@ const hs = new Homestar({ }), }) +hs.on('error', (error) => { + console.error(error) +}) + const { error, result } = await hs.metrics() if (error) { console.error(error) diff --git a/packages/homestar/src/index.js b/packages/homestar/src/index.js index a08c536..0a73749 100644 --- a/packages/homestar/src/index.js +++ b/packages/homestar/src/index.js @@ -29,6 +29,8 @@ import * as Schemas from './schemas.js' * @typedef {import('./types.js').EventNotificationError} EventNotificationError */ +const noop = () => {} + /** * @class Homestar * @extends {Emittery} @@ -54,16 +56,48 @@ export class Homestar extends Emittery { }) } + /** + * + * @param {string} method + * @param {string} subId + */ + #unsubscribe(method, subId) { + this.#channel + .request({ + method, + params: [subId], + }) + .then( + (res) => { + if (res.error) { + return this.emit( + 'error', + new Error(`Failed to unsubscribe ${method} with id ${subId}`, { + cause: res.error, + }) + ) + } + }, + (error) => { + this.emit('error', error) + } + ) + } + /** * Homestar Prometheus metrics * - * @returns {Promise>} + * @returns {Promise>} */ async metrics() { const res = await this.#channel.request({ method: 'metrics', }) + if (res.error) { + return { error: res.error } + } + const parsed = Schemas.Metrics.safeParse(res.result) if (parsed.success) { @@ -78,13 +112,17 @@ export class Homestar extends Emittery { /** * Homestar Health info * - * @returns {Promise>} + * @returns {Promise>} */ async health() { const res = await this.#channel.request({ method: 'health', }) + if (res.error) { + return { error: res.error } + } + const parsed = Schemas.Health.safeParse(res.result) if (parsed.success) { @@ -97,12 +135,13 @@ export class Homestar extends Emittery { } /** - * Subscribe to a workflow + * Run a workflow * * @param {import('./workflow/index.js').Workflow} workflow - * @param {(data: MaybeResult)=>void} [receiptCb] - Callback for workflow notifications + * @param {(data: Schemas.WorkflowNotification)=>void} [receiptCb] - Callback for workflow receipts + * @returns {Promise>} */ - async runWorkflow(workflow, receiptCb) { + async runWorkflow(workflow, receiptCb = noop) { const res = /** @type {MaybeResult} */ ( await this.#channel.request({ method: 'subscribe_run_workflow', @@ -111,116 +150,128 @@ export class Homestar extends Emittery { }) ) - if (res.result !== undefined) { - const tasksCount = workflow.workflow.tasks.length - let receiptCount = 0 - const subId = res.result - /** @type {import('emittery').UnsubscribeFunction} */ - let unsub - - if (receiptCb) { - unsub = this.#channel.on( - 'notification', - // @ts-ignore - (/** @type {SubscriptionNotification} */ data) => { - if (data.subscription === subId) { - receiptCount++ - const decoded = decode(new Uint8Array(data.result)) - const r = Schemas.WorkflowNotification.safeParse(decoded) - if (r.success === false) { - receiptCb({ error: r.error }) - } else { - receiptCb({ result: r.data }) - } + if (res.error) { + return { error: res.error } + } - if (tasksCount === receiptCount) { - unsub() - this.#channel - .request({ - method: 'unsubscribe_run_workflow', - params: [subId], - }) - .then( - (res) => { - if (res.error) { - return this.emit('error', res.error) - } - }, - (error) => { - this.emit('error', error) - } - ) - } - } + let receiptCount = 0 + const tasksCount = workflow.workflow.tasks.length + const subId = res.result + /** @type {import('emittery').UnsubscribeFunction} */ + const unsub = this.#channel.on( + 'notification', + // @ts-ignore + (/** @type {SubscriptionNotification} */ data) => { + if (data.subscription === subId) { + receiptCount++ + const decoded = decode(new Uint8Array(data.result)) + const r = Schemas.WorkflowNotification.safeParse(decoded) + + if (r.success === false) { + this.emit('error', r.error) + } else { + receiptCb(r.data) } - ) - } - return { - result: subId, + + if (tasksCount === receiptCount) { + unsub() + this.#unsubscribe('unsubscribe_run_workflow', subId) + } + } } - } + ) - return { error: res.error } + return { result: undefined } } /** * Subscribe to a network events * - * @param {(data: MaybeResult)=>void} [receiptCb] - Callback for network events + * @param {(data: Schemas.EventNotification)=>void} [eventCb] - Callback for network events + * @returns {Promise void, Error>>} */ - async networkEvents(receiptCb) { + async networkEvents(eventCb = noop) { const res = /** @type {MaybeResult} */ ( await this.#channel.request({ method: 'subscribe_network_events', }) ) - if (res.result !== undefined) { - const subId = res.result - /** @type {import('emittery').UnsubscribeFunction} */ - let unsub - - if (receiptCb) { - unsub = this.#channel.on( - 'notification', - // @ts-ignore - (/** @type {SubscriptionNotification} */ data) => { - if (data.subscription === subId) { - const decoded = decode(new Uint8Array(data.result)) - const r = Schemas.EventNotification.safeParse(decoded) - if (r.success === false) { - receiptCb({ error: r.error }) - } else { - receiptCb({ result: r.data }) - } - } + if (res.error) { + return { error: res.error } + } + + const subId = res.result + /** @type {import('emittery').UnsubscribeFunction} */ + const unsub = this.#channel.on( + 'notification', + // @ts-ignore + (/** @type {SubscriptionNotification} */ data) => { + if (data.subscription === subId) { + const decoded = decode(new Uint8Array(data.result)) + const r = Schemas.EventNotification.safeParse(decoded) + if (r.success === false) { + this.emit('error', r.error) + } else { + eventCb(r.data) } - ) + } } - return { - result: subId, - unsub: () => { - unsub() - this.#channel - .request({ - method: 'unsubscribe_network_events', - params: [subId], - }) - .then( - (res) => { - if (res.error) { - return this.emit('error', res.error) + ) + + return { + result: () => { + unsub() + this.#unsubscribe('unsubscribe_network_events', subId) + }, + } + } + + /** + * Subscribe to a network events iterator + * + * @returns {Promise, Error>>} + */ + async networkEventsIterator() { + const res = /** @type {MaybeResult} */ ( + await this.#channel.request({ + method: 'subscribe_network_events', + }) + ) + + if (res.error) { + return { error: res.error } + } + + const subId = res.result + const notifications = + /** @type {AsyncIterableIterator} */ ( + this.#channel.events('notification') + ) + // eslint-disable-next-line unicorn/no-this-assignment + const instance = this + + return { + result: { + async *[Symbol.asyncIterator]() { + try { + for await (const notification of notifications) { + if (notification.subscription === subId) { + const decoded = decode(new Uint8Array(notification.result)) + const r = Schemas.EventNotification.safeParse(decoded) + if (r.success === false) { + instance.emit('error', r.error) + } else { + yield r.data } - }, - (error) => { - this.emit('error', error) } - ) + } + } finally { + instance.#unsubscribe('unsubscribe_network_events', subId) + } }, - } + }, } - - return { error: res.error } } /** diff --git a/packages/homestar/test/homestar.test.js b/packages/homestar/test/homestar.test.js index 21f77f3..265a903 100644 --- a/packages/homestar/test/homestar.test.js +++ b/packages/homestar/test/homestar.test.js @@ -11,7 +11,8 @@ import * as Schemas from '../src/schemas.js' import { addFileToIPFS, getImgBlob } from './utils.js' const test = suite('homestar') -const wsUrl = 'ws://localhost:8060' +const HS1_URL = process.env.HS1_URL || 'ws://localhost:8020' +const HS2_URL = process.env.HS2_URL || 'ws://localhost:8030' /** * @type {string} @@ -33,7 +34,7 @@ test( 'should fetch metrics from homestar', async function () { const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -55,7 +56,7 @@ test( 'should fetch health from homestar', async function () { const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -82,7 +83,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -106,19 +107,14 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow, (data) => { - if (data.error) { - return prom.reject(data.error) - } - prom.resolve(data.result) + const { error } = await hs.runWorkflow(workflow, (data) => { + prom.resolve(data) }) if (error) { return assert.fail(error) } - assert.ok(typeof result === 'string') - const r = await prom.promise assert.equal(r.metadata.name, 'subs') hs.close() @@ -134,7 +130,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -159,19 +155,14 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow, (data) => { - if (data.error) { - return prom.reject(data.error) - } - prom.resolve(data.result) + const { error } = await hs.runWorkflow(workflow, (data) => { + prom.resolve(data) }) if (error) { return assert.fail(error) } - assert.ok(typeof result === 'string') - const { receipt } = await prom.promise assert.equal(receipt.meta.op, 'crop-base64') @@ -193,7 +184,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -229,7 +220,7 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow, (data) => { + const { error } = await hs.runWorkflow(workflow, (data) => { count++ if (count === 2) { prom.resolve(2) @@ -240,8 +231,6 @@ test( return assert.fail(error) } - assert.ok(typeof result === 'string') - await prom.promise assert.equal(count, 2) hs.close() @@ -257,7 +246,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -290,7 +279,7 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow, (data) => { + const { error } = await hs.runWorkflow(workflow, (data) => { count++ if (count === 2) { prom.resolve(2) @@ -302,8 +291,6 @@ test( return assert.fail(error) } - assert.ok(typeof result === 'string') - await prom.promise assert.equal(count, 2) hs.close() @@ -320,7 +307,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -364,10 +351,10 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow, (data) => { + const { error } = await hs.runWorkflow(workflow, (data) => { count++ if (count === 4) { - prom.resolve(data.result?.receipt.out[1]) + prom.resolve(data.receipt.out[1]) } }) @@ -376,8 +363,6 @@ test( return assert.fail(error) } - assert.ok(typeof result === 'string') - const r = await prom.promise assert.equal(count, 4) assert.equal(r, 'hello1111\nworld111111hello1111\nworld2222111') @@ -394,25 +379,21 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) const hs1 = new Homestar({ - transport: new WebsocketTransport('ws://localhost:8070', { + transport: new WebsocketTransport(HS2_URL, { ws: WebSocket, }), }) await hs1.networkEvents((result) => { - if (result.error) { - console.error(result.error) - } else { - count++ - if (count === 2) { - prom.resolve(result.result) - } + count++ + if (count === 2) { + prom.resolve(result) } }) @@ -440,14 +421,12 @@ test( }, }) - const { error, result } = await hs.runWorkflow(workflow) + const { error } = await hs.runWorkflow(workflow) if (error) { return assert.fail(error) } - assert.ok(typeof result === 'string') - await prom.promise assert.equal(count, 2) hs.close() @@ -456,3 +435,76 @@ test( timeout: 30_000, } ) + +test( + 'should receive network events with iterator', + async function () { + /** @type {import('p-defer').DeferredPromise} */ + const prom = pDefer() + const hs = new Homestar({ + transport: new WebsocketTransport(HS1_URL, { + ws: WebSocket, + }), + }) + + const hs1 = new Homestar({ + transport: new WebsocketTransport(HS2_URL, { + ws: WebSocket, + }), + }) + + const events = await hs1.networkEventsIterator() + + if (events.error) { + return assert.fail(events.error) + } + + setTimeout(async () => { + let count = 0 + // eslint-disable-next-line no-unused-vars + for await (const _event of events.result) { + count++ + if (count === 2) { + break + } + } + prom.resolve(count) + }, 1) + + const workflow = await Workflow.workflow({ + name: 'test-network-events', + workflow: { + tasks: [ + Workflow.appendString({ + name: 'append', + resource: `ipfs://${wasmCID}`, + args: { + a: 'hello', + }, + }), + Workflow.joinStrings({ + name: 'append1', + resource: `ipfs://${wasmCID}`, + args: { + a: '{{needs.append.output}}', + b: '1', + }, + }), + ], + }, + }) + + const { error } = await hs.runWorkflow(workflow, () => {}) + + if (error) { + return assert.fail(error) + } + + const r = await prom.promise + assert.equal(r, 2) + hs.close() + }, + { + timeout: 30_000, + } +) diff --git a/packages/homestar/test/wasmify.node.test.js b/packages/homestar/test/wasmify.node.test.js index bdb127e..f98c497 100644 --- a/packages/homestar/test/wasmify.node.test.js +++ b/packages/homestar/test/wasmify.node.test.js @@ -14,8 +14,8 @@ import { addFSFileToIPFS } from './utils-node.js' const __dirname = url.fileURLToPath(new URL('.', import.meta.url)) -const test = suite('wasmify').skip -const wsUrl = process.env.HS1_URL || 'ws://localhost:8060' +const test = suite('wasmify') +const HS1_URL = process.env.HS1_URL || 'ws://localhost:8060' test( 'should wasmify', @@ -28,7 +28,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -49,19 +49,14 @@ test( ], }, }) - const { error, result } = await hs.runWorkflow(workflow1, (data) => { - if (data.error) { - return prom.reject(data.error) - } - prom.resolve(data.result?.receipt.out[1]) + const { error } = await hs.runWorkflow(workflow1, (data) => { + prom.resolve(data.receipt.out[1]) }) if (error) { return assert.fail(error) } - assert.ok(typeof result === 'string') - const r = await prom.promise const actual = utf8.encode(base64.decode(r)) assert.equal(actual, 'hello') @@ -83,7 +78,7 @@ test( /** @type {import('p-defer').DeferredPromise} */ const prom = pDefer() const hs = new Homestar({ - transport: new WebsocketTransport(wsUrl, { + transport: new WebsocketTransport(HS1_URL, { ws: WebSocket, }), }) @@ -104,19 +99,14 @@ test( ], }, }) - const { error, result } = await hs.runWorkflow(workflow1, (data) => { - if (data.error) { - return prom.reject(data.error) - } - prom.resolve(data.result?.receipt.out[1]) + const { error } = await hs.runWorkflow(workflow1, (data) => { + prom.resolve(data.receipt.out[1]) }) if (error) { return assert.fail(error) } - assert.ok(typeof result === 'string') - const r = await prom.promise const actual = base64.encode(r) assert.equal(actual, 'aGVsbG8') diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d1fea9..bcbdaf9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,8 +20,8 @@ importers: specifier: ^1.4.7 version: 1.4.7 lint-staged: - specifier: ^15.0.2 - version: 15.1.0 + specifier: ^15.2.0 + version: 15.2.0 prettier: specifier: 3.1.0 version: 3.1.0 @@ -49,10 +49,10 @@ importers: devDependencies: '@babel/core': specifier: ^7.23.3 - version: 7.23.3 + version: 7.23.5 '@types/node': specifier: ^20.10.0 - version: 20.10.0 + version: 20.10.3 hd-scripts: specifier: ^9.0.6 version: 9.0.6 @@ -61,70 +61,70 @@ importers: version: 5.3.2 vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.10.0) + version: 4.5.1(@types/node@20.10.3) packages/eslint-config: dependencies: '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) + version: 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.2) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.12.0(eslint@8.54.0)(typescript@5.3.2) + version: 6.13.2(eslint@8.55.0)(typescript@5.3.2) eslint: specifier: ^8.53.0 - version: 8.54.0 + version: 8.55.0 eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@8.54.0) + version: 9.1.0(eslint@8.55.0) eslint-config-standard: specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) + version: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0) eslint-config-standard-with-typescript: specifier: ^39.1.1 - version: 39.1.1(@typescript-eslint/eslint-plugin@6.12.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@5.3.2) + version: 39.1.1(@typescript-eslint/eslint-plugin@6.13.2)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0)(typescript@5.3.2) eslint-plugin-eslint-comments: specifier: ^3.2.0 - version: 3.2.0(eslint@8.54.0) + version: 3.2.0(eslint@8.55.0) eslint-plugin-etc: specifier: ^2.0.3 - version: 2.0.3(eslint@8.54.0)(typescript@5.3.2) + version: 2.0.3(eslint@8.55.0)(typescript@5.3.2) eslint-plugin-html: specifier: ^7.1.0 version: 7.1.0 eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) + version: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) eslint-plugin-jsdoc: specifier: ^46.8.2 - version: 46.9.0(eslint@8.54.0) + version: 46.9.0(eslint@8.55.0) eslint-plugin-jsonc: specifier: ^2.10.0 - version: 2.10.0(eslint@8.54.0) + version: 2.10.0(eslint@8.55.0) eslint-plugin-markdown: specifier: ^3.0.1 - version: 3.0.1(eslint@8.54.0) + version: 3.0.1(eslint@8.55.0) eslint-plugin-n: specifier: ^16.3.0 - version: 16.3.1(eslint@8.54.0) + version: 16.3.1(eslint@8.55.0) eslint-plugin-no-only-tests: specifier: ^3.1.0 version: 3.1.0 eslint-plugin-promise: specifier: ^6.1.1 - version: 6.1.1(eslint@8.54.0) + version: 6.1.1(eslint@8.55.0) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.54.0) + version: 7.33.2(eslint@8.55.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.54.0) + version: 4.6.0(eslint@8.55.0) eslint-plugin-unicorn: specifier: ^49.0.0 - version: 49.0.0(eslint@8.54.0) + version: 49.0.0(eslint@8.55.0) eslint-plugin-yml: specifier: ^1.10.0 - version: 1.10.0(eslint@8.54.0) + version: 1.10.0(eslint@8.55.0) typescript: specifier: ^5.3.2 version: 5.3.2 @@ -134,13 +134,13 @@ importers: version: 1.5.10 '@types/eslint': specifier: ^8.44.7 - version: 8.44.7 + version: 8.44.8 '@types/mocha': specifier: ^10.0.4 version: 10.0.6 '@types/node': specifier: ^20.10.0 - version: 20.10.0 + version: 20.10.3 assert: specifier: ^2.1.0 version: 2.1.0 @@ -194,8 +194,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 '@types/node': - specifier: ^20.10.0 - version: 20.10.0 + specifier: ^20.10.3 + version: 20.10.3 '@types/object-path': specifier: ^0.11.4 version: 0.11.4 @@ -203,14 +203,14 @@ importers: specifier: ^8.0.1 version: 8.0.1 homestar-runtime: - specifier: ^0.0.8 - version: 0.0.8 + specifier: rc + version: 0.0.9-rc.0 iso-base: specifier: ^2.0.1 version: 2.0.1 kubo-rpc-client: - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^3.0.2 + version: 3.0.2 p-defer: specifier: ^4.0.0 version: 4.0.0 @@ -224,8 +224,8 @@ importers: specifier: ^10.3.2 version: 10.3.2 type-fest: - specifier: ^4.8.2 - version: 4.8.2 + specifier: ^4.8.3 + version: 4.8.3 unws: specifier: ^0.2.4 version: 0.2.4(ws@8.14.2) @@ -252,32 +252,32 @@ packages: engines: {node: '>=4'} dev: true - /@babel/code-frame@7.23.4: - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + /@babel/core@7.23.5: + resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.4 - '@babel/parser': 7.23.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) + '@babel/helpers': 7.23.5 + '@babel/parser': 7.23.5 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -287,11 +287,11 @@ packages: - supports-color dev: true - /@babel/generator@7.23.4: - resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + /@babel/generator@7.23.5: + resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 @@ -301,9 +301,9 @@ packages: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.3 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.1 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 lru-cache: 5.1.1 semver: 6.3.1 dev: true @@ -318,30 +318,30 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -353,14 +353,14 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true /@babel/helper-string-parser@7.23.4: @@ -372,18 +372,18 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.23.4: - resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + /@babel/helpers@7.23.5: + resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 transitivePeerDependencies: - supports-color dev: true @@ -396,43 +396,43 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.4: - resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: true /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: true - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + /@babel/traverse@7.23.5: + resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -465,7 +465,7 @@ packages: commander: 9.5.0 mkdirp: 1.0.4 ora: 6.3.1 - terser: 5.24.0 + terser: 5.25.0 dev: true /@bytecodealliance/preview2-shim@0.0.21: @@ -1151,21 +1151,21 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -1180,8 +1180,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + /@eslint/js@8.55.0: + resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@fastify/busboy@2.1.0: @@ -1280,8 +1280,8 @@ packages: multiformats: 11.0.2 node-forge: 1.3.1 protons-runtime: 5.2.0 - uint8arraylist: 2.4.3 - uint8arrays: 4.0.6 + uint8arraylist: 2.4.7 + uint8arrays: 4.0.9 dev: true /@libp2p/interface-connection@4.0.0: @@ -1290,9 +1290,9 @@ packages: dependencies: '@libp2p/interface-peer-id': 2.0.2 '@libp2p/interfaces': 3.3.2 - '@multiformats/multiaddr': 12.1.10 + '@multiformats/multiaddr': 12.1.11 it-stream-types: 1.0.5 - uint8arraylist: 2.4.3 + uint8arraylist: 2.4.7 transitivePeerDependencies: - supports-color dev: true @@ -1322,7 +1322,7 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@libp2p/interface-peer-id': 2.0.2 - '@multiformats/multiaddr': 12.1.10 + '@multiformats/multiaddr': 12.1.11 transitivePeerDependencies: - supports-color dev: true @@ -1335,22 +1335,19 @@ packages: '@libp2p/interface-peer-id': 2.0.2 '@libp2p/interfaces': 3.3.2 it-pushable: 3.2.3 - uint8arraylist: 2.4.3 + uint8arraylist: 2.4.7 transitivePeerDependencies: - supports-color dev: true - /@libp2p/interface@0.1.6: - resolution: {integrity: sha512-Lzc5cS/hXuoXhuAbVIxJIHLCYmfPcbU0vVgrpMoiP1Qb2Q3ETU4A46GB8s8mWXgSU6tr9RcqerUqzFYD6+OAag==} + /@libp2p/interface@1.0.1: + resolution: {integrity: sha512-TRo1YxJ+AVjt5ms+mTOp8xcoCis5HAUMzv0XfCvxtIw77Bog6TPR5VdkGutlEQOKUMzXtLP0lW88fTQBeiiOnA==} dependencies: - '@multiformats/multiaddr': 12.1.10 - abortable-iterator: 5.0.1 + '@multiformats/multiaddr': 12.1.11 it-pushable: 3.2.3 it-stream-types: 2.0.1 multiformats: 12.1.3 - p-defer: 4.0.0 - race-signal: 1.0.2 - uint8arraylist: 2.4.3 + uint8arraylist: 2.4.7 transitivePeerDependencies: - supports-color dev: true @@ -1365,9 +1362,9 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@libp2p/interface-peer-id': 2.0.2 - '@multiformats/multiaddr': 12.1.10 - debug: 4.3.4 - interface-datastore: 8.2.5 + '@multiformats/multiaddr': 12.1.11 + debug: 4.3.4(supports-color@8.1.1) + interface-datastore: 8.2.7 multiformats: 11.0.2 transitivePeerDependencies: - supports-color @@ -1380,14 +1377,14 @@ packages: '@libp2p/interface-peer-id': 2.0.2 '@libp2p/interfaces': 3.3.2 multiformats: 11.0.2 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 dev: true /@multiformats/multiaddr-to-uri@9.0.7: resolution: {integrity: sha512-i3ldtPMN6XJt+MCi34hOl0wGuGEHfWWMw6lmNag5BpckPwPTf9XGOOFMmh7ed/uO3Vjah/g173iOe61HTQVoBA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - '@multiformats/multiaddr': 12.1.10 + '@multiformats/multiaddr': 12.1.11 transitivePeerDependencies: - supports-color dev: true @@ -1400,22 +1397,22 @@ packages: dns-over-http-resolver: 2.1.3 err-code: 3.0.1 multiformats: 11.0.2 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 varint: 6.0.0 transitivePeerDependencies: - supports-color dev: true - /@multiformats/multiaddr@12.1.10: - resolution: {integrity: sha512-Bi3nJ/SE17+te40OLxFOpr9CvRodusZZLYZb3e5a0w9RzQcHzfKnnlfqdysLXZ2W5vXgxCUL/Uhndl51Ff2S+Q==} + /@multiformats/multiaddr@12.1.11: + resolution: {integrity: sha512-CWG9kETEGTTMdr1T+/JEuMwFld3r3fHNP8LkLoUcLvHRy6yr8sWdotVGEDNEdDO/vrKhuD7bQBws3xMSMMyylg==} dependencies: '@chainsafe/is-ip': 2.0.2 '@chainsafe/netmask': 2.0.0 - '@libp2p/interface': 0.1.6 + '@libp2p/interface': 1.0.1 dns-over-http-resolver: 3.0.0 multiformats: 12.1.3 uint8-varint: 2.0.2 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 transitivePeerDependencies: - supports-color dev: true @@ -1465,8 +1462,8 @@ packages: resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} dev: true - /@polka/url@1.0.0-next.23: - resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true /@protobufjs/aspromise@1.1.2: @@ -1543,19 +1540,19 @@ packages: /@types/docker-modem@3.0.6: resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} dependencies: - '@types/node': 20.10.0 - '@types/ssh2': 1.11.17 + '@types/node': 20.10.3 + '@types/ssh2': 1.11.18 dev: true /@types/dockerode@3.3.23: resolution: {integrity: sha512-Lz5J+NFgZS4cEVhquwjIGH4oQwlVn2h7LXD3boitujBnzOE5o7s9H8hchEjoDK2SlRsJTogdKnQeiJgPPKLIEw==} dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 20.10.0 + '@types/node': 20.10.3 dev: true - /@types/eslint@8.44.7: - resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} + /@types/eslint@8.44.8: + resolution: {integrity: sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -1596,14 +1593,14 @@ packages: resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} dev: true - /@types/node@18.18.13: - resolution: {integrity: sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==} + /@types/node@18.19.2: + resolution: {integrity: sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.10.0: - resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} + /@types/node@20.10.3: + resolution: {integrity: sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==} dependencies: undici-types: 5.26.5 dev: true @@ -1625,20 +1622,20 @@ packages: /@types/ssh2-streams@0.1.12: resolution: {integrity: sha512-Sy8tpEmCce4Tq0oSOYdfqaBpA3hDM8SoxoFh5vzFsu2oL+znzGz8oVWW7xb4K920yYMUY+PIG31qZnFMfPWNCg==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.10.3 dev: true /@types/ssh2@0.5.52: resolution: {integrity: sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.10.3 '@types/ssh2-streams': 0.1.12 dev: true - /@types/ssh2@1.11.17: - resolution: {integrity: sha512-owd0cyrAzaUICWvgpvwg7mMZcPvY4pH2Zs3fg0dgT+I/O9+kFJ4i+AUrX82INWJtEHbX70ubnSVqWJvt2VxmqQ==} + /@types/ssh2@1.11.18: + resolution: {integrity: sha512-7eH4ppQMFlzvn//zhwD54MWaITR1aSc1oFBye9vb76GZ2Y9PSFYdwVIwOlxRXWs5+1hifntXyt+8a6SUbOD7Hg==} dependencies: - '@types/node': 18.18.13 + '@types/node': 18.19.2 dev: true /@types/unist@2.0.10: @@ -1652,8 +1649,8 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==} + /@typescript-eslint/eslint-plugin@6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.2): + resolution: {integrity: sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1664,13 +1661,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/type-utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.55.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 @@ -1680,20 +1677,20 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/experimental-utils@5.62.0(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/experimental-utils@5.62.0(eslint@8.55.0)(typescript@5.3.2): resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2) + eslint: 8.55.0 transitivePeerDependencies: - supports-color - typescript - /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} + /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.2): + resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1702,12 +1699,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.55.0 typescript: 5.3.2 transitivePeerDependencies: - supports-color @@ -1719,15 +1716,15 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - /@typescript-eslint/scope-manager@6.12.0: - resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==} + /@typescript-eslint/scope-manager@6.13.2: + resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/visitor-keys': 6.13.2 - /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} + /@typescript-eslint/type-utils@6.13.2(eslint@8.55.0)(typescript@5.3.2): + resolution: {integrity: sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1736,10 +1733,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.55.0 ts-api-utils: 1.0.3(typescript@5.3.2) typescript: 5.3.2 transitivePeerDependencies: @@ -1749,8 +1746,8 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@typescript-eslint/types@6.12.0: - resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==} + /@typescript-eslint/types@6.13.2: + resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} engines: {node: ^16.0.0 || >=18.0.0} /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.2): @@ -1773,8 +1770,8 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2): - resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} + /@typescript-eslint/typescript-estree@6.13.2(typescript@5.3.2): + resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1782,8 +1779,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -1793,38 +1790,38 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.3.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2) - eslint: 8.54.0 + eslint: 8.55.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} + /@typescript-eslint/utils@6.13.2(eslint@8.55.0)(typescript@5.3.2): + resolution: {integrity: sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) - eslint: 8.54.0 + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) + eslint: 8.55.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -1837,74 +1834,66 @@ packages: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - /@typescript-eslint/visitor-keys@6.12.0: - resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} + /@typescript-eslint/visitor-keys@6.13.2: + resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/types': 6.13.2 eslint-visitor-keys: 3.4.3 /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@vue/compiler-core@3.3.8: - resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} + /@vue/compiler-core@3.3.10: + resolution: {integrity: sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==} dependencies: - '@babel/parser': 7.23.4 - '@vue/shared': 3.3.8 + '@babel/parser': 7.23.5 + '@vue/shared': 3.3.10 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: true - /@vue/compiler-dom@3.3.8: - resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} + /@vue/compiler-dom@3.3.10: + resolution: {integrity: sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==} dependencies: - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 dev: true - /@vue/compiler-sfc@3.3.8: - resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} + /@vue/compiler-sfc@3.3.10: + resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.8 - '@vue/compiler-dom': 3.3.8 - '@vue/compiler-ssr': 3.3.8 - '@vue/reactivity-transform': 3.3.8 - '@vue/shared': 3.3.8 + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-ssr': 3.3.10 + '@vue/reactivity-transform': 3.3.10 + '@vue/shared': 3.3.10 estree-walker: 2.0.2 magic-string: 0.30.5 - postcss: 8.4.31 + postcss: 8.4.32 source-map-js: 1.0.2 dev: true - /@vue/compiler-ssr@3.3.8: - resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} + /@vue/compiler-ssr@3.3.10: + resolution: {integrity: sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==} dependencies: - '@vue/compiler-dom': 3.3.8 - '@vue/shared': 3.3.8 + '@vue/compiler-dom': 3.3.10 + '@vue/shared': 3.3.10 dev: true - /@vue/reactivity-transform@3.3.8: - resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} + /@vue/reactivity-transform@3.3.10: + resolution: {integrity: sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==} dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 estree-walker: 2.0.2 magic-string: 0.30.5 dev: true - /@vue/shared@3.3.8: - resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - dev: true - - /abortable-iterator@5.0.1: - resolution: {integrity: sha512-hlZ5Z8UwqrKsJcelVPEqDduZowJPBQJ9ZhBC2FXpja3lXy8X6MoI5uMzIgmrA8+3jcVnp8TF/tx+IBBqYJNUrg==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dependencies: - get-iterator: 2.0.1 - it-stream-types: 2.0.1 + /@vue/shared@3.3.10: + resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} dev: true /acorn-jsx@5.3.2(acorn@8.11.2): @@ -1954,6 +1943,13 @@ packages: type-fest: 1.4.0 dev: true + /ansi-escapes@6.2.0: + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 3.13.1 + dev: true + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2145,7 +2141,7 @@ packages: call-bind: 1.0.5 is-nan: 1.3.2 object-is: 1.1.5 - object.assign: 4.1.4 + object.assign: 4.1.5 util: 0.12.5 dev: true @@ -2254,15 +2250,15 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001564 - electron-to-chromium: 1.4.592 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) + caniuse-lite: 1.0.30001566 + electron-to-chromium: 1.4.602 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true /buffer-crc32@0.2.13: @@ -2352,8 +2348,8 @@ packages: engines: {node: '>=16'} dev: true - /caniuse-lite@1.0.30001564: - resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} + /caniuse-lite@1.0.30001566: + resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} dev: true /cborg@4.0.5: @@ -2439,11 +2435,6 @@ packages: restore-cursor: 4.0.0 dev: true - /cli-spinners@2.9.1: - resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} - engines: {node: '>=6'} - dev: true - /cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -2457,6 +2448,14 @@ packages: string-width: 5.1.2 dev: true + /cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + dependencies: + slice-ansi: 5.0.0 + string-width: 7.0.0 + dev: true + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -2630,17 +2629,6 @@ packages: dependencies: ms: 2.1.3 - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2688,9 +2676,9 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - '@babel/parser': 7.23.4 - '@babel/traverse': 7.23.4 - '@vue/compiler-sfc': 3.3.8 + '@babel/parser': 7.23.5 + '@babel/traverse': 7.23.5 + '@vue/compiler-sfc': 3.3.10 callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -2738,10 +2726,10 @@ packages: /dns-over-http-resolver@2.1.3: resolution: {integrity: sha512-zjRYFhq+CsxPAouQWzOsxNMvEN+SHisjzhX8EMxd2Y0EG3thvn6wXQgMJLnTDImkhe4jhLbOQpXtL10nALBOSA==} dependencies: - debug: 4.3.4 - native-fetch: 4.0.2(undici@5.27.2) + debug: 4.3.4(supports-color@8.1.1) + native-fetch: 4.0.2(undici@5.28.2) receptacle: 1.3.2 - undici: 5.27.2 + undici: 5.28.2 transitivePeerDependencies: - supports-color dev: true @@ -2749,7 +2737,7 @@ packages: /dns-over-http-resolver@3.0.0: resolution: {integrity: sha512-5+BI+B7n8LKhNaEZBYErr+CBd9t5nYtjunByLhrLGtZ+i3TRgiU8yE87pCjEBu2KOwNsD9ljpSXEbZ4S8xih5g==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) receptacle: 1.3.2 transitivePeerDependencies: - supports-color @@ -2766,7 +2754,7 @@ packages: resolution: {integrity: sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==} engines: {node: '>= 8.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) readable-stream: 3.6.2 split-ca: 1.0.1 ssh2: 1.14.0 @@ -2831,8 +2819,8 @@ packages: encoding: 0.1.13 dev: true - /electron-to-chromium@1.4.592: - resolution: {integrity: sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww==} + /electron-to-chromium@1.4.602: + resolution: {integrity: sha512-TZdkh+47iRPDtFH9+vuOU7uaZftA7PBDQkk+Tny/gLrYgflyooAk/bHvmK7MSTvQoPKLvy702PC4RiS/6Ffdxw==} dev: true /emittery@1.0.1: @@ -2906,7 +2894,7 @@ packages: is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 + object.assign: 4.1.5 regexp.prototype.flags: 1.5.1 safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 @@ -3071,23 +3059,23 @@ packages: engines: {node: '>=12'} dev: true - /eslint-compat-utils@0.1.2(eslint@8.54.0): + /eslint-compat-utils@0.1.2(eslint@8.55.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.54.0 + eslint: 8.55.0 - /eslint-config-prettier@9.0.0(eslint@8.54.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + /eslint-config-prettier@9.1.0(eslint@8.55.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.54.0 + eslint: 8.55.0 - /eslint-config-standard-with-typescript@39.1.1(@typescript-eslint/eslint-plugin@6.12.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@5.3.2): + /eslint-config-standard-with-typescript@39.1.1(@typescript-eslint/eslint-plugin@6.13.2)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0)(typescript@5.3.2): resolution: {integrity: sha512-t6B5Ep8E4I18uuoYeYxINyqcXb2UbC0SOOTxRtBSt2JUs+EzeXbfe2oaiPs71AIdnoWhXDO2fYOHz8df3kV84A==} peerDependencies: '@typescript-eslint/eslint-plugin': ^6.4.0 @@ -3097,18 +3085,18 @@ packages: eslint-plugin-promise: ^6.0.0 typescript: '*' dependencies: - '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) - eslint-plugin-n: 16.3.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) + '@typescript-eslint/eslint-plugin': 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + eslint: 8.55.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) + eslint-plugin-n: 16.3.1(eslint@8.55.0) + eslint-plugin-promise: 6.1.1(eslint@8.55.0) typescript: 5.3.2 transitivePeerDependencies: - supports-color - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3117,19 +3105,19 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.54.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) - eslint-plugin-n: 16.3.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) + eslint: 8.55.0 + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) + eslint-plugin-n: 16.3.1(eslint@8.55.0) + eslint-plugin-promise: 6.1.1(eslint@8.55.0) - /eslint-etc@5.2.1(eslint@8.54.0)(typescript@5.3.2): + /eslint-etc@5.2.1(eslint@8.55.0)(typescript@5.3.2): resolution: {integrity: sha512-lFJBSiIURdqQKq9xJhvSJFyPA+VeTh5xvk24e8pxVL7bwLBtGF60C/KRkLTMrvCZ6DA3kbPuYhLWY0TZMlqTsg==} peerDependencies: eslint: ^8.0.0 typescript: '>=4.0.0' dependencies: - '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 + '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2) + eslint: 8.55.0 tsutils: 3.21.0(typescript@5.3.2) tsutils-etc: 1.4.2(tsutils@3.21.0)(typescript@5.3.2) typescript: 5.3.2 @@ -3145,7 +3133,7 @@ packages: transitivePeerDependencies: - supports-color - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -3166,44 +3154,44 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) debug: 3.2.7 - eslint: 8.54.0 + eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - /eslint-plugin-es-x@7.4.0(eslint@8.54.0): - resolution: {integrity: sha512-WJa3RhYzBtl8I37ebY9p76s61UhZyi4KaFOnX2A5r32RPazkXj5yoT6PGnD02dhwzEUj0KwsUdqfKDd/OuvGsw==} + /eslint-plugin-es-x@7.5.0(eslint@8.55.0): + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.54.0 - eslint-compat-utils: 0.1.2(eslint@8.54.0) + eslint: 8.55.0 + eslint-compat-utils: 0.1.2(eslint@8.55.0) - /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.55.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.54.0 + eslint: 8.55.0 ignore: 5.3.0 - /eslint-plugin-etc@2.0.3(eslint@8.54.0)(typescript@5.3.2): + /eslint-plugin-etc@2.0.3(eslint@8.55.0)(typescript@5.3.2): resolution: {integrity: sha512-o5RS/0YwtjlGKWjhKojgmm82gV1b4NQUuwk9zqjy9/EjxNFKKYCaF+0M7DkYBn44mJ6JYFZw3Ft249dkKuR1ew==} peerDependencies: eslint: ^8.0.0 typescript: '>=4.0.0' dependencies: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.2) - '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-etc: 5.2.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2) + eslint: 8.55.0 + eslint-etc: 5.2.1(eslint@8.55.0)(typescript@5.3.2) requireindex: 1.2.0 tslib: 2.6.2 tsutils: 3.21.0(typescript@5.3.2) @@ -3216,7 +3204,7 @@ packages: dependencies: htmlparser2: 8.0.2 - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -3226,16 +3214,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.54.0 + eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -3250,7 +3238,7 @@ packages: - eslint-import-resolver-webpack - supports-color - /eslint-plugin-jsdoc@46.9.0(eslint@8.54.0): + /eslint-plugin-jsdoc@46.9.0(eslint@8.55.0): resolution: {integrity: sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==} engines: {node: '>=16'} peerDependencies: @@ -3261,7 +3249,7 @@ packages: comment-parser: 1.4.1 debug: 4.3.4(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 8.54.0 + eslint: 8.55.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.5.4 @@ -3269,39 +3257,39 @@ packages: transitivePeerDependencies: - supports-color - /eslint-plugin-jsonc@2.10.0(eslint@8.54.0): + /eslint-plugin-jsonc@2.10.0(eslint@8.55.0): resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - eslint: 8.54.0 - eslint-compat-utils: 0.1.2(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + eslint: 8.55.0 + eslint-compat-utils: 0.1.2(eslint@8.55.0) jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 - /eslint-plugin-markdown@3.0.1(eslint@8.54.0): + /eslint-plugin-markdown@3.0.1(eslint@8.55.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - /eslint-plugin-n@16.3.1(eslint@8.54.0): + /eslint-plugin-n@16.3.1(eslint@8.55.0): resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) builtins: 5.0.1 - eslint: 8.54.0 - eslint-plugin-es-x: 7.4.0(eslint@8.54.0) + eslint: 8.55.0 + eslint-plugin-es-x: 7.5.0(eslint@8.55.0) get-tsconfig: 4.7.2 ignore: 5.3.0 is-builtin-module: 3.2.1 @@ -3314,23 +3302,23 @@ packages: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} - /eslint-plugin-promise@6.1.1(eslint@8.54.0): + /eslint-plugin-promise@6.1.1(eslint@8.55.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 - /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.55.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 - /eslint-plugin-react@7.33.2(eslint@8.54.0): + /eslint-plugin-react@7.33.2(eslint@8.55.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -3341,7 +3329,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.54.0 + eslint: 8.55.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -3354,17 +3342,17 @@ packages: semver: 6.3.1 string.prototype.matchall: 4.0.10 - /eslint-plugin-unicorn@48.0.1(eslint@8.54.0): + /eslint-plugin-unicorn@48.0.1(eslint@8.55.0): resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.54.0 + eslint: 8.55.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -3378,17 +3366,17 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unicorn@49.0.0(eslint@8.54.0): + /eslint-plugin-unicorn@49.0.0(eslint@8.55.0): resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.52.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.54.0 + eslint: 8.55.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -3401,15 +3389,15 @@ packages: strip-indent: 3.0.0 dev: false - /eslint-plugin-yml@1.10.0(eslint@8.54.0): + /eslint-plugin-yml@1.10.0(eslint@8.55.0): resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 - eslint-compat-utils: 0.1.2(eslint@8.54.0) + eslint: 8.55.0 + eslint-compat-utils: 0.1.2(eslint@8.55.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -3434,15 +3422,15 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + /eslint@8.55.0: + resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.55.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -3705,6 +3693,11 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: true + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -3717,10 +3710,6 @@ packages: resolution: {integrity: sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==} dev: true - /get-iterator@2.0.1: - resolution: {integrity: sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg==} - dev: true - /get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} @@ -3903,26 +3892,26 @@ packages: resolution: {integrity: sha512-qoVWaRSWOg8Rxq4T2YHjwZBPnZB8Zm7EiyQS9HxJewiLETWgs/QgejkbtuD1oGG8gahlgwo65pyh3QGECvOXYQ==} engines: {node: '>=14'} dependencies: - '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-config-prettier: 9.0.0(eslint@8.54.0) - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) - eslint-config-standard-with-typescript: 39.1.1(@typescript-eslint/eslint-plugin@6.12.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@5.3.2) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) - eslint-plugin-etc: 2.0.3(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/eslint-plugin': 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + eslint: 8.55.0 + eslint-config-prettier: 9.1.0(eslint@8.55.0) + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0) + eslint-config-standard-with-typescript: 39.1.1(@typescript-eslint/eslint-plugin@6.13.2)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.55.0)(typescript@5.3.2) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.55.0) + eslint-plugin-etc: 2.0.3(eslint@8.55.0)(typescript@5.3.2) eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) - eslint-plugin-jsdoc: 46.9.0(eslint@8.54.0) - eslint-plugin-jsonc: 2.10.0(eslint@8.54.0) - eslint-plugin-markdown: 3.0.1(eslint@8.54.0) - eslint-plugin-n: 16.3.1(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) + eslint-plugin-jsdoc: 46.9.0(eslint@8.55.0) + eslint-plugin-jsonc: 2.10.0(eslint@8.55.0) + eslint-plugin-markdown: 3.0.1(eslint@8.55.0) + eslint-plugin-n: 16.3.1(eslint@8.55.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-react: 7.33.2(eslint@8.54.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.54.0) - eslint-plugin-yml: 1.10.0(eslint@8.54.0) + eslint-plugin-promise: 6.1.1(eslint@8.55.0) + eslint-plugin-react: 7.33.2(eslint@8.55.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.55.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.55.0) + eslint-plugin-yml: 1.10.0(eslint@8.55.0) lint-staged: 14.0.1 prettier: 3.1.0 simple-git-hooks: 2.9.0 @@ -3946,50 +3935,59 @@ packages: parse-passwd: 1.0.0 dev: true - /homestar-darwin-arm64@0.0.5: - resolution: {integrity: sha512-3KLNbRsaciarX0vWzYlFAV79eXF88amWZO7uB3OLypxtow2uCF/JLixG5T7JeNS88vlQnxchQ9vRqOqe1UZQBg==} + /homestar-darwin-arm64@0.1.0-rc.1701720724: + resolution: {integrity: sha512-jSXHgQ14gj9U4dn1KOxtGnvQH+Z1hgcumlgo3s8g43vCmRC4c0xl1A/e0IlWXuemWO7gb2HG/Xw+rzw354/u/g==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /homestar-darwin-x64@0.0.4: - resolution: {integrity: sha512-XUeKoXXqlyNLA+UxAqBkf5vZyVVkDVq0+Rjnc39/AEQMVKbz3TJk3RpWI3odHZk8iB8++n2zXqd1q+vEYEUa+A==} + /homestar-darwin-x64@0.1.0-rc.1701720722: + resolution: {integrity: sha512-iPREOc/53HS6PHND9InlnNI5zkzQI+TMXlqKHf2xSeEr1ErZtKZ99gvnZCFiQrKlzEgpCqKDKebhrSqAqRRtjg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /homestar-linux-arm64@0.0.4: - resolution: {integrity: sha512-XRfrH0Y0lDURqSJW5x9DDuivTS66fR++zE6Nosjr/RXZ3VdgvOcGx7RmxRiC1h5TLO45Sc7KqSmphMZNZPE32g==} + /homestar-linux-arm64@0.1.0-rc.1701720720: + resolution: {integrity: sha512-uibCq+BsicRFti7vC/+fnspgf7xfuxnENA65qbSU6pSnABsZUiziorqDWpWEaAzAr2VsMk/s/5GVzSL6NX9rnw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /homestar-linux-x64@0.0.4: - resolution: {integrity: sha512-8Cuo8PPYuTgIVB6r9e7CbbuoIMi5aa7XF1MA+CjsYxMoY+d0CCo7sJqWA5wh8ghE4aVHQKQfWLaB8i3PNRridA==} + /homestar-linux-x64@0.1.0-rc.1701720729: + resolution: {integrity: sha512-z6k4gQN26ExDQ1xrzJmw0D/zrcTNrpH0eRAJIKPYEwO3O3fawk6y0hyBc/Lc+uzMKb8pbi+vrgDGaM6WJW5fhA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /homestar-runtime@0.0.8: - resolution: {integrity: sha512-HtVuj9aa5PHby9oN2V4IXKCz1bY7idT5qOhilVDGxx8TUyv0T4437f6IEePpEkr7GNIe37AkqZS19MPMxcbkKA==} + /homestar-runtime@0.0.9-rc.0: + resolution: {integrity: sha512-gtxKtb7zKMQCdjXLIlj7nzwa1OLOFIoIh1lZOFuT1hNgRjESAevafwgCShjHvWLcYYSQhhU5a0USNTEJWu7J7Q==} hasBin: true dependencies: execa: 8.0.1 optionalDependencies: - homestar-darwin-arm64: 0.0.5 - homestar-darwin-x64: 0.0.4 - homestar-linux-arm64: 0.0.4 - homestar-linux-x64: 0.0.4 + homestar-darwin-arm64: 0.1.0-rc.1701720724 + homestar-darwin-x64: 0.1.0-rc.1701720722 + homestar-linux-arm64: 0.1.0-rc.1701720720 + homestar-linux-x64: 0.1.0-rc.1701720729 + homestar-windows-x64: 0.1.0-rc.1701277837 dev: true + /homestar-windows-x64@0.1.0-rc.1701277837: + resolution: {integrity: sha512-wGaqCEcFiX8N2pCWCpuVxpRXiU9NhCagEV1QUTms8p7MPzicYV2BPnD7nrRC2n81SQLLU0GcArJDJ8iNrXsC0w==} + cpu: [x64] + os: [windows] + requiresBuild: true + dev: true + optional: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -4069,15 +4067,15 @@ packages: dependencies: interface-store: 3.0.4 nanoid: 4.0.2 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 dev: true - /interface-datastore@8.2.5: - resolution: {integrity: sha512-kvLGJMz3RPoJF/g5DbEvfWWempIiSBLVMf63b0PBsziVcSkj0ofzHYI86v8vqpGedkQ81DtPCUKyvX9W7zWvrQ==} + /interface-datastore@8.2.7: + resolution: {integrity: sha512-ot5B5+VogufRfjhedAXZHm5NuEKyYZkDyVpTjBYIrxYUpS5GIfF2soE/dsd/FiBVqubcxa4IEToMXL5ruMwhjw==} dependencies: - interface-store: 5.1.4 - nanoid: 4.0.2 - uint8arrays: 4.0.6 + interface-store: 5.1.5 + nanoid: 5.0.4 + uint8arrays: 4.0.9 dev: true /interface-store@3.0.4: @@ -4085,8 +4083,8 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dev: true - /interface-store@5.1.4: - resolution: {integrity: sha512-SI2co5IAxAybBc9egRM2bXvHOa1RPh5SQQkO6di6t/aX92RbtzP4t8raB0l3GTzQmJADaBbzz8Tfa1QLgfMdGQ==} + /interface-store@5.1.5: + resolution: {integrity: sha512-X0KnJBk3o+YL13MxZBMwa88/b3Mdrpm0yPzkSTKDDVn9BSPH7UK6W+ZtIPO2bxKOQVmq7zqOwAnYnpfqWjb6/g==} dev: true /internal-slot@1.0.6: @@ -4108,7 +4106,7 @@ packages: '@libp2p/interface-peer-info': 1.0.10 '@libp2p/interface-pubsub': 3.0.7 '@multiformats/multiaddr': 11.6.1 - '@types/node': 18.18.13 + '@types/node': 18.19.2 interface-datastore: 7.0.4 ipfs-unixfs: 9.0.1 multiformats: 11.0.2 @@ -4140,7 +4138,7 @@ packages: nanoid: 4.0.2 parse-duration: 1.1.0 timeout-abort-controller: 3.0.0 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 transitivePeerDependencies: - encoding - supports-color @@ -4277,6 +4275,13 @@ packages: engines: {node: '>=12'} dev: true + /is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + dependencies: + get-east-asian-width: 1.2.0 + dev: true + /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -4423,7 +4428,7 @@ packages: /iso-websocket@0.1.6: resolution: {integrity: sha512-PfkpWtpmu9p0VIPmkbgKkAry7+fjNYZF/HX7KsvFV0mmD2RLI4aeM7M3B+5qLRBmm6H+A5CTVd760Bn2a60KsA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) retry: 0.13.1 typescript-event-target: 1.1.0 transitivePeerDependencies: @@ -4607,7 +4612,7 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 + object.assign: 4.1.5 object.values: 1.1.7 /junk@4.0.1: @@ -4625,8 +4630,8 @@ packages: engines: {node: '>=6'} dev: true - /kubo-rpc-client@3.0.1: - resolution: {integrity: sha512-2SMH/eCZlwR/4e9Aqr0HC1gJvCDTsgBRWRdu4LjHLrRwGsmDAl32vK4PkwkKfYwgJMHY3lgA6eZzaOLzrPwxFg==} + /kubo-rpc-client@3.0.2: + resolution: {integrity: sha512-VXCyQ8M5z922rUEqaTjtuXUepuIxAaijKVgxoPSiB9eU+B3rVEIkUhNsjKzK6QM3lnW/hQwwrKF5uJcGUitokw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@ipld/dag-cbor': 9.0.6 @@ -4635,7 +4640,7 @@ packages: '@libp2p/crypto': 1.0.17 '@libp2p/logger': 2.1.1 '@libp2p/peer-id': 2.0.4 - '@multiformats/multiaddr': 11.6.1 + '@multiformats/multiaddr': 12.1.11 any-signal: 3.0.1 dag-jose: 4.0.0 err-code: 3.0.1 @@ -4647,7 +4652,7 @@ packages: multiformats: 11.0.2 parse-duration: 1.1.0 stream-to-it: 0.2.4 - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 transitivePeerDependencies: - encoding - supports-color @@ -4700,8 +4705,8 @@ packages: - supports-color dev: true - /lint-staged@15.1.0: - resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} + /lint-staged@15.2.0: + resolution: {integrity: sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -4709,8 +4714,8 @@ packages: commander: 11.1.0 debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 - lilconfig: 2.1.0 - listr2: 7.0.2 + lilconfig: 3.0.0 + listr2: 8.0.0 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 @@ -4736,16 +4741,16 @@ packages: wrap-ansi: 8.1.0 dev: true - /listr2@7.0.2: - resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} - engines: {node: '>=16.0.0'} + /listr2@8.0.0: + resolution: {integrity: sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==} + engines: {node: '>=18.0.0'} dependencies: - cli-truncate: 3.1.0 + cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 5.0.1 + log-update: 6.0.0 rfdc: 1.3.0 - wrap-ansi: 8.1.0 + wrap-ansi: 9.0.0 dev: true /locate-path@5.0.0: @@ -4813,6 +4818,17 @@ packages: wrap-ansi: 8.1.0 dev: true + /log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} + dependencies: + ansi-escapes: 6.2.0 + cli-cursor: 4.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + dev: true + /long@5.2.3: resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} dev: true @@ -5058,8 +5074,8 @@ packages: hasBin: true dev: true - /nanoid@5.0.3: - resolution: {integrity: sha512-I7X2b22cxA4LIHXPSqbBCEQSL+1wv8TuoefejsX4HFWyC6jc5JG7CEaxOltiKjc1M+YCS2YkrZZcj4+dytw9GA==} + /nanoid@5.0.4: + resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==} engines: {node: ^18 || >=20} hasBin: true dev: true @@ -5072,12 +5088,12 @@ packages: node-fetch: 2.7.0 dev: true - /native-fetch@4.0.2(undici@5.27.2): + /native-fetch@4.0.2(undici@5.28.2): resolution: {integrity: sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg==} peerDependencies: undici: '*' dependencies: - undici: 5.27.2 + undici: 5.28.2 dev: true /natural-compare@1.4.0: @@ -5100,8 +5116,8 @@ packages: engines: {node: '>= 6.13.0'} dev: true - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /normalize-package-data@2.5.0: @@ -5148,8 +5164,8 @@ packages: engines: {node: '>= 10.12.0'} dev: false - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 @@ -5231,7 +5247,7 @@ packages: dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 - cli-spinners: 2.9.1 + cli-spinners: 2.9.2 is-interactive: 2.0.0 is-unicode-supported: 1.3.0 log-symbols: 5.1.0 @@ -5363,7 +5379,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -5447,7 +5463,7 @@ packages: lilconfig: 3.0.0 lodash: 4.17.21 merge-options: 3.0.4 - nanoid: 5.0.3 + nanoid: 5.0.4 ora: 7.0.1 p-timeout: 6.1.2 path-browserify: 1.0.1 @@ -5483,8 +5499,8 @@ packages: trouter: 2.0.1 dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -5554,15 +5570,15 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.10.0 + '@types/node': 20.10.3 long: 5.2.3 dev: true /protons-runtime@5.2.0: resolution: {integrity: sha512-jL3VSbXllgm17zurKQ/z+Ath0w+4BknJ+l/NLocfjAB8hbeASOZTNtb7zK3nDsKq2pHK9YFumNQvpkZ6gFfWhA==} dependencies: - uint8arraylist: 2.4.3 - uint8arrays: 4.0.6 + uint8arraylist: 2.4.7 + uint8arrays: 4.0.9 dev: true /pump@3.0.0: @@ -5583,10 +5599,6 @@ packages: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: true - /race-signal@1.0.2: - resolution: {integrity: sha512-o3xNv0iTcIDQCXFlF6fPAMEBRjFxssgGoRqLbg06m+AdzEXXLUmoNOoUHTVz2NoBI8hHwKFKoC6IqyNtWr2bww==} - dev: true - /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -5907,7 +5919,7 @@ packages: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.23 + '@polka/url': 1.0.0-next.24 mrmime: 1.0.1 totalist: 3.0.1 dev: true @@ -5933,6 +5945,14 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true + /slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + dev: true + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -6053,6 +6073,15 @@ packages: strip-ansi: 7.1.0 dev: true + /string-width@7.0.0: + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: true + /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: @@ -6205,8 +6234,8 @@ packages: unique-string: 3.0.0 dev: true - /terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + /terser@5.25.0: + resolution: {integrity: sha512-we0I9SIsfvNUMP77zC9HG+MylwYYsGFSBG8qm+13oud2Yh+O104y614FRbyjpxys16jZwot72Fpi827YvGzuqg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -6233,7 +6262,7 @@ packages: archiver: 5.3.2 async-lock: 1.4.0 byline: 5.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) docker-compose: 0.24.3 dockerode: 3.3.5 get-port: 5.1.1 @@ -6366,8 +6395,13 @@ packages: engines: {node: '>=12.20'} dev: true - /type-fest@4.8.2: - resolution: {integrity: sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + + /type-fest@4.8.3: + resolution: {integrity: sha512-//BaTm14Q/gHBn09xlnKNqfI8t6bmdzx2DXYfPBNofN0WUybCEUDcbCWcTa0oF09lzLjZgPphXAsvRiMK0V6Bw==} engines: {node: '>=16'} dev: true @@ -6453,19 +6487,18 @@ packages: /uint8-varint@2.0.2: resolution: {integrity: sha512-LZXmBT0jiHR7J4oKM1GUhtdLFW1yPauzI8NjJlotXn92TprO9u8VMvEVR4QMk8xhUVUd+2fqfU2/kGbVHYSSWw==} dependencies: - uint8arraylist: 2.4.3 - uint8arrays: 4.0.6 + uint8arraylist: 2.4.7 + uint8arrays: 4.0.9 dev: true - /uint8arraylist@2.4.3: - resolution: {integrity: sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} + /uint8arraylist@2.4.7: + resolution: {integrity: sha512-ohRElqR6C5dd60vRFLq40MCiSnUe1AzkpHvbCEMCGGP6zMoFYECsjdhL6bR1kTK37ONNRDuHQ3RIpScRYcYYIg==} dependencies: - uint8arrays: 4.0.6 + uint8arrays: 4.0.9 dev: true - /uint8arrays@4.0.6: - resolution: {integrity: sha512-4ZesjQhqOU2Ip6GPReIwN60wRxIupavL8T0Iy36BBHr2qyMrNxsPJvr7vpS4eFt8F8kSguWUPad6ZM9izs/vyw==} + /uint8arrays@4.0.9: + resolution: {integrity: sha512-iHU8XJJnfeijILZWzV7RgILdPHqe0mjJvyzY4mO8aUUtHsDbPa2Gc8/02Kc4zeokp2W6Qq8z9Ap1xkQ1HfbKwg==} dependencies: multiformats: 12.1.3 dev: true @@ -6482,8 +6515,8 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /undici@5.27.2: - resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} + /undici@5.28.2: + resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.0 @@ -6514,13 +6547,13 @@ packages: ws: 8.14.2 dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): + /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.1 + browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -6563,8 +6596,8 @@ packages: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} dev: true - /vite@4.5.0(@types/node@20.10.0): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + /vite@4.5.1(@types/node@20.10.3): + resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -6591,9 +6624,9 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.0 + '@types/node': 20.10.3 esbuild: 0.18.20 - postcss: 8.4.31 + postcss: 8.4.32 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 @@ -6703,6 +6736,15 @@ packages: strip-ansi: 7.1.0 dev: true + /wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + dependencies: + ansi-styles: 6.2.1 + string-width: 7.0.0 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}