diff --git a/.env.example b/.env.example index cfe2a5bcdc..6adc956aea 100644 --- a/.env.example +++ b/.env.example @@ -141,11 +141,15 @@ ZEROG_PRIVATE_KEY= ZEROG_FLOW_ADDRESS= -# Coinbase Commerce +# Coinbase COINBASE_COMMERCE_KEY= +COINBASE_API_KEY= +COINBASE_PRIVATE_KEY= + +COINBASE_GENERATED_WALLET_ID= +COINBASE_GENERATED_WALLET_HEX_SEED= # TEE Configuration DSTACK_SIMULATOR_ENDPOINT= WALLET_SECRET_SALT=secret_salt - diff --git a/agent/src/index.ts b/agent/src/index.ts index f207ae954b..750c72fa30 100644 --- a/agent/src/index.ts +++ b/agent/src/index.ts @@ -28,6 +28,7 @@ import { bootstrapPlugin } from "@ai16z/plugin-bootstrap"; import { coinbaseCommercePlugin, coinbaseMassPaymentsPlugin, + tradePlugin, } from "@ai16z/plugin-coinbase"; import { confluxPlugin } from "@ai16z/plugin-conflux"; import { evmPlugin } from "@ai16z/plugin-evm"; @@ -85,21 +86,31 @@ function tryLoadFile(filePath: string): string | null { export async function loadCharacters( charactersArg: string ): Promise { - let characterPaths = charactersArg?.split(",").map((filePath) => filePath.trim()); + let characterPaths = charactersArg + ?.split(",") + .map((filePath) => filePath.trim()); const loadedCharacters = []; if (characterPaths?.length > 0) { for (const characterPath of characterPaths) { let content = null; let resolvedPath = ""; - + // Try different path resolutions in order const pathsToTry = [ characterPath, // exact path as specified path.resolve(process.cwd(), characterPath), // relative to cwd path.resolve(__dirname, characterPath), // relative to current script - path.resolve(__dirname, "../characters", path.basename(characterPath)), // relative to characters dir from agent - path.resolve(__dirname, "../../characters", path.basename(characterPath)), // relative to project root characters dir + path.resolve( + __dirname, + "../characters", + path.basename(characterPath) + ), // relative to characters dir from agent + path.resolve( + __dirname, + "../../characters", + path.basename(characterPath) + ), // relative to project root characters dir ]; for (const tryPath of pathsToTry) { @@ -111,9 +122,11 @@ export async function loadCharacters( } if (content === null) { - elizaLogger.error(`Error loading character from ${characterPath}: File not found in any of the expected locations`); + elizaLogger.error( + `Error loading character from ${characterPath}: File not found in any of the expected locations` + ); elizaLogger.error("Tried the following paths:"); - pathsToTry.forEach(p => elizaLogger.error(` - ${p}`)); + pathsToTry.forEach((p) => elizaLogger.error(` - ${p}`)); process.exit(1); } @@ -134,9 +147,13 @@ export async function loadCharacters( } loadedCharacters.push(character); - elizaLogger.info(`Successfully loaded character from: ${resolvedPath}`); + elizaLogger.info( + `Successfully loaded character from: ${resolvedPath}` + ); } catch (e) { - elizaLogger.error(`Error parsing character from ${resolvedPath}: ${e}`); + elizaLogger.error( + `Error parsing character from ${resolvedPath}: ${e}` + ); process.exit(1); } } @@ -285,7 +302,7 @@ export function createAgent( character.name ); - nodePlugin ??= createNodePlugin() + nodePlugin ??= createNodePlugin(); return new AgentRuntime({ databaseAdapter: db, @@ -300,25 +317,23 @@ export function createAgent( : null, nodePlugin, getSecret(character, "SOLANA_PUBLIC_KEY") || - getSecret(character, "WALLET_PUBLIC_KEY") && - !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x") + (getSecret(character, "WALLET_PUBLIC_KEY") && + !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x")) ? solanaPlugin : null, getSecret(character, "EVM_PUBLIC_KEY") || - getSecret(character, "WALLET_PUBLIC_KEY") && - !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x") + (getSecret(character, "WALLET_PUBLIC_KEY") && + !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x")) ? evmPlugin : null, getSecret(character, "ZEROG_PRIVATE_KEY") ? zgPlugin : null, getSecret(character, "COINBASE_COMMERCE_KEY") ? coinbaseCommercePlugin : null, - getSecret(character, "COINBASE_API_KEY") && + ...(getSecret(character, "COINBASE_API_KEY") && getSecret(character, "COINBASE_PRIVATE_KEY") - ? coinbaseMassPaymentsPlugin - : null, - getSecret(character, "BUTTPLUG_API_KEY") ? buttplugPlugin : null, - getSecret(character, "WALLET_SECRET_SALT") ? teePlugin : null, + ? [coinbaseMassPaymentsPlugin, tradePlugin] + : []), ].filter(Boolean), providers: [], actions: [], diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md index ecfc748004..83da29b65f 100644 --- a/docs/docs/packages/plugins.md +++ b/docs/docs/packages/plugins.md @@ -225,6 +225,44 @@ This plugin enables Eliza to interact with the Coinbase Commerce API to create a --- +### Coinbase Wallet Management + +The plugin automatically handles wallet creation or uses an existing wallet if the required details are provided during the first run. + +1. **Wallet Generation on First Run** + If no wallet information is provided (`COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID`), the plugin will: + + - **Generate a new wallet** using the Coinbase SDK. + - Automatically **export the wallet details** (`seed` and `walletId`) and securely store them in `runtime.character.settings.secrets` or other configured storage. + - Log the wallet’s default address for reference. + - If the character file does not exist, the wallet details are saved to a characters/charactername-seed.txt file in the characters directory with a note indicating that the user must manually add these details to settings.secrets or the .env file. + +2. **Using an Existing Wallet** + If wallet information is available during the first run: + - Provide `COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID` via `runtime.character.settings.secrets` or environment variables. + - The plugin will **import the wallet** and use it for processing mass payouts. + +--- + +### Coinbase Wallet Management + +The plugin automatically handles wallet creation or uses an existing wallet if the required details are provided during the first run. + +1. **Wallet Generation on First Run** + If no wallet information is provided (`COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID`), the plugin will: + + - **Generate a new wallet** using the Coinbase SDK. + - Automatically **export the wallet details** (`seed` and `walletId`) and securely store them in `runtime.character.settings.secrets` or other configured storage. + - Log the wallet’s default address for reference. + - If the character file does not exist, the wallet details are saved to a characters/charactername-seed.txt file in the characters directory with a note indicating that the user must manually add these details to settings.secrets or the .env file. + +2. **Using an Existing Wallet** + If wallet information is available during the first run: + - Provide `COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID` via `runtime.character.settings.secrets` or environment variables. + - The plugin will **import the wallet** and use it for processing mass payouts. + +--- + #### 6. Coinbase MassPayments Plugin (`@eliza/plugin-coinbase`) This plugin facilitates the processing of cryptocurrency mass payouts using the Coinbase SDK. It enables the creation and management of mass payouts to multiple wallet addresses, logging all transaction details to a CSV file for further analysis. @@ -311,7 +349,6 @@ The plugin automatically handles wallet creation or uses an existing wallet if t - Provide `COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID` via `runtime.character.settings.secrets` or environment variables. - The plugin will **import the wallet** and use it for processing mass payouts. - **Required Configurations:** The following configurations must be provided for wallet management: @@ -321,8 +358,9 @@ The following configurations must be provided for wallet management: - `COINBASE_GENERATED_WALLET_ID`: Unique wallet ID. - These variables must be securely stored in `runtime.character.settings.secrets` or as environment variables. +--- -**Wallet Creation Process:** +### Wallet Creation Process 1. **Automatic Wallet Creation** When no wallet details are available: @@ -449,37 +487,117 @@ const provider = new DeriveKeyProvider(); // Derive a raw key try { - const rawKey = await provider.rawDeriveKey( - "/path/to/derive", - "subject-identifier" - ); - // rawKey is a DeriveKeyResponse that can be used for further processing - // to get the uint8Array do the following - const rawKeyArray = rawKey.asUint8Array() + const rawKey = await provider.rawDeriveKey( + "/path/to/derive", + "subject-identifier", + ); + // rawKey is a DeriveKeyResponse that can be used for further processing + // to get the uint8Array do the following + const rawKeyArray = rawKey.asUint8Array(); +} catch (error) { + console.error("Raw key derivation failed:", error); +} + +// Derive a Solana keypair (Ed25519) +try { + const solanaKeypair = await provider.deriveEd25519Keypair( + "/path/to/derive", + "subject-identifier", + ); + // solanaKeypair can now be used for Solana operations +} catch (error) { + console.error("Solana key derivation failed:", error); +} + +// Derive an Ethereum keypair (ECDSA) +try { + const evmKeypair = await provider.deriveEcdsaKeypair( + "/path/to/derive", + "subject-identifier", + ); + // evmKeypair can now be used for Ethereum operations +} catch (error) { + console.error("EVM key derivation failed:", error); +} +``` + +**RemoteAttestationProvider Usage** + +```typescript +import { RemoteAttestationProvider } from "@ai16z/plugin-tee"; +// Initialize the provider +const provider = new RemoteAttestationProvider(); +// Generate Remote Attestation +try { + const attestation = await provider.generateAttestation("your-report-data"); + console.log("Attestation:", attestation); +} catch (error) { + console.error("Failed to generate attestation:", error); +} +``` + +**Configuration** + +When using the provider through the runtime environment, ensure the following settings are configured: + +```env + # Optional, for simulator purposes if testing on mac or windows. Leave empty for Linux x86 machines. +DSTACK_SIMULATOR_ENDPOINT="http://host.docker.internal:8090" +WALLET_SECRET_SALT=your-secret-salt // Required to single agent deployments +``` + +--- + +#### 7. TEE Plugin (`@ai16z/plugin-tee`) + +Integrates [Dstack SDK](https://github.com/Dstack-TEE/dstack) to enable TEE (Trusted Execution Environment) functionality and deploy secure & privacy-enhanced Eliza Agents: + +**Providers:** + +- `deriveKeyProvider` - Allows for secure key derivation within a TEE environment. It supports deriving keys for both Solana (Ed25519) and Ethereum (ECDSA) chains. +- `remoteAttestationProvider` - Generate a Remote Attestation Quote based on `report_data`. + +**DeriveKeyProvider Usage** + +```typescript +import { DeriveKeyProvider } from "@ai16z/plugin-tee"; + +// Initialize the provider +const provider = new DeriveKeyProvider(); + +// Derive a raw key +try { + const rawKey = await provider.rawDeriveKey( + "/path/to/derive", + "subject-identifier", + ); + // rawKey is a DeriveKeyResponse that can be used for further processing + // to get the uint8Array do the following + const rawKeyArray = rawKey.asUint8Array(); } catch (error) { - console.error("Raw key derivation failed:", error); + console.error("Raw key derivation failed:", error); } // Derive a Solana keypair (Ed25519) try { - const solanaKeypair = await provider.deriveEd25519Keypair( - "/path/to/derive", - "subject-identifier" - ); - // solanaKeypair can now be used for Solana operations + const solanaKeypair = await provider.deriveEd25519Keypair( + "/path/to/derive", + "subject-identifier", + ); + // solanaKeypair can now be used for Solana operations } catch (error) { - console.error("Solana key derivation failed:", error); + console.error("Solana key derivation failed:", error); } // Derive an Ethereum keypair (ECDSA) try { - const evmKeypair = await provider.deriveEcdsaKeypair( - "/path/to/derive", - "subject-identifier" - ); - // evmKeypair can now be used for Ethereum operations + const evmKeypair = await provider.deriveEcdsaKeypair( + "/path/to/derive", + "subject-identifier", + ); + // evmKeypair can now be used for Ethereum operations } catch (error) { - console.error("EVM key derivation failed:", error); + console.error("EVM key derivation failed:", error); } ``` @@ -491,10 +609,10 @@ import { RemoteAttestationProvider } from "@ai16z/plugin-tee"; const provider = new RemoteAttestationProvider(); // Generate Remote Attestation try { - const attestation = await provider.generateAttestation("your-report-data"); - console.log("Attestation:", attestation); + const attestation = await provider.generateAttestation("your-report-data"); + console.log("Attestation:", attestation); } catch (error) { - console.error("Failed to generate attestation:", error); + console.error("Failed to generate attestation:", error); } ``` @@ -508,7 +626,7 @@ DSTACK_SIMULATOR_ENDPOINT="http://host.docker.internal:8090" WALLET_SECRET_SALT=your-secret-salt // Required to single agent deployments ``` -___ +--- ### Writing Custom Plugins diff --git a/package.json b/package.json index 0c93e263c7..485faa57c8 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "devDependencies": { "@commitlint/cli": "^18.4.4", "@commitlint/config-conventional": "^18.4.4", - "lerna": "8.1.5", - "only-allow": "1.2.1", "concurrently": "9.1.0", "husky": "9.1.7", + "lerna": "8.1.5", + "only-allow": "1.2.1", "prettier": "3.3.3", "typedoc": "0.26.11", "typescript": "5.6.3", @@ -44,14 +44,18 @@ "node": "23.3.0" }, "dependencies": { - "@coinbase/coinbase-sdk": "^0.10.0", - "csv-parse": "^5.6.0", "@0glabs/0g-ts-sdk": "^0.2.1", "amqplib": "0.10.5", + "@ai16z/eliza": "0.1.4-alpha.3", + "@coinbase/coinbase-sdk": "^0.10.0", + "csv-parse": "^5.6.0", "ollama-ai-provider": "^0.16.1", "optional": "^0.1.4", "sharp": "^0.33.5", "tslog": "^4.9.3" }, - "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee" + "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee", + "workspaces": [ + "packages/*" + ] } diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index cc9fb965fa..ff23b14df6 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -901,7 +901,7 @@ export const generateCaption = async ( export interface GenerationOptions { runtime: IAgentRuntime; context: string; - modelClass: TiktokenModel; + modelClass: ModelClass; schema?: ZodSchema; schemaName?: string; schemaDescription?: string; @@ -946,7 +946,7 @@ export const generateObjectV2 = async ({ } const provider = runtime.modelProvider; - const model = models[provider].model[modelClass]; + const model = models[provider].model[modelClass] as TiktokenModel; if (!model) { throw new Error(`Unsupported model class: ${modelClass}`); } @@ -958,7 +958,7 @@ export const generateObjectV2 = async ({ const apiKey = runtime.token; try { - context = await trimTokens(context, max_context_length, "gpt-4o"); + context = trimTokens(context, max_context_length, model); const modelOptions: ModelSettings = { prompt: context, diff --git a/packages/plugin-buttplug/intiface-engine/CHANGELOG.md b/packages/plugin-buttplug/intiface-engine/CHANGELOG.md new file mode 100644 index 0000000000..687ce7fe78 --- /dev/null +++ b/packages/plugin-buttplug/intiface-engine/CHANGELOG.md @@ -0,0 +1,612 @@ +# Intiface Engine v1.4.8 (2023/11/16) + +## Features + +- Update to Buttplug v7.1.9 + - Added Lovense Solace, OhMiBod Foxy, Chill support + +# Intiface Engine v1.4.7 (2023/11/04) + +## Features + +- Allow logging to use environment variables for setup over command line prefs +- Update to Buttplug v7.1.8 + - Add lovense device support + - Fix some device support issues + +# Intiface Engine v1.4.6 (2023/10/19) + +## Features + +- Update to Buttplug v7.1.7 + - Fixes memory leak in mDNS handling + - Defaults to device keepalive being on when compiling for iOS + +# Intiface Engine v1.4.5 (2023/10/08) + +## Features + +- Update to Buttplug v7.1.6 + - Fixes Lovense Dongle support + - Added Foreo device support + +# Intiface Engine v1.4.4 (2023/10/05) + +## Bugfixes + +- Make mDNS actually work in all cases (but it's still considered experimental) +- Fix compilation issues for android + +# Intiface Engine v1.4.3 (2023/10/04) + +## Features + +- Update to Buttplug v7.1.5 + - Lots of device additions, HID device manager for Joycons +- Add mDNS broadcast capabilities + +# Intiface Engine v1.4.2 (2023/07/16) + +## Features + +- Update to Buttplug v7.1.2 + - Device additions for Magic Motion, Lovense Connect bugfix + +# Intiface Engine v1.4.1 (2023/07/09) + +## Features + +- Update to Buttplug v7.1.1 + - Mostly device additions/updates + +# Intiface Engine v1.4.0 (2023/05/21) + +## Features + +- Update to Buttplug v7.1.0 + - Mostly device additions/updates + - Some fixes for user configs +- Move ButtplugRemoteServer into Intiface Engine + - Gives us more flexibility to change things in development +- Updates for user device config updates via Buttplug + +# Intiface Engine v1.3.0 (2023/02/19) + +## Features + +- Added Websocket Client argument for running the engine as a websocket client instead of a server +- Update to Buttplug v7.0.2 + - Hardware protocols updates for Kizuna/Svakom/Sakuraneko + +# Intiface Engine v1.2.2 (2023/01/30) + +## Bugfixes + +- Fix timing issue on sending EngineStopped message on exit + +# Intiface Engine v1.2.1 (2023/01/16) + +## Features + +- Update to Buttplug v7.0.1 + - Hardware protocol updates/fixed, see Buttplug CHANGELOG for more info. + +# Intiface Engine v1.2.0 (2023/01/01) + +## Features + +- Update to Buttplug v7.0.0 + - Major version move because of API breakage. + - Mostly bugfixes otherwise. + - Removes IPC Pipes, so removed them in Intiface Engine too. + +# Intiface Engine v1.1.0 (2022/12/19) + +## Features + +- Update to Buttplug v6.3.0 + - Lots of device additions + - Major bugfixes for WeVibe/Satisfyer/Magic Motion and Lovense Connect + +# Intiface Engine v1.0.5 (2022/11/27) + +## Bugfixes + +- Update to Buttplug v6.2.2 + - Fixes issues with platform dependencies and DCMs + - Fixes error message in common path in CoreBluetooth + - Stops devices when server disconnects + +# Intiface Engine v1.0.4 (2022/11/24) + +## Features + +- Update to Buttplug v6.2.1 +- Add optional tokio_console feature for task debugging +- Remove crash reporting for now + - Needs to be updated, more testing, etc... + +# Intiface Engine v1.0.3 (2022/11/05) + +## Features + +- Implemented BackdoorServer, which allows access to server devices directly, while still allowing a + client to access them simultaneously. Can't possibly see how this could go wrong. +- Added EngineServerCreated Event for IntifaceCentral to know when to bring up the BackdoorServer. + +## Bugfixes + +- Fixed issue where logging could stay alive through multiple server bringups when run in process. + +# Intiface Engine v1.0.2 (2022/10/18) + +## Bugfixes + +- Vergen should not block building as a library dependency + +# Intiface Engine v1.0.1 (2022/10/15) + +## Features + +- Update to Buttplug v6.1.0 + - Mostly bugfixes + - Now requires v2.x device config files + +# Intiface Engine v1.0.0 (2022/10/01) + +## Breaking Changes + +- Rebuilt command line arguments + - Now in kebab case format + - ALL DCMs require --use statements, there are no default DCMs anymore +- Incorporates changes made during the egui betas. +- The `--stay_open` argument is now assumed. The server will run until either Ctrl-C is pressed or + an IPC stop message is received. + +## Features + +- Intiface Engine is now compiled as both a CLI (for desktop) and a Library (for mobile). +- Updated to Buttplug v6 +- Moved to semantic versioning, major version denotes CLI argument or breaking IPC protocol change. + +# v101 (egui Beta 2) (2021/01/25) + +- Add websocket device server port selection + +# v100 (egui Beta 1) (2021/01/04) + +## Features + +- Use JSON over named pipes instead of protobufs over stdio +- Add sentry crash logging +- Server version now uses a shorter tag +- Update to Rust 2021 + +# v50 (2022/04/26) - Last version of Intiface CLI + +## Features + +- Update to Buttplug v5.1.9 + - Add Magic Motion Crystal support + - Fix issues with Satisfyer Plugalicious 2 connections + - Fix issues with Satisfyer device identification + +# v49 (2022/03/05) + +## Features + +- Update to Buttplug v5.1.8 + - Added Lelo F1s v2 support, more support for Mannuo/Magic Motion/OhMiBod devices + - May fix issues with windows bluetooth on older Win 10 versions + +# v48 (2021/01/24) + +## Features + +- Update to Buttplug v5.1.7 + - Lovense Calor support, Folove support, more WeVibe/Satisfyer support + +# v47 (2022/01/04) + +## Bugfixes + +- No changes to build, re-release to fix issue with a wrong tag getting pushed. + +# v46 (2022/01/01) + +## Bugfixes + +- Update to Buttplug v5.1.6 + - Fix issues with serial ports blocking, lovense connect data types, log message levels, etc... + - See Buttplug v5.1.6 changelog for more info. + (https://github.com/buttplugio/buttplug/blob/master/buttplug/CHANGELOG.md) + +# v45 (2021/12/19) + +## Bugfixes + +- Update to Buttplug v5.1.5 + - Fix issues with Satisfyer name detection and disconnection + - Fix issues with device scanning always saying it's instantly finished + +# v44 (2021/12/14) + +## Bugfixes + +- Update to Buttplug v5.1.4 + - Shouldn't change anything in here, all the fixes were FFI related, but eh. +- Try to get crash logs into frontend log output for easier debugging +- #14: Fix issue with intiface-cli not sending events to desktop after first disconnection + +# v43 (2021/12/04) + +## Bugfixes + +- Update to Buttplug v5.1.2 + - Fix race condition with bluetooth advertisements causing multiple simultaneous connects to + devices +- Update to vergen 5.2.0 + - Last version was yanked + +# v42 (2021/12/03) + +## Bugfixes + +- Update to Buttplug v5.1.1 + - Fix issues with devices w/ advertised services being ignored + - Fix issues with lovense dongle on linux + +# v41 (2021/12/02) + +## Features + +- Update to Buttplug v5.1 + - Bluetooth library updates + - Satisfyer/ManNuo/other device support (see Buttplug README) + - Lots of other fixes +- Update to vergen v5, tracing-subscriber v0.3 + +# v40 (2021/09/14) + +## Features + +- Update to Buttplug v5.0.1 + - Better MacOS bluetooth support + - Better Linux bluetooth support + - Tons of device additions (see Buttplug README) + - Adds websocket device interface + +# v39 (2021/07/05) + +## Features + +- Server now throws warnings whenever a client tries to connect when another client is already + connected. +- Update to Buttplug 4.0.4 + - Added hardware support for TCode devices, Patoo, Vorze Piston SA + +## Bugfixes + +- Fix cancellation of tasks on shutdown. + +# v38 (2021/06/18) + +## Bugfixes + +- Update to buttplug-rs 4.0.3, which fixes issues with Android phones using the Lovense Connect app. + +# v37 (2021/06/11) + +## Bugfixes + +- Fix timing issue where Process Ended message may not be seen by Intiface Desktop +- Update to buttplug-rs 4.0.2, fixing issue with Intiface Desktop stalling due to logging issues. +- Add Info.plist file for macOS Big Sur and later compat + +# v36 (2021/06/10) + +## Features + +- Added opt-in/out arguments for all available device communication managers +- Added support for Lovense Connect Service + +# v35 (2021/04/04) + +## Bugfixes + +- Update to Buttplug v2.1.9 + - Reduces error log messages thrown by lovense dongle + - Reduces panics in bluetooth handling on windows + - Fixes issue with battery checking on lovense devices stalling library on device disconnect + +# v34 (2021/03/25) + +## Bugfixes + +- Update to Buttplug v2.1.8 + - Possibly fixes issue with bluetooth devices not registering disconnection on windows. + +# v33 (2021/03/08) + +## Bugfixes + +- Update to Buttplug v2.1.7 + - Fixes legacy message issues with The Handy and Vorze toys + - Fixes init issues with some Kiiroo vibrators + +# v32 (2021/02/28) + +## Bugfixes + +- Update to Buttplug v2.1.6 + - Fixes issues with log message spamming + - Update btleplug to 0.7.0, lots of cleanup + +# v31 (2021/02/20) + +## Bugfixes + +- Update to Buttplug v2.1.5 + - Fixes panic in devices that disconnect during initialize(). + +# v30 (2021/02/13) + +## Features + +- Update to Buttplug v2.1.4 +- Added Hardware Support + - The Handy + +## Bugfixes + +- Fixes issues with the LoveAi Dolp and Lovense Serial Dongle + +# v29 (2021/02/06) + +## Bugfixes + +- Update to Buttplug v2.1.3 + - Fix StopAllDevices so it actually stops all devices again + - Allow for setting device intensity to 1.0 + +# v28 (2021/02/06) + +## Features + +- Update to Buttplug v2.1.1 + - Adds Lovense Diamo and Nobra's Silicone Dreams support + - Lots of bugfixes and more/better errors being emitted + +# v27 (2021/01/24) + +## Bugfixes + +- Update to Buttplug 2.0.5 + - Fixes issue with v2 protocol conflicts in DeviceMessageInfo + +# v26 (2021/01/24) + +## Bugfixes + +- Update to Buttplug 2.0.4 + - Fixes issue with XInput devices being misaddressed and stopping all scanning. + +# v25 (2021/01/19) + +## Bugfixes + +- Update to Buttplug 2.0.2 + - Fixes issue with scanning status getting stuck on Lovense dongles + +# v24 (Yanked) (2021/01/18) + +## Features + +- Update to Buttplug 2.0.1 + - Event system and API cleanup + - Lovense Ferri Support +- Backtraces now emitted via logging system when using frontend IPC + +# v23 (2021/01/01) + +## Bugfixes + +- Update to Buttplug 1.0.4 + - Fixes issues with XInput Gamepads causing intiface-cli-rs crashes on reconnect. + +# v22 (2021/01/01) + +## Bugfixes + +- Update to Buttplug 1.0.3 + - Fixes issues with BTLE advertisements and adds XInput device rescanning. + +# v21 (2020/12/31) + +## Bugfixes + +- Update to Buttplug 1.0.1 + - Fixes issue with device scanning races. + +# v20 (2020/12/22) + +## Bugfixes + +- Update to Buttplug 0.11.3 + - Fixes security issues and a memory leak when scanning is called often. + +# v19 (2020/12/11) + +## Bugfixes + +- Update to Buttplug 0.11.2 + - Emits Scanningfinished when scanning is finished. Finally. + +# v18 (2020/11/27) + +## Features + +- Update to buttplug-rs 0.11.1 + - System bugfixes + - Mysteryvibe support + +# v17 (2020/10/25) + +## Features + +- Update to buttplug-rs 0.10.1 + - Lovense Dongle Bugfixes + - BLE Toy Connection Bugfixes +- Fix logging output + - Pay attention to log option on command line again + - Outputs full tracing JSON to frontend + +# v16 (2020/10/17) + +## Features + +- Update to buttplug-rs 0.10.0 + - Kiiroo Keon Support + - New raw device commands (use --allowraw option for access) + +## Bugfixes + +- Update to buttplug-rs 0.10.0 + - Lots of websocket crash fixes + +# v15 (2020/10/05) + +## Bugfixes + +- Update to buttplug-rs 0.9.2 w/ btleplug 0.5.4, fixing an issue with macOS + panicing whenever it tries to read from a BLE device. + +# v14 (2020/10/05) + +## Bugfixes + +- Update to buttplug-rs 0.9.1 w/ btleplug 0.5.3, fixing an issue with macOS + panicing whenever it tries to write to a BLE device. + +# v13 (2020/10/04) + +## Features + +- Update to buttplug-rs 0.9.0, which now has Battery level reading capabilites + for some hardware. + +## Bugfixes + +- Update to buttplug-rs 0.9.0, which now does not crash when 2 devices are + connected and one disconnects. + +# v12 (2020/10/02) + +## Features + +- Update to Buttplug-rs 0.8.4, fixing a bunch of device issues. +- Default to outputting info level logs if no env log var set. (Should pick this + up from command line argument in future version) + +## Bugfixes + +- Only run for one connection attempt if --stayopen isn't passed in. + +# v11 (2020/09/20) + +## Bugfixes + +- Moves to buttplug-0.8.3, which fixes support for some programs using older + APIs (FleshlightLaunchFW12Cmd) for Kiiroo stroking products (Onyx, Fleshlight + Launch, etc). + +# v10 (2020/09/13) + +## Features + +- Added log handling from Buttplug library. Still needs protocol/CLI setting, + currently outputs everything INFO or higher. + +## Bugfixes + +- Moves to buttplug-0.8.2, fixing Lovense rotation and adding log output + support. + +# v9 (2020/09/11) + +## Bugfixes + +- Moves to buttplug-0.7.3, which loads both RSA and pkcs8 certificates. This + allows us to load the certs that come from Intiface Desktop. + +# v8 (2020/09/07) + +## Bugfixes + +- Move to buttplug-rs 0.7.2, which adds more device configurations and fixes + websocket listening on all interfaces. + +# v7 (2020/09/06) + +## Features + +- Move to buttplug-rs 0.7.1, which includes status emitting features and way + more device protocol support. +- Allow frontend to trigger process stop +- Send disconnect to frontend when client disconnects +- Can now relay connected/disconnected devices to GUIs via PBuf protocol + +# v6 (2020/08/06) + +## Features + +- Move to buttplug-rs 0.6.0, which integrates websockets and server lifetime + handling. intiface-cli-rs is now a very thin wrapper around buttplug-rs, + handling system bringup and frontend communication and that's about it. + +# v5 (2020/05/13) + +## Bugfixes + +- Move to buttplug-rs 0.3.1, with a couple of unwrap fixes + +# v4 (2020/05/10) + +## Features + +- --stayopen option now actually works, reusing the server between + client connections. + +# v3 (2020/05/09) + +## Features + +- Added protobuf basis for hooking CLI into Intiface Desktop + +## Bugfixes + +- Fixed bug where receiving ping message from async_tungstenite would + panic server +- Update to buttplug 0.2.4, which fixes ServerInfo message ID matching + +# v2 (2020/02/15) + +## Features + +- Move to using rolling versioning, since this is a binary +- Move to using buttplug 0.2, with full server implementation +- Add cert generation +- Add secure websocket capabilities +- Move to using async-tungstenite +- Use Buttplug's built in JSONWrapper +- Add XInput capability on windows +- Add CI building +- Add Simple GUI message output for Intiface Desktop + +# v1 (aka v0.0.1) (2020/02/15) + +## Features + +- First version +- Can bring up insecure websocket, run server, access toys +- Most options not used yet diff --git a/packages/plugin-buttplug/intiface-engine/README.md b/packages/plugin-buttplug/intiface-engine/README.md new file mode 100644 index 0000000000..a028303945 --- /dev/null +++ b/packages/plugin-buttplug/intiface-engine/README.md @@ -0,0 +1,106 @@ +# Intiface Engine + +[![Patreon donate button](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/qdot) +[![Github donate button](https://img.shields.io/badge/github-donate-ff69b4.svg)](https://www.github.com/sponsors/qdot) +[![Discourse Forums](https://img.shields.io/discourse/status?label=buttplug.io%20forums&server=https%3A%2F%2Fdiscuss.buttplug.io)](https://discuss.buttplug.io) +[![Discord](https://img.shields.io/discord/353303527587708932.svg?logo=discord)](https://discord.buttplug.io) +[![Twitter](https://img.shields.io/twitter/follow/buttplugio.svg?style=social&logo=twitter)](https://twitter.com/buttplugio) + +![Intiface Engine Build](https://github.com/intiface/intiface-engine/workflows/Intiface%20Engine%20Build/badge.svg) ![crates.io](https://img.shields.io/crates/v/intiface-engine.svg) + + +

+ +

+ +CLI and Library frontend for Buttplug + +Intiface Engine is just a front-end for [Buttplug](https://github.com/buttplugio/buttplug), +but since we're trying to not make people install a program named "Buttplug", here we are. + +While this program can be used standalone, it will mostly be featured as a backend/engine for +Intiface Central. + +## Running + +Command line options are as follows: + +| Option | Description | +| --------- | --------- | +| `version` | Print version and exit | +| `server-version` | Print version and exit (kept for legacy reasons) | +| `crash-reporting` | Turn on sentry crash reporting | +| `websocket-use-all-interfaces` | Websocket servers will listen on all interfaces (versus only on localhost, which is default) | +| `websocket-port [port]` | Network port for connecting via non-ssl (ws://) protocols | +| `frontend-websocket-port` | IPC JSON port for Intiface Central | +| `server-name` | Identifying name server should emit when asked for info | +| `device-config-file [file]` | Device configuration file to load (if omitted, uses internal) | +| `user-device-config-file [file]` | User device configuration file to load (if omitted, none used) | +| `max-ping-time [number]` | Milliseconds for ping time limit of server (if omitted, set to 0) | +| `log` | Level of logs to output by default (if omitted, set to None) | +| `allow-raw` | Allow clients to communicate using raw messages (DANGEROUS, CAN BRICK SOME DEVICES) | +| `use_bluetooth-le` | Use the Bluetooth LE Buttplug Device Communication Manager | +| `use-serial` | Use the Serial Port Buttplug Device Communication Manager | +| `use-hid` | Use the HID Buttplug Device Communication Manager | +| `use-lovense-dongle` | Use the HID Lovense Dongle Buttplug Device Communication Manager | +| `use-xinput` | Use the XInput Buttplug Device Communication Manager | +| `use-lovense-connect` | Use the Lovense Connect Buttplug Device Communication Manager | +| `use-device-websocket-server` | Use the Device Websocket Server Buttplug Device Communication Manager | +| `device-websocket-server-port` | Port for the device websocket server | + +For example, to run the server on websockets at port 12345 with bluetooth device support: + +`intiface-engine --weboscket-port 12345 --use-bluetooth-le` + +## Compiling + +Linux will have extra compilation dependency requirements via +[buttplug-rs](https://github.com/buttplugio/buttplug-rs). For pacakges required, +please check there. + +## Contributing + +Right now, we mostly need code/API style reviews and feedback. We don't really have any good +bite-sized chunks to mentor the implementation yet, but one we do, those will be marked "Help +Wanted" in our [github issues](https://github.com/buttplugio/buttplug-rs/issues). + +As we need money to keep up with supporting the latest and greatest hardware, we also have multiple +ways to donate! + +- [Patreon](https://patreon.com/qdot) +- [Github Sponsors](https://github.com/sponsors/qdot) +- [Ko-Fi](https://ko-fi.com/qdot76367) + +## License and Trademarks + +Intiface is a Registered Trademark of Nonpolynomial Labs, LLC + +Buttplug and Intiface are BSD licensed. + + Copyright (c) 2016-2022, Nonpolynomial Labs, LLC + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of buttplug nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/plugin-buttplug/intiface-engine/intiface-engine b/packages/plugin-buttplug/intiface-engine/intiface-engine new file mode 100755 index 0000000000..b426944206 Binary files /dev/null and b/packages/plugin-buttplug/intiface-engine/intiface-engine differ diff --git a/packages/plugin-coinbase/eslint.config.mjs b/packages/plugin-coinbase/eslint.config.mjs new file mode 100644 index 0000000000..c6b6b1a9da --- /dev/null +++ b/packages/plugin-coinbase/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.global.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/plugin-coinbase/package-lock.json b/packages/plugin-coinbase/package-lock.json new file mode 100644 index 0000000000..b940815fdb --- /dev/null +++ b/packages/plugin-coinbase/package-lock.json @@ -0,0 +1,2534 @@ +{ + "name": "@ai16z/plugin-coinbase", + "version": "0.1.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@ai16z/plugin-coinbase", + "version": "0.1.3", + "dependencies": { + "coinbase-api": "1.0.5" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "peerDependencies": { + "onnxruntime-node": "1.20.1", + "vue": "3.5.13", + "whatwg-url": "7.1.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "peer": true, + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", + "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", + "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", + "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", + "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", + "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", + "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", + "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", + "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", + "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", + "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", + "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", + "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", + "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", + "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", + "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", + "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", + "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", + "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT", + "peer": true + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz", + "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bundle-require": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/coinbase-api": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/coinbase-api/-/coinbase-api-1.0.5.tgz", + "integrity": "sha512-5Rq6hYKnJNc9v4diD8M6PStSc2hwMgfOlB+pb1LSyh5q2xg9ZKi3Gu8ZVxaDnKXmgQgrjI4xJLMpc3fiLgzsew==", + "license": "MIT", + "dependencies": { + "axios": "^1.7.4", + "isomorphic-ws": "^4.0.1", + "jsonwebtoken": "^9.0.2", + "nanoid": "^3.3.7", + "ws": "^7.4.0" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/tiagosiebler" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT", + "peer": true + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT", + "peer": true + }, + "node_modules/fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jsonwebtoken/node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.14", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.14.tgz", + "integrity": "sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/onnxruntime-common": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.20.1.tgz", + "integrity": "sha512-YiU0s0IzYYC+gWvqD1HzLc46Du1sXpSiwzKb63PACIJr6LfL27VsXSXQvt68EzD3V0D5Bc0vyJTjmMxp0ylQiw==", + "license": "MIT", + "peer": true + }, + "node_modules/onnxruntime-node": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.20.1.tgz", + "integrity": "sha512-di/I4HDXRw+FLgq+TyHmQEDd3cEp9iFFZm0r4uJ1Wd7b/WE1VXtKWo8yemex347c6GNF/3Pv86ZfPhIWxORr0w==", + "hasInstallScript": true, + "license": "MIT", + "os": [ + "win32", + "darwin", + "linux" + ], + "peer": true, + "dependencies": { + "onnxruntime-common": "1.20.1", + "tar": "^7.0.1" + } + }, + "node_modules/onnxruntime-node/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/onnxruntime-node/node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/onnxruntime-node/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/onnxruntime-node/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "license": "ISC", + "peer": true, + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/onnxruntime-node/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "peer": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "peer": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "peer": true + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "peer": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz", + "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.27.4", + "@rollup/rollup-android-arm64": "4.27.4", + "@rollup/rollup-darwin-arm64": "4.27.4", + "@rollup/rollup-darwin-x64": "4.27.4", + "@rollup/rollup-freebsd-arm64": "4.27.4", + "@rollup/rollup-freebsd-x64": "4.27.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", + "@rollup/rollup-linux-arm-musleabihf": "4.27.4", + "@rollup/rollup-linux-arm64-gnu": "4.27.4", + "@rollup/rollup-linux-arm64-musl": "4.27.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", + "@rollup/rollup-linux-riscv64-gnu": "4.27.4", + "@rollup/rollup-linux-s390x-gnu": "4.27.4", + "@rollup/rollup-linux-x64-gnu": "4.27.4", + "@rollup/rollup-linux-x64-musl": "4.27.4", + "@rollup/rollup-win32-arm64-msvc": "4.27.4", + "@rollup/rollup-win32-ia32-msvc": "4.27.4", + "@rollup/rollup-win32-x64-msvc": "4.27.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyexec": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", + "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsup": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.3.5.tgz", + "integrity": "sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^4.0.1", + "consola": "^3.2.3", + "debug": "^4.3.7", + "esbuild": "^0.24.0", + "joycon": "^3.1.1", + "picocolors": "^1.1.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.24.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tinyexec": "^0.3.1", + "tinyglobby": "^0.2.9", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/packages/plugin-coinbase/package.json b/packages/plugin-coinbase/package.json index a9cf565faf..15b1b7117b 100644 --- a/packages/plugin-coinbase/package.json +++ b/packages/plugin-coinbase/package.json @@ -1,27 +1,23 @@ { "name": "@ai16z/plugin-coinbase", - "version": "0.1.3", + "version": "0.1.4-alpha.3", "main": "dist/index.js", "type": "module", "types": "dist/index.d.ts", "dependencies": { - "@ai16z/eliza": "0.1.3", - "coinbase-api": "1.0.5" + "coinbase-api": "1.0.5", + "@ai16z/eliza": "workspace:*" }, "devDependencies": { + "eslint": "9.13.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.2.1", + "eslint-plugin-vitest": "0.5.4", "tsup": "8.3.5" }, "scripts": { "build": "tsup --format esm --dts", - "dev": "tsup --watch" - }, - "peerDependencies": { - "onnxruntime-node": "1.20.1", - "whatwg-url": "7.1.0", - "vue": "3.5.13" - }, - "trustedDependencies": { - "onnxruntime-node": "^1.20.0", - "sharp": "^0.33.5" + "dev": "tsup --watch", + "lint": "eslint . --fix" } } diff --git a/packages/plugin-coinbase/src/index.ts b/packages/plugin-coinbase/src/index.ts index 5df9ee08b5..9cb5b13ee7 100644 --- a/packages/plugin-coinbase/src/index.ts +++ b/packages/plugin-coinbase/src/index.ts @@ -1,10 +1,13 @@ import { coinbaseMassPaymentsPlugin } from "./plugins/massPayments"; import { coinbaseCommercePlugin } from "./plugins/commerce"; +import { tradePlugin } from "./plugins/trade"; export const plugins = { coinbaseMassPaymentsPlugin, coinbaseCommercePlugin, + tradePlugin, }; export * from "./plugins/massPayments"; export * from "./plugins/commerce"; +export * from "./plugins/trade"; diff --git a/packages/plugin-coinbase/src/plugins/commerce.ts b/packages/plugin-coinbase/src/plugins/commerce.ts index 698d94dc15..44ba4e4346 100644 --- a/packages/plugin-coinbase/src/plugins/commerce.ts +++ b/packages/plugin-coinbase/src/plugins/commerce.ts @@ -115,7 +115,7 @@ export const createCoinbaseChargeAction: Action = { "COINBASE_CHARGE", ], description: "Create a charge using Coinbase Commerce.", - validate: async (runtime: IAgentRuntime, message: Memory) => { + validate: async (runtime: IAgentRuntime, _message: Memory) => { const coinbaseCommerceKeyOk = !!runtime.getSetting( "COINBASE_COMMERCE_KEY" ); @@ -127,7 +127,7 @@ export const createCoinbaseChargeAction: Action = { runtime: IAgentRuntime, message: Memory, state: State, - options: any, + _options: any, callback: HandlerCallback ) => { elizaLogger.log("Composing state for message:", message); @@ -260,7 +260,7 @@ export const getAllChargesAction: Action = { runtime: IAgentRuntime, message: Memory, state: State, - options: any, + _options: any, callback: HandlerCallback ) => { try { @@ -325,7 +325,7 @@ export const getChargeDetailsAction: Action = { runtime: IAgentRuntime, message: Memory, state: State, - options: any, + _options: any, callback: HandlerCallback ) => { elizaLogger.log("Composing state for message:", message); @@ -416,7 +416,7 @@ export const getChargeDetailsAction: Action = { }; export const chargeProvider: Provider = { - get: async (runtime: IAgentRuntime, message: Memory) => { + get: async (runtime: IAgentRuntime, _message: Memory) => { const charges = await getAllCharges( runtime.getSetting("COINBASE_COMMERCE_KEY") ); diff --git a/packages/plugin-coinbase/src/plugins/massPayments.ts b/packages/plugin-coinbase/src/plugins/massPayments.ts index 3f36cf9230..1b0de06701 100644 --- a/packages/plugin-coinbase/src/plugins/massPayments.ts +++ b/packages/plugin-coinbase/src/plugins/massPayments.ts @@ -1,4 +1,4 @@ -import { Coinbase, Wallet, WalletData } from "@coinbase/coinbase-sdk"; +import { Coinbase } from "@coinbase/coinbase-sdk"; import { composeContext, elizaLogger, @@ -25,6 +25,7 @@ import path from "path"; import { fileURLToPath } from "url"; import fs from "fs"; import { createArrayCsvWriter } from "csv-writer"; +import { initializeWallet } from "../utils"; // Dynamically resolve the file path to the src/plugins directory const __filename = fileURLToPath(import.meta.url); @@ -106,68 +107,6 @@ export async function appendTransactionsToCsv(transactions: Transaction[]) { } } -async function initializeWallet(runtime: IAgentRuntime, networkId: string) { - let wallet: Wallet; - const storedSeed = - runtime.getSetting("COINBASE_GENERATED_WALLET_HEX_SEED") ?? - process.env.COINBASE_GENERATED_WALLET_HEX_SEED; - - const storedWalletId = - runtime.getSetting("COINBASE_GENERATED_WALLET_ID") ?? - process.env.COINBASE_GENERATED_WALLET_ID; - if (!storedSeed || !storedWalletId) { - // No stored seed or wallet ID, creating a new wallet - wallet = await Wallet.create({ networkId }); - - // Export wallet data directly - const walletData: WalletData = wallet.export(); - const walletAddress = await wallet.getDefaultAddress(); - try { - const characterFilePath = `characters/${runtime.character.name.toLowerCase()}.character.json`; - const walletIDSave = await updateCharacterSecrets( - characterFilePath, - "COINBASE_GENERATED_WALLET_ID", - walletData.walletId - ); - const seedSave = await updateCharacterSecrets( - characterFilePath, - "COINBASE_GENERATED_WALLET_HEX_SEED", - walletData.seed - ); - if (walletIDSave && seedSave) { - elizaLogger.log("Successfully updated character secrets."); - } else { - const seedFilePath = `characters/${runtime.character.name.toLowerCase()}-seed.txt`; - elizaLogger.error( - `Failed to update character secrets so adding gitignored ${seedFilePath} file please add it your env or character file and delete:` - ); - // save it to gitignored file - wallet.saveSeed(seedFilePath); - } - } catch (error) { - elizaLogger.error("Error updating character secrets:", error); - throw error; - } - - // Logging wallet creation - elizaLogger.log("Created and stored new wallet:", walletAddress); - } else { - // Importing existing wallet using stored seed and wallet ID - wallet = await Wallet.import({ - seed: storedSeed, - walletId: storedWalletId, - }); - - // Logging wallet import - elizaLogger.log( - "Imported existing wallet:", - await wallet.getDefaultAddress() - ); - } - - return wallet; -} - async function executeMassPayout( runtime: IAgentRuntime, networkId: string, @@ -183,9 +122,9 @@ async function executeMassPayout( if (address) { try { // Check balance before initiating transfer - const walletBalance = await sendingWallet.getBalance( - assetId.toLowerCase() - ); + const assetIdLowercase = assetId.toLowerCase(); + const walletBalance = + await sendingWallet.getBalance(assetIdLowercase); elizaLogger.log("Wallet balance for asset:", { assetId, @@ -205,11 +144,11 @@ async function executeMassPayout( }); continue; } - const transferDetails = { amount: transferAmount, - assetId: assetId.toLowerCase(), + assetId: assetIdLowercase, destination: address, + gasless: assetIdLowercase === "usdc" ? true : false, }; elizaLogger.log("Initiating transfer:", transferDetails); @@ -274,7 +213,7 @@ export const sendMassPayoutAction: Action = { similes: ["BULK_TRANSFER", "DISTRIBUTE_FUNDS", "SEND_PAYMENTS"], description: "Sends mass payouts to a list of receiving addresses using a predefined sending wallet and logs all transactions to a CSV file.", - validate: async (runtime: IAgentRuntime, message: Memory) => { + validate: async (runtime: IAgentRuntime, _message: Memory) => { elizaLogger.log("Validating runtime and message..."); return ( !!( @@ -291,7 +230,7 @@ export const sendMassPayoutAction: Action = { runtime: IAgentRuntime, message: Memory, state: State, - options: any, + _options: any, callback: HandlerCallback ) => { elizaLogger.log("Starting SEND_MASS_PAYOUT handler..."); @@ -461,59 +400,3 @@ export const coinbaseMassPaymentsPlugin: Plugin = { actions: [sendMassPayoutAction], providers: [massPayoutProvider], }; - -/** - * Updates a key-value pair in character.settings.secrets. - * @param {string} characterfilePath - The file path to the character. - * @param {string} key - The secret key to update or add. - * @param {string} value - The new value for the secret key. - */ -export async function updateCharacterSecrets( - characterfilePath: string, - key: string, - value: string -): Promise { - try { - const characterFilePath = path.resolve( - process.cwd(), - characterfilePath - ); - - // Check if the character file exists - if (!fs.existsSync(characterFilePath)) { - elizaLogger.error("Character file not found:", characterFilePath); - return false; - } - - // Read the existing character file - const characterData = JSON.parse( - fs.readFileSync(characterFilePath, "utf-8") - ); - - // Ensure settings and secrets exist in the character file - if (!characterData.settings) { - characterData.settings = {}; - } - if (!characterData.settings.secrets) { - characterData.settings.secrets = {}; - } - - // Update or add the key-value pair - characterData.settings.secrets[key] = value; - - // Write the updated data back to the file - fs.writeFileSync( - characterFilePath, - JSON.stringify(characterData, null, 2), - "utf-8" - ); - - console.log( - `Updated ${key} in character.settings.secrets for ${characterFilePath}.` - ); - } catch (error) { - elizaLogger.error("Error updating character secrets:", error); - return false; - } - return true; -} diff --git a/packages/plugin-coinbase/src/plugins/trade.ts b/packages/plugin-coinbase/src/plugins/trade.ts new file mode 100644 index 0000000000..a8b06d03d5 --- /dev/null +++ b/packages/plugin-coinbase/src/plugins/trade.ts @@ -0,0 +1,304 @@ +import { Coinbase, Trade } from "@coinbase/coinbase-sdk"; +import { + Action, + Plugin, + elizaLogger, + IAgentRuntime, + Memory, + HandlerCallback, + State, + composeContext, + generateObjectV2, + ModelClass, + Provider, +} from "@ai16z/eliza"; +import { initializeWallet } from "../utils"; +import { tradeTemplate } from "../templates"; +import { isTradeContent, TradeContent, TradeSchema } from "../types"; +import { readFile } from "fs/promises"; +import { parse } from "csv-parse/sync"; +import path from "path"; +import { fileURLToPath } from "url"; +import fs from "fs"; +import { createArrayCsvWriter } from "csv-writer"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const tradeCsvFilePath = path.join(baseDir, "trades.csv"); + +export const tradeProvider: Provider = { + get: async (_runtime: IAgentRuntime, _message: Memory) => { + try { + elizaLogger.log("Reading CSV file from:", tradeCsvFilePath); + + // Check if the file exists; if not, create it with headers + if (!fs.existsSync(tradeCsvFilePath)) { + elizaLogger.warn("CSV file not found. Creating a new one."); + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Network", + "From Amount", + "Source Asset", + "To Amount", + "Target Asset", + "Status", + "Transaction URL", + ], + }); + await csvWriter.writeRecords([]); // Create an empty file with headers + elizaLogger.log("New CSV file created with headers."); + } + + // Read and parse the CSV file + const csvData = await readFile(tradeCsvFilePath, "utf-8"); + const records = parse(csvData, { + columns: true, + skip_empty_lines: true, + }); + + elizaLogger.log("Parsed CSV records:", records); + return records.map((record: any) => ({ + network: record["Network"] || undefined, + amount: parseFloat(record["From Amount"]) || undefined, + sourceAsset: record["Source Asset"] || undefined, + toAmount: parseFloat(record["To Amount"]) || undefined, + targetAsset: record["Target Asset"] || undefined, + status: record["Status"] || undefined, + transactionUrl: record["Transaction URL"] || "", + })); + } catch (error) { + elizaLogger.error("Error in tradeProvider:", error); + return []; + } + }, +}; + +export async function appendTradeToCsv(trade: Trade) { + try { + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Network", + "From Amount", + "Source Asset", + "To Amount", + "Target Asset", + "Status", + "Transaction URL", + ], + append: true, + }); + + const formattedTrade = [ + trade.getNetworkId(), + trade.getFromAmount(), + trade.getFromAssetId(), + trade.getToAmount(), + trade.getToAssetId(), + trade.getStatus(), + trade.getTransaction().getTransactionLink() || "", + ]; + + elizaLogger.log("Writing trade to CSV:", formattedTrade); + await csvWriter.writeRecords([formattedTrade]); + elizaLogger.log("Trade written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing trade to CSV:", error); + } +} + +export const executeTradeAction: Action = { + name: "EXECUTE_TRADE", + description: + "Execute a trade between two assets using the Coinbase SDK and log the result.", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.log("Validating runtime for EXECUTE_TRADE..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.log("Starting EXECUTE_TRADE handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + const context = composeContext({ + state, + template: tradeTemplate, + }); + + const tradeDetails = await generateObjectV2({ + runtime, + context, + modelClass: ModelClass.SMALL, + schema: TradeSchema, + }); + + if (!isTradeContent(tradeDetails.object)) { + callback( + { + text: "Invalid trade details. Ensure network, amount, source asset, and target asset are correctly specified.", + }, + [] + ); + return; + } + + const { network, amount, sourceAsset, targetAsset } = + tradeDetails.object as TradeContent; + + const allowedNetworks = ["base", "sol", "eth", "arb", "pol"]; + if (!allowedNetworks.includes(network)) { + callback( + { + text: `Invalid network. Supported networks are: ${allowedNetworks.join( + ", " + )}.`, + }, + [] + ); + return; + } + + const wallet = await initializeWallet(runtime, network); + + elizaLogger.log("Wallet initialized:", { + network, + address: await wallet.getDefaultAddress(), + }); + + const tradeParams = { + amount, + fromAssetId: sourceAsset.toLowerCase(), + toAssetId: targetAsset.toLowerCase(), + }; + + const trade: Trade = await wallet.createTrade(tradeParams); + + elizaLogger.log("Trade initiated:", trade.toString()); + + // Wait for the trade to complete + await trade.wait(); + + elizaLogger.log("Trade completed successfully:", trade.toString()); + await appendTradeToCsv(trade); + callback( + { + text: `Trade executed successfully: +- Network: ${network} +- Amount: ${amount} +- From: ${sourceAsset} +- To: ${targetAsset} +- Transaction URL: ${trade.getTransaction().getTransactionLink() || ""}`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error during trade execution:", error); + callback( + { + text: "Failed to execute the trade. Please check the logs for more details.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Trade 0.00001 ETH for USDC on the base", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Trade executed successfully: +- Network: base +- Amount: 0.01 +- From: ETH +- To: USDC +- Transaction URL: https://www.basescan.com/`, + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Swap 1 SOL for USDC on the sol network.", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Trade executed successfully: +- Network: sol +- Amount: 1 +- From: SOL +- To: USDC +- Transaction URL: https://www.solscan.com/`, + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Exchange 100 USDC for ETH on the pol network.", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Trade executed successfully: +- Network: pol +- Amount: 100 +- From: USDC +- To: ETH +- Transaction URL: https://www.etherscan.com/`, + }, + }, + ], + ], + similes: [ + "CREATE_TRADE", + "TRADE", + "SWAP", + "EXCHANGE", + "SWAP_ASSETS", + "SWAP_CURRENCY", + ], +}; + +export const tradePlugin: Plugin = { + name: "tradePlugin", + description: "Enables asset trading using the Coinbase SDK.", + actions: [executeTradeAction], + providers: [tradeProvider], +}; diff --git a/packages/plugin-coinbase/src/plugins/transactions.csv b/packages/plugin-coinbase/src/plugins/transactions.csv new file mode 100644 index 0000000000..0d6123f0dd --- /dev/null +++ b/packages/plugin-coinbase/src/plugins/transactions.csv @@ -0,0 +1,4 @@ +Address,Amount,Status,Error Code,Transaction URL + +0xA0ba2ACB5846A54834173fB0DD9444F756810f06,0.0001,Success,,https://basescan.org/tx/0x461b32b6b5ffd755eb134cb24f79c9136b8af5fd744b1d91320dc43bf2a902ad +0xF14F2c49aa90BaFA223EE074C1C33b59891826bF,0.0001,Success,,https://basescan.org/tx/0x225d624c98023b9d8a4ec53911679672685c1e3aaffce8fdb99db8a85bdc07b8 diff --git a/packages/plugin-coinbase/src/templates.ts b/packages/plugin-coinbase/src/templates.ts index c822699652..775b422519 100644 --- a/packages/plugin-coinbase/src/templates.ts +++ b/packages/plugin-coinbase/src/templates.ts @@ -77,3 +77,30 @@ Provide the details in the following JSON format: Here are the recent user messages for context: {{recentMessages}} `; + +export const tradeTemplate = ` +Extract the following details for processing a trade using the Coinbase SDK: +- **network** (string): The blockchain network to use (e.g., base, sol, eth, arb, pol). +- **amount** (number): The amount to trade (in the smallest unit, e.g., Wei for ETH). +- **sourceAsset** (string): The asset ID to trade from (must be one of: ETH, SOL, USDC, WETH, GWEI, LAMPORT). +- **targetAsset** (string): The asset ID to trade to (must be one of: ETH, SOL, USDC, WETH, GWEI, LAMPORT). + +Ensure that: +1. **network** is one of the supported networks: "base", "sol", "eth", "arb", or "pol". +2. **sourceAsset** and **targetAsset** are valid assets from the provided list. +3. **amount** is a positive number. + +Provide the details in the following JSON format: + +\`\`\`json +{ + "network": "", + "amount": , + "sourceAsset": "", + "targetAsset": "" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; diff --git a/packages/plugin-coinbase/src/types.ts b/packages/plugin-coinbase/src/types.ts index b6d24db744..55efe7c3c3 100644 --- a/packages/plugin-coinbase/src/types.ts +++ b/packages/plugin-coinbase/src/types.ts @@ -1,3 +1,4 @@ +import { Coinbase } from "@coinbase/coinbase-sdk"; import { z } from "zod"; export const ChargeSchema = z.object({ @@ -51,3 +52,32 @@ export type Transaction = { errorCode: string | null; transactionUrl: string | null; }; +const assetValues = Object.values(Coinbase.assets) as [string, ...string[]]; +export const TradeSchema = z.object({ + network: z.string().toLowerCase(), + amount: z.number(), + sourceAsset: z.enum(assetValues), + targetAsset: z.enum(assetValues), + leverage: z.number().optional(), // Optional leverage for leveraged trades +}); + +export interface TradeContent { + network: string; + amount: number; + sourceAsset: string; + targetAsset: string; +} + +export const isTradeContent = (object: any): object is TradeContent => { + return TradeSchema.safeParse(object).success; +}; + +export type TradeTransaction = { + network: string; + amount: number; + sourceAsset: string; + targetAsset: string; + status: string; + errorCode: string | null; + transactionUrl: string | null; +}; diff --git a/packages/plugin-coinbase/src/utils.ts b/packages/plugin-coinbase/src/utils.ts new file mode 100644 index 0000000000..c00ebf2c95 --- /dev/null +++ b/packages/plugin-coinbase/src/utils.ts @@ -0,0 +1,125 @@ +import { Wallet, WalletData } from "@coinbase/coinbase-sdk"; +import { elizaLogger, IAgentRuntime } from "@ai16z/eliza"; +import fs from "fs"; +import path from "path"; + +export async function initializeWallet( + runtime: IAgentRuntime, + networkId: string +) { + let wallet: Wallet; + const storedSeed = + runtime.getSetting("COINBASE_GENERATED_WALLET_HEX_SEED") ?? + process.env.COINBASE_GENERATED_WALLET_HEX_SEED; + + const storedWalletId = + runtime.getSetting("COINBASE_GENERATED_WALLET_ID") ?? + process.env.COINBASE_GENERATED_WALLET_ID; + if (!storedSeed || !storedWalletId) { + // No stored seed or wallet ID, creating a new wallet + wallet = await Wallet.create({ networkId }); + + // Export wallet data directly + const walletData: WalletData = wallet.export(); + const walletAddress = await wallet.getDefaultAddress(); + try { + const characterFilePath = `characters/${runtime.character.name.toLowerCase()}.character.json`; + const walletIDSave = await updateCharacterSecrets( + characterFilePath, + "COINBASE_GENERATED_WALLET_ID", + walletData.walletId + ); + const seedSave = await updateCharacterSecrets( + characterFilePath, + "COINBASE_GENERATED_WALLET_HEX_SEED", + walletData.seed + ); + if (walletIDSave && seedSave) { + elizaLogger.log("Successfully updated character secrets."); + } else { + const seedFilePath = `characters/${runtime.character.name.toLowerCase()}-seed.txt`; + elizaLogger.error( + `Failed to update character secrets so adding gitignored ${seedFilePath} file please add it your env or character file and delete:` + ); + // save it to gitignored file + wallet.saveSeed(seedFilePath); + } + } catch (error) { + elizaLogger.error("Error updating character secrets:", error); + throw error; + } + + // Logging wallet creation + elizaLogger.log("Created and stored new wallet:", walletAddress); + } else { + // Importing existing wallet using stored seed and wallet ID + wallet = await Wallet.import({ + seed: storedSeed, + walletId: storedWalletId, + }); + + // Logging wallet import + elizaLogger.log( + "Imported existing wallet:", + await wallet.getDefaultAddress() + ); + } + + return wallet; +} + +/** + * Updates a key-value pair in character.settings.secrets. + * @param {string} characterfilePath - The file path to the character. + * @param {string} key - The secret key to update or add. + * @param {string} value - The new value for the secret key. + */ +export async function updateCharacterSecrets( + characterfilePath: string, + key: string, + value: string +): Promise { + try { + const characterFilePath = path.resolve( + process.cwd(), + characterfilePath + ); + + // Check if the character file exists + if (!fs.existsSync(characterFilePath)) { + elizaLogger.error("Character file not found:", characterFilePath); + return false; + } + + // Read the existing character file + const characterData = JSON.parse( + fs.readFileSync(characterFilePath, "utf-8") + ); + + // Ensure settings and secrets exist in the character file + if (!characterData.settings) { + characterData.settings = {}; + } + if (!characterData.settings.secrets) { + characterData.settings.secrets = {}; + } + + // Update or add the key-value pair + characterData.settings.secrets[key] = value; + + // Write the updated data back to the file + fs.writeFileSync( + characterFilePath, + JSON.stringify(characterData, null, 2), + "utf-8" + ); + + console.log( + `Updated ${key} in character.settings.secrets for ${characterFilePath}.` + ); + } catch (error) { + elizaLogger.error("Error updating character secrets:", error); + return false; + } + return true; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7b4da1fc7..3b12416a52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,11 +14,17 @@ importers: '@0glabs/0g-ts-sdk': specifier: ^0.2.1 version: 0.2.1(bufferutil@4.0.8)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@ai16z/eliza': + specifier: 0.1.4-alpha.3 + version: 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@ai16z/eliza': + specifier: 0.1.4-alpha.3 + version: 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) '@coinbase/coinbase-sdk': specifier: ^0.10.0 version: 0.10.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) amqplib: - specifier: 0.10.5 + specifier: ^0.10.4 version: 0.10.5 csv-parse: specifier: ^5.6.0 @@ -722,6 +728,7 @@ importers: ai: specifier: 3.4.33 version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: specifier: 1.0.2 version: 1.0.2(encoding@0.1.13)(zod@3.23.8) @@ -743,6 +750,7 @@ importers: langchain: specifier: 0.3.6 version: 0.3.6(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + version: 0.3.6(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) ollama-ai-provider: specifier: 0.16.1 version: 0.16.1(zod@3.23.8) @@ -960,21 +968,24 @@ importers: packages/plugin-coinbase: dependencies: '@ai16z/eliza': - specifier: 0.1.3 - version: 0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3)) + specifier: workspace:* + version: link:../core coinbase-api: specifier: 1.0.5 version: 1.0.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) - onnxruntime-node: - specifier: 1.20.1 - version: 1.20.1 - vue: - specifier: 3.5.13 - version: 3.5.13(typescript@5.6.3) - whatwg-url: - specifier: 7.1.0 - version: 7.1.0 devDependencies: + eslint: + specifier: 9.13.0 + version: 9.13.0(jiti@2.4.0) + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@9.13.0(jiti@2.4.0)) + eslint-plugin-prettier: + specifier: 5.2.1 + version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@2.4.0)))(eslint@9.13.0(jiti@2.4.0))(prettier@3.3.3) + eslint-plugin-vitest: + specifier: 0.5.4 + version: 0.5.4(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0)) tsup: specifier: 8.3.5 version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) @@ -1589,8 +1600,23 @@ packages: vue: optional: true - '@ai16z/eliza@0.1.3': - resolution: {integrity: sha512-MeHvD44YKeYdnmI0k03RpS0COGPUsM5/nYoo7ih9vi7iXWFUWANEa3FReWr8rT51AOdHFXGdaLvTzngI527WjA==} + '@ai16z/adapter-sqlite@0.1.4-alpha.3': + resolution: {integrity: sha512-EIz2lJtueAmDpUAZh+Pz+bEABkqLzch8TwtjWIyaVB80rNX0vjZZ6+AZz90sLKMpLgZs6ZpGHQxwsQa56YVEpw==} + peerDependencies: + whatwg-url: 7.1.0 + + '@ai16z/adapter-sqljs@0.1.4-alpha.3': + resolution: {integrity: sha512-qz9uqR2SWZ/rXKM6uw+ur7e7mFr6JG00ciXe1oVCX9szFVUksw6couq3q0mrC/SEHZN4LqimDl8m88/49bvcOA==} + peerDependencies: + whatwg-url: 7.1.0 + + '@ai16z/adapter-supabase@0.1.4-alpha.3': + resolution: {integrity: sha512-/RM6RQfMpnokz39RDCMpTC7aELB31u45jWWRXWcAY6H8FjGQ7miL6f7ejavaVtW96mAz3oyMP69JP+nYBdlu2g==} + peerDependencies: + whatwg-url: 7.1.0 + + '@ai16z/eliza@0.1.4-alpha.3': + resolution: {integrity: sha512-op3uFF1SPiQAbhKg9urDPm9HJMTc07K4AOx/lF+81wJZujja2cdB28YCEk20QX1ub/NkRPa0/dhdEsQJYAGZyw==} '@algolia/autocomplete-core@1.17.7': resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} @@ -2997,7 +3023,6 @@ packages: resolution: {integrity: sha512-hArn9FF5ZYi1IkxdJEVnJi+OxlwLV0NJYWpKXsmNOojtGtAZHxmsELA+MZlu2KW1F/K1/nt7lFOfcMXNYweq9w==} version: 0.17.0 engines: {node: '>=16.11.0'} - deprecated: This version uses deprecated encryption modes. Please use a newer version. '@discordjs/ws@1.1.1': resolution: {integrity: sha512-PZ+vLpxGCRtmr2RMkqh8Zp+BenUaJqlS6xhgWKEZcgC/vfHLEzpHtKkB0sl3nZWpwtcKk6YWy+pU3okL2I97FA==} @@ -4066,6 +4091,8 @@ packages: '@kwsites/promise-deferred@1.1.1': resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + '@langchain/core@0.3.19': + resolution: {integrity: sha512-pJVOAHShefu1SRO8uhzUs0Pexah/Ib66WETLMScIC2w9vXlpwQy3DzXJPJ5X7ixry9N666jYO5cHtM2Z1DnQIQ==} '@langchain/core@0.3.19': resolution: {integrity: sha512-pJVOAHShefu1SRO8uhzUs0Pexah/Ib66WETLMScIC2w9vXlpwQy3DzXJPJ5X7ixry9N666jYO5cHtM2Z1DnQIQ==} engines: {node: '>=18'} @@ -4295,72 +4322,98 @@ packages: resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} + '@nrwl/devkit@19.8.13': + resolution: {integrity: sha512-M7QhASAczxZWgVbHPdG5XLJ3Xg/frNNC3Op5BxThe3L4dBblFWpAAAgqxhwVLxbkgxdsfp+HDFnFzHRfAp1DCQ==} '@nrwl/devkit@19.8.13': resolution: {integrity: sha512-M7QhASAczxZWgVbHPdG5XLJ3Xg/frNNC3Op5BxThe3L4dBblFWpAAAgqxhwVLxbkgxdsfp+HDFnFzHRfAp1DCQ==} + '@nrwl/tao@19.8.13': + resolution: {integrity: sha512-IhVvo6GMyR1AjDETZxEL29ox75ARiXx8ao5tBxZKgQgGM1vpkkkYQkKJEP6jFYPBKYA7rEYnSkXi1tBrhwBbGQ==} '@nrwl/tao@19.8.13': resolution: {integrity: sha512-IhVvo6GMyR1AjDETZxEL29ox75ARiXx8ao5tBxZKgQgGM1vpkkkYQkKJEP6jFYPBKYA7rEYnSkXi1tBrhwBbGQ==} hasBin: true + '@nx/devkit@19.8.13': + resolution: {integrity: sha512-CoLDFhKGHmark+ZHBXauZLcFynA0JFg5e2+SPNWBZgmsba/KY2ffd7V6P7IGbG8sGgZLZtZliiaRpHVk7cge9g==} '@nx/devkit@19.8.13': resolution: {integrity: sha512-CoLDFhKGHmark+ZHBXauZLcFynA0JFg5e2+SPNWBZgmsba/KY2ffd7V6P7IGbG8sGgZLZtZliiaRpHVk7cge9g==} peerDependencies: nx: '>= 19 <= 21' + '@nx/nx-darwin-arm64@19.8.13': + resolution: {integrity: sha512-3kfEkIxqug7q3vsGvqtR4Nz5TYF2T02BXtuD0ML9xbGDfbksNrRp2c0xjPbnyvJtOdgmtx0wcguwUrm+S3uiHw==} '@nx/nx-darwin-arm64@19.8.13': resolution: {integrity: sha512-3kfEkIxqug7q3vsGvqtR4Nz5TYF2T02BXtuD0ML9xbGDfbksNrRp2c0xjPbnyvJtOdgmtx0wcguwUrm+S3uiHw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] + '@nx/nx-darwin-x64@19.8.13': + resolution: {integrity: sha512-BXiegV6ZV/9ma31R1Kgh8CBglr3C96aBcssOSX6w91bUO08XfirLLMPQ8BpRc9AF/IGt3Y1gYRLOdHcibi36QQ==} '@nx/nx-darwin-x64@19.8.13': resolution: {integrity: sha512-BXiegV6ZV/9ma31R1Kgh8CBglr3C96aBcssOSX6w91bUO08XfirLLMPQ8BpRc9AF/IGt3Y1gYRLOdHcibi36QQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] + '@nx/nx-freebsd-x64@19.8.13': + resolution: {integrity: sha512-UUfMQyn59pl0gHV8iqn+dYPPlM0jC5SzTN0wsK83h5fzvi87iAAgnDlf9uwElj4Sjadg+gqAWi2foT9nxX+Tfg==} '@nx/nx-freebsd-x64@19.8.13': resolution: {integrity: sha512-UUfMQyn59pl0gHV8iqn+dYPPlM0jC5SzTN0wsK83h5fzvi87iAAgnDlf9uwElj4Sjadg+gqAWi2foT9nxX+Tfg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] + '@nx/nx-linux-arm-gnueabihf@19.8.13': + resolution: {integrity: sha512-vXae2CHBInpWXdLrI/4HFQXoilOvUiQr7/b859V4tf6Zgg9GRIraxvTMR5TBH7xv9cPzEK9845gx46BQTiik/A==} '@nx/nx-linux-arm-gnueabihf@19.8.13': resolution: {integrity: sha512-vXae2CHBInpWXdLrI/4HFQXoilOvUiQr7/b859V4tf6Zgg9GRIraxvTMR5TBH7xv9cPzEK9845gx46BQTiik/A==} engines: {node: '>= 10'} cpu: [arm] os: [linux] + '@nx/nx-linux-arm64-gnu@19.8.13': + resolution: {integrity: sha512-c86YY7oe/8jo1eOKe0x6zvLn9yERL+Pc2WnkGfvcIb48NGNfUbxuzgPss6ywCg4zNN1LCenmVvU0/NFV9b/YwQ==} '@nx/nx-linux-arm64-gnu@19.8.13': resolution: {integrity: sha512-c86YY7oe/8jo1eOKe0x6zvLn9yERL+Pc2WnkGfvcIb48NGNfUbxuzgPss6ywCg4zNN1LCenmVvU0/NFV9b/YwQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@nx/nx-linux-arm64-musl@19.8.13': + resolution: {integrity: sha512-VQSY5nhtUc6bfTAl1jYPuB0CdwppSee84wxT1QtXxmPzg/6QCat7ulesZOES6UQzXVSsIKInJH4KKWQ0mFwM+A==} '@nx/nx-linux-arm64-musl@19.8.13': resolution: {integrity: sha512-VQSY5nhtUc6bfTAl1jYPuB0CdwppSee84wxT1QtXxmPzg/6QCat7ulesZOES6UQzXVSsIKInJH4KKWQ0mFwM+A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@nx/nx-linux-x64-gnu@19.8.13': + resolution: {integrity: sha512-w8F7yGuUOA+VDIf5K05e4tIExKEIuhPNS/qTea+iagdWnnnmqEm+EJpiXrf9L6TSMUxu2GgDI03DVuBck7oUgw==} '@nx/nx-linux-x64-gnu@19.8.13': resolution: {integrity: sha512-w8F7yGuUOA+VDIf5K05e4tIExKEIuhPNS/qTea+iagdWnnnmqEm+EJpiXrf9L6TSMUxu2GgDI03DVuBck7oUgw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@nx/nx-linux-x64-musl@19.8.13': + resolution: {integrity: sha512-PcZXN2acZ/KJLAnmVt1++qucOVamXXl4/tjVVhXD6X5mCRtyGBcO+JL7/pcaIRGuut50yEY/QHxWVA+n7Ii2Yg==} '@nx/nx-linux-x64-musl@19.8.13': resolution: {integrity: sha512-PcZXN2acZ/KJLAnmVt1++qucOVamXXl4/tjVVhXD6X5mCRtyGBcO+JL7/pcaIRGuut50yEY/QHxWVA+n7Ii2Yg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@nx/nx-win32-arm64-msvc@19.8.13': + resolution: {integrity: sha512-WAtlfBggfW0MTbsaBhTyfnm1Iap+auAKpEusiFoSIhXp5Xqnvs+Zfdz8Ep3Ilc0BKIhyfyaWABJaU7QhRjYGKg==} '@nx/nx-win32-arm64-msvc@19.8.13': resolution: {integrity: sha512-WAtlfBggfW0MTbsaBhTyfnm1Iap+auAKpEusiFoSIhXp5Xqnvs+Zfdz8Ep3Ilc0BKIhyfyaWABJaU7QhRjYGKg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] + '@nx/nx-win32-x64-msvc@19.8.13': + resolution: {integrity: sha512-CLWmTRUYl7EtIu22d9Y9qpMdPOVPdh4BFmYpCa5Q+E0pk9Edd+EcQYMR0pgz8KDgbOBmRFGCr7CETVOAeTKzCw==} '@nx/nx-win32-x64-msvc@19.8.13': resolution: {integrity: sha512-CLWmTRUYl7EtIu22d9Y9qpMdPOVPdh4BFmYpCa5Q+E0pk9Edd+EcQYMR0pgz8KDgbOBmRFGCr7CETVOAeTKzCw==} engines: {node: '>= 10'} @@ -4478,6 +4531,8 @@ packages: peerDependencies: '@octokit/core': '5' + '@octokit/plugin-paginate-rest@11.3.6': + resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==} '@octokit/plugin-paginate-rest@11.3.6': resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==} engines: {node: '>= 18'} @@ -4572,6 +4627,8 @@ packages: '@octokit/types@12.6.0': resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} + '@octokit/types@13.6.2': + resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} '@octokit/types@13.6.2': resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} @@ -5014,48 +5071,64 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@reflink/reflink-darwin-arm64@0.1.18': + resolution: {integrity: sha512-R+wUp6riOR821I+pko9aqk6nMBV5a8cnOcKj5dVOGBk/A1g7VsnhQWvhUxcZ2kdlwPESHJJ/Q4bLlxXgbSaubw==} '@reflink/reflink-darwin-arm64@0.1.18': resolution: {integrity: sha512-R+wUp6riOR821I+pko9aqk6nMBV5a8cnOcKj5dVOGBk/A1g7VsnhQWvhUxcZ2kdlwPESHJJ/Q4bLlxXgbSaubw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] + '@reflink/reflink-linux-arm64-gnu@0.1.18': + resolution: {integrity: sha512-x1UMCbBF/bK89krsAmi7a92J7md0XK+SyHDvLDpAqCBv7rDwd2vTH84tEYVf7ob3JwuVbC7vDvtanNWxUgASxQ==} '@reflink/reflink-linux-arm64-gnu@0.1.18': resolution: {integrity: sha512-x1UMCbBF/bK89krsAmi7a92J7md0XK+SyHDvLDpAqCBv7rDwd2vTH84tEYVf7ob3JwuVbC7vDvtanNWxUgASxQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@reflink/reflink-linux-arm64-musl@0.1.18': + resolution: {integrity: sha512-lJ2hYabWUJxnnwOSGsQRrmqGCwngyyTKVEfBRNsDxRGpb9Lbn2iPp6wUn8xOk/xPo7yux39AjEfRqVycRCubAQ==} '@reflink/reflink-linux-arm64-musl@0.1.18': resolution: {integrity: sha512-lJ2hYabWUJxnnwOSGsQRrmqGCwngyyTKVEfBRNsDxRGpb9Lbn2iPp6wUn8xOk/xPo7yux39AjEfRqVycRCubAQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@reflink/reflink-linux-x64-gnu@0.1.18': + resolution: {integrity: sha512-3sa7tRIoYSK3s52HayRokJfwTCrDNm9N9OBeipEwlFvsr3tlYvnU0ZP6ikAfyGF9E7vMABlJicHBF17X+hTwGg==} '@reflink/reflink-linux-x64-gnu@0.1.18': resolution: {integrity: sha512-3sa7tRIoYSK3s52HayRokJfwTCrDNm9N9OBeipEwlFvsr3tlYvnU0ZP6ikAfyGF9E7vMABlJicHBF17X+hTwGg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@reflink/reflink-linux-x64-musl@0.1.18': + resolution: {integrity: sha512-eVCQlKY5/iRiRtRERwz2c7n01VQm3oC50PEa/neBWp0drXfF7sAa6piomWGPQB3RnJNMf66TtO99QLNcHZ7iXg==} '@reflink/reflink-linux-x64-musl@0.1.18': resolution: {integrity: sha512-eVCQlKY5/iRiRtRERwz2c7n01VQm3oC50PEa/neBWp0drXfF7sAa6piomWGPQB3RnJNMf66TtO99QLNcHZ7iXg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@reflink/reflink-win32-arm64-msvc@0.1.18': + resolution: {integrity: sha512-9sr4rssysM8p8M2EYs5YF5liuWre3owCAEwdZ73KThTkDNsgUEMNaVWxMyucQrcU0Hm+jGPADx9MTGY4QpJmFg==} '@reflink/reflink-win32-arm64-msvc@0.1.18': resolution: {integrity: sha512-9sr4rssysM8p8M2EYs5YF5liuWre3owCAEwdZ73KThTkDNsgUEMNaVWxMyucQrcU0Hm+jGPADx9MTGY4QpJmFg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] + '@reflink/reflink-win32-x64-msvc@0.1.18': + resolution: {integrity: sha512-FMtRXHnOqMJ1ZhGG+WY0+5e+9/ouYMgQ6ttZVJrZ1MHuWaO7QiykQ4qHztW+zqeAu/xIHfw+RZcW0uHolh67pg==} '@reflink/reflink-win32-x64-msvc@0.1.18': resolution: {integrity: sha512-FMtRXHnOqMJ1ZhGG+WY0+5e+9/ouYMgQ6ttZVJrZ1MHuWaO7QiykQ4qHztW+zqeAu/xIHfw+RZcW0uHolh67pg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] + '@reflink/reflink@0.1.18': + resolution: {integrity: sha512-p444sFAuJbMBlB9PG5WnwPaYJH8xmj9XXruPfvYVtlYjN1CzzAxqf1ofkdjoGPp1ukk+jYy78I7BKIlgrTbo2A==} '@reflink/reflink@0.1.18': resolution: {integrity: sha512-p444sFAuJbMBlB9PG5WnwPaYJH8xmj9XXruPfvYVtlYjN1CzzAxqf1ofkdjoGPp1ukk+jYy78I7BKIlgrTbo2A==} engines: {node: '>= 10'} @@ -5297,15 +5370,23 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + '@shikijs/core@1.24.0': + resolution: {integrity: sha512-6pvdH0KoahMzr6689yh0QJ3rCgF4j1XsXRHNEeEN6M4xJTfQ6QPWrmHzIddotg+xPJUPEPzYzYCKzpYyhTI6Gw==} '@shikijs/core@1.24.0': resolution: {integrity: sha512-6pvdH0KoahMzr6689yh0QJ3rCgF4j1XsXRHNEeEN6M4xJTfQ6QPWrmHzIddotg+xPJUPEPzYzYCKzpYyhTI6Gw==} + '@shikijs/engine-javascript@1.24.0': + resolution: {integrity: sha512-ZA6sCeSsF3Mnlxxr+4wGEJ9Tto4RHmfIS7ox8KIAbH0MTVUkw3roHPHZN+LlJMOHJJOVupe6tvuAzRpN8qK1vA==} '@shikijs/engine-javascript@1.24.0': resolution: {integrity: sha512-ZA6sCeSsF3Mnlxxr+4wGEJ9Tto4RHmfIS7ox8KIAbH0MTVUkw3roHPHZN+LlJMOHJJOVupe6tvuAzRpN8qK1vA==} + '@shikijs/engine-oniguruma@1.24.0': + resolution: {integrity: sha512-Eua0qNOL73Y82lGA4GF5P+G2+VXX9XnuUxkiUuwcxQPH4wom+tE39kZpBFXfUuwNYxHSkrSxpB1p4kyRW0moSg==} '@shikijs/engine-oniguruma@1.24.0': resolution: {integrity: sha512-Eua0qNOL73Y82lGA4GF5P+G2+VXX9XnuUxkiUuwcxQPH4wom+tE39kZpBFXfUuwNYxHSkrSxpB1p4kyRW0moSg==} + '@shikijs/types@1.24.0': + resolution: {integrity: sha512-aptbEuq1Pk88DMlCe+FzXNnBZ17LCiLIGWAeCWhoFDzia5Q5Krx3DgnULLiouSdd6+LUM39XwXGppqYE0Ghtug==} '@shikijs/types@1.24.0': resolution: {integrity: sha512-aptbEuq1Pk88DMlCe+FzXNnBZ17LCiLIGWAeCWhoFDzia5Q5Krx3DgnULLiouSdd6+LUM39XwXGppqYE0Ghtug==} @@ -5682,6 +5763,8 @@ packages: '@solana/web3.js@1.95.5': resolution: {integrity: sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==} + '@starknet-io/types-js@0.7.10': + resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} '@starknet-io/types-js@0.7.10': resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} @@ -5915,6 +5998,8 @@ packages: '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + '@types/aws-lambda@8.10.146': + resolution: {integrity: sha512-3BaDXYTh0e6UCJYL/jwV/3+GRslSc08toAiZSmleYtkAUyV5rtvdPYxrG/88uqvTuT6sb27WE9OS90ZNTIuQ0g==} '@types/aws-lambda@8.10.146': resolution: {integrity: sha512-3BaDXYTh0e6UCJYL/jwV/3+GRslSc08toAiZSmleYtkAUyV5rtvdPYxrG/88uqvTuT6sb27WE9OS90ZNTIuQ0g==} @@ -6014,6 +6099,8 @@ packages: '@types/d3-random@3.0.3': resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} '@types/d3-scale-chromatic@3.1.0': resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} @@ -6029,6 +6116,8 @@ packages: '@types/d3-time-format@4.0.3': resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} '@types/d3-time@3.0.4': resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} @@ -6183,6 +6272,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + '@types/node@18.19.67': + resolution: {integrity: sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==} '@types/node@18.19.67': resolution: {integrity: sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==} @@ -6504,6 +6595,9 @@ packages: '@vitest/pretty-format@2.1.6': resolution: {integrity: sha512-exZyLcEnHgDMKc54TtHca4McV4sKT+NKAe9ix/yhd/qkYb/TP8HTyXRFDijV19qKqTZM0hPL4753zU/U8L/gAA==} + '@vitest/pretty-format@2.1.6': + resolution: {integrity: sha512-exZyLcEnHgDMKc54TtHca4McV4sKT+NKAe9ix/yhd/qkYb/TP8HTyXRFDijV19qKqTZM0hPL4753zU/U8L/gAA==} + '@vitest/runner@2.1.4': resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} @@ -6787,6 +6881,8 @@ packages: amp@0.3.1: resolution: {integrity: sha512-OwIuC4yZaRogHKiuU5WlMR5Xk/jAcpPtawWL05Gj8Lvm2F6mwoJt4O/bHI+DHwG79vWd+8OFYM4/BzYqyRd3qw==} + amqplib@0.10.5: + resolution: {integrity: sha512-Dx5zmy0Ur+Q7LPPdhz+jx5IzmJBoHd15tOeAfQ8SuvEtyPJ20hBemhOBA4b1WeORCRa0ENM/kHCzmem1w/zHvQ==} amqplib@0.10.5: resolution: {integrity: sha512-Dx5zmy0Ur+Q7LPPdhz+jx5IzmJBoHd15tOeAfQ8SuvEtyPJ20hBemhOBA4b1WeORCRa0ENM/kHCzmem1w/zHvQ==} engines: {node: '>=10'} @@ -6987,6 +7083,8 @@ packages: axios@0.27.2: resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + axios@1.7.8: + resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} axios@1.7.8: resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} @@ -7493,6 +7591,8 @@ packages: resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} cipher-base@1.0.6: resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} engines: {node: '>= 0.10'} @@ -8094,6 +8194,8 @@ packages: peerDependencies: cytoscape: ^3.2.0 + cytoscape@3.30.4: + resolution: {integrity: sha512-OxtlZwQl1WbwMmLiyPSEBuzeTIQnwZhJYYWFzZ2PhEHVFwpeaqNIkUzSiso00D98qk60l8Gwon2RP304d3BJ1A==} cytoscape@3.30.4: resolution: {integrity: sha512-OxtlZwQl1WbwMmLiyPSEBuzeTIQnwZhJYYWFzZ2PhEHVFwpeaqNIkUzSiso00D98qk60l8Gwon2RP304d3BJ1A==} engines: {node: '>=0.10'} @@ -8626,6 +8728,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + electron-to-chromium@1.5.66: + resolution: {integrity: sha512-pI2QF6+i+zjPbqRzJwkMvtvkdI7MjVbSh2g8dlMguDJIXEPw+kwasS1Jl+YGPEBfGVxsVgGUratAKymPdPo2vQ==} electron-to-chromium@1.5.66: resolution: {integrity: sha512-pI2QF6+i+zjPbqRzJwkMvtvkdI7MjVbSh2g8dlMguDJIXEPw+kwasS1Jl+YGPEBfGVxsVgGUratAKymPdPo2vQ==} @@ -8867,6 +8971,8 @@ packages: jiti: optional: true + esm-env@1.2.0: + resolution: {integrity: sha512-OhSQuHL3mUcaQHjGe8UMG8GsJIJHYYz0flR0h9fiTPNMupLMkb7TvcRD0EeJXW5a8GHBgfz08b6FDLNK7kkPQA==} esm-env@1.2.0: resolution: {integrity: sha512-OhSQuHL3mUcaQHjGe8UMG8GsJIJHYYz0flR0h9fiTPNMupLMkb7TvcRD0EeJXW5a8GHBgfz08b6FDLNK7kkPQA==} @@ -10307,6 +10413,8 @@ packages: engines: {node: '>=10'} hasBin: true + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} jayson@4.1.3: resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} engines: {node: '>=8'} @@ -10685,6 +10793,8 @@ packages: resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} engines: {node: '>=16.0.0'} + langsmith@0.2.8: + resolution: {integrity: sha512-wKVNZoYtd8EqQWUEsfDZlZ77rH7vVqgNtONXRwynUp7ZFMFUIPhSlqE9pXqrmYPE8ZTBFj7diag2lFgUuaOEKw==} langsmith@0.2.8: resolution: {integrity: sha512-wKVNZoYtd8EqQWUEsfDZlZ77rH7vVqgNtONXRwynUp7ZFMFUIPhSlqE9pXqrmYPE8ZTBFj7diag2lFgUuaOEKw==} peerDependencies: @@ -11091,6 +11201,8 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdbox@0.1.1: + resolution: {integrity: sha512-jvLISenzbLRPWWamTG3THlhTcMbKWzJQNyTi61AVXhCBOC+gsldNTUfUNH8d3Vay83zGehFw3wZpF3xChzkTIQ==} mdbox@0.1.1: resolution: {integrity: sha512-jvLISenzbLRPWWamTG3THlhTcMbKWzJQNyTi61AVXhCBOC+gsldNTUfUNH8d3Vay83zGehFw3wZpF3xChzkTIQ==} @@ -11144,6 +11256,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + mermaid@11.4.1: + resolution: {integrity: sha512-Mb01JT/x6CKDWaxigwfZYuYmDZ6xtrNwNlidKZwkSrDaY9n90tdrJTV5Umk+wP1fZscGptmKFXHsXMDEVZ+Q6A==} mermaid@11.4.1: resolution: {integrity: sha512-Mb01JT/x6CKDWaxigwfZYuYmDZ6xtrNwNlidKZwkSrDaY9n90tdrJTV5Umk+wP1fZscGptmKFXHsXMDEVZ+Q6A==} @@ -11537,11 +11651,15 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} nanoid@5.0.9: resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} engines: {node: ^18 || >=20} @@ -11799,6 +11917,8 @@ packages: nwsapi@2.2.13: resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} + nx@19.8.13: + resolution: {integrity: sha512-qAoL/Qpc+1l/5UshAXyB8m27yCY0Tzol/udJhc1kD7Dt6yg8Ngxgi1ZtTmJn6yaLDOsW+oteatQPMtqsk8Lkdg==} nx@19.8.13: resolution: {integrity: sha512-qAoL/Qpc+1l/5UshAXyB8m27yCY0Tzol/udJhc1kD7Dt6yg8Ngxgi1ZtTmJn6yaLDOsW+oteatQPMtqsk8Lkdg==} hasBin: true @@ -11887,6 +12007,8 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} + oniguruma-to-es@0.7.0: + resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} oniguruma-to-es@0.7.0: resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} @@ -13562,6 +13684,8 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + regex-recursion@4.3.0: + resolution: {integrity: sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==} regex-recursion@4.3.0: resolution: {integrity: sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==} @@ -13575,6 +13699,8 @@ packages: resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} engines: {node: '>=4'} + registry-auth-token@5.0.3: + resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} registry-auth-token@5.0.3: resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} engines: {node: '>=14'} @@ -13967,6 +14093,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} shell-quote@1.8.2: resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} engines: {node: '>= 0.4'} @@ -13976,6 +14105,8 @@ packages: engines: {node: '>=4'} hasBin: true + shiki@1.24.0: + resolution: {integrity: sha512-qIneep7QRwxRd5oiHb8jaRzH15V/S8F3saCXOdjwRLgozZJr5x2yeBhQtqkO3FSzQDwYEFAYuifg4oHjpDghrg==} shiki@1.24.0: resolution: {integrity: sha512-qIneep7QRwxRd5oiHb8jaRzH15V/S8F3saCXOdjwRLgozZJr5x2yeBhQtqkO3FSzQDwYEFAYuifg4oHjpDghrg==} @@ -14384,6 +14515,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svelte@5.2.10: + resolution: {integrity: sha512-ON0OyO7vOmSjTc9mLjusu3vf1I7BvjovbiRB7j84F1WZMXV6dR+Tj4btIzxQxMHfzbGskaFmRa7qjgmBSVBnhQ==} svelte@5.2.10: resolution: {integrity: sha512-ON0OyO7vOmSjTc9mLjusu3vf1I7BvjovbiRB7j84F1WZMXV6dR+Tj4btIzxQxMHfzbGskaFmRa7qjgmBSVBnhQ==} engines: {node: '>=18'} @@ -14686,6 +14819,8 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-api-utils@1.4.2: + resolution: {integrity: sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==} ts-api-utils@1.4.2: resolution: {integrity: sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==} engines: {node: '>=16'} @@ -15808,6 +15943,7 @@ snapshots: '@ai-sdk/provider': 0.0.26 eventsource-parser: 1.1.2 nanoid: 3.3.8 + nanoid: 3.3.8 secure-json-parse: 2.7.0 optionalDependencies: zod: 3.23.8 @@ -15817,6 +15953,7 @@ snapshots: '@ai-sdk/provider': 1.0.0-canary.0 eventsource-parser: 3.0.0 nanoid: 5.0.9 + nanoid: 5.0.9 secure-json-parse: 2.7.0 optionalDependencies: zod: 3.23.8 @@ -15826,6 +15963,7 @@ snapshots: '@ai-sdk/provider': 1.0.1 eventsource-parser: 3.0.0 nanoid: 3.3.8 + nanoid: 3.3.8 secure-json-parse: 2.7.0 optionalDependencies: zod: 3.23.8 @@ -15863,13 +16001,16 @@ snapshots: transitivePeerDependencies: - zod + '@ai-sdk/svelte@0.0.57(svelte@5.2.10)(zod@3.23.8)': '@ai-sdk/svelte@0.0.57(svelte@5.2.10)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) sswr: 2.1.0(svelte@5.2.10) + sswr: 2.1.0(svelte@5.2.10) optionalDependencies: svelte: 5.2.10 + svelte: 5.2.10 transitivePeerDependencies: - zod @@ -15893,21 +16034,123 @@ snapshots: transitivePeerDependencies: - zod - '@ai16z/eliza@0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3))': + '@ai16z/adapter-sqlite@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': + dependencies: + '@ai16z/eliza': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@types/better-sqlite3': 7.6.11 + better-sqlite3: 11.5.0 + sqlite-vec: 0.1.4-alpha.2 + whatwg-url: 14.0.0 + transitivePeerDependencies: + - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio + - encoding + - handlebars + - peggy + - react + - solid-js + - sswr + - supports-color + - svelte + - typeorm + - utf-8-validate + - vue + + '@ai16z/adapter-sqljs@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': + dependencies: + '@ai16z/eliza': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@types/sql.js': 1.4.9 + sql.js: 1.12.0 + uuid: 11.0.2 + whatwg-url: 14.0.0 + transitivePeerDependencies: + - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio + - encoding + - handlebars + - peggy + - react + - solid-js + - sswr + - supports-color + - svelte + - typeorm + - utf-8-validate + - vue + + '@ai16z/adapter-supabase@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': + dependencies: + '@ai16z/eliza': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@supabase/supabase-js': 2.46.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + whatwg-url: 14.0.0 + transitivePeerDependencies: + - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio + - encoding + - handlebars + - peggy + - react + - solid-js + - sswr + - supports-color + - svelte + - typeorm + - utf-8-validate + - vue + + '@ai16z/eliza@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': dependencies: '@ai-sdk/anthropic': 0.0.53(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) '@ai-sdk/google-vertex': 0.0.42(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(zod@3.23.8) '@ai-sdk/groq': 0.0.3(zod@3.23.8) '@ai-sdk/openai': 1.0.0-canary.3(zod@3.23.8) + '@ai16z/adapter-sqlite': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@ai16z/adapter-sqljs': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) + '@ai16z/adapter-supabase': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) '@anthropic-ai/sdk': 0.30.1(encoding@0.1.13) '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + ai: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(zod@3.23.8) anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8) fastembed: 1.14.1 + fastestsmallesttextencoderdecoder: 1.0.22 gaxios: 6.7.1(encoding@0.1.13) glob: 11.0.0 js-sha1: 0.7.0 + langchain: 0.3.6(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) ollama-ai-provider: 0.16.1(zod@3.23.8) openai: 4.69.0(encoding@0.1.13)(zod@3.23.8) tiktoken: 1.0.17 @@ -15918,13 +16161,30 @@ snapshots: zod: 3.23.8 transitivePeerDependencies: - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio - encoding + - handlebars + - peggy - react - solid-js - sswr - supports-color - svelte + - typeorm + - utf-8-validate - vue + - whatwg-url '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3)': dependencies: @@ -16125,6 +16385,7 @@ snapshots: '@anthropic-ai/sdk@0.30.1(encoding@0.1.13)': dependencies: + '@types/node': 18.19.67 '@types/node': 18.19.67 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 @@ -17560,6 +17821,9 @@ snapshots: axios: 1.7.8(debug@4.3.7) axios-mock-adapter: 1.22.0(axios@1.7.8) axios-retry: 4.5.0(axios@1.7.8) + axios: 1.7.8(debug@4.3.7) + axios-mock-adapter: 1.22.0(axios@1.7.8) + axios-retry: 4.5.0(axios@1.7.8) bip32: 4.0.0 bip39: 3.1.0 decimal.js: 10.4.3 @@ -18752,6 +19016,7 @@ snapshots: '@docusaurus/types': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) mermaid: 11.4.1 + mermaid: 11.4.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.0 @@ -19662,6 +19927,22 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} + '@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))': + dependencies: + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.15 + langsmith: 0.2.8(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.23.8 + zod-to-json-schema: 3.23.5(zod@3.23.8) + transitivePeerDependencies: + - openai + '@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))': dependencies: ansi-styles: 5.2.0 @@ -19669,6 +19950,7 @@ snapshots: decamelize: 1.2.0 js-tiktoken: 1.0.15 langsmith: 0.2.8(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + langsmith: 0.2.8(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -19678,8 +19960,19 @@ snapshots: transitivePeerDependencies: - openai + '@langchain/openai@0.3.14(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(encoding@0.1.13)': + dependencies: + '@langchain/core': 0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) + js-tiktoken: 1.0.15 + openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) + zod: 3.23.8 + zod-to-json-schema: 3.23.5(zod@3.23.8) + transitivePeerDependencies: + - encoding + '@langchain/openai@0.3.14(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(encoding@0.1.13)': dependencies: + '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) js-tiktoken: 1.0.15 openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) @@ -19688,8 +19981,14 @@ snapshots: transitivePeerDependencies: - encoding + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))': + dependencies: + '@langchain/core': 0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) + js-tiktoken: 1.0.15 + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))': dependencies: + '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) js-tiktoken: 1.0.15 @@ -19701,6 +20000,7 @@ snapshots: '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) + '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -19740,6 +20040,7 @@ snapshots: npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) + nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -20062,14 +20363,18 @@ snapshots: - bluebird - supports-color + '@nrwl/devkit@19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)))': '@nrwl/devkit@19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)))': dependencies: '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) + '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) transitivePeerDependencies: - nx + '@nrwl/tao@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))': '@nrwl/tao@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))': dependencies: + nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) tslib: 2.8.0 transitivePeerDependencies: @@ -20077,46 +20382,59 @@ snapshots: - '@swc/core' - debug + '@nx/devkit@19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)))': '@nx/devkit@19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)))': dependencies: + '@nrwl/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) '@nrwl/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) + nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) semver: 7.6.3 tmp: 0.2.3 tslib: 2.8.0 yargs-parser: 21.1.1 + '@nx/nx-darwin-arm64@19.8.13': '@nx/nx-darwin-arm64@19.8.13': optional: true + '@nx/nx-darwin-x64@19.8.13': '@nx/nx-darwin-x64@19.8.13': optional: true + '@nx/nx-freebsd-x64@19.8.13': '@nx/nx-freebsd-x64@19.8.13': optional: true + '@nx/nx-linux-arm-gnueabihf@19.8.13': '@nx/nx-linux-arm-gnueabihf@19.8.13': optional: true + '@nx/nx-linux-arm64-gnu@19.8.13': '@nx/nx-linux-arm64-gnu@19.8.13': optional: true + '@nx/nx-linux-arm64-musl@19.8.13': '@nx/nx-linux-arm64-musl@19.8.13': optional: true + '@nx/nx-linux-x64-gnu@19.8.13': '@nx/nx-linux-x64-gnu@19.8.13': optional: true + '@nx/nx-linux-x64-musl@19.8.13': '@nx/nx-linux-x64-musl@19.8.13': optional: true + '@nx/nx-win32-arm64-msvc@19.8.13': '@nx/nx-win32-arm64-msvc@19.8.13': optional: true + '@nx/nx-win32-x64-msvc@19.8.13': '@nx/nx-win32-x64-msvc@19.8.13': optional: true @@ -20128,6 +20446,8 @@ snapshots: '@octokit/oauth-app': 7.1.3 '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) '@octokit/types': 13.6.2 + '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) + '@octokit/types': 13.6.2 '@octokit/webhooks': 13.4.1 '@octokit/auth-app@7.1.3': @@ -20137,6 +20457,7 @@ snapshots: '@octokit/request': 9.1.3 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 toad-cache: 3.7.0 universal-github-app-jwt: 2.2.0 universal-user-agent: 7.0.2 @@ -20147,6 +20468,7 @@ snapshots: '@octokit/auth-oauth-user': 5.1.1 '@octokit/request': 9.1.3 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 '@octokit/auth-oauth-device@7.1.1': @@ -20154,6 +20476,7 @@ snapshots: '@octokit/oauth-methods': 5.1.2 '@octokit/request': 9.1.3 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 '@octokit/auth-oauth-user@5.1.1': @@ -20162,6 +20485,7 @@ snapshots: '@octokit/oauth-methods': 5.1.2 '@octokit/request': 9.1.3 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 '@octokit/auth-token@3.0.4': {} @@ -20174,6 +20498,7 @@ snapshots: dependencies: '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/core@4.2.4(encoding@0.1.13)': dependencies: @@ -20194,6 +20519,7 @@ snapshots: '@octokit/request': 8.4.0 '@octokit/request-error': 5.1.0 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 before-after-hook: 2.2.3 universal-user-agent: 6.0.1 @@ -20204,11 +20530,13 @@ snapshots: '@octokit/request': 9.1.3 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 before-after-hook: 3.0.2 universal-user-agent: 7.0.2 '@octokit/endpoint@10.1.1': dependencies: + '@octokit/types': 13.6.2 '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 @@ -20220,6 +20548,7 @@ snapshots: '@octokit/endpoint@9.0.5': dependencies: + '@octokit/types': 13.6.2 '@octokit/types': 13.6.2 universal-user-agent: 6.0.1 @@ -20235,12 +20564,14 @@ snapshots: dependencies: '@octokit/request': 8.4.0 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 6.0.1 '@octokit/graphql@8.1.1': dependencies: '@octokit/request': 9.1.3 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 '@octokit/oauth-app@7.1.3': @@ -20252,6 +20583,7 @@ snapshots: '@octokit/oauth-authorization-url': 7.1.1 '@octokit/oauth-methods': 5.1.2 '@types/aws-lambda': 8.10.146 + '@types/aws-lambda': 8.10.146 universal-user-agent: 7.0.2 '@octokit/oauth-authorization-url@7.1.1': {} @@ -20262,6 +20594,7 @@ snapshots: '@octokit/request': 9.1.3 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/openapi-types@18.1.1': {} @@ -20281,11 +20614,14 @@ snapshots: dependencies: '@octokit/core': 5.2.0 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 + '@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.2)': '@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.2)': dependencies: '@octokit/core': 6.1.2 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: @@ -20305,11 +20641,13 @@ snapshots: dependencies: '@octokit/core': 5.2.0 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/plugin-rest-endpoint-methods@13.2.6(@octokit/core@6.1.2)': dependencies: '@octokit/core': 6.1.2 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: @@ -20321,12 +20659,14 @@ snapshots: '@octokit/core': 6.1.2 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 bottleneck: 2.19.5 '@octokit/plugin-throttling@9.3.2(@octokit/core@6.1.2)': dependencies: '@octokit/core': 6.1.2 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 bottleneck: 2.19.5 '@octokit/request-error@3.0.3': @@ -20337,6 +20677,7 @@ snapshots: '@octokit/request-error@5.1.0': dependencies: + '@octokit/types': 13.6.2 '@octokit/types': 13.6.2 deprecation: 2.3.1 once: 1.4.0 @@ -20344,6 +20685,7 @@ snapshots: '@octokit/request-error@6.1.5': dependencies: '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 '@octokit/request@6.2.8(encoding@0.1.13)': dependencies: @@ -20351,7 +20693,7 @@ snapshots: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.7(encoding@0.1.13) + node-fetch: 2.7.0(encoding@0.1.13) universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding @@ -20361,6 +20703,7 @@ snapshots: '@octokit/endpoint': 9.0.5 '@octokit/request-error': 5.1.0 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 6.0.1 '@octokit/request@9.1.3': @@ -20368,6 +20711,7 @@ snapshots: '@octokit/endpoint': 10.1.1 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 universal-user-agent: 7.0.2 '@octokit/rest@19.0.11(encoding@0.1.13)': @@ -20396,6 +20740,7 @@ snapshots: dependencies: '@octokit/openapi-types': 20.0.0 + '@octokit/types@13.6.2': '@octokit/types@13.6.2': dependencies: '@octokit/openapi-types': 22.2.0 @@ -20822,27 +21167,35 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@reflink/reflink-darwin-arm64@0.1.18': '@reflink/reflink-darwin-arm64@0.1.18': optional: true + '@reflink/reflink-linux-arm64-gnu@0.1.18': '@reflink/reflink-linux-arm64-gnu@0.1.18': optional: true + '@reflink/reflink-linux-arm64-musl@0.1.18': '@reflink/reflink-linux-arm64-musl@0.1.18': optional: true + '@reflink/reflink-linux-x64-gnu@0.1.18': '@reflink/reflink-linux-x64-gnu@0.1.18': optional: true + '@reflink/reflink-linux-x64-musl@0.1.18': '@reflink/reflink-linux-x64-musl@0.1.18': optional: true + '@reflink/reflink-win32-arm64-msvc@0.1.18': '@reflink/reflink-win32-arm64-msvc@0.1.18': optional: true + '@reflink/reflink-win32-x64-msvc@0.1.18': '@reflink/reflink-win32-x64-msvc@0.1.18': optional: true + '@reflink/reflink@0.1.18': '@reflink/reflink@0.1.18': optionalDependencies: '@reflink/reflink-darwin-arm64': 0.1.18 @@ -20852,6 +21205,13 @@ snapshots: '@reflink/reflink-linux-x64-musl': 0.1.18 '@reflink/reflink-win32-arm64-msvc': 0.1.18 '@reflink/reflink-win32-x64-msvc': 0.1.18 + '@reflink/reflink-darwin-arm64': 0.1.18 + '@reflink/reflink-linux-arm64-gnu': 0.1.18 + '@reflink/reflink-linux-arm64-musl': 0.1.18 + '@reflink/reflink-linux-x64-gnu': 0.1.18 + '@reflink/reflink-linux-x64-musl': 0.1.18 + '@reflink/reflink-win32-arm64-msvc': 0.1.18 + '@reflink/reflink-win32-x64-msvc': 0.1.18 optional: true '@remix-run/router@1.15.1': {} @@ -20885,6 +21245,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: rollup: 2.79.2 @@ -20896,6 +21257,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: rollup: 3.29.5 @@ -20941,6 +21303,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.3(rollup@2.79.2) magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: rollup: 2.79.2 @@ -20948,6 +21311,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.3(rollup@3.29.5) magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: rollup: 3.29.5 @@ -21095,8 +21459,12 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 + '@shikijs/core@1.24.0': '@shikijs/core@1.24.0': dependencies: + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 '@shikijs/engine-javascript': 1.24.0 '@shikijs/engine-oniguruma': 1.24.0 '@shikijs/types': 1.24.0 @@ -21104,17 +21472,23 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 + '@shikijs/engine-javascript@1.24.0': '@shikijs/engine-javascript@1.24.0': dependencies: + '@shikijs/types': 1.24.0 '@shikijs/types': 1.24.0 '@shikijs/vscode-textmate': 9.3.0 oniguruma-to-es: 0.7.0 + oniguruma-to-es: 0.7.0 + '@shikijs/engine-oniguruma@1.24.0': '@shikijs/engine-oniguruma@1.24.0': dependencies: + '@shikijs/types': 1.24.0 '@shikijs/types': 1.24.0 '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/types@1.24.0': '@shikijs/types@1.24.0': dependencies: '@shikijs/vscode-textmate': 9.3.0 @@ -21738,6 +22112,7 @@ snapshots: buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0(encoding@0.1.13) rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -21747,6 +22122,7 @@ snapshots: - utf-8-validate '@starknet-io/types-js@0.7.10': {} + '@starknet-io/types-js@0.7.10': {} '@supabase/auth-js@2.65.1': dependencies: @@ -21983,6 +22359,7 @@ snapshots: '@types/estree': 1.0.6 '@types/aws-lambda@8.10.146': {} + '@types/aws-lambda@8.10.146': {} '@types/babel__core@7.20.5': dependencies: @@ -22093,11 +22470,13 @@ snapshots: '@types/d3-random@3.0.3': {} + '@types/d3-scale-chromatic@3.1.0': {} '@types/d3-scale-chromatic@3.1.0': {} '@types/d3-scale@4.0.8': dependencies: '@types/d3-time': 3.0.4 + '@types/d3-time': 3.0.4 '@types/d3-selection@3.0.11': {} @@ -22107,6 +22486,7 @@ snapshots: '@types/d3-time-format@4.0.3': {} + '@types/d3-time@3.0.4': {} '@types/d3-time@3.0.4': {} '@types/d3-timer@3.0.2': {} @@ -22145,9 +22525,11 @@ snapshots: '@types/d3-random': 3.0.3 '@types/d3-scale': 4.0.8 '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-scale-chromatic': 3.1.0 '@types/d3-selection': 3.0.11 '@types/d3-shape': 3.1.6 '@types/d3-time': 3.0.4 + '@types/d3-time': 3.0.4 '@types/d3-time-format': 4.0.3 '@types/d3-timer': 3.0.2 '@types/d3-transition': 3.0.9 @@ -22306,6 +22688,7 @@ snapshots: '@types/node@17.0.45': {} + '@types/node@18.19.67': '@types/node@18.19.67': dependencies: undici-types: 5.26.5 @@ -22459,6 +22842,7 @@ snapshots: ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22477,6 +22861,7 @@ snapshots: ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22529,6 +22914,7 @@ snapshots: '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) debug: 4.3.7(supports-color@5.5.0) ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22541,6 +22927,7 @@ snapshots: '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) debug: 4.3.7(supports-color@5.5.0) ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22563,6 +22950,7 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22578,6 +22966,7 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22593,6 +22982,7 @@ snapshots: minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.4.2(typescript@5.6.3) + ts-api-utils: 1.4.2(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -22705,6 +23095,7 @@ snapshots: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0) @@ -22713,6 +23104,7 @@ snapshots: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.14 + magic-string: 0.30.14 optionalDependencies: vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0) @@ -22728,6 +23120,10 @@ snapshots: dependencies: tinyrainbow: 1.2.0 + '@vitest/pretty-format@2.1.6': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/runner@2.1.4': dependencies: '@vitest/utils': 2.1.4 @@ -22742,12 +23138,14 @@ snapshots: dependencies: '@vitest/pretty-format': 2.1.4 magic-string: 0.30.14 + magic-string: 0.30.14 pathe: 1.1.2 '@vitest/snapshot@2.1.5': dependencies: '@vitest/pretty-format': 2.1.5 magic-string: 0.30.14 + magic-string: 0.30.14 pathe: 1.1.2 '@vitest/spy@2.1.4': @@ -22794,6 +23192,7 @@ snapshots: '@vue/shared': 3.5.13 estree-walker: 2.0.2 magic-string: 0.30.14 + magic-string: 0.30.14 postcss: 8.4.49 source-map-js: 1.2.1 @@ -23018,13 +23417,14 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.10))(svelte@5.2.10)(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/react': 0.0.70(react@18.3.1)(zod@3.23.8) '@ai-sdk/solid': 0.0.54(zod@3.23.8) '@ai-sdk/svelte': 0.0.57(svelte@5.2.10)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.2.10)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) '@opentelemetry/api': 1.9.0 @@ -23038,6 +23438,8 @@ snapshots: react: 18.3.1 sswr: 2.1.0(svelte@5.2.10) svelte: 5.2.10 + sswr: 2.1.0(svelte@5.2.10) + svelte: 5.2.10 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -23063,6 +23465,8 @@ snapshots: react: 18.3.1 sswr: 2.1.0(svelte@5.2.10) svelte: 5.2.10 + sswr: 2.1.0(svelte@5.2.10) + svelte: 5.2.10 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -23142,6 +23546,7 @@ snapshots: amp@0.3.1: {} + amqplib@0.10.5: amqplib@0.10.5: dependencies: '@acuminous/bitsyntax': 0.1.2 @@ -23291,6 +23696,8 @@ snapshots: globby: 14.0.2 magic-string: 0.30.14 mdbox: 0.1.1 + magic-string: 0.30.14 + mdbox: 0.1.1 mlly: 1.7.3 ofetch: 1.4.1 pathe: 1.1.2 @@ -23316,14 +23723,18 @@ snapshots: aws4@1.13.2: {} + axios-mock-adapter@1.22.0(axios@1.7.8): axios-mock-adapter@1.22.0(axios@1.7.8): dependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) fast-deep-equal: 3.1.3 is-buffer: 2.0.5 + axios-retry@4.5.0(axios@1.7.8): axios-retry@4.5.0(axios@1.7.8): dependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) is-retry-allowed: 2.2.0 @@ -23334,6 +23745,7 @@ snapshots: transitivePeerDependencies: - debug + axios@1.7.8(debug@4.3.7): axios@1.7.8(debug@4.3.7): dependencies: follow-redirects: 1.15.9(debug@4.3.7) @@ -23655,6 +24067,7 @@ snapshots: dependencies: caniuse-lite: 1.0.30001684 electron-to-chromium: 1.5.66 + electron-to-chromium: 1.5.66 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -23973,6 +24386,7 @@ snapshots: ci-info@4.1.0: {} + cipher-base@1.0.6: cipher-base@1.0.6: dependencies: inherits: 2.0.4 @@ -24086,6 +24500,7 @@ snapshots: cmake-js@7.3.0: dependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) debug: 4.3.7(supports-color@5.5.0) fs-extra: 11.2.0 @@ -24108,10 +24523,12 @@ snapshots: coinbase-api@1.0.5(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)) jsonwebtoken: 9.0.2 nanoid: 3.3.8 + nanoid: 3.3.8 ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil @@ -24232,6 +24649,7 @@ snapshots: lodash: 4.17.21 rxjs: 7.8.1 shell-quote: 1.8.2 + shell-quote: 1.8.2 supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 @@ -24412,6 +24830,7 @@ snapshots: create-hash@1.2.0: dependencies: + cipher-base: 1.0.6 cipher-base: 1.0.6 inherits: 2.0.4 md5.js: 1.3.5 @@ -24663,17 +25082,22 @@ snapshots: dependencies: uniq: 1.0.1 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.30.4): cytoscape-cose-bilkent@4.1.0(cytoscape@3.30.4): dependencies: cose-base: 1.0.3 cytoscape: 3.30.4 + cytoscape: 3.30.4 + cytoscape-fcose@2.2.0(cytoscape@3.30.4): cytoscape-fcose@2.2.0(cytoscape@3.30.4): dependencies: cose-base: 2.2.0 cytoscape: 3.30.4 + cytoscape: 3.30.4 cytoscape@3.30.4: {} + cytoscape@3.30.4: {} d3-array@2.12.1: dependencies: @@ -25253,6 +25677,7 @@ snapshots: jake: 10.9.2 electron-to-chromium@1.5.66: {} + electron-to-chromium@1.5.66: {} elliptic@6.6.1: dependencies: @@ -25575,6 +26000,7 @@ snapshots: - supports-color esm-env@1.2.0: {} + esm-env@1.2.0: {} esniff@2.0.1: dependencies: @@ -25804,7 +26230,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.7(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -27022,6 +27448,7 @@ snapshots: strip-ansi: 7.1.0 optionalDependencies: '@reflink/reflink': 0.1.18 + '@reflink/reflink': 0.1.18 is-alphabetical@2.0.1: {} @@ -27259,6 +27686,7 @@ snapshots: filelist: 1.0.4 minimatch: 3.1.2 + jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 @@ -27803,8 +28231,33 @@ snapshots: doublearray: 0.0.2 zlibjs: 0.3.1 + langchain@0.3.6(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)): + dependencies: + '@langchain/core': 0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) + '@langchain/openai': 0.3.14(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(encoding@0.1.13) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))) + js-tiktoken: 1.0.15 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.8(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.5(zod@3.23.8) + optionalDependencies: + axios: 1.7.8(debug@4.3.7) + handlebars: 4.7.8 + transitivePeerDependencies: + - encoding + - openai + langchain@0.3.6(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)): dependencies: + '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + '@langchain/openai': 0.3.14(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(encoding@0.1.13) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))) '@langchain/core': 0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) '@langchain/openai': 0.3.14(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(encoding@0.1.13) '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.19(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))) @@ -27812,6 +28265,7 @@ snapshots: js-yaml: 4.1.0 jsonpointer: 5.0.1 langsmith: 0.2.8(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + langsmith: 0.2.8(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 @@ -27819,6 +28273,7 @@ snapshots: zod: 3.23.8 zod-to-json-schema: 3.23.5(zod@3.23.8) optionalDependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) handlebars: 4.7.8 transitivePeerDependencies: @@ -27833,6 +28288,17 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.0.8 + langsmith@0.2.8(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.69.0(encoding@0.1.13)(zod@3.23.8) + langsmith@0.2.8(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)): dependencies: '@types/uuid': 10.0.0 @@ -27852,6 +28318,7 @@ snapshots: dependencies: picocolors: 1.1.1 shell-quote: 1.8.2 + shell-quote: 1.8.2 layout-base@1.0.2: {} @@ -27872,6 +28339,7 @@ snapshots: '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) + '@nx/devkit': 19.8.13(nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -27917,6 +28385,7 @@ snapshots: npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) + nx: 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -28460,6 +28929,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mdbox@0.1.1: mdbox@0.1.1: dependencies: md4w: 0.2.6 @@ -28534,6 +29004,7 @@ snapshots: merge2@1.4.1: {} + mermaid@11.4.1: mermaid@11.4.1: dependencies: '@braintree/sanitize-url': 7.1.0 @@ -28543,11 +29014,15 @@ snapshots: cytoscape: 3.30.4 cytoscape-cose-bilkent: 4.1.0(cytoscape@3.30.4) cytoscape-fcose: 2.2.0(cytoscape@3.30.4) + cytoscape: 3.30.4 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.30.4) + cytoscape-fcose: 2.2.0(cytoscape@3.30.4) d3: 7.9.0 d3-sankey: 0.12.3 dagre-d3-es: 7.0.11 dayjs: 1.11.13 dompurify: 3.2.1 + dompurify: 3.2.1 katex: 0.16.11 khroma: 2.1.0 lodash-es: 4.17.21 @@ -29106,8 +29581,10 @@ snapshots: nanoid@3.3.6: {} + nanoid@3.3.8: {} nanoid@3.3.8: {} + nanoid@5.0.9: {} nanoid@5.0.9: {} napi-build-utils@1.0.2: {} @@ -29250,6 +29727,7 @@ snapshots: lifecycle-utils: 1.7.0 log-symbols: 7.0.0 nanoid: 5.0.9 + nanoid: 5.0.9 node-addon-api: 8.2.2 octokit: 4.0.2 ora: 8.1.1 @@ -29423,14 +29901,17 @@ snapshots: nwsapi@2.2.13: {} + nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)): nx@19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@nrwl/tao': 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) + '@nrwl/tao': 19.8.13(@swc/core@1.9.3(@swc/helpers@0.5.15)) '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.7 axios: 1.7.8(debug@4.3.7) + axios: 1.7.8(debug@4.3.7) chalk: 4.1.0 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -29460,6 +29941,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: + '@nx/nx-darwin-arm64': 19.8.13 + '@nx/nx-darwin-x64': 19.8.13 + '@nx/nx-freebsd-x64': 19.8.13 + '@nx/nx-linux-arm-gnueabihf': 19.8.13 + '@nx/nx-linux-arm64-gnu': 19.8.13 + '@nx/nx-linux-arm64-musl': 19.8.13 + '@nx/nx-linux-x64-gnu': 19.8.13 + '@nx/nx-linux-x64-musl': 19.8.13 + '@nx/nx-win32-arm64-msvc': 19.8.13 + '@nx/nx-win32-x64-msvc': 19.8.13 '@nx/nx-darwin-arm64': 19.8.13 '@nx/nx-darwin-x64': 19.8.13 '@nx/nx-freebsd-x64': 19.8.13 @@ -29509,11 +30000,13 @@ snapshots: '@octokit/oauth-app': 7.1.3 '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.2) '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) + '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) '@octokit/plugin-rest-endpoint-methods': 13.2.6(@octokit/core@6.1.2) '@octokit/plugin-retry': 7.1.2(@octokit/core@6.1.2) '@octokit/plugin-throttling': 9.3.2(@octokit/core@6.1.2) '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.2 + '@octokit/types': 13.6.2 ofetch@1.4.1: dependencies: @@ -29555,11 +30048,13 @@ snapshots: dependencies: mimic-function: 5.0.1 + oniguruma-to-es@0.7.0: oniguruma-to-es@0.7.0: dependencies: emoji-regex-xs: 1.0.0 regex: 5.0.2 regex-recursion: 4.3.0 + regex-recursion: 4.3.0 only-allow@1.2.1: dependencies: @@ -29603,6 +30098,7 @@ snapshots: openai@4.69.0(encoding@0.1.13)(zod@3.23.8): dependencies: + '@types/node': 18.19.67 '@types/node': 18.19.67 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 @@ -29617,6 +30113,7 @@ snapshots: openai@4.73.0(encoding@0.1.13)(zod@3.23.8): dependencies: + '@types/node': 18.19.67 '@types/node': 18.19.67 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 @@ -29692,6 +30189,10 @@ snapshots: '@noble/hashes': 1.5.0 '@scure/bip32': 1.5.0 '@scure/bip39': 1.4.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8) eventemitter3: 5.0.1 optionalDependencies: @@ -29797,6 +30298,7 @@ snapshots: dependencies: got: 12.6.1 registry-auth-token: 5.0.3 + registry-auth-token: 5.0.3 registry-url: 6.0.1 semver: 7.6.3 @@ -30783,6 +31285,7 @@ snapshots: postcss@8.4.49: dependencies: + nanoid: 3.3.8 nanoid: 3.3.8 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -31019,6 +31522,7 @@ snapshots: puppeteer-extra-plugin-capsolver@2.0.1(bufferutil@4.0.8)(encoding@0.1.13)(puppeteer-core@19.11.1(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10))(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: + axios: 1.7.8(debug@4.3.7) axios: 1.7.8(debug@4.3.7) capsolver-npm: 2.0.2 puppeteer: 19.11.1(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -31144,6 +31648,7 @@ snapshots: react-error-overlay: 6.0.11 recursive-readdir: 2.2.3 shell-quote: 1.8.2 + shell-quote: 1.8.2 strip-ansi: 6.0.1 text-table: 0.2.0 webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15)) @@ -31445,6 +31950,7 @@ snapshots: dependencies: '@babel/runtime': 7.26.0 + regex-recursion@4.3.0: regex-recursion@4.3.0: dependencies: regex-utilities: 2.3.0 @@ -31464,6 +31970,7 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.0 + registry-auth-token@5.0.3: registry-auth-token@5.0.3: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -31687,6 +32194,7 @@ snapshots: rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.3): dependencies: + magic-string: 0.30.14 magic-string: 0.30.14 rollup: 3.29.5 typescript: 5.6.3 @@ -32006,6 +32514,7 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.8.2: {} shell-quote@1.8.2: {} shelljs@0.8.5: @@ -32014,8 +32523,13 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 + shiki@1.24.0: shiki@1.24.0: dependencies: + '@shikijs/core': 1.24.0 + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 '@shikijs/core': 1.24.0 '@shikijs/engine-javascript': 1.24.0 '@shikijs/engine-oniguruma': 1.24.0 @@ -32267,8 +32781,10 @@ snapshots: dependencies: minipass: 7.1.2 + sswr@2.1.0(svelte@5.2.10): sswr@2.1.0(svelte@5.2.10): dependencies: + svelte: 5.2.10 svelte: 5.2.10 swrev: 4.0.0 @@ -32290,6 +32806,7 @@ snapshots: lossless-json: 4.0.2 pako: 2.1.0 starknet-types-07: '@starknet-io/types-js@0.7.10' + starknet-types-07: '@starknet-io/types-js@0.7.10' ts-mixer: 6.0.4 transitivePeerDependencies: - encoding @@ -32468,6 +32985,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svelte@5.2.10: svelte@5.2.10: dependencies: '@ampproject/remapping': 2.3.0 @@ -32478,6 +32996,7 @@ snapshots: aria-query: 5.3.2 axobject-query: 4.1.0 esm-env: 1.2.0 + esm-env: 1.2.0 esrap: 1.2.2 is-reference: 3.0.3 locate-character: 3.0.0 @@ -32741,6 +33260,7 @@ snapshots: together-ai@0.7.0(encoding@0.1.13): dependencies: + '@types/node': 18.19.67 '@types/node': 18.19.67 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 @@ -32799,6 +33319,7 @@ snapshots: trough@2.2.0: {} + ts-api-utils@1.4.2(typescript@5.6.3): ts-api-utils@1.4.2(typescript@5.6.3): dependencies: typescript: 5.6.3 @@ -32956,6 +33477,7 @@ snapshots: markdown-it: 14.1.0 minimatch: 9.0.5 shiki: 1.24.0 + shiki: 1.24.0 typescript: 5.6.3 yaml: 2.6.1 @@ -33002,6 +33524,7 @@ snapshots: hookable: 5.5.3 jiti: 1.21.6 magic-string: 0.30.14 + magic-string: 0.30.14 mkdist: 1.6.0(typescript@5.6.3) mlly: 1.7.3 pathe: 1.1.2 @@ -33388,6 +33911,7 @@ snapshots: '@vitest/expect': 2.1.4 '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)) '@vitest/pretty-format': 2.1.6 + '@vitest/pretty-format': 2.1.6 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 '@vitest/spy': 2.1.4 @@ -33396,6 +33920,7 @@ snapshots: debug: 4.3.7(supports-color@5.5.0) expect-type: 1.1.0 magic-string: 0.30.14 + magic-string: 0.30.14 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 @@ -33424,6 +33949,7 @@ snapshots: '@vitest/expect': 2.1.5 '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)) '@vitest/pretty-format': 2.1.6 + '@vitest/pretty-format': 2.1.6 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 '@vitest/spy': 2.1.5 @@ -33432,6 +33958,7 @@ snapshots: debug: 4.3.7(supports-color@5.5.0) expect-type: 1.1.0 magic-string: 0.30.14 + magic-string: 0.30.14 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 @@ -33538,6 +34065,8 @@ snapshots: dependencies: '@noble/curves': 1.6.0 '@noble/hashes': 1.5.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 webidl-conversions@3.0.1: {}