diff --git a/docs/core_docs/docs/integrations/tools/hedera.mdx b/docs/core_docs/docs/integrations/tools/hedera.mdx new file mode 100644 index 000000000000..a983ef91fd7a --- /dev/null +++ b/docs/core_docs/docs/integrations/tools/hedera.mdx @@ -0,0 +1,29 @@ +--- +hide_table_of_contents: true +--- + +import CodeBlock from "@theme/CodeBlock"; + +# Hedera Tool + +The Hedera Tool gives your agent the ability to create an account, delete an account, transfer +between accounts, and query the balance of an account. + +## Setup + +To use the Hedera Tool you need to install the following official peer depencency: + +```bash npm2yarn +npm install @hashgraph/sdk +``` + +## Usage + +import ToolExample from "@examples/tools/hedera.ts"; + +{ToolExample} + +## Related + +- Tool [conceptual guide](/docs/concepts/tools) +- Tool [how-to guides](/docs/how_to/#tools) \ No newline at end of file diff --git a/examples/src/tools/hedera.ts b/examples/src/tools/hedera.ts new file mode 100644 index 000000000000..5ba5a3c560cc --- /dev/null +++ b/examples/src/tools/hedera.ts @@ -0,0 +1,83 @@ +import { + HederaAccountBalance, + HederaTransfer, + HederaCreateAccount, + HederaDeleteAccount, +} from "@langchain/community/tools/hedera"; +import { PrivateKey } from "@hashgraph/sdk" +import { StructuredTool } from "@langchain/core/tools"; +import { ChatOpenAI } from "@langchain/openai"; +import type { ChatPromptTemplate } from "@langchain/core/prompts"; +import { createOpenAIFunctionsAgent, AgentExecutor } from "langchain/agents"; +import { pull } from "langchain/hub"; +import { tr } from "@faker-js/faker"; + +export async function run() { + const llm = new ChatOpenAI({ + model: "gpt-3.5-turbo", + temperature: 0, + }); + + // Initalize paramters for hedera tools to use + const hederaParams = { + credentials: { + accountId: process.env.HEDERA_ACCOUNT_ID, + privateKey: process.env.HEDERA_PRIVATE_KEY, + }, + network: "testnet", + maxTransactionFee: 100, + maxQueryPayment: 50, + }; + + // Provide the hedera tools to be used + const tools: StructuredTool[] = [ + new HederaAccountBalance(hederaParams), + new HederaTransfer(hederaParams), + new HederaCreateAccount(hederaParams), + new HederaDeleteAccount(hederaParams), + ]; + + // Setup the agent to use the hedera tool + const prompt = await pull( + "hwchase17/openai-functions-agent" + ); + + const agent = await createOpenAIFunctionsAgent({ + llm, + tools, + prompt, + }); + + const agentExecutor = new AgentExecutor({ + agent, + tools, + verbose: false, + }); + + const newAccountPrivateKey = PrivateKey.generateED25519(); + const newAccountPublicKey = newAccountPrivateKey.publicKey; + + // Create hedera account + const result1 = await agentExecutor.invoke({ + input: `Can you create an account with public key ${newAccountPublicKey}`, + }); + console.log(result1.output); + + // Get the account balance of client operator + const result2 = await agentExecutor.invoke({ + input: `What is my account balance`, + }); + console.log(result2.output); + + // Get the account balance of a specific account + const result3 = await agentExecutor.invoke({ + input: `What is the account balance of 0.0.1111111`, + }); + console.log(result3.output); + + // Transfer tinybars between accounts + const result4 = await agentExecutor.invoke({ + input: `Can you transfer 100000000 tinybars from my account to 0.0.1111111`, + }); + console.log(result4.output); +} diff --git a/libs/langchain-community/.gitignore b/libs/langchain-community/.gitignore index b554afb6f1ec..8883d56d4c9f 100644 --- a/libs/langchain-community/.gitignore +++ b/libs/langchain-community/.gitignore @@ -74,6 +74,10 @@ tools/google_routes.cjs tools/google_routes.js tools/google_routes.d.ts tools/google_routes.d.cts +tools/hedera.cjs +tools/hedera.js +tools/hedera.d.ts +tools/hedera.d.cts tools/ifttt.cjs tools/ifttt.js tools/ifttt.d.ts diff --git a/libs/langchain-community/langchain.config.js b/libs/langchain-community/langchain.config.js index 631c2a12879e..ddca7bbb82d4 100644 --- a/libs/langchain-community/langchain.config.js +++ b/libs/langchain-community/langchain.config.js @@ -52,6 +52,7 @@ export const config = { "tools/google_custom_search": "tools/google_custom_search", "tools/google_places": "tools/google_places", "tools/google_routes": "tools/google_routes", + "tools/hedera": "tools/hedera/index", "tools/ifttt": "tools/ifttt", "tools/searchapi": "tools/searchapi", "tools/searxng_search": "tools/searxng_search", @@ -335,6 +336,7 @@ export const config = { "tools/discord", "tools/gmail", "tools/google_calendar", + "tools/hedera", "agents/toolkits/aws_sfn", "callbacks/handlers/llmonitor", "callbacks/handlers/lunary", diff --git a/libs/langchain-community/package.json b/libs/langchain-community/package.json index 8de0a386cb34..70b4e7669922 100644 --- a/libs/langchain-community/package.json +++ b/libs/langchain-community/package.json @@ -35,6 +35,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { + "@hashgraph/sdk": "^2.53.0", "@langchain/openai": ">=0.2.0 <0.4.0", "binary-extensions": "^2.2.0", "expr-eval": "^2.0.2", @@ -878,6 +879,15 @@ "import": "./tools/google_routes.js", "require": "./tools/google_routes.cjs" }, + "./tools/hedera": { + "types": { + "import": "./tools/hedera.d.ts", + "require": "./tools/hedera.d.cts", + "default": "./tools/hedera.d.ts" + }, + "import": "./tools/hedera.js", + "require": "./tools/hedera.cjs" + }, "./tools/ifttt": { "types": { "import": "./tools/ifttt.d.ts", @@ -3154,6 +3164,10 @@ "tools/google_routes.js", "tools/google_routes.d.ts", "tools/google_routes.d.cts", + "tools/hedera.cjs", + "tools/hedera.js", + "tools/hedera.d.ts", + "tools/hedera.d.cts", "tools/ifttt.cjs", "tools/ifttt.js", "tools/ifttt.d.ts", diff --git a/libs/langchain-community/src/load/import_constants.ts b/libs/langchain-community/src/load/import_constants.ts index 65d40fc1f7d4..d0f6ab620727 100644 --- a/libs/langchain-community/src/load/import_constants.ts +++ b/libs/langchain-community/src/load/import_constants.ts @@ -7,6 +7,7 @@ export const optionalImportEntrypoints: string[] = [ "langchain_community/tools/discord", "langchain_community/tools/gmail", "langchain_community/tools/google_calendar", + "langchain_community/tools/hedera", "langchain_community/agents/toolkits/aws_sfn", "langchain_community/embeddings/bedrock", "langchain_community/embeddings/cloudflare_workersai", diff --git a/libs/langchain-community/src/tools/hedera/base.ts b/libs/langchain-community/src/tools/hedera/base.ts new file mode 100644 index 000000000000..c18c3c52da00 --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/base.ts @@ -0,0 +1,87 @@ +import { Client, Hbar } from "@hashgraph/sdk"; +import { z } from "zod"; +import { StructuredTool } from "@langchain/core/tools"; +import { getEnvironmentVariable } from "@langchain/core/utils/env"; + +export interface HederaBaseToolParams { + credentials?: { + accountId?: string; + privateKey?: string; + }; + network?: string; + maxTransactionFee?: number; + maxQueryPayment?: number; +} + +export abstract class HederaBaseTool extends StructuredTool { + private CredentialsSchema = z + .object({ + accountId: z + .string() + .min(1) + .default(getEnvironmentVariable("HEDERA_ACCOUNT_ID") ?? ""), + privateKey: z + .string() + .min(1) + .default(getEnvironmentVariable("HEDERA_PRIVATE_KEY") ?? ""), + }) + .refine( + (credentials: { accountId: string; privateKey: string }) => + credentials.accountId !== "" || credentials.privateKey !== "", + { + message: + "Missing HEDERA_ACCOUNT_ID or HEDERA_PRIVATE_KEY to interact with Hedera", + } + ); + + private HederaBaseToolParamsSchema = z + .object({ + credentials: this.CredentialsSchema.default({}), + network: z.enum(["mainnet", "testnet", "previewnet"]).default("testnet"), + maxTransactionFee: z.number().default(100), + maxQueryPayment: z.number().default(50), + }) + .default({}); + + name = "Hedera Tool"; + + description = "A tool for interacting with the Hedera network."; + + protected client: Client; + + constructor(fields?: Partial) { + super(...arguments); + + const { credentials, network, maxTransactionFee, maxQueryPayment } = + this.HederaBaseToolParamsSchema.parse(fields); + + this.client = this.getHederaClient( + network, + credentials.accountId, + credentials.privateKey, + maxTransactionFee, + maxQueryPayment + ); + } + + private getHederaClient( + network: "mainnet" | "testnet" | "previewnet", + accountId: string, + privateKey: string, + maxTransactionFee: number, + maxQueryPayment: number + ): Client { + let client: Client; + if (network === "mainnet") { + client = Client.forMainnet(); + } else if (network === "testnet") { + client = Client.forTestnet(); + } else { + client = Client.forPreviewnet(); + } + client.setOperator(accountId, privateKey); + client.setDefaultMaxTransactionFee(new Hbar(maxTransactionFee)); + client.setDefaultMaxQueryPayment(new Hbar(maxQueryPayment)); + return client; + } +} diff --git a/libs/langchain-community/src/tools/hedera/create_account.ts b/libs/langchain-community/src/tools/hedera/create_account.ts new file mode 100644 index 000000000000..a0d4c3faa056 --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/create_account.ts @@ -0,0 +1,59 @@ +import { + AccountCreateTransaction, + AccountBalanceQuery, + Hbar, + PublicKey, +} from "@hashgraph/sdk"; +import { z } from "zod"; +import { HederaBaseTool, HederaBaseToolParams } from "./base.js"; + +export class HederaCreateAccount extends HederaBaseTool { + name = "hedera_create_account"; + + schema = z.object({ + newAccountPublicKey: z.string(), + initialAmount: z.number().default(1000), + }); + + description = `A tool for creating a new Hedera account. Takes the new account's public key and the + intial amount to set the starting balance of the account to. If no inital amount is provided + it will set the starting balance to 1000 tinybar.`; + + constructor(fields?: HederaBaseToolParams) { + super(fields); + } + + async _call(arg: z.output): Promise { + const { newAccountPublicKey, initialAmount } = arg; + + try { + const publicKey = PublicKey.fromString(newAccountPublicKey); + const newAccount = await new AccountCreateTransaction() + .setKey(publicKey) + .setInitialBalance(Hbar.fromTinybars(initialAmount)) + .execute(this.client); + + const getReceipt = await newAccount.getReceipt(this.client); + const newAccountId = getReceipt.accountId; + + if (!newAccountId) { + throw new Error("Account creation failed."); + } + + const accountBalance = await new AccountBalanceQuery() + .setAccountId(newAccountId) + .execute(this.client); + + return `Account created successfully. Account ID: ${newAccountId}, + Initial Balance: ${accountBalance.hbars.toString()} tinybars`; + } catch (error) { + const typedError = error as Error; + throw new Error(`Failed to create account: ${typedError.message}`); + } + } +} + +export type AccountCreateSchema = { + newAccountPublicKey: string; + initialAmount?: number; +}; diff --git a/libs/langchain-community/src/tools/hedera/delete_account.ts b/libs/langchain-community/src/tools/hedera/delete_account.ts new file mode 100644 index 000000000000..022144ea0b29 --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/delete_account.ts @@ -0,0 +1,52 @@ +import { AccountDeleteTransaction, PrivateKey } from "@hashgraph/sdk"; +import { z } from "zod"; +import { HederaBaseTool, HederaBaseToolParams } from "./base.js"; + +export class HederaDeleteAccount extends HederaBaseTool { + name = "hedera_delete_account"; + + schema = z.object({ + accountId: z.string(), + accountPrivateKey: z.string(), + }); + + description = `A tool for deleting a Hedera account. Takes the account id and the + private key of the account to delete.`; + + constructor(fields?: HederaBaseToolParams) { + super(fields); + } + + async _call(arg: z.output): Promise { + const { accountId, accountPrivateKey } = arg; + + try { + const operatorAccountId = this.client.operatorAccountId?.toString(); + + if (!operatorAccountId) { + throw new Error("Operator account ID is null."); + } + + const transaction = await new AccountDeleteTransaction() + .setAccountId(accountId) + .setTransferAccountId(operatorAccountId) + .freezeWith(this.client); + + const privateKey = PrivateKey.fromStringED25519(accountPrivateKey); + const signTx = await transaction.sign(privateKey); + const txResponse = await signTx.execute(this.client); + const receipt = await txResponse.getReceipt(this.client); + const transactionStatus = receipt.status; + + return `Deleted account ${accountId} ${transactionStatus}`; + } catch (error) { + const typedError = error as Error; + throw new Error(`Failed to delete account: ${typedError.message}`); + } + } +} + +export type AccountDeleteSchema = { + accountId: string; + accountPrivateKey: string; +}; diff --git a/libs/langchain-community/src/tools/hedera/get_balance.ts b/libs/langchain-community/src/tools/hedera/get_balance.ts new file mode 100644 index 000000000000..c8f0fdb23744 --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/get_balance.ts @@ -0,0 +1,46 @@ +import { AccountBalanceQuery } from "@hashgraph/sdk"; +import { z } from "zod"; +import { HederaBaseTool, HederaBaseToolParams } from "./base.js"; + +export class HederaAccountBalance extends HederaBaseTool { + name = "hedera_account_balance"; + + schema = z.object({ + accountId: z.string().optional(), + }); + + description = `A tool for retrieving the balance of a Hedera account. Takes an optional accountId as input. + If no accountId is provided, the balance of the client operator account is returned. The + result is the account balance in tinybars.`; + + constructor(fields?: HederaBaseToolParams) { + super(fields); + } + + async _call(arg: z.output): Promise { + let { accountId } = arg; + + if (!accountId) { + accountId = this.client.operatorAccountId?.toString(); + } + + if (!accountId) { + throw new Error("Account ID is required and could not be determined."); + } + + try { + const balance = await new AccountBalanceQuery() + .setAccountId(accountId) + .execute(this.client); + + return `Account balance: ${balance.hbars.toTinybars()} tinybars`; + } catch (error) { + const typedError = error as Error; + throw new Error(`Failed to fetch account balance: ${typedError.message}`); + } + } +} + +export type AccountBalanceSchema = { + accountId?: string; +}; diff --git a/libs/langchain-community/src/tools/hedera/index.ts b/libs/langchain-community/src/tools/hedera/index.ts new file mode 100644 index 000000000000..f2aa6ed56a5d --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/index.ts @@ -0,0 +1,10 @@ +export { HederaAccountBalance } from "./get_balance.js"; +export { HederaTransfer } from "./transfer.js"; +export { HederaCreateAccount } from "./create_account.js"; +export { HederaDeleteAccount } from "./delete_account.js"; + +export type { HederaBaseToolParams } from "./base.js"; +export type { AccountBalanceSchema } from "./get_balance.js"; +export type { TransferSchema } from "./transfer.js"; +export type { AccountCreateSchema } from "./create_account.js"; +export type { AccountDeleteSchema } from "./delete_account.js"; diff --git a/libs/langchain-community/src/tools/hedera/transfer.ts b/libs/langchain-community/src/tools/hedera/transfer.ts new file mode 100644 index 000000000000..6d600f23d536 --- /dev/null +++ b/libs/langchain-community/src/tools/hedera/transfer.ts @@ -0,0 +1,59 @@ +import { TransferTransaction, Hbar } from "@hashgraph/sdk"; +import { z } from "zod"; +import { HederaBaseTool, HederaBaseToolParams } from "./base.js"; + +export class HederaTransfer extends HederaBaseTool { + name = "hedera_transfer"; + + schema = z.object({ + senderAccountId: z.string().optional(), + recipientAccountId: z.string(), + transferAmount: z.number(), + }); + + description = `A tool for transferring Hbar between two Hedera accounts. Requires a + sender account (if not passed will use the client account), recipient account, + and transfer amount (in tinybars).`; + + constructor(fields?: HederaBaseToolParams) { + super(fields); + } + + async _call(arg: z.output): Promise { + let { senderAccountId } = arg; + const { recipientAccountId, transferAmount } = arg; + + if (!senderAccountId) { + senderAccountId = this.client.operatorAccountId?.toString(); + } + + if (!senderAccountId || !recipientAccountId || !transferAmount) { + throw new Error( + "Sender account, recipient account, and transfer amount are all required." + ); + } + + try { + const transaction = await new TransferTransaction() + .addHbarTransfer( + senderAccountId, + Hbar.fromTinybars(transferAmount).negated() + ) + .addHbarTransfer(recipientAccountId, Hbar.fromTinybars(transferAmount)) + .execute(this.client); + + const transactionReceipt = await transaction.getReceipt(this.client); + return `The transfer transaction of ${transferAmount} tinybars from ${senderAccountId} to + ${recipientAccountId} was: ${transactionReceipt.status.toString()}`; + } catch (error) { + const typedError = error as Error; + throw new Error(`Failed to perform transfer: ${typedError.message}`); + } + } +} + +export type TransferSchema = { + senderAccountId: string; + recipientAccountId: string; + transferAmount: number; +}; diff --git a/libs/langchain-community/src/tools/tests/hedera.int.test.ts b/libs/langchain-community/src/tools/tests/hedera.int.test.ts new file mode 100644 index 000000000000..74abd7528696 --- /dev/null +++ b/libs/langchain-community/src/tools/tests/hedera.int.test.ts @@ -0,0 +1,2 @@ +// import { test, jest, expect } from "@jest/globals"; +// import { HederaTransfer } from "../hedera/index.js"; diff --git a/yarn.lock b/yarn.lock index 5fdd9da4ebeb..cf673a01bc2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10004,6 +10004,219 @@ __metadata: languageName: node linkType: hard +"@ethersproject/abi@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abi@npm:5.7.0" + dependencies: + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: bc6962bb6cb854e4d2a4d65b2c49c716477675b131b1363312234bdbb7e19badb7d9ce66f4ca2a70ae2ea84f7123dbc4e300a1bfe5d58864a7eafabc1466627e + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-provider@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + checksum: 74cf4696245cf03bb7cc5b6cbf7b4b89dd9a79a1c4688126d214153a938126d4972d42c93182198653ce1de35f2a2cad68be40337d4774b3698a39b28f0228a8 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-signer@npm:5.7.0" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + checksum: a823dac9cfb761e009851050ebebd5b229d1b1cc4a75b125c2da130ff37e8218208f7f9d1386f77407705b889b23d4a230ad67185f8872f083143e0073cbfbe3 + languageName: node + linkType: hard + +"@ethersproject/address@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/address@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + checksum: 64ea5ebea9cc0e845c413e6cb1e54e157dd9fc0dffb98e239d3a3efc8177f2ff798cd4e3206cf3660ee8faeb7bef1a47dc0ebef0d7b132c32e61e550c7d4c843 + languageName: node + linkType: hard + +"@ethersproject/base64@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/base64@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + checksum: 7dd5d734d623582f08f665434f53685041a3d3b334a0e96c0c8afa8bbcaab934d50e5b6b980e826a8fde8d353e0b18f11e61faf17468177274b8e7c69cd9742b + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bignumber@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + bn.js: ^5.2.1 + checksum: 8c9a134b76f3feb4ec26a5a27379efb4e156b8fb2de0678a67788a91c7f4e30abe9d948638458e4b20f2e42380da0adacc7c9389d05fce070692edc6ae9b4904 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bytes@npm:5.7.0" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 66ad365ceaab5da1b23b72225c71dce472cf37737af5118181fa8ab7447d696bea15ca22e3a0e8836fdd8cfac161afe321a7c67d0dde96f9f645ddd759676621 + languageName: node + linkType: hard + +"@ethersproject/constants@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/constants@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + checksum: 6d4b1355747cce837b3e76ec3bde70e4732736f23b04f196f706ebfa5d4d9c2be50904a390d4d40ce77803b98d03d16a9b6898418e04ba63491933ce08c4ba8a + languageName: node + linkType: hard + +"@ethersproject/hash@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hash@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 6e9fa8d14eb08171cd32f17f98cc108ec2aeca74a427655f0d689c550fee0b22a83b3b400fad7fb3f41cf14d4111f87f170aa7905bcbcd1173a55f21b06262ef + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/keccak256@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + js-sha3: 0.8.0 + checksum: ff70950d82203aab29ccda2553422cbac2e7a0c15c986bd20a69b13606ed8bb6e4fdd7b67b8d3b27d4f841e8222cbaccd33ed34be29f866fec7308f96ed244c6 + languageName: node + linkType: hard + +"@ethersproject/logger@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/logger@npm:5.7.0" + checksum: 075ab2f605f1fd0813f2e39c3308f77b44a67732b36e712d9bc085f22a84aac4da4f71b39bee50fe78da3e1c812673fadc41180c9970fe5e486e91ea17befe0d + languageName: node + linkType: hard + +"@ethersproject/networks@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/networks@npm:5.7.1" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 0339f312304c17d9a0adce550edb825d4d2c8c9468c1634c44172c67a9ed256f594da62c4cda5c3837a0f28b7fabc03aca9b492f68ff1fdad337ee861b27bd5d + languageName: node + linkType: hard + +"@ethersproject/properties@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/properties@npm:5.7.0" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 6ab0ccf0c3aadc9221e0cdc5306ce6cd0df7f89f77d77bccdd1277182c9ead0202cd7521329ba3acde130820bf8af299e17cf567d0d497c736ee918207bbf59f + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/rlp@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: bce165b0f7e68e4d091c9d3cf47b247cac33252df77a095ca4281d32d5eeaaa3695d9bc06b2b057c5015353a68df89f13a4a54a72e888e4beeabbe56b15dda6e + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/signing-key@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + bn.js: ^5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: 8f8de09b0aac709683bbb49339bc0a4cd2f95598f3546436c65d6f3c3a847ffa98e06d35e9ed2b17d8030bd2f02db9b7bd2e11c5cf8a71aad4537487ab4cf03a + languageName: node + linkType: hard + +"@ethersproject/strings@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/strings@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 5ff78693ae3fdf3cf23e1f6dc047a61e44c8197d2408c42719fef8cb7b7b3613a4eec88ac0ed1f9f5558c74fe0de7ae3195a29ca91a239c74b9f444d8e8b50df + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/transactions@npm:5.7.0" + dependencies: + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + checksum: a31b71996d2b283f68486241bff0d3ea3f1ba0e8f1322a8fffc239ccc4f4a7eb2ea9994b8fd2f093283fd75f87bae68171e01b6265261f821369aca319884a79 + languageName: node + linkType: hard + +"@ethersproject/web@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/web@npm:5.7.1" + dependencies: + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 7028c47103f82fd2e2c197ce0eecfacaa9180ffeec7de7845b1f4f9b19d84081b7a48227aaddde05a4aaa526af574a9a0ce01cc0fc75e3e371f84b38b5b16b2b + languageName: node + linkType: hard + "@faker-js/faker@npm:^7.6.0": version: 7.6.0 resolution: "@faker-js/faker@npm:7.6.0" @@ -10322,6 +10535,16 @@ __metadata: languageName: node linkType: hard +"@grpc/grpc-js@npm:1.8.2": + version: 1.8.2 + resolution: "@grpc/grpc-js@npm:1.8.2" + dependencies: + "@grpc/proto-loader": ^0.7.0 + "@types/node": ">=12.12.47" + checksum: e7c9b389329995f30adf5cea7a74d0dcd2f9ea310e2903aa39232bc535faf02ac60fda0af31c04ce989fca309952d0dec39caca4133d3ec6d1b77f343fd53508 + languageName: node + linkType: hard + "@grpc/grpc-js@npm:1.9.0": version: 1.9.0 resolution: "@grpc/grpc-js@npm:1.9.0" @@ -10411,6 +10634,77 @@ __metadata: languageName: node linkType: hard +"@hashgraph/cryptography@npm:1.4.8-beta.9": + version: 1.4.8-beta.9 + resolution: "@hashgraph/cryptography@npm:1.4.8-beta.9" + dependencies: + asn1js: ^3.0.5 + bignumber.js: ^9.1.1 + bn.js: ^5.2.1 + buffer: ^6.0.3 + crypto-js: ^4.2.0 + elliptic: ^6.5.4 + js-base64: ^3.7.4 + node-forge: ^1.3.1 + spark-md5: ^3.0.2 + tweetnacl: ^1.0.3 + utf8: ^3.0.0 + peerDependencies: + expo: ^49.0.16 + expo-crypto: ^10.1.2 + expo-random: ^12.1.2 + peerDependenciesMeta: + expo: + optional: true + expo-crypto: + optional: true + expo-random: + optional: true + checksum: cb916c50aca8699cad5fce5a428e05e240c9d8fdc77bd6faea3f6de653158ffec0d28d77e4cce51f7c53583017945956bc51e6493bfbe400647840fa42b221dc + languageName: node + linkType: hard + +"@hashgraph/proto@npm:2.15.0-beta.4": + version: 2.15.0-beta.4 + resolution: "@hashgraph/proto@npm:2.15.0-beta.4" + dependencies: + long: ^4.0.0 + protobufjs: ^7.2.5 + checksum: 9470832e5de409a2d80706ff46d208465207cadd81cbd60bae366e269ac3054c71133a89e8bab4a4504012944bb15aea54c37d630860c7965c014229bba184b1 + languageName: node + linkType: hard + +"@hashgraph/sdk@npm:^2.53.0": + version: 2.53.0 + resolution: "@hashgraph/sdk@npm:2.53.0" + dependencies: + "@ethersproject/abi": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@grpc/grpc-js": 1.8.2 + "@hashgraph/cryptography": 1.4.8-beta.9 + "@hashgraph/proto": 2.15.0-beta.4 + axios: ^1.6.4 + bignumber.js: ^9.1.1 + bn.js: ^5.1.1 + crypto-js: ^4.2.0 + js-base64: ^3.7.4 + long: ^4.0.0 + pino: ^8.14.1 + pino-pretty: ^10.0.0 + protobufjs: 7.2.5 + rfc4648: ^1.5.3 + utf8: ^3.0.0 + peerDependencies: + expo: ^49.0.16 + peerDependenciesMeta: + expo: + optional: true + checksum: b75f4ba1c55fe8cc3b3240ce8e7a89d0c85ed4fd10f22ff0353133c478ef3827614e72ded18521bea8a6581eb5178e3cb6fe06593e4940c2d450a0dda659f2c3 + languageName: node + linkType: hard + "@huggingface/inference@npm:^2.6.4": version: 2.6.4 resolution: "@huggingface/inference@npm:2.6.4" @@ -11498,6 +11792,7 @@ __metadata: "@google-ai/generativelanguage": ^2.5.0 "@google-cloud/storage": ^7.7.0 "@gradientai/nodejs-sdk": ^1.2.0 + "@hashgraph/sdk": ^2.53.0 "@huggingface/inference": ^2.6.4 "@ibm-cloud/watsonx-ai": ^1.1.0 "@jest/globals": ^29.5.0 @@ -21427,6 +21722,17 @@ __metadata: languageName: node linkType: hard +"asn1js@npm:^3.0.5": + version: 3.0.5 + resolution: "asn1js@npm:3.0.5" + dependencies: + pvtsutils: ^1.3.2 + pvutils: ^1.1.3 + tslib: ^2.4.0 + checksum: 3b6af1bbadd5762ef8ead5daf2f6bda1bc9e23bc825c4dcc996aa1f9521ad7390a64028565d95d98090d69c8431f004c71cccb866004759169d7c203cf9075eb + languageName: node + linkType: hard + "assemblyai@npm:^4.6.0": version: 4.6.0 resolution: "assemblyai@npm:4.6.0" @@ -21514,6 +21820,13 @@ __metadata: languageName: node linkType: hard +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: b95275afb2f80732f22f43a60178430c468906a415a7ff18bcd0feeebc8eec3930b51250aeda91a476062a90e07132b43a1794e8d8ffcf9b650e8139be75fa36 + languageName: node + linkType: hard + "atomically@npm:^1.7.0": version: 1.7.0 resolution: "atomically@npm:1.7.0" @@ -21654,25 +21967,25 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.6.5, axios@npm:^1.6.7": - version: 1.6.7 - resolution: "axios@npm:1.6.7" +"axios@npm:^1.6.4, axios@npm:^1.7.5": + version: 1.7.7 + resolution: "axios@npm:1.7.7" dependencies: - follow-redirects: ^1.15.4 + follow-redirects: ^1.15.6 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 87d4d429927d09942771f3b3a6c13580c183e31d7be0ee12f09be6d5655304996bb033d85e54be81606f4e89684df43be7bf52d14becb73a12727bf33298a082 + checksum: 882d4fe0ec694a07c7f5c1f68205eb6dc5a62aecdb632cc7a4a3d0985188ce3030e0b277e1a8260ac3f194d314ae342117660a151fabffdc5081ca0b5a8b47fe languageName: node linkType: hard -"axios@npm:^1.7.5": - version: 1.7.7 - resolution: "axios@npm:1.7.7" +"axios@npm:^1.6.5, axios@npm:^1.6.7": + version: 1.6.7 + resolution: "axios@npm:1.6.7" dependencies: - follow-redirects: ^1.15.6 + follow-redirects: ^1.15.4 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 882d4fe0ec694a07c7f5c1f68205eb6dc5a62aecdb632cc7a4a3d0985188ce3030e0b277e1a8260ac3f194d314ae342117660a151fabffdc5081ca0b5a8b47fe + checksum: 87d4d429927d09942771f3b3a6c13580c183e31d7be0ee12f09be6d5655304996bb033d85e54be81606f4e89684df43be7bf52d14becb73a12727bf33298a082 languageName: node linkType: hard @@ -21980,6 +22293,13 @@ __metadata: languageName: node linkType: hard +"bignumber.js@npm:^9.1.1": + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 582c03af77ec9cb0ebd682a373ee6c66475db94a4325f92299621d544aa4bd45cb45fd60001610e94aef8ae98a0905fa538241d9638d4422d57abbeeac6fadaf + languageName: node + linkType: hard + "bin-links@npm:^4.0.3": version: 4.0.3 resolution: "bin-links@npm:4.0.3" @@ -22061,6 +22381,20 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:^4.11.9": + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: f7f84a909bd07bdcc6777cccbf280b629540792e6965fb1dd1aeafba96e944f197ca10cbec2692f51e0a906ff31da1eb4317f3d1cd659d6f68b8bcd211f7ecbc + languageName: node + linkType: hard + +"bn.js@npm:^5.1.1, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 + languageName: node + linkType: hard + "body-parser@npm:1.20.1": version: 1.20.1 resolution: "body-parser@npm:1.20.1" @@ -22219,6 +22553,13 @@ __metadata: languageName: node linkType: hard +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be + languageName: node + linkType: hard + "browserify-zlib@npm:^0.1.4": version: 0.1.4 resolution: "browserify-zlib@npm:0.1.4" @@ -23399,7 +23740,7 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^2.0.10": +"colorette@npm:^2.0.10, colorette@npm:^2.0.7": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: 0c016fea2b91b733eb9f4bcdb580018f52c0bc0979443dad930e5037a968237ac53d9beb98e218d2e9235834f8eebce7f8e080422d6194e957454255bde71d3d @@ -24796,6 +25137,13 @@ __metadata: languageName: node linkType: hard +"dateformat@npm:^4.6.3": + version: 4.6.3 + resolution: "dateformat@npm:4.6.3" + checksum: c3aa0617c0a5b30595122bc8d1bee6276a9221e4d392087b41cbbdf175d9662ae0e50d0d6dcdf45caeac5153c4b5b0844265f8cd2b2245451e3da19e39e3b65d + languageName: node + linkType: hard + "dayjs@npm:^1.11.7": version: 1.11.9 resolution: "dayjs@npm:1.11.9" @@ -25745,6 +26093,36 @@ __metadata: languageName: node linkType: hard +"elliptic@npm:6.5.4": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4 + languageName: node + linkType: hard + +"elliptic@npm:^6.5.4": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: 27b14a52f68bbbc0720da259f712cb73e953f6d2047958cd02fb0d0ade2e83849dc39fb4af630889c67df8817e24237428cf59c4f4c07700f755b401149a7375 + languageName: node + linkType: hard + "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -27754,6 +28132,13 @@ __metadata: languageName: node linkType: hard +"fast-copy@npm:^3.0.0": + version: 3.0.2 + resolution: "fast-copy@npm:3.0.2" + checksum: 47f584bcede08ab3198559d3e0e093a547d567715b86be2198da6e3366c3c73eed550d97b86f9fb90dae179982b89c15d68187def960f522cdce14bacdfc6184 + languageName: node + linkType: hard + "fast-deep-equal@npm:3.1.3, fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -27835,6 +28220,20 @@ __metadata: languageName: node linkType: hard +"fast-redact@npm:^3.1.1": + version: 3.5.0 + resolution: "fast-redact@npm:3.5.0" + checksum: ef03f0d1849da074a520a531ad299bf346417b790a643931ab4e01cb72275c8d55b60dc8512fb1f1818647b696790edefaa96704228db9f012da935faa1940af + languageName: node + linkType: hard + +"fast-safe-stringify@npm:^2.1.1": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + languageName: node + linkType: hard + "fast-text-encoding@npm:^1.0.0": version: 1.0.6 resolution: "fast-text-encoding@npm:1.0.6" @@ -29720,6 +30119,16 @@ __metadata: languageName: node linkType: hard +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.1 + checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f + languageName: node + linkType: hard + "hashlru@npm:^2.3.0": version: 2.3.0 resolution: "hashlru@npm:2.3.0" @@ -29843,6 +30252,13 @@ __metadata: languageName: node linkType: hard +"help-me@npm:^5.0.0": + version: 5.0.0 + resolution: "help-me@npm:5.0.0" + checksum: 474436627b6c7d2f406a2768453895889eb2712c8ded4c47658d5c6dd46c2ff3f742be4e4e8dedd57b7f1ac6b28803896a2e026a32a977f507222c16f23ab2e1 + languageName: node + linkType: hard + "highlight.js@npm:^10.7.1": version: 10.7.3 resolution: "highlight.js@npm:10.7.3" @@ -29864,6 +30280,17 @@ __metadata: languageName: node linkType: hard +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: ^1.0.3 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.1 + checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 + languageName: node + linkType: hard + "hnswlib-node@npm:^3.0.0": version: 3.0.0 resolution: "hnswlib-node@npm:3.0.0" @@ -32540,6 +32967,13 @@ __metadata: languageName: node linkType: hard +"joycon@npm:^3.1.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 8003c9c3fc79c5c7602b1c7e9f7a2df2e9916f046b0dbad862aa589be78c15734d11beb9fe846f5e06138df22cb2ad29961b6a986ba81c4920ce2b15a7f11067 + languageName: node + linkType: hard + "js-base64@npm:3.7.2": version: 3.7.2 resolution: "js-base64@npm:3.7.2" @@ -32547,7 +32981,7 @@ __metadata: languageName: node linkType: hard -"js-base64@npm:3.7.7, js-base64@npm:^3.7.5": +"js-base64@npm:3.7.7, js-base64@npm:^3.7.4, js-base64@npm:^3.7.5": version: 3.7.7 resolution: "js-base64@npm:3.7.7" checksum: d1b02971db9dc0fd35baecfaf6ba499731fb44fe3373e7e1d6681fbd3ba665f29e8d9d17910254ef8104e2cb8b44117fe4202d3dc54c7cafe9ba300fe5433358 @@ -32561,6 +32995,13 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 75df77c1fc266973f06cce8309ce010e9e9f07ec35ab12022ed29b7f0d9c8757f5a73e1b35aa24840dced0dea7059085aa143d817aea9e188e2a80d569d9adce + languageName: node + linkType: hard + "js-tiktoken@npm:^1.0.12": version: 1.0.12 resolution: "js-tiktoken@npm:1.0.12" @@ -34399,13 +34840,20 @@ __metadata: languageName: node linkType: hard -"minimalistic-assert@npm:^1.0.0": +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 languageName: node linkType: hard +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed + languageName: node + linkType: hard + "minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -35770,6 +36218,13 @@ __metadata: languageName: node linkType: hard +"on-exit-leak-free@npm:^2.1.0": + version: 2.1.2 + resolution: "on-exit-leak-free@npm:2.1.2" + checksum: 6ce7acdc7b9ceb51cf029b5239cbf41937ee4c8dcd9d4e475e1777b41702564d46caa1150a744e00da0ac6d923ab83471646a39a4470f97481cf6e2d8d253c3f + languageName: node + linkType: hard + "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -36902,6 +37357,68 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:^1.2.0": + version: 1.2.0 + resolution: "pino-abstract-transport@npm:1.2.0" + dependencies: + readable-stream: ^4.0.0 + split2: ^4.0.0 + checksum: 3336c51fb91ced5ef8a4bfd70a96e41eb6deb905698e83350dc71eedffb34795db1286d2d992ce1da2f6cd330a68be3f7e2748775a6b8a2ee3416796070238d6 + languageName: node + linkType: hard + +"pino-pretty@npm:^10.0.0": + version: 10.3.1 + resolution: "pino-pretty@npm:10.3.1" + dependencies: + colorette: ^2.0.7 + dateformat: ^4.6.3 + fast-copy: ^3.0.0 + fast-safe-stringify: ^2.1.1 + help-me: ^5.0.0 + joycon: ^3.1.1 + minimist: ^1.2.6 + on-exit-leak-free: ^2.1.0 + pino-abstract-transport: ^1.0.0 + pump: ^3.0.0 + readable-stream: ^4.0.0 + secure-json-parse: ^2.4.0 + sonic-boom: ^3.0.0 + strip-json-comments: ^3.1.1 + bin: + pino-pretty: bin.js + checksum: 51e2d670745a396ddfd12da9f7ea5c2e4dc93a84589ffb29f64f4118d4b83ab636ee21f4aee7a47adb04664d5d921fb33e039e0ea961bb1c1cffefa28444563c + languageName: node + linkType: hard + +"pino-std-serializers@npm:^6.0.0": + version: 6.2.2 + resolution: "pino-std-serializers@npm:6.2.2" + checksum: aeb0662edc46ec926de9961ed4780a4f0586bb7c37d212cd469c069639e7816887a62c5093bc93f260a4e0900322f44fc8ab1343b5a9fa2864a888acccdb22a4 + languageName: node + linkType: hard + +"pino@npm:^8.14.1": + version: 8.21.0 + resolution: "pino@npm:8.21.0" + dependencies: + atomic-sleep: ^1.0.0 + fast-redact: ^3.1.1 + on-exit-leak-free: ^2.1.0 + pino-abstract-transport: ^1.2.0 + pino-std-serializers: ^6.0.0 + process-warning: ^3.0.0 + quick-format-unescaped: ^4.0.3 + real-require: ^0.2.0 + safe-stable-stringify: ^2.3.1 + sonic-boom: ^3.7.0 + thread-stream: ^2.6.0 + bin: + pino: bin.js + checksum: d895c37cfcb7ade33ad7ac4ca54c0497ab719ec726e42b7c7b9697e07572a09a7c7de18d751440769c3ea5ecbac2075fdac720cf182720a4764defe3de8a1411 + languageName: node + linkType: hard + "pirates@npm:^4.0.1": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -37782,6 +38299,13 @@ __metadata: languageName: node linkType: hard +"process-warning@npm:^3.0.0": + version: 3.0.0 + resolution: "process-warning@npm:3.0.0" + checksum: 1fc2eb4524041de3c18423334cc8b4e36bec5ad5472640ca1a936122c6e01da0864c1a4025858ef89aea93eabe7e77db93ccea225b10858617821cb6a8719efe + languageName: node + linkType: hard + "process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" @@ -38124,6 +38648,22 @@ __metadata: languageName: node linkType: hard +"pvtsutils@npm:^1.3.2": + version: 1.3.6 + resolution: "pvtsutils@npm:1.3.6" + dependencies: + tslib: ^2.8.1 + checksum: 97b023b46d7b95bff004f8340efc465c1d995f35d7e97a2ef2e28d5e160f5ca47b48f42463b6be92b4341452a6b8c555feb2b1eb59ee90b97bd5d6fc86ffb186 + languageName: node + linkType: hard + +"pvutils@npm:^1.1.3": + version: 1.1.3 + resolution: "pvutils@npm:1.1.3" + checksum: 2ee26a9e5176c348977d6ec00d8ee80bff62f51743b1c5fe8abeeb4c5d29d9959cdfe0ce146707a9e6801bce88190fed3002d720b072dc87d031c692820b44c9 + languageName: node + linkType: hard + "pyodide@npm:^0.26.2": version: 0.26.2 resolution: "pyodide@npm:0.26.2" @@ -38190,6 +38730,13 @@ __metadata: languageName: node linkType: hard +"quick-format-unescaped@npm:^4.0.3": + version: 4.0.4 + resolution: "quick-format-unescaped@npm:4.0.4" + checksum: 7bc32b99354a1aa46c089d2a82b63489961002bb1d654cee3e6d2d8778197b68c2d854fd23d8422436ee1fdfd0abaddc4d4da120afe700ade68bd357815b26fd + languageName: node + linkType: hard + "quick-lru@npm:^5.1.1": version: 5.1.1 resolution: "quick-lru@npm:5.1.1" @@ -38528,7 +39075,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:>=4.0.0, readable-stream@npm:^4.5.2": +"readable-stream@npm:>=4.0.0, readable-stream@npm:^4.0.0, readable-stream@npm:^4.5.2": version: 4.5.2 resolution: "readable-stream@npm:4.5.2" dependencies: @@ -38599,6 +39146,13 @@ __metadata: languageName: node linkType: hard +"real-require@npm:^0.2.0": + version: 0.2.0 + resolution: "real-require@npm:0.2.0" + checksum: fa060f19f2f447adf678d1376928c76379dce5f72bd334da301685ca6cdcb7b11356813332cc243c88470796bc2e2b1e2917fc10df9143dd93c2ea608694971d + languageName: node + linkType: hard + "rechoir@npm:^0.6.2": version: 0.6.2 resolution: "rechoir@npm:0.6.2" @@ -39281,6 +39835,13 @@ __metadata: languageName: node linkType: hard +"rfc4648@npm:^1.5.3": + version: 1.5.3 + resolution: "rfc4648@npm:1.5.3" + checksum: 19c81d502582e377125b00fbd7a5cdb0e351f9a1e40182fa9f608b48e1ab852d211b75facb2f4f3fa17f7c6ebc2ef4acca61ae7eb7fbcfa4768f11d2db678116 + languageName: node + linkType: hard + "rfdc@npm:^1.3.0": version: 1.3.0 resolution: "rfdc@npm:1.3.0" @@ -40318,6 +40879,15 @@ __metadata: languageName: node linkType: hard +"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": + version: 3.8.1 + resolution: "sonic-boom@npm:3.8.1" + dependencies: + atomic-sleep: ^1.0.0 + checksum: 79c90d7a2f928489fd3d4b68d8f8d747a426ca6ccf83c3b102b36f899d4524463dd310982ab7ab6d6bcfd34b7c7c281ad25e495ad71fbff8fd6fa86d6273fc6b + languageName: node + linkType: hard + "sonix-speech-recognition@npm:^2.1.1": version: 2.1.1 resolution: "sonix-speech-recognition@npm:2.1.1" @@ -40390,6 +40960,13 @@ __metadata: languageName: node linkType: hard +"spark-md5@npm:^3.0.2": + version: 3.0.2 + resolution: "spark-md5@npm:3.0.2" + checksum: 5feebff0bfabcecf56ba03af3e38fdb068272ed41fbf0a94ff9ef65b9bb9cb1dd69be3684db6542e62497b1eac3ae324c07ac4dcb606465dc36ca048177077bf + languageName: node + linkType: hard + "sparse-bitfield@npm:^3.0.3": version: 3.0.3 resolution: "sparse-bitfield@npm:3.0.3" @@ -40426,7 +41003,7 @@ __metadata: languageName: node linkType: hard -"split2@npm:^4.1.0": +"split2@npm:^4.0.0, split2@npm:^4.1.0": version: 4.2.0 resolution: "split2@npm:4.2.0" checksum: 05d54102546549fe4d2455900699056580cca006c0275c334611420f854da30ac999230857a85fdd9914dc2109ae50f80fda43d2a445f2aa86eccdc1dfce779d @@ -41407,6 +41984,15 @@ __metadata: languageName: node linkType: hard +"thread-stream@npm:^2.6.0": + version: 2.7.0 + resolution: "thread-stream@npm:2.7.0" + dependencies: + real-require: ^0.2.0 + checksum: 75ab019cda628344c7779e5f5a88f7759764efd29d320327ad2e6c2622778b5f1c43a3966d76a9ee5744086d61c680b413548f5521030f9e9055487684436165 + languageName: node + linkType: hard + "through2@npm:^2.0.3": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -41777,6 +42363,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -41908,6 +42501,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -43082,6 +43682,13 @@ __metadata: languageName: node linkType: hard +"utf8@npm:^3.0.0": + version: 3.0.0 + resolution: "utf8@npm:3.0.0" + checksum: cb89a69ad9ab393e3eae9b25305b3ff08bebca9adc839191a34f90777eb2942f86a96369d2839925fea58f8f722f7e27031d697f10f5f39690f8c5047303e62d + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2"