solana_aiagent_trading
🔥Blockchain AI Agent for Solana Trading -AI Agent Trading Tool for the Solana memecoin - Solana AI Agent for Trading - Groundbreaking Solana AI Agent Strategy
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
â—‹DOI references
-
â—‹Academic publication links
-
â—‹Academic email domains
-
â—‹Institutional organization owner
-
â—‹JOSS paper metadata
-
â—‹Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Repository
🔥Blockchain AI Agent for Solana Trading -AI Agent Trading Tool for the Solana memecoin - Solana AI Agent for Trading - Groundbreaking Solana AI Agent Strategy
Basic Info
- Host: GitHub
- Owner: solagent99
- License: apache-2.0
- Language: TypeScript
- Default Branch: main
- Homepage: https://ai-agent-trading.vercel.app/
- Size: 3.24 MB
Statistics
- Stars: 79
- Watchers: 2
- Forks: 68
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
An open-source trading toolkit for connecting AI agents to Solana protocols. Now, any agent, using any model can autonomously perform 15+ Solana actions:
- Trade tokens
- Launch new tokens
- Lend assets
- Send compressed airdrops
- Execute blinks
- Launch tokens on AMMs
- And more...
💬 Contact Me
If you have any question or something, feel free to reach out me anytime via telegram, discord or twitter.
🌹 You're always welcome 🌹
Telegram: @Leo
Replit template created by Arpit Singh
🔧 Core Blockchain Features
- Token Operations
- Deploy SPL tokens by Metaplex
- Transfer assets
- Balance checks
- Stake SOL
- Zk compressed Airdrop by Light Protocol and Helius
- NFTs on 3.Land
- Create your own collection
- NFT creation and automatic listing on 3.land
- List your NFT for sale in any SPL token
NFT Management via Metaplex
- Collection deployment
- NFT minting
- Metadata management
- Royalty configuration
DeFi Integration
- Jupiter Exchange swaps
- Launch on Pump via PumpPortal
- Raydium pool creation (CPMM, CLMM, AMMv4)
- Orca Whirlpool integration
- Manifest market creation, and limit orders
- Meteora Dynamic AMM, DLMM Pool, and Alpha Vault
- Openbook market creation
- Register and Resolve SNS
- Jito Bundles
- Pyth Price feeds for fetching Asset Prices
- Register/resolve Alldomains
- Perpetuals Trading with Adrena Protocol
- Drift Vaults, Perps, Lending and Borrowing
Solana Blinks
- Lending by Lulo (Best APR for USDC)
- Send Arcade Games
- JupSOL staking
- Solayer SOL (sSOL)staking
Non-Financial Actions
- Gib Work for registering bounties
🤖 AI Integration Features
LangChain Integration
- Ready-to-use LangChain tools for blockchain operations
- Autonomous agent support with React framework
- Memory management for persistent interactions
- Streaming responses for real-time feedback
Vercel AI SDK Integration
- Vercel AI SDK for AI agent integration
- Framework agnostic support
- Quick and easy toolkit setup
Autonomous Modes
- Interactive chat mode for guided operations
- Autonomous mode for independent agent actions
- Configurable action intervals
- Built-in error handling and recovery
AI Tools
- DALL-E integration for NFT artwork generation
- Natural language processing for blockchain commands
- Price feed integration for market analysis
- Automated decision-making capabilities
📃 Documentation
You can view the full documentation of the kit at docs.solanaagentkit.xyz
📦 Installation
bash
npm install solana-agent-kit
Quick Start
```typescript import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit";
// Initialize with private key and optional RPC URL const agent = new SolanaAgentKit( "your-wallet-private-key-as-base58", "https://api.mainnet-beta.solana.com", "your-openai-api-key" );
// Create LangChain tools const tools = createSolanaTools(agent); ```
Usage Examples
Deploy a New Token
```typescript const result = await agent.deployToken( "my ai token", // name "uri", // uri "token", // symbol 9, // decimals 1000000 // initial supply );
console.log("Token Mint Address:", result.mint.toString()); ```
Create NFT Collection on 3Land
```typescript const isDevnet = false; // (Optional) if not present TX takes place in Mainnet const priorityFeeParam = 1000000; // (Optional) if not present the default priority fee will be 50000
const collectionOpts: CreateCollectionOptions = { collectionName: "", collectionSymbol: "", collectionDescription: "", mainImageUrl: "" };
const result = await agent.create3LandCollection( collectionOpts, isDevnet, // (Optional) if not present TX takes place in Mainnet priorityFeeParam, //(Optional) ); ```
Create NFT on 3Land
When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website ```typescript const isDevnet = true; // (Optional) if not present TX takes place in Mainnet const withPool = true; // (Optional) only present if NFT will be created with a Liquidity Pool for a specific SPL token const priorityFeeParam = 1000000; // (Optional) if not present the default priority fee will be 50000 const collectionAccount = ""; //hash for the collection const createItemOptions: CreateSingleOptions = { itemName: "", sellerFee: 500, //5% itemAmount: 100, //total items to be created itemSymbol: "", itemDescription: "", traits: [ { trait_type: "", value: "" }, ], price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL, must be present if "withPool" is true poolName: "", // Only present if "withPool" is true mainImageUrl: "", }; const result = await agent.create3LandNft( collectionAccount, createItemOptions, isDevnet, // (Optional) if not present TX takes place in Mainnet withPool priorityFeeParam, //(Optional) );
```
Create NFT Collection
typescript
const collection = await agent.deployCollection({
name: "My NFT Collection",
uri: "https://arweave.net/metadata.json",
royaltyBasisPoints: 500, // 5%
creators: [
{
address: "creator-wallet-address",
percentage: 100,
},
],
});
Swap Tokens
```typescript import { PublicKey } from "@solana/web3.js";
const signature = await agent.trade( new PublicKey("target-token-mint"), 100, // amount new PublicKey("source-token-mint"), 300 // 3% slippage ); ```
Lend Tokens
```typescript import { PublicKey } from "@solana/web3.js";
const signature = await agent.lendAssets( 100 // amount of USDC to lend ); ```
Stake SOL
typescript
const signature = await agent.stake(
1 // amount in SOL to stake
);
Stake SOL on Solayer
```typescript const signature = await agent.restake( 1 // amount in SOL to stake );
```
Send an SPL Token Airdrop via ZK Compression
```typescript import { PublicKey } from "@solana/web3.js";
(async () => { console.log( "~Airdrop cost estimate:", getAirdropCostEstimate( 1000, // recipients 30_000 // priority fee in lamports ) );
const signature = await agent.sendCompressedAirdrop( new PublicKey("JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"), // mint 42, // amount per recipient [ new PublicKey("1nc1nerator11111111111111111111111111111111"), // ... add more recipients ], 30_000 // priority fee in lamports ); })(); ```
Fetch Price Data from Pyth
```typescript
const priceFeedID = await agent.getPythPriceFeedID("SOL");
const price = await agent.getPythPrice(priceFeedID);
console.log("Price of SOL/USD:", price); ```
Open PERP Trade
```typescript import { PublicKey } from "@solana/web3.js";
const signature = await agent.openPerpTradeLong({ price: 300, // $300 SOL Max price collateralAmount: 10, // 10 jitoSOL in collateralMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL leverage: 50000, // x5 tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL slippage: 0.3, // 0.3% }); ```
Close PERP Trade
```typescript import { PublicKey } from "@solana/web3.js";
const signature = await agent.closePerpTradeLong({ price: 200, // $200 SOL price tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL }); ```
Close Empty Token Accounts
``` typescript
const { signature } = await agent.closeEmptyTokenAccounts(); ```
Create a Drift account
Create a drift account with an initial token deposit.
typescript
const result = await agent.createDriftUserAccount()
Create a Drift Vault
Create a drift vault.
typescript
const signature = await agent.createDriftVault({
name: "my-drift-vault",
marketName: "USDC-SPOT",
redeemPeriod: 1, // in days
maxTokens: 100000, // in token units e.g 100000 USDC
minDepositAmount: 5, // in token units e.g 5 USDC
managementFee: 1, // 1%
profitShare: 10, // 10%
hurdleRate: 5, // 5%
permissioned: false, // public vault or whitelist
})
Deposit into a Drift Vault
Deposit tokens into a drift vault.
typescript
const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
Deposit into your Drift account
Deposit tokens into your drift account.
typescript
const {txSig} = await agent.depositToDriftUserAccount(100, "USDC")
Derive a Drift Vault address
Derive a drift vault address.
typescript
const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault")
Do you have a Drift account
Check if agent has a drift account.
typescript
const {hasAccount, account} = await agent.doesUserHaveDriftAccount()
Get Drift account information
Get drift account information.
typescript
const accountInfo = await agent.driftUserAccountInfo()
Request withdrawal from Drift vault
Request withdrawal from drift vault.
typescript
const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
Carry out a perpetual trade using a Drift vault
Open a perpertual trade using a drift vault that is delegated to you.
typescript
const signature = await agent.tradeUsingDelegatedDriftVault({
vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU",
amount: 500,
symbol: "SOL",
action: "long",
type: "limit",
price: 180 // Please long limit order at $180/SOL
})
Carry out a perpetual trade using your Drift account
Open a perpertual trade using your drift account.
typescript
const signature = await agent.tradeUsingDriftPerpAccount({
amount: 500,
symbol: "SOL",
action: "long",
type: "limit",
price: 180 // Please long limit order at $180/SOL
})
Update Drift vault parameters
Update drift vault parameters.
typescript
const signature = await agent.updateDriftVault({
name: "my-drift-vault",
marketName: "USDC-SPOT",
redeemPeriod: 1, // in days
maxTokens: 100000, // in token units e.g 100000 USDC
minDepositAmount: 5, // in token units e.g 5 USDC
managementFee: 1, // 1%
profitShare: 10, // 10%
hurdleRate: 5, // 5%
permissioned: false, // public vault or whitelist
})
Withdraw from Drift account
Withdraw tokens from your drift account.
typescript
const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC")
Borrow from Drift
Borrow tokens from drift.
typescript
const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true)
Repay Drift loan
Repay a loan from drift.
typescript
const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true)
Withdraw from Drift vault
Withdraw tokens from a drift vault after the redemption period has elapsed.
typescript
const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
Update the address a Drift vault is delegated to
Update the address a drift vault is delegated to.
typescript
const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address")
Get Voltr Vault Position Values
Get the current position values and total value of assets in a Voltr vault.
typescript
const values = await agent.voltrGetPositionValues("7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K")
Deposit into Voltr Strategy
Deposit assets into a specific strategy within a Voltr vault.
typescript
const signature = await agent.voltrDepositStrategy(
new BN("1000000000"), // amount in base units (e.g., 1 USDC = 1000000)
"7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K", // vault
"9ZQQYvr4x7AMqd6abVa1f5duGjti5wk1MHsX6hogPsLk" // strategy
)
Withdraw from Voltr Strategy
Withdraw assets from a specific strategy within a Voltr vault.
typescript
const signature = await agent.voltrWithdrawStrategy(
new BN("1000000000"), // amount in base units (e.g., 1 USDC = 1000000)
"7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K", // vault
"9ZQQYvr4x7AMqd6abVa1f5duGjti5wk1MHsX6hogPsLk" // strategy
)
Get a Solana asset by its ID
typescript
const asset = await agent.getAsset("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
Get a price inference from Allora
Get the price for a given token and timeframe from Allora's API
typescript
const sol5mPrice = await agent.getPriceInference("SOL", "5m");
console.log("5m price inference of SOL/USD:", sol5mPrice);
List all topics from Allora
typescript
const topics = await agent.getAllTopics();
console.log("Allora topics:", topics);
Get an inference for an specific topic from Allora
typescript
const inference = await agent.getInferenceByTopicId(42);
console.log("Allora inference for topic 42:", inference);
Examples
LangGraph Multi-Agent System
The repository includes an advanced example of building a multi-agent system using LangGraph and Solana Agent Kit. Located in examples/agent-kit-langgraph, this example demonstrates:
- Multi-agent architecture using LangGraph's StateGraph
- Specialized agents for different tasks:
- General purpose agent for basic queries
- Transfer/Swap agent for transaction operations
- Read agent for blockchain data queries
- Manager agent for routing and orchestration
- Fully typed TypeScript implementation
- Environment-based configuration
Check out the LangGraph example for a complete implementation of an advanced Solana agent system.
Dependencies
The toolkit relies on several key Solana and Metaplex libraries:
- @solana/web3.js
- @solana/spl-token
- @metaplex-foundation/digital-asset-standard-api
- @metaplex-foundation/mpl-token-metadata
- @metaplex-foundation/mpl-core
- @metaplex-foundation/umi
- @lightprotocol/compressed-token
- @lightprotocol/stateless.js
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Refer to CONTRIBUTING.md for detailed guidelines on how to contribute to this project.
Contributors
Star History
License
Apache-2 License
Funding
If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address:
Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa
Security
This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.
Owner
- Name: Leo Brandt
- Login: solagent99
- Kind: user
- Company: Pillzumi
- Twitter: web3batman
- Repositories: 36
- Profile: https://github.com/solagent99
We are here to innovate. Not stop making new. Core tech player of AI Agent. Dev:@pillzumi (AI Agent) Prev:@chainswaperc #SOL #COSMOS #AI #BTC #ETH
Citation (CITATION.cff)
cff-version: 1.2.0 title: Solana Agent Kit message: >- If you use this software, please cite it using the metadata from this file. type: software authors: - name: SendAI repository-code: 'https://github.com/sendaifun/solana-agent-kit' url: 'https://github.com/sendaifun/solana-agent-kit' abstract: >- Connect any AI Agents to Solana Protocols keywords: - solana - blockchain - web3 - agent - toolkit license: Apache-2.0 version: 1.2.0 preferred-citation: type: software title: Solana Agent Kit abstract: Connect any AI Agents to Solana Protocols version: 1.2.0 date-released: '2024-12-21' license: Apache-2.0 url: 'https://github.com/sendaifun/solana-agent-kit' repository-code: 'https://github.com/sendaifun/solana-agent-kit' authors: - name: SendAI
GitHub Events
Total
- Watch event: 191
- Push event: 3
- Public event: 1
- Fork event: 175
Last Year
- Watch event: 191
- Push event: 3
- Public event: 1
- Fork event: 175
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/setup-node v4 composite
- pnpm/action-setup v3 composite
- tsx ^4.19.2 development
- typescript ^5.0.0 development
- @langchain/community ^0.3.20
- @langchain/core ^0.3.26
- @langchain/langgraph ^0.2.36
- dotenv ^16.4.7
- solana-agent-kit ^1.3.0
- zod ^3.24.1
- 168 dependencies
- prettier 3.0.0 development
- @langchain/community ^0.3.11
- @langchain/core ^0.3.17
- @langchain/langgraph ^0.2.20
- @langchain/openai ^0.3.11
- @next/bundle-analyzer ^13.4.19
- @supabase/supabase-js ^2.32.0
- @tailwindcss/typography ^0.5.15
- @types/node 20.12.12
- @types/react 18.3.2
- @types/react-dom 18.3.0
- ai ^3.1.12
- autoprefixer 10.4.14
- eslint 8.46.0
- eslint-config-next 13.4.12
- isomorphic-dompurify ^2.19.0
- langchain ^0.3.5
- marked ^15.0.4
- next ^14.2.3
- postcss 8.4.27
- react ^18.3.1
- react-dom ^18.3.1
- react-toastify ^9.1.3
- solana-agent-kit ^1.3.0
- tailwindcss 3.3.3
- typescript 5.1.6
- zod ^3.22.3
- zod-to-json-schema ^3.21.4
- 216 dependencies
- @types/node ^22.10.5 development
- @typescript-eslint/parser 8.19.0 development
- eslint ^8.56.0 development
- eslint-config-prettier ^9.1.0 development
- eslint-import-resolver-typescript ^3.7.0 development
- eslint-plugin-import ^2.31.0 development
- eslint-plugin-prettier ^5.2.1 development
- eslint-plugin-promise ^7.2.1 development
- eslint-plugin-security ^3.0.1 development
- eslint-plugin-sonarjs ^3.0.1 development
- nodemon ^3.1.9 development
- prettier ^3.4.2 development
- tsconfig-paths ^4.2.0 development
- tsx ^4.19.2 development
- typescript ^5.7.2 development
- discord.js ^14.17.2
- dotenv ^16.4.7
- solana-agent-kit ^1.3.4
- 315 dependencies
- @langchain/langgraph-checkpoint-postgres ^0.0.2
- solana-agent-kit ^1.3.6
- 192 dependencies
- @langchain/langgraph-checkpoint-postgres ^0.0.2
- solana-agent-kit ^1.3.0
- 107 dependencies
- @types/node ^20 development
- @types/react ^19 development
- @types/react-dom ^19 development
- postcss ^8 development
- tailwindcss ^3.4.1 development
- typescript ^5 development
- @langchain/core ^0.3.26
- @langchain/langgraph ^0.2.36
- @langchain/langgraph-checkpoint-postgres ^0.0.2
- @langchain/openai ^0.3.16
- firebase ^11.1.0
- grammy ^1.33.0
- messages link:@langchain/core/messages
- next 15.1.3
- prebuilt link:@langchain/langgraph/prebuilt
- react ^19.0.0
- react-dom ^19.0.0
- solana-agent-kit ^1.3.0
- 207 dependencies
- @types/node ^20 development
- @types/react ^19 development
- @types/react-dom ^19 development
- postcss ^8 development
- tailwindcss ^3.4.1 development
- typescript ^5 development
- @langchain/core ^0.3.26
- @langchain/langgraph ^0.2.36
- @langchain/openai ^0.3.16
- grammy ^1.33.0
- messages link:@langchain/core/messages
- next 15.1.3
- prebuilt link:@langchain/langgraph/prebuilt
- react ^19.0.0
- react-dom ^19.0.0
- solana-agent-kit ^1.3.0
- 150 dependencies
- @types/node ^20 development
- @types/react ^19 development
- @types/react-dom ^19 development
- postcss ^8 development
- tailwindcss ^3.4.1 development
- typescript ^5 development
- @langchain/core ^0.3.26
- @langchain/langgraph ^0.2.36
- @langchain/langgraph-checkpoint-postgres ^0.0.2
- @langchain/openai ^0.3.16
- firebase ^11.1.0
- grammy ^1.33.0
- messages link:@langchain/core/messages
- next 15.1.3
- prebuilt link:@langchain/langgraph/prebuilt
- react ^19.0.0
- react-dom ^19.0.0
- solana-agent-kit ^1.3.0
- 207 dependencies
- @types/bn.js ^5.1.6 development
- @types/chai ^5.0.1 development
- @types/node ^22.10.2 development
- @typescript-eslint/eslint-plugin ^8.18.2 development
- @typescript-eslint/parser ^8.18.2 development
- eslint ^8.56.0 development
- eslint-config-prettier ^9.1.0 development
- eslint-plugin-prettier ^5.2.1 development
- husky ^9.1.7 development
- lint-staged ^15.3.0 development
- prettier ^3.4.2 development
- tsx ^4.19.2 development
- typescript ^5.7.2 development
- @3land/listings-sdk ^0.0.7
- @ai-sdk/openai ^1.0.11
- @alloralabs/allora-sdk ^0.1.0
- @bonfida/spl-name-service ^3.0.7
- @cks-systems/manifest-sdk 0.1.59
- @coral-xyz/anchor 0.29
- @drift-labs/sdk 2.107.0-beta.3
- @drift-labs/vaults-sdk ^0.2.49
- @langchain/core ^0.3.26
- @langchain/groq ^0.1.2
- @langchain/langgraph ^0.2.36
- @langchain/openai ^0.3.16
- @lightprotocol/compressed-token ^0.17.1
- @lightprotocol/stateless.js ^0.17.1
- @mercurial-finance/dynamic-amm-sdk ^1.1.19
- @metaplex-foundation/digital-asset-standard-api ^1.0.4
- @metaplex-foundation/mpl-core ^1.1.1
- @metaplex-foundation/mpl-token-metadata ^3.3.0
- @metaplex-foundation/mpl-toolbox ^0.9.4
- @metaplex-foundation/umi ^0.9.2
- @metaplex-foundation/umi-bundle-defaults ^0.9.2
- @metaplex-foundation/umi-web3js-adapters ^0.9.2
- @meteora-ag/alpha-vault ^1.1.7
- @meteora-ag/dlmm ^1.3.0
- @onsol/tldparser ^0.6.7
- @orca-so/common-sdk 0.6.4
- @orca-so/whirlpools-sdk ^0.13.12
- @pythnetwork/hermes-client ^1.3.0
- @raydium-io/raydium-sdk-v2 0.1.95-alpha
- @solana/spl-token ^0.4.9
- @solana/web3.js ^1.98.0
- @sqds/multisig ^2.1.3
- @tensor-oss/tensorswap-sdk ^4.5.0
- @tiplink/api ^0.3.1
- @voltr/vault-sdk ^0.1.1
- ai ^4.0.22
- bn.js ^5.2.1
- bs58 ^6.0.0
- chai ^5.1.2
- decimal.js ^10.4.3
- dotenv ^16.4.7
- flash-sdk ^2.24.3
- form-data ^4.0.1
- langchain ^0.3.8
- openai ^4.77.0
- typedoc ^0.27.6
- zod ^3.24.1
- 376 dependencies