diff --git a/.env.example b/.env.example
index c2d1e182193..f16f77609fe 100644
--- a/.env.example
+++ b/.env.example
@@ -91,4 +91,5 @@ STARKNET_ADDRESS=
STARKNET_PRIVATE_KEY=
STARKNET_RPC_URL=
-
+# Coinbase Commerce
+COINBASE_COMMERCE_KEY=
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 28ad3f608a4..b9947abf7bf 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -25,6 +25,9 @@ jobs:
- name: Run Prettier
run: pnpm run prettier --check .
+ - name: Run Linter
+ run: pnpm run lint
+
- name: Create test env file
run: |
echo "TEST_DATABASE_CLIENT=sqlite" > packages/core/.env.test
diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml
index 929185df8c1..e228b9d071e 100644
--- a/.github/workflows/pre-release.yml
+++ b/.github/workflows/pre-release.yml
@@ -1,9 +1,6 @@
name: Pre-Release
on:
- push:
- branches:
- - main
workflow_dispatch:
inputs:
release_type:
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100755
index 00000000000..88770231272
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,12 @@
+#!/usr/bin/env sh
+
+# Inform the user about commit message format requirements
+echo "┌──────────────────────────────────────────────────────────────┐"
+echo "│ ℹ️ Commit message must follow the format: 'type: description' │"
+echo "│ Valid types: feat, fix, docs, style, refactor, test, chore │"
+echo "│ Example: 'feat: add new login feature' │"
+echo "└──────────────────────────────────────────────────────────────┘"
+echo ""
+
+# Run commitlint to validate the commit message
+npx --no -- commitlint --edit ${1}
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 00000000000..afb45bee423
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,2 @@
+pnpm run prettier-check
+pnpm run lint
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f148989e85b..a62f52f5521 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -15,32 +15,34 @@ By contributing to Eliza, you agree that your contributions will be licensed und
We believe in the power of the OODA Loop - a decision-making framework that emphasizes speed and adaptability. OODA stands for:
-- **Observe**: Gather information and insights about the project, the community, and the broader AI ecosystem.
-- **Orient**: Analyze your observations to identify opportunities for contribution and improvement.
-- **Decide**: Choose a course of action based on your analysis. This could be proposing a new feature, fixing a bug, or creating content.
-- **Act**: Execute your decision and share your work with the community.
+- **Observe**: Gather information and insights about the project, the community, and the broader AI ecosystem.
+- **Orient**: Analyze your observations to identify opportunities for contribution and improvement.
+- **Decide**: Choose a course of action based on your analysis. This could be proposing a new feature, fixing a bug, or creating content.
+- **Act**: Execute your decision and share your work with the community.
## How to Contribute
### For Developers
1. **Extend Eliza's Capabilities**
- - Develop new actions, evaluators, and providers
- - Improve existing components and modules
+
+ - Develop new actions, evaluators, and providers
+ - Improve existing components and modules
2. **Enhance Infrastructure**
- - Review open issues and submit PRs
- - Test and update documentation
- - Optimize performance
- - Improve deployment solutions
-1. Fork the repo and create your branch from `main`.
+ - Review open issues and submit PRs
+ - Test and update documentation
+ - Optimize performance
+ - Improve deployment solutions
+
+3. Fork the repo and create your branch from `main`.
1. The name of the branch should start with the issue number and be descriptive of the changes you are making.
1. eg. 40--add-test-for-bug-123
-2. If you've added code that should be tested, add tests.
-3. Ensure the test suite passes.
-4. Make sure your code lints.
-5. Issue that pull request!
+4. If you've added code that should be tested, add tests.
+5. Ensure the test suite passes.
+6. Make sure your code lints.
+7. Issue that pull request!
## Styleguides
@@ -74,18 +76,17 @@ This section lists the labels we use to help us track and manage issues and pull
- `documentation` - Issues or pull requests related to documentation.
- `good first issue` - Good for newcomers.
-
## Getting Help
-- Join [Discord](https://discord.gg/ai16z)
-- Check [FAQ](docs/community/faq.md)
-- Create GitHub issues
+- Join [Discord](https://discord.gg/ai16z)
+- Check [FAQ](docs/community/faq.md)
+- Create GitHub issues
## Additional Resources
-- [Local Development Guide](docs/guides/local-development.md)
-- [Configuration Guide](docs/guides/configuration.md)
-- [API Documentation](docs/api)
+- [Local Development Guide](docs/guides/local-development.md)
+- [Configuration Guide](docs/guides/configuration.md)
+- [API Documentation](docs/api)
## Contributor Guide
@@ -101,19 +102,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
-- Using welcoming and inclusive language
-- Being respectful of differing viewpoints and experiences
-- Gracefully accepting constructive criticism
-- Focusing on what is best for the community
-- Showing empathy towards other community members
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
Examples of unacceptable behavior include:
-- The use of sexualized language or imagery and unwelcome sexual attention or advances
-- Trolling, insulting/derogatory comments, and personal or political attacks
-- Public or private harassment
-- Publishing others' private information without explicit permission
-- Other conduct which could reasonably be considered inappropriate in a professional setting
+- The use of sexualized language or imagery and unwelcome sexual attention or advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a professional setting
#### Our Responsibilities
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000000..95045cf7a38
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,125 @@
+# Security Policy
+
+## Supported Versions
+
+Given the early stage of the project, we currently only support the latest version with security updates:
+
+| Version | Supported |
+| ------- | ------------------ |
+| 0.0.x | :white_check_mark: |
+| < 0.0.1 | :x: |
+
+## Reporting a Vulnerability
+
+We take the security of Eliza seriously. If you believe you have found a security vulnerability, please report it to us following these steps:
+
+### Private Reporting Process
+
+1. **DO NOT** create a public GitHub issue for the vulnerability
+2. Send an email to security@eliza.builders with:
+ - A detailed description of the vulnerability
+ - Steps to reproduce the issue
+ - Potential impact of the vulnerability
+ - Any possible mitigations you've identified
+
+### What to Expect
+
+- **Initial Response**: Within 48 hours, you will receive an acknowledgment of your report
+- **Updates**: We will provide updates every 5 business days about the progress
+- **Resolution Timeline**: We aim to resolve critical issues within 15 days
+- **Disclosure**: We will coordinate with you on the public disclosure timing
+
+## Security Best Practices
+
+### For Contributors
+
+1. **API Keys and Secrets**
+
+ - Never commit API keys, passwords, or other secrets to the repository
+ - Use environment variables as described in our secrets management guide
+ - Rotate any accidentally exposed credentials immediately
+
+2. **Dependencies**
+
+ - Keep all dependencies up to date
+ - Review security advisories for dependencies regularly
+ - Use `pnpm audit` to check for known vulnerabilities
+
+3. **Code Review**
+ - All code changes must go through pull request review
+ - Security-sensitive changes require additional review
+ - Enable branch protection on main branches
+
+### For Users
+
+1. **Environment Setup**
+
+ - Follow our [secrets management guide](docs/guides/secrets-management.md) for secure configuration
+ - Use separate API keys for development and production
+ - Regularly rotate credentials
+
+2. **Model Provider Security**
+
+ - Use appropriate rate limiting for API calls
+ - Monitor usage patterns for unusual activity
+ - Implement proper authentication for exposed endpoints
+
+3. **Platform Integration**
+ - Use separate bot tokens for different environments
+ - Implement proper permission scoping for platform APIs
+ - Regular audit of platform access and permissions
+
+## Security Features
+
+### Current Implementation
+
+- Environment variable based secrets management
+- Type-safe API implementations
+- Automated dependency updates via Renovate
+- Continuous Integration security checks
+
+### Planned Improvements
+
+1. **Q4 2024**
+
+ - Automated security scanning in CI pipeline
+ - Enhanced rate limiting implementation
+ - Improved audit logging
+
+2. **Q1 2025**
+ - Security-focused documentation improvements
+ - Enhanced platform permission management
+ - Automated vulnerability scanning
+
+## Vulnerability Disclosure Policy
+
+We follow a coordinated disclosure process:
+
+1. Reporter submits vulnerability details
+2. Our team validates and assesses the report
+3. We develop and test a fix
+4. Fix is deployed to supported versions
+5. Public disclosure after 30 days or by mutual agreement
+
+## Recognition
+
+We believe in recognizing security researchers who help improve our security. Contributors who report valid security issues will be:
+
+- Credited in our security acknowledgments (unless they wish to remain anonymous)
+- Added to our security hall of fame
+- Considered for our bug bounty program (coming soon)
+
+## License Considerations
+
+As an MIT licensed project, users should understand:
+
+- The software is provided "as is"
+- No warranty is provided
+- Users are responsible for their own security implementations
+- Contributors grant perpetual license to their contributions
+
+## Contact
+
+- Security Issues: security@eliza.builders
+- General Questions: Join our [Discord](https://discord.gg/ai16z)
+- Updates: Follow our [security advisory page](https://github.com/ai16z/eliza/security/advisories)
diff --git a/agent/package.json b/agent/package.json
index bd8967d569d..2eb890ba8a5 100644
--- a/agent/package.json
+++ b/agent/package.json
@@ -25,6 +25,7 @@
"@ai16z/plugin-node": "workspace:*",
"@ai16z/plugin-solana": "workspace:*",
"@ai16z/plugin-starknet": "workspace:*",
+ "@ai16z/plugin-coinbase": "workspace:*",
"readline": "^1.3.0",
"ws": "^8.18.0",
"yargs": "17.7.2"
diff --git a/agent/src/index.ts b/agent/src/index.ts
index cb580eed776..1d8f1c0817f 100644
--- a/agent/src/index.ts
+++ b/agent/src/index.ts
@@ -25,6 +25,7 @@ import {
import { bootstrapPlugin } from "@ai16z/plugin-bootstrap";
import { solanaPlugin } from "@ai16z/plugin-solana";
import { nodePlugin } from "@ai16z/plugin-node";
+import { coinbaseCommercePlugin } from "@ai16z/plugin-coinbase";
import Database from "better-sqlite3";
import fs from "fs";
import readline from "readline";
@@ -249,6 +250,10 @@ export function createAgent(
bootstrapPlugin,
nodePlugin,
character.settings.secrets?.WALLET_PUBLIC_KEY ? solanaPlugin : null,
+ character.settings.secrets?.COINBASE_COMMERCE_KEY ||
+ process.env.COINBASE_COMMERCE_KEY
+ ? coinbaseCommercePlugin
+ : null,
].filter(Boolean),
providers: [],
actions: [],
diff --git a/commitlint.config.js b/commitlint.config.js
new file mode 100644
index 00000000000..5073c20db10
--- /dev/null
+++ b/commitlint.config.js
@@ -0,0 +1 @@
+module.exports = { extends: ["@commitlint/config-conventional"] };
diff --git a/docs/README.md b/docs/README.md
index da88209d70b..31ac88a62ac 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,6 +1,9 @@
# Eliza - Multi-agent simulation framework
+
# https://github.com/ai16z/eliza
+
# Visit https://eliza.builders for support
+
# dev branch
diff --git a/docs/docs/community/best-practices.md b/docs/docs/community/best-practices.md
index 3dd4ba39d31..43224262dfb 100644
--- a/docs/docs/community/best-practices.md
+++ b/docs/docs/community/best-practices.md
@@ -44,4 +44,4 @@ It is imperative to run all existing tests (`pnpm test`) before creating a PR to
## Branching Strategy
-All new features and bug fixes must target the `main` branch, except when they are specific to a previously released version. In such scenarios, the bug fix PR should target the respective release branch. If necessary, changes will be backported from the `main` branch to a release branch, excluding any modifications that involve consensus-breaking features or API changes.
\ No newline at end of file
+All new features and bug fixes must target the `main` branch, except when they are specific to a previously released version. In such scenarios, the bug fix PR should target the respective release branch. If necessary, changes will be backported from the `main` branch to a release branch, excluding any modifications that involve consensus-breaking features or API changes.
diff --git a/docs/docs/community/contributing.md b/docs/docs/community/contributing.md
index 496c623e574..25b1cb299a1 100644
--- a/docs/docs/community/contributing.md
+++ b/docs/docs/community/contributing.md
@@ -3,6 +3,7 @@
First off, thank you for considering contributing to Eliza! We welcome contributions from everyone, regardless of experience level. 🎉
## Table of Contents
+
- [Contribution License Agreement](#contribution-license-agreement)
- [Code of Conduct](#code-of-conduct)
- [OODA Loop Framework](#the-ooda-loop-a-framework-for-contribution)
@@ -30,6 +31,7 @@ We pledge to make participation in our project a harassment-free experience for
### Our Standards
Positive behavior includes:
+
- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Gracefully accepting constructive criticism
@@ -37,6 +39,7 @@ Positive behavior includes:
- Showing empathy towards others
Unacceptable behavior includes:
+
- Harassment of any kind
- Discriminatory jokes and language
- Publishing others' private information
@@ -56,18 +59,19 @@ We follow the OODA Loop for decision-making:
### For Developers
1. **Development Process**
+
```bash
# Fork and clone
git clone https://github.com/yourusername/eliza.git
cd eliza
-
+
# Create branch (include issue number)
git checkout -b 123-add-new-feature
-
+
# Make changes, test, and commit
npm test
git commit -m "feat: add new feature"
-
+
# Push and create PR
git push origin 123-add-new-feature
```
@@ -82,36 +86,44 @@ We follow the OODA Loop for decision-making:
## Pull Request Guidelines
### PR Title Format
+
```
feat|fix|docs|style|refactor|test|chore: title
```
### PR Template
+
```markdown
# Relates to:
+
[Link to issue]
# Background
+
- What does this PR do?
- What kind of change is this?
# Testing
+
- How to test the changes
- Screenshots (if UI changes)
# Documentation
+
- Required documentation changes
```
## Styleguides
### Git Commit Messages
+
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor" not "Moves cursor")
- Limit first line to 72 characters
- Reference issues after first line
### Code Style
+
- JavaScript: Follow [JavaScript Standard Style](https://standardjs.com/)
- TypeScript: Follow [TypeScript Standard Style](https://github.com/standard/ts-standard)
- Documentation: Use [Markdown](https://daringfireball.net/projects/markdown/)
@@ -119,6 +131,7 @@ feat|fix|docs|style|refactor|test|chore: title
## Recognition and Rewards
Contributors can earn:
+
- "Github - Contributors" role on Discord
- Direct communication with a16z devs
- Recognition for outstanding contributions
@@ -132,4 +145,4 @@ Contributors can earn:
---
-Thank you for contributing to Eliza and helping build the future of autonomous AI agents! 🚀
\ No newline at end of file
+Thank you for contributing to Eliza and helping build the future of autonomous AI agents! 🚀
diff --git a/docs/docs/guides/template-configuration.md b/docs/docs/guides/template-configuration.md
new file mode 100644
index 00000000000..4e5376b6714
--- /dev/null
+++ b/docs/docs/guides/template-configuration.md
@@ -0,0 +1,90 @@
+# 🔧 Template and Client Configuration
+
+This guide covers how to configure custom templates and client behaviors for your AI agent. We'll walk through all available template options and configuration settings.
+
+## Template Configuration
+
+### Overview
+
+You can customize your character's behavior by overriding default prompt templates in your character's JSON file. ai16z/eliza provides default prompts for standard behaviors, making all template fields optional.
+
+### Available Template Options
+
+Here are all the template options you can configure:
+
+```json
+{
+ "templates": {
+ "goalsTemplate": "", // Define character goals
+ "factsTemplate": "", // Specify character knowledge
+ "messageHandlerTemplate": "", // Handle general messages
+ "shouldRespondTemplate": "", // Control response triggers
+ "continueMessageHandlerTemplate": "", // Manage conversation flow
+ "evaluationTemplate": "", // Handle response evaluation
+ "twitterSearchTemplate": "", // Process Twitter searches
+ "twitterPostTemplate": "", // Format Twitter posts
+ "twitterMessageHandlerTemplate": "", // Handle Twitter messages
+ "twitterShouldRespondTemplate": "", // Control Twitter responses
+ "telegramMessageHandlerTemplate": "", // Handle Telegram messages
+ "telegramShouldRespondTemplate": "", // Control Telegram responses
+ "discordVoiceHandlerTemplate": "", // Manage Discord voice
+ "discordShouldRespondTemplate": "", // Control Discord responses
+ "discordMessageHandlerTemplate": "" // Handle Discord messages
+ }
+}
+```
+
+### Example Usage
+
+```json
+{
+ "templates": {
+ "discordMessageHandlerTemplate": "",
+ "discordShouldRespondTemplate": "",
+ "telegramShouldRespondTemplate": "",
+ "twitterPostTemplate": ""
+ }
+}
+```
+
+## Client Configuration
+
+### Overview
+
+Configure platform-specific behaviors for your character, such as handling direct messages and bot interactions.
+
+### Available Options
+
+```json
+{
+ "clientConfig": {
+ "telegram": {
+ "shouldIgnoreDirectMessages": true, // Ignore DMs
+ "shouldIgnoreBotMessages": true // Ignore bot messages
+ },
+ "discord": {
+ "shouldIgnoreBotMessages": true, // Ignore bot messages
+ "shouldIgnoreDirectMessages": true // Ignore DMs
+ }
+ }
+}
+```
+
+## Best Practices
+
+1. **Template Management**
+
+ - Keep templates focused and specific
+ - Use clear, consistent formatting
+ - Document custom template behavior
+
+2. **Client Configuration**
+
+ - Configure per platform as needed
+ - Test behavior in development
+ - Monitor interaction patterns
+
+3. **Performance Considerations**
+ - Keep templates concise
+ - Avoid redundant configurations
+ - Test with expected message volumes
diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md
index b8875457110..56f393c8ae3 100644
--- a/docs/docs/packages/plugins.md
+++ b/docs/docs/packages/plugins.md
@@ -106,6 +106,111 @@ const character = {
};
```
+Here is the updated README with the Coinbase Commerce plugin information added:
+
+---
+
+# 🧩 Plugins
+
+## Overview
+
+Eliza's plugin system provides a modular way to extend the core functionality with additional features, actions, evaluators, and providers. Plugins are self-contained modules that can be easily added or removed to customize your agent's capabilities.
+
+## Core Plugin Concepts
+
+### Plugin Structure
+
+Each plugin in Eliza must implement the `Plugin` interface with the following properties:
+
+```typescript
+interface Plugin {
+ name: string; // Unique identifier for the plugin
+ description: string; // Brief description of plugin functionality
+ actions?: Action[]; // Custom actions provided by the plugin
+ evaluators?: Evaluator[]; // Custom evaluators for behavior assessment
+ providers?: Provider[]; // Context providers for message generation
+ services?: Service[]; // Additional services (optional)
+}
+```
+
+### Available Plugins
+
+#### 1. Bootstrap Plugin (`@eliza/plugin-bootstrap`)
+
+The bootstrap plugin provides essential baseline functionality:
+
+**Actions:**
+
+- `continue` - Continue the current conversation flow
+- `followRoom` - Follow a room for updates
+- `unfollowRoom` - Unfollow a room
+- `ignore` - Ignore specific messages
+- `muteRoom` - Mute notifications from a room
+- `unmuteRoom` - Unmute notifications from a room
+
+**Evaluators:**
+
+- `fact` - Evaluate factual accuracy
+- `goal` - Assess goal completion
+
+**Providers:**
+
+- `boredom` - Manages engagement levels
+- `time` - Provides temporal context
+- `facts` - Supplies factual information
+
+#### 2. Image Generation Plugin (`@eliza/plugin-image-generation`)
+
+Enables AI image generation capabilities:
+
+**Actions:**
+
+- `GENERATE_IMAGE` - Create images based on text descriptions
+- Supports multiple image generation services (Anthropic, Together)
+- Auto-generates captions for created images
+
+#### 3. Node Plugin (`@eliza/plugin-node`)
+
+Provides core Node.js-based services:
+
+**Services:**
+
+- `BrowserService` - Web browsing capabilities
+- `ImageDescriptionService` - Image analysis
+- `LlamaService` - LLM integration
+- `PdfService` - PDF processing
+- `SpeechService` - Text-to-speech
+- `TranscriptionService` - Speech-to-text
+- `VideoService` - Video processing
+
+#### 4. Solana Plugin (`@eliza/plugin-solana`)
+
+Integrates Solana blockchain functionality:
+
+**Evaluators:**
+
+- `trustEvaluator` - Assess transaction trust scores
+
+**Providers:**
+
+- `walletProvider` - Wallet management
+- `trustScoreProvider` - Transaction trust metrics
+
+#### 5. Coinbase Commerce Plugin (`@eliza/plugin-coinbase-commerce`)
+
+Integrates Coinbase Commerce for payment and transaction management:
+
+**Actions:**
+
+- `CREATE_CHARGE` - Create a payment charge using Coinbase Commerce
+- `GET_ALL_CHARGES` - Fetch all payment charges
+- `GET_CHARGE_DETAILS` - Retrieve details for a specific charge
+
+**Description:**
+This plugin enables Eliza to interact with the Coinbase Commerce API to create and manage payment charges, providing seamless integration with cryptocurrency-based payment systems.
+
+---
+
### Writing Custom Plugins
Create a new plugin by implementing the Plugin interface:
diff --git a/eslint.global.mjs b/eslint.global.mjs
new file mode 100644
index 00000000000..282796e2b51
--- /dev/null
+++ b/eslint.global.mjs
@@ -0,0 +1,71 @@
+import eslint from "@eslint/js";
+import tseslint from "@typescript-eslint/eslint-plugin";
+import typescript from "@typescript-eslint/parser";
+import prettier from "eslint-config-prettier";
+import vitest from "eslint-plugin-vitest"; // Add Vitest plugin
+
+export default [
+ // JavaScript and TypeScript files
+ {
+ files: ["src/**/*.js", "src/**/*.cjs", "src/**/*.mjs", "src/**/*.ts"],
+ languageOptions: {
+ parser: typescript,
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module",
+ project: "./tsconfig.json", // Make sure your tsconfig includes @types/node
+ },
+ globals: {
+ // Add Node.js globals
+ NodeJS: "readonly",
+ console: "readonly",
+ process: "readonly",
+ Buffer: "readonly",
+ __dirname: "readonly",
+ __filename: "readonly",
+ module: "readonly",
+ require: "readonly",
+ },
+ },
+ plugins: {
+ "@typescript-eslint": tseslint,
+ },
+ rules: {
+ ...eslint.configs.recommended.rules,
+ ...tseslint.configs.recommended.rules,
+ "prefer-const": "warn",
+ "no-constant-binary-expression": "error",
+
+ // Disable no-undef as TypeScript handles this better
+ "no-undef": "off",
+ "@typescript-eslint/no-unsafe-function-type": "off",
+ // Customize TypeScript rules
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/no-unused-vars": [
+ "error",
+ {
+ argsIgnorePattern: "^_",
+ varsIgnorePattern: "^_",
+ ignoreRestSiblings: true,
+ },
+ ],
+ },
+ },
+ // Vitest configuration
+ {
+ files: [
+ "src/**/*.test.js",
+ "src/**/*.test.ts",
+ "src/**/*.spec.js",
+ "src/**/*.spec.ts",
+ ],
+ plugins: {
+ vitest, // Register Vitest plugin
+ },
+ rules: {
+ ...vitest.configs.recommended.rules,
+ },
+ },
+ // Add prettier as the last config to override other formatting rules
+ prettier,
+];
diff --git a/package.json b/package.json
index 1b22270227b..372d54db500 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
"start": "pnpm --filter \"@ai16z/agent\" start --isRoot",
"start:client": "pnpm --dir client start --isRoot",
"dev": "bash ./scripts/dev.sh",
- "lint": "pnpm --dir packages/core lint && pnpm --dir packages/agent lint",
+ "lint": "bash ./scripts/lint.sh",
"prettier-check": "npx prettier --check .",
"prettier": "npx prettier --write .",
"release": "pnpm build && pnpm prettier && npx lerna publish --no-private --force-publish",
@@ -20,7 +20,8 @@
"docker:bash": "bash ./scripts/docker.sh bash",
"docker:start": "bash ./scripts/docker.sh start",
"docker": "pnpm docker:build && pnpm docker:run && pnpm docker:bash",
- "test": "bash ./scripts/test.sh"
+ "test": "bash ./scripts/test.sh",
+ "prepare": "husky install"
},
"devDependencies": {
"concurrently": "^9.1.0",
@@ -31,7 +32,9 @@
"typedoc": "^0.26.11",
"typescript": "5.6.3",
"vite": "^5.4.11",
- "vitest": "^2.1.5"
+ "vitest": "^2.1.5",
+ "@commitlint/cli": "^18.4.4",
+ "@commitlint/config-conventional": "^18.4.4"
},
"pnpm": {
"overrides": {
diff --git a/packages/adapter-postgres/eslint.config.mjs b/packages/adapter-postgres/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/adapter-postgres/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/adapter-postgres/package.json b/packages/adapter-postgres/package.json
index 1133225dc8c..248102d3694 100644
--- a/packages/adapter-postgres/package.json
+++ b/packages/adapter-postgres/package.json
@@ -10,10 +10,15 @@
"pg": "^8.13.1"
},
"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 --format esm --dts --watch"
+ "dev": "tsup --format esm --dts --watch",
+ "lint": "eslint . --fix"
}
}
diff --git a/packages/adapter-sqlite/eslint.config.mjs b/packages/adapter-sqlite/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/adapter-sqlite/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json
index 4083cecbb36..303703bcf46 100644
--- a/packages/adapter-sqlite/package.json
+++ b/packages/adapter-sqlite/package.json
@@ -11,11 +11,16 @@
"sqlite-vec": "0.1.4-alpha.2"
},
"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 --format esm --dts --watch"
+ "dev": "tsup --format esm --dts --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/adapter-sqlite/src/index.ts b/packages/adapter-sqlite/src/index.ts
index 52f1ac59797..b7a33eb04ad 100644
--- a/packages/adapter-sqlite/src/index.ts
+++ b/packages/adapter-sqlite/src/index.ts
@@ -153,7 +153,7 @@ export class SqliteDatabaseAdapter
}
const placeholders = params.roomIds.map(() => "?").join(", ");
let sql = `SELECT * FROM memories WHERE type = ? AND roomId IN (${placeholders})`;
- let queryParams = [params.tableName, ...params.roomIds];
+ const queryParams = [params.tableName, ...params.roomIds];
if (params.agentId) {
sql += ` AND agentId = ?`;
diff --git a/packages/adapter-sqljs/eslint.config.mjs b/packages/adapter-sqljs/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/adapter-sqljs/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/adapter-sqljs/package.json b/packages/adapter-sqljs/package.json
index d736d66d6e0..1502fabf706 100644
--- a/packages/adapter-sqljs/package.json
+++ b/packages/adapter-sqljs/package.json
@@ -11,11 +11,16 @@
"uuid": "11.0.2"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/adapter-sqljs/src/types.ts b/packages/adapter-sqljs/src/types.ts
index efdf6aaa4ea..42dfdf9847b 100644
--- a/packages/adapter-sqljs/src/types.ts
+++ b/packages/adapter-sqljs/src/types.ts
@@ -126,7 +126,6 @@ export declare class Database {
close(): void;
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
create_function(name: string, func: (...args: any[]) => any): Database;
each(
@@ -135,7 +134,7 @@ export declare class Database {
callback: ParamsCallback,
done: () => void
): Database;
- each(sql: string, callback: ParamsCallback, done: () => void): Database;
+ each(sql: string, callback: ParamsCallback, done: () => void): Database; // eslint-disable-line
/**
* Execute an SQL query, and returns the result.
diff --git a/packages/adapter-supabase/eslint.config.mjs b/packages/adapter-supabase/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/adapter-supabase/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/adapter-supabase/package.json b/packages/adapter-supabase/package.json
index acac79e121a..9411ec184ca 100644
--- a/packages/adapter-supabase/package.json
+++ b/packages/adapter-supabase/package.json
@@ -9,11 +9,16 @@
"@supabase/supabase-js": "2.46.1"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/client-auto/eslint.config.mjs b/packages/client-auto/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-auto/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-auto/package.json b/packages/client-auto/package.json
index 8995da54aa0..6ed8381003e 100644
--- a/packages/client-auto/package.json
+++ b/packages/client-auto/package.json
@@ -17,11 +17,16 @@
"multer": "1.4.5-lts.1"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/client-auto/src/index.ts b/packages/client-auto/src/index.ts
index fd1a4c0b76c..887c550b192 100644
--- a/packages/client-auto/src/index.ts
+++ b/packages/client-auto/src/index.ts
@@ -52,7 +52,7 @@ export class AutoClient {
);
// get information for all tokens which were recommended
- const tokenInfos = highTrustRecommendations.map(
+ const _tokenInfos = highTrustRecommendations.map(
async (highTrustRecommendation) => {
const tokenProvider = new TokenProvider(
highTrustRecommendation.tokenAddress,
@@ -87,7 +87,7 @@ export const AutoClientInterface: Client = {
const client = new AutoClient(runtime);
return client;
},
- stop: async (runtime: IAgentRuntime) => {
+ stop: async (_runtime: IAgentRuntime) => {
console.warn("Direct client does not support stopping yet");
},
};
diff --git a/packages/client-direct/eslint.config.mjs b/packages/client-direct/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-direct/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-direct/package.json b/packages/client-direct/package.json
index 8e4a9cf5255..bf83368aa4f 100644
--- a/packages/client-direct/package.json
+++ b/packages/client-direct/package.json
@@ -16,11 +16,16 @@
"multer": "1.4.5-lts.1"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/client-direct/src/index.ts b/packages/client-direct/src/index.ts
index 123600bf555..7ddc5fa233f 100644
--- a/packages/client-direct/src/index.ts
+++ b/packages/client-direct/src/index.ts
@@ -11,7 +11,6 @@ import {
Content,
Memory,
ModelClass,
- State,
Client,
IAgentRuntime,
} from "@ai16z/eliza";
@@ -222,7 +221,7 @@ export class DirectClient {
await runtime.evaluate(memory, state);
- const result = await runtime.processActions(
+ const _result = await runtime.processActions(
memory,
[responseMessage],
state,
@@ -285,14 +284,14 @@ export class DirectClient {
}
export const DirectClientInterface: Client = {
- start: async (runtime: IAgentRuntime) => {
+ start: async (_runtime: IAgentRuntime) => {
elizaLogger.log("DirectClientInterface start");
const client = new DirectClient();
const serverPort = parseInt(settings.SERVER_PORT || "3000");
client.start(serverPort);
return client;
},
- stop: async (runtime: IAgentRuntime) => {
+ stop: async (_runtime: IAgentRuntime) => {
elizaLogger.warn("Direct client does not support stopping yet");
},
};
diff --git a/packages/client-discord/eslint.config.mjs b/packages/client-discord/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-discord/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-discord/package.json b/packages/client-discord/package.json
index 91c7efd37a9..3ba5fcff333 100644
--- a/packages/client-discord/package.json
+++ b/packages/client-discord/package.json
@@ -16,11 +16,16 @@
"zod": "3.23.8"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"trustedDependencies": {
"@discordjs/opus": "github:discordjs/opus",
diff --git a/packages/client-discord/src/actions/chat_with_attachments.ts b/packages/client-discord/src/actions/chat_with_attachments.ts
index 5a7480d1b32..c55aca1a935 100644
--- a/packages/client-discord/src/actions/chat_with_attachments.ts
+++ b/packages/client-discord/src/actions/chat_with_attachments.ts
@@ -91,7 +91,11 @@ const summarizeAction = {
],
description:
"Answer a user request informed by specific attachments based on their IDs. If a user asks to chat with a PDF, or wants more specific information about a link or video or anything else they've attached, this is the action to use.",
- validate: async (runtime: IAgentRuntime, message: Memory, state: State) => {
+ validate: async (
+ _runtime: IAgentRuntime,
+ message: Memory,
+ _state: State
+ ) => {
if (message.content.source !== "discord") {
return false;
}
diff --git a/packages/client-discord/src/actions/download_media.ts b/packages/client-discord/src/actions/download_media.ts
index 8c68ea44676..28f0b2e9311 100644
--- a/packages/client-discord/src/actions/download_media.ts
+++ b/packages/client-discord/src/actions/download_media.ts
@@ -10,7 +10,6 @@ import {
IVideoService,
Memory,
ModelClass,
- Service,
ServiceType,
State,
} from "@ai16z/eliza";
@@ -73,7 +72,11 @@ export default {
],
description:
"Downloads a video or audio file from a URL and attaches it to the response message.",
- validate: async (runtime: IAgentRuntime, message: Memory, state: State) => {
+ validate: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ _state: State
+ ) => {
if (message.content.source !== "discord") {
return false;
}
diff --git a/packages/client-discord/src/actions/joinvoice.ts b/packages/client-discord/src/actions/joinvoice.ts
index 32453a158cb..d312d58deda 100644
--- a/packages/client-discord/src/actions/joinvoice.ts
+++ b/packages/client-discord/src/actions/joinvoice.ts
@@ -1,3 +1,4 @@
+// eslint-disable-next-line
// @ts-nocheck
// src/actions/joinVoice
import {
@@ -167,7 +168,7 @@ You should only respond with the name of the voice channel or none, no commentar
state: guessState as unknown as State,
});
- const datestr = new Date().toUTCString().replace(/:/g, "-");
+ const _datestr = new Date().toUTCString().replace(/:/g, "-");
const responseContent = await generateText({
runtime,
diff --git a/packages/client-discord/src/actions/leavevoice.ts b/packages/client-discord/src/actions/leavevoice.ts
index 54a1f7a46da..d15a941e24d 100644
--- a/packages/client-discord/src/actions/leavevoice.ts
+++ b/packages/client-discord/src/actions/leavevoice.ts
@@ -90,7 +90,7 @@ export default {
(channel: Channel) => channel.type === ChannelType.GuildVoice
);
- voiceChannels?.forEach((channel: Channel) => {
+ voiceChannels?.forEach((_channel: Channel) => {
const connection = getVoiceConnection(
(discordMessage as DiscordMessage).guild?.id as string
);
diff --git a/packages/client-discord/src/actions/summarize_conversation.ts b/packages/client-discord/src/actions/summarize_conversation.ts
index 86d3921dc55..ea7f35d683c 100644
--- a/packages/client-discord/src/actions/summarize_conversation.ts
+++ b/packages/client-discord/src/actions/summarize_conversation.ts
@@ -253,7 +253,7 @@ const summarizeAction = {
const chunks = await splitChunks(formattedMemories, chunkSize, 0);
- const datestr = new Date().toUTCString().replace(/:/g, "-");
+ const _datestr = new Date().toUTCString().replace(/:/g, "-");
state.memoriesWithAttachments = formattedMemories;
state.objective = objective;
diff --git a/packages/client-discord/src/actions/transcribe_media.ts b/packages/client-discord/src/actions/transcribe_media.ts
index 52e2efedd5f..ab0a70cc705 100644
--- a/packages/client-discord/src/actions/transcribe_media.ts
+++ b/packages/client-discord/src/actions/transcribe_media.ts
@@ -73,7 +73,11 @@ const transcribeMediaAction = {
],
description:
"Transcribe the full text of an audio or video file that the user has attached.",
- validate: async (runtime: IAgentRuntime, message: Memory, state: State) => {
+ validate: async (
+ _runtime: IAgentRuntime,
+ message: Memory,
+ _state: State
+ ) => {
if (message.content.source !== "discord") {
return false;
}
diff --git a/packages/client-discord/src/attachments.ts b/packages/client-discord/src/attachments.ts
index 7746beda4e3..fe675e29bf7 100644
--- a/packages/client-discord/src/attachments.ts
+++ b/packages/client-discord/src/attachments.ts
@@ -8,7 +8,6 @@ import {
IVideoService,
Media,
ModelClass,
- Service,
ServiceType,
} from "@ai16z/eliza";
import { Attachment, Collection } from "discord.js";
diff --git a/packages/client-discord/src/index.ts b/packages/client-discord/src/index.ts
index 061f8e55ce7..a23b6cedaed 100644
--- a/packages/client-discord/src/index.ts
+++ b/packages/client-discord/src/index.ts
@@ -303,7 +303,7 @@ export const DiscordClientInterface: ElizaClient = {
return new DiscordClient(runtime);
},
- stop: async (runtime: IAgentRuntime) => {
+ stop: async (_runtime: IAgentRuntime) => {
console.warn("Discord client does not support stopping yet");
},
};
diff --git a/packages/client-discord/src/voice.ts b/packages/client-discord/src/voice.ts
index 61d8224ae0a..623f39de4c4 100644
--- a/packages/client-discord/src/voice.ts
+++ b/packages/client-discord/src/voice.ts
@@ -385,7 +385,7 @@ export class VoiceManager extends EventEmitter {
let transcriptionStarted = false;
let transcriptionText = "";
- const monitor = new AudioMonitor(
+ const _monitor = new AudioMonitor(
audioStream,
10000000,
async (buffer) => {
diff --git a/packages/client-github/eslint.config.mjs b/packages/client-github/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-github/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-github/package.json b/packages/client-github/package.json
index cdc9905f2e5..af56dec4153 100644
--- a/packages/client-github/package.json
+++ b/packages/client-github/package.json
@@ -13,10 +13,15 @@
},
"devDependencies": {
"@types/glob": "^8.1.0",
+ "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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
}
}
diff --git a/packages/client-github/src/index.ts b/packages/client-github/src/index.ts
index ac03a9df362..71d9238943d 100644
--- a/packages/client-github/src/index.ts
+++ b/packages/client-github/src/index.ts
@@ -191,7 +191,7 @@ export const GitHubClientInterface: Client = {
return client;
},
- stop: async (runtime: IAgentRuntime) => {
+ stop: async (_runtime: IAgentRuntime) => {
elizaLogger.log("GitHubClientInterface stop");
},
};
diff --git a/packages/client-telegram/eslint.config.mjs b/packages/client-telegram/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-telegram/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-telegram/package.json b/packages/client-telegram/package.json
index 378149c60cf..9362f1f1a5f 100644
--- a/packages/client-telegram/package.json
+++ b/packages/client-telegram/package.json
@@ -12,10 +12,15 @@
"zod": "3.23.8"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
}
}
diff --git a/packages/client-telegram/src/index.ts b/packages/client-telegram/src/index.ts
index 41008057e68..3e3be51e0c5 100644
--- a/packages/client-telegram/src/index.ts
+++ b/packages/client-telegram/src/index.ts
@@ -19,7 +19,7 @@ export const TelegramClientInterface: Client = {
);
return tg;
},
- stop: async (runtime: IAgentRuntime) => {
+ stop: async (_runtime: IAgentRuntime) => {
console.warn("Telegram client does not support stopping yet");
},
};
diff --git a/packages/client-twitter/eslint.config.mjs b/packages/client-twitter/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/client-twitter/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/client-twitter/package.json b/packages/client-twitter/package.json
index e442418c1ea..1e541f67f74 100644
--- a/packages/client-twitter/package.json
+++ b/packages/client-twitter/package.json
@@ -11,11 +11,16 @@
"zod": "3.23.8"
},
"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"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/client-twitter/src/index.ts b/packages/client-twitter/src/index.ts
index 2ac9056e3ab..dad65d4d326 100644
--- a/packages/client-twitter/src/index.ts
+++ b/packages/client-twitter/src/index.ts
@@ -37,7 +37,7 @@ export const TwitterClientInterface: Client = {
return manager;
},
- async stop(runtime: IAgentRuntime) {
+ async stop(_runtime: IAgentRuntime) {
elizaLogger.warn("Twitter client does not support stopping yet");
},
};
diff --git a/packages/client-twitter/src/utils.ts b/packages/client-twitter/src/utils.ts
index 6ef63c30873..fe003d12951 100644
--- a/packages/client-twitter/src/utils.ts
+++ b/packages/client-twitter/src/utils.ts
@@ -270,6 +270,7 @@ function splitTweetContent(content: string): string[] {
}
function splitParagraph(paragraph: string, maxLength: number): string[] {
+ // eslint-disable-next-line
const sentences = paragraph.match(/[^\.!\?]+[\.!\?]+|[^\.!\?]+$/g) || [
paragraph,
];
diff --git a/packages/core/eslint.config.mjs b/packages/core/eslint.config.mjs
index 73de84067fe..c6b6b1a9daa 100644
--- a/packages/core/eslint.config.mjs
+++ b/packages/core/eslint.config.mjs
@@ -1,55 +1,3 @@
-import eslint from "@eslint/js";
-import tseslint from "@typescript-eslint/eslint-plugin";
-import typescript from "@typescript-eslint/parser";
-import prettier from "eslint-config-prettier";
+import eslintGlobalConfig from "../../eslint.global.mjs";
-export default [
- // JavaScript and TypeScript files
- {
- files: ["src/**/*.js", "src/**/*.cjs", "src/**/*.mjs", "src/**/*.ts"],
- languageOptions: {
- parser: typescript,
- parserOptions: {
- ecmaVersion: "latest",
- sourceType: "module",
- project: "./tsconfig.json", // Make sure your tsconfig includes @types/node
- },
- globals: {
- // Add Node.js globals
- NodeJS: "readonly",
- console: "readonly",
- process: "readonly",
- Buffer: "readonly",
- __dirname: "readonly",
- __filename: "readonly",
- module: "readonly",
- require: "readonly",
- },
- },
- plugins: {
- "@typescript-eslint": tseslint,
- },
- rules: {
- ...eslint.configs.recommended.rules,
- ...tseslint.configs.recommended.rules,
- "prefer-const": "warn",
- "no-constant-binary-expression": "error",
-
- // Disable no-undef as TypeScript handles this better
- "no-undef": "off",
- "@typescript-eslint/no-unsafe-function-type": "off",
- // Customize TypeScript rules
- "@typescript-eslint/no-explicit-any": "off",
- "@typescript-eslint/no-unused-vars": [
- "error",
- {
- argsIgnorePattern: "^_",
- varsIgnorePattern: "^_",
- ignoreRestSiblings: true,
- },
- ],
- },
- },
- // Add prettier as the last config to override other formatting rules
- prettier,
-];
+export default [...eslintGlobalConfig];
diff --git a/packages/core/package.json b/packages/core/package.json
index f1ba762e2d1..ccd6483c5c4 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -38,6 +38,7 @@
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4",
"jest": "29.7.0",
"lint-staged": "15.2.10",
"nodemon": "3.1.7",
diff --git a/packages/core/src/embedding.ts b/packages/core/src/embedding.ts
index 8cd4e744fa1..0bb91f136b3 100644
--- a/packages/core/src/embedding.ts
+++ b/packages/core/src/embedding.ts
@@ -37,7 +37,7 @@ async function getRemoteEmbedding(
: {}),
},
body: JSON.stringify({
- input: trimTokens(input, 8191, "gpt-4o-mini"),
+ input: trimTokens(input, 8000, "gpt-4o-mini"),
model: options.model,
length: options.length || 384,
}),
@@ -142,10 +142,34 @@ async function getLocalEmbedding(input: string): Promise {
process.versions != null &&
process.versions.node != null;
- if (isNode) {
- const fs = await import("fs");
- const { FlagEmbedding } = await import("fastembed");
- const { fileURLToPath } = await import("url");
+ if (!isNode) {
+ elizaLogger.warn(
+ "Local embedding not supported in browser, falling back to remote embedding"
+ );
+ throw new Error("Local embedding not supported in browser");
+ }
+
+ try {
+ // Try to dynamically import all required Node.js modules
+ const moduleImports = await Promise.all([
+ import("fs"),
+ import("url"),
+ // Wrap fastembed import in a try-catch to prevent build errors for non-Node.js environments.
+ (async () => {
+ try {
+ return await import("fastembed");
+ // eslint-disable-next-line
+ } catch (_error) {
+ elizaLogger.error("Failed to load fastembed.");
+ throw new Error(
+ "fastembed import failed, falling back to remote embedding"
+ );
+ }
+ })(),
+ ]);
+
+ const [fs, { fileURLToPath }, fastEmbed] = moduleImports;
+ const { FlagEmbedding } = fastEmbed;
function getRootPath() {
const __filename = fileURLToPath(import.meta.url);
@@ -169,13 +193,13 @@ async function getLocalEmbedding(input: string): Promise {
cacheDir: cacheDir,
});
- const trimmedInput = trimTokens(input, 8191, "gpt-4o-mini");
+ const trimmedInput = trimTokens(input, 8000, "gpt-4o-mini");
const embedding = await embeddingModel.queryEmbed(trimmedInput);
return embedding;
- } else {
- // Browser implementation - fallback to remote embedding
+ // eslint-disable-next-line
+ } catch (_error) {
elizaLogger.warn(
- "Local embedding not supported in browser, falling back to remote embedding"
+ "Local embedding not supported in browser, falling back to remote embedding."
);
throw new Error("Local embedding not supported in browser");
}
diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts
index 91663bdd0e1..f20004ea9bb 100644
--- a/packages/core/src/generation.ts
+++ b/packages/core/src/generation.ts
@@ -420,6 +420,7 @@ export function trimTokens(
encoding.free();
}
}
+
/**
* Sends a message to the model to determine if it should respond to the given context.
* @param opts - The options for the generateText request
@@ -936,6 +937,9 @@ export const generateObjectV2 = async ({
const provider = runtime.modelProvider;
const model = models[provider].model[modelClass];
+ if (!model) {
+ throw new Error(`Unsupported model class: ${modelClass}`);
+ }
const temperature = models[provider].settings.temperature;
const frequency_penalty = models[provider].settings.frequency_penalty;
const presence_penalty = models[provider].settings.presence_penalty;
@@ -944,7 +948,7 @@ export const generateObjectV2 = async ({
const apiKey = runtime.token;
try {
- context = await trimTokens(context, max_context_length, modelClass);
+ context = await trimTokens(context, max_context_length, "gpt-4o");
const modelOptions: ModelSettings = {
prompt: context,
diff --git a/packages/core/src/tests/cache.test.ts b/packages/core/src/tests/cache.test.ts
index 3a7c733937f..e9a3bbde6e9 100644
--- a/packages/core/src/tests/cache.test.ts
+++ b/packages/core/src/tests/cache.test.ts
@@ -1,4 +1,3 @@
-/* eslint-disable no-dupe-class-members */
import { CacheManager, MemoryCacheAdapter } from "../cache.ts"; // Adjust the import based on your project structure
// Now, let’s fix the test suite.
diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts
index e8ffc377c9f..76f70509dc5 100644
--- a/packages/core/src/tests/token.test.ts
+++ b/packages/core/src/tests/token.test.ts
@@ -1,77 +1,77 @@
-// // Now import other modules
-// import { createRuntime } from "../test_resources/createRuntime";
-// import { TokenProvider, WalletProvider } from "@ai16z/plugin-solana";
-// import { Connection, PublicKey } from "@solana/web3.js";
-// import { describe, test, expect, beforeEach, vi } from "vitest";
-// import NodeCache from "node-cache";
+// Now import other modules
+import { createRuntime } from "../test_resources/createRuntime";
+import { TokenProvider, WalletProvider } from "@ai16z/plugin-solana";
+import { Connection, PublicKey } from "@solana/web3.js";
+import { describe, it, expect, beforeEach, vi } from "vitest";
+import NodeCache from "node-cache";
-// describe("TokenProvider Tests", async () => {
-// let tokenProvider: TokenProvider;
+describe("TokenProvider Tests", () => {
+ let tokenProvider: TokenProvider;
-// beforeEach(async () => {
-// // Clear all mocks before each test
-// vi.clearAllMocks();
+ beforeEach(async () => {
+ // Clear all mocks before each test
+ vi.clearAllMocks();
-// const { runtime } = await createRuntime({
-// env: process.env,
-// conversationLength: 10,
-// });
+ const { runtime } = await createRuntime({
+ env: process.env,
+ conversationLength: 10,
+ });
-// const walletProvider = new WalletProvider(
-// new Connection(runtime.getSetting("RPC_URL")),
-// new PublicKey(runtime.getSetting("WALLET_PUBLIC_KEY"))
-// );
-// // Create new instance of TokenProvider
-// tokenProvider = new TokenProvider(
-// "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh",
-// walletProvider
-// );
+ const walletProvider = new WalletProvider(
+ new Connection(runtime.getSetting("RPC_URL")),
+ new PublicKey(runtime.getSetting("WALLET_PUBLIC_KEY"))
+ );
+ // Create new instance of TokenProvider
+ tokenProvider = new TokenProvider(
+ "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh",
+ walletProvider
+ );
-// // Clear the cache and ensure it's empty
-// (tokenProvider as any).cache.flushAll();
-// (tokenProvider as any).cache.close();
-// (tokenProvider as any).cache = new NodeCache();
+ // Clear the cache and ensure it's empty
+ (tokenProvider as any).cache.flushAll();
+ (tokenProvider as any).cache.close();
+ (tokenProvider as any).cache = new NodeCache();
-// // Mock the getCachedData method instead
-// vi.spyOn(tokenProvider as any, "getCachedData").mockReturnValue(null);
-// });
+ // Mock the getCachedData method instead
+ vi.spyOn(tokenProvider as any, "getCachedData").mockReturnValue(null);
+ });
-// test("should fetch token security data", async () => {
-// // Mock the response for the fetchTokenSecurity call
-// const mockFetchResponse = {
-// success: true,
-// data: {
-// ownerBalance: "100",
-// creatorBalance: "50",
-// ownerPercentage: 10,
-// creatorPercentage: 5,
-// top10HolderBalance: "200",
-// top10HolderPercent: 20,
-// },
-// };
+ it.skip("should fetch token security data", async () => {
+ // Mock the response for the fetchTokenSecurity call
+ const mockFetchResponse = {
+ success: true,
+ data: {
+ ownerBalance: "100",
+ creatorBalance: "50",
+ ownerPercentage: 10,
+ creatorPercentage: 5,
+ top10HolderBalance: "200",
+ top10HolderPercent: 20,
+ },
+ };
-// // Mock fetchWithRetry function
-// const fetchSpy = vi
-// .spyOn(tokenProvider as any, "fetchWithRetry")
-// .mockResolvedValue(mockFetchResponse);
+ // Mock fetchWithRetry function
+ const fetchSpy = vi
+ .spyOn(tokenProvider as any, "fetchWithRetry")
+ .mockResolvedValue(mockFetchResponse);
-// // Run the fetchTokenSecurity method
-// const securityData = await tokenProvider.fetchTokenSecurity();
-// // Check if the data returned is correct
-// expect(securityData).toEqual({
-// ownerBalance: "100",
-// creatorBalance: "50",
-// ownerPercentage: 10,
-// creatorPercentage: 5,
-// top10HolderBalance: "200",
-// top10HolderPercent: 20,
-// });
+ // Run the fetchTokenSecurity method
+ const securityData = await tokenProvider.fetchTokenSecurity();
+ // Check if the data returned is correct
+ expect(securityData).toEqual({
+ ownerBalance: "100",
+ creatorBalance: "50",
+ ownerPercentage: 10,
+ creatorPercentage: 5,
+ top10HolderBalance: "200",
+ top10HolderPercent: 20,
+ });
-// // Ensure the mock was called with correct URL
-// expect(fetchSpy).toHaveBeenCalledWith(
-// expect.stringContaining(
-// "https://public-api.birdeye.so/defi/token_security?address=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"
-// )
-// );
-// });
-// });
+ // Ensure the mock was called with correct URL
+ expect(fetchSpy).toHaveBeenCalledWith(
+ expect.stringContaining(
+ "https://public-api.birdeye.so/defi/token_security?address=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"
+ )
+ );
+ });
+});
diff --git a/packages/core/src/tests/videoGeneration.test.ts b/packages/core/src/tests/videoGeneration.test.ts
index 098ee907026..ac75a17b018 100644
--- a/packages/core/src/tests/videoGeneration.test.ts
+++ b/packages/core/src/tests/videoGeneration.test.ts
@@ -26,36 +26,40 @@ const mockVideoGenerationPlugin = {
const apiKey = runtime.getSetting("LUMA_API_KEY");
return !!apiKey;
}),
- handler: vi.fn().mockImplementation(async (runtime, message, state, options, callback) => {
- // Initial response
- callback({
- text: "I'll generate a video based on your prompt",
- });
-
- // Check if there's an API error
- const fetchResponse = await global.fetch();
- if (!fetchResponse.ok) {
- callback({
- text: "Video generation failed: API Error",
- error: true,
- });
- return;
- }
-
- // Final response with video
- callback(
- {
- text: "Here's your generated video!",
- attachments: [
+ handler: vi
+ .fn()
+ .mockImplementation(
+ async (runtime, message, state, options, callback) => {
+ // Initial response
+ callback({
+ text: "I'll generate a video based on your prompt",
+ });
+
+ // Check if there's an API error
+ const fetchResponse = await global.fetch();
+ if (!fetchResponse.ok) {
+ callback({
+ text: "Video generation failed: API Error",
+ error: true,
+ });
+ return;
+ }
+
+ // Final response with video
+ callback(
{
- source: "videoGeneration",
- url: "https://example.com/video.mp4",
+ text: "Here's your generated video!",
+ attachments: [
+ {
+ source: "videoGeneration",
+ url: "https://example.com/video.mp4",
+ },
+ ],
},
- ],
- },
- ["generated_video_123.mp4"]
- );
- }),
+ ["generated_video_123.mp4"]
+ );
+ }
+ ),
},
],
};
diff --git a/packages/create-eliza-app/README.md b/packages/create-eliza-app/README.md
index aa194cee889..93f02db25ec 100644
--- a/packages/create-eliza-app/README.md
+++ b/packages/create-eliza-app/README.md
@@ -32,7 +32,6 @@ deno run -A npm:create-eliza-app@latest path
-
## Command Line Arguments
- `--name`: Name of the template to use (default: "eliza")
diff --git a/packages/create-eliza-app/eslint.config.mjs b/packages/create-eliza-app/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/create-eliza-app/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/create-eliza-app/package.json b/packages/create-eliza-app/package.json
index 16cede955ba..e4bb32aa035 100644
--- a/packages/create-eliza-app/package.json
+++ b/packages/create-eliza-app/package.json
@@ -13,6 +13,7 @@
"scripts": {
"build": "unbuild",
"dev": "jiti ./src/index.ts",
+ "lint": "eslint . --fix",
"start": "node ./dist/index.cjs",
"automd": "automd"
},
@@ -25,6 +26,10 @@
},
"devDependencies": {
"automd": "^0.3.12",
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4",
"jiti": "^2.4.0",
"unbuild": "^2.0.0"
}
diff --git a/packages/plugin-bootstrap/eslint.config.mjs b/packages/plugin-bootstrap/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-bootstrap/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-bootstrap/package.json b/packages/plugin-bootstrap/package.json
index 569b3b97aa3..5fe1c2a3d00 100644
--- a/packages/plugin-bootstrap/package.json
+++ b/packages/plugin-bootstrap/package.json
@@ -8,9 +8,16 @@
"@ai16z/eliza": "workspace:*",
"tsup": "^8.3.5"
},
+ "devDependencies": {
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
+ },
"scripts": {
"build": "tsup --format esm --dts",
- "dev": "tsup --watch"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-bootstrap/src/actions/ignore.ts b/packages/plugin-bootstrap/src/actions/ignore.ts
index 5126999f3a2..35121ab0514 100644
--- a/packages/plugin-bootstrap/src/actions/ignore.ts
+++ b/packages/plugin-bootstrap/src/actions/ignore.ts
@@ -14,8 +14,8 @@ export const ignoreAction: Action = {
description:
"Call this action if ignoring the user. If the user is aggressive, creepy or is finished with the conversation, use this action. Or, if both you and the user have already said goodbye, use this action instead of saying bye again. Use IGNORE any time the conversation has naturally ended. Do not use IGNORE if the user has engaged directly, or if something went wrong an you need to tell them. Only ignore if the user should be ignored.",
handler: async (
- runtime: IAgentRuntime,
- message: Memory
+ _runtime: IAgentRuntime,
+ _message: Memory
): Promise => {
return true;
},
diff --git a/packages/plugin-bootstrap/src/actions/none.ts b/packages/plugin-bootstrap/src/actions/none.ts
index e2f7f158b07..cff68a20579 100644
--- a/packages/plugin-bootstrap/src/actions/none.ts
+++ b/packages/plugin-bootstrap/src/actions/none.ts
@@ -21,8 +21,8 @@ export const noneAction: Action = {
description:
"Respond but perform no additional action. This is the default if the agent is speaking and not doing anything additional.",
handler: async (
- runtime: IAgentRuntime,
- message: Memory
+ _runtime: IAgentRuntime,
+ _message: Memory
): Promise => {
return true;
},
diff --git a/packages/plugin-bootstrap/src/evaluators/fact.ts b/packages/plugin-bootstrap/src/evaluators/fact.ts
index 15857f3d11b..78e87f5455a 100644
--- a/packages/plugin-bootstrap/src/evaluators/fact.ts
+++ b/packages/plugin-bootstrap/src/evaluators/fact.ts
@@ -3,7 +3,6 @@ import { generateObjectArray } from "@ai16z/eliza";
import { MemoryManager } from "@ai16z/eliza";
import {
ActionExample,
- Content,
IAgentRuntime,
Memory,
ModelClass,
diff --git a/packages/plugin-bootstrap/src/providers/boredom.ts b/packages/plugin-bootstrap/src/providers/boredom.ts
index 1158cca46e4..159c21f3a5b 100644
--- a/packages/plugin-bootstrap/src/providers/boredom.ts
+++ b/packages/plugin-bootstrap/src/providers/boredom.ts
@@ -336,8 +336,6 @@ const boredomProvider: Provider = {
);
const selectedMessage = boredomLevel.statusMessages[randomIndex];
return selectedMessage.replace("{{agentName}}", agentName);
-
- return "";
},
};
diff --git a/packages/plugin-bootstrap/src/providers/facts.ts b/packages/plugin-bootstrap/src/providers/facts.ts
index 21ae26b5787..9869640bfbe 100644
--- a/packages/plugin-bootstrap/src/providers/facts.ts
+++ b/packages/plugin-bootstrap/src/providers/facts.ts
@@ -16,7 +16,7 @@ const factsProvider: Provider = {
actors: state?.actorsData,
});
- const embedding = await embed(runtime, recentMessages);
+ const _embedding = await embed(runtime, recentMessages);
const memoryManager = new MemoryManager({
runtime,
diff --git a/packages/plugin-coinbase/.npmignore b/packages/plugin-coinbase/.npmignore
new file mode 100644
index 00000000000..078562eceab
--- /dev/null
+++ b/packages/plugin-coinbase/.npmignore
@@ -0,0 +1,6 @@
+*
+
+!dist/**
+!package.json
+!readme.md
+!tsup.config.ts
\ No newline at end of file
diff --git a/packages/plugin-coinbase/package-lock.json b/packages/plugin-coinbase/package-lock.json
new file mode 100644
index 00000000000..5ae7eb9b770
--- /dev/null
+++ b/packages/plugin-coinbase/package-lock.json
@@ -0,0 +1,3974 @@
+{
+ "name": "@ai16z/plugin-coinbase",
+ "version": "0.1.3",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@ai16z/plugin-coinbase",
+ "version": "0.1.3",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@ai16z/eliza": "^0.1.3",
+ "coinbase-api": "^1.0.5"
+ },
+ "devDependencies": {
+ "tsup": "^8.3.5"
+ },
+ "peerDependencies": {
+ "onnxruntime-node": "^1.20.0",
+ "whatwg-url": "7.1.0"
+ }
+ },
+ "node_modules/@ai-sdk/anthropic": {
+ "version": "0.0.53",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-0.0.53.tgz",
+ "integrity": "sha512-33w5pmQINRRYwppgMhXY/y5ZIW6cbIhbuKbZQmy8SKZvtLBI2gM7H0QN/cH3nv0OmR4YsUw8L3DYUNlQs5hfEA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ }
+ },
+ "node_modules/@ai-sdk/google": {
+ "version": "0.0.55",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-0.0.55.tgz",
+ "integrity": "sha512-dvEMS8Ex2H0OeuFBiT4Q1Kfrxi1ckjooy/PazNLjRQ3w9o9VQq4O24eMQGCuW1Z47qgMdXjhDzsH6qD0HOX6Cw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ }
+ },
+ "node_modules/@ai-sdk/google-vertex": {
+ "version": "0.0.42",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/google-vertex/-/google-vertex-0.0.42.tgz",
+ "integrity": "sha512-CwV01ijarrBirYj+x1kXKVA8+JNQdZASbOvjYAxIQnMcEXG/IQ7AvDcI6URLRsveCkb5QsYuRRlz75wugxIv4A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@google-cloud/vertexai": "^1.6.0"
+ }
+ },
+ "node_modules/@ai-sdk/groq": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/groq/-/groq-0.0.3.tgz",
+ "integrity": "sha512-Iyj2p7/M0TVhoPrQfSiwfvjTpZFfc17a6qY/2s22+VgpT0yyfai9dVyLbfUAdnNlpGGrjDpxPHqK1L03r4KlyA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ }
+ },
+ "node_modules/@ai-sdk/openai": {
+ "version": "1.0.0-canary.3",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.0.0-canary.3.tgz",
+ "integrity": "sha512-5xtkCL5ObmGCaGbk19AGnr5gGdFGd22JhSq9CmeuvjyeKy5xSU9Qc2PaXwx6GsKEYSFC72IT1U9TYxo+n5HRCg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "1.0.0-canary.0",
+ "@ai-sdk/provider-utils": "2.0.0-canary.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ }
+ },
+ "node_modules/@ai-sdk/openai/node_modules/@ai-sdk/provider": {
+ "version": "1.0.0-canary.0",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.0-canary.0.tgz",
+ "integrity": "sha512-NyYVTM8veeOLUNcY+2bGQ359AEWm/P3FgNVweGR8dNfihFXYxsBQhB58RhcVnKgWzlUgNFGi9tajgbSKkImTTg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/openai/node_modules/@ai-sdk/provider-utils": {
+ "version": "2.0.0-canary.3",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.0.0-canary.3.tgz",
+ "integrity": "sha512-2kxAkaESSm3295tJRs77NmCCi9Ty7eaEOpqA0xinEmYjobAP/VrzaGthvAVXIzjbQj6ndabDGsVzdnNkhLr1zQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "1.0.0-canary.0",
+ "eventsource-parser": "^3.0.0",
+ "nanoid": "^5.0.8",
+ "secure-json-parse": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/openai/node_modules/eventsource-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz",
+ "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@ai-sdk/openai/node_modules/nanoid": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.8.tgz",
+ "integrity": "sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^18 || >=20"
+ }
+ },
+ "node_modules/@ai-sdk/provider": {
+ "version": "0.0.26",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz",
+ "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/provider-utils": {
+ "version": "1.0.22",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz",
+ "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "eventsource-parser": "^1.1.2",
+ "nanoid": "^3.3.7",
+ "secure-json-parse": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/react": {
+ "version": "0.0.70",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-0.0.70.tgz",
+ "integrity": "sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "1.0.22",
+ "@ai-sdk/ui-utils": "0.0.50",
+ "swr": "^2.2.5",
+ "throttleit": "2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/solid": {
+ "version": "0.0.54",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/solid/-/solid-0.0.54.tgz",
+ "integrity": "sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "1.0.22",
+ "@ai-sdk/ui-utils": "0.0.50"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "solid-js": "^1.7.7"
+ },
+ "peerDependenciesMeta": {
+ "solid-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/svelte": {
+ "version": "0.0.57",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/svelte/-/svelte-0.0.57.tgz",
+ "integrity": "sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "1.0.22",
+ "@ai-sdk/ui-utils": "0.0.50",
+ "sswr": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "svelte": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/ui-utils": {
+ "version": "0.0.50",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-0.0.50.tgz",
+ "integrity": "sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22",
+ "json-schema": "^0.4.0",
+ "secure-json-parse": "^2.7.0",
+ "zod-to-json-schema": "^3.23.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/vue": {
+ "version": "0.0.59",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/vue/-/vue-0.0.59.tgz",
+ "integrity": "sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "1.0.22",
+ "@ai-sdk/ui-utils": "0.0.50",
+ "swrv": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "vue": "^3.3.4"
+ },
+ "peerDependenciesMeta": {
+ "vue": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai16z/eliza": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@ai16z/eliza/-/eliza-0.1.3.tgz",
+ "integrity": "sha512-MeHvD44YKeYdnmI0k03RpS0COGPUsM5/nYoo7ih9vi7iXWFUWANEa3FReWr8rT51AOdHFXGdaLvTzngI527WjA==",
+ "license": "MIT",
+ "dependencies": {
+ "@ai-sdk/anthropic": "^0.0.53",
+ "@ai-sdk/google": "^0.0.55",
+ "@ai-sdk/google-vertex": "^0.0.42",
+ "@ai-sdk/groq": "^0.0.3",
+ "@ai-sdk/openai": "1.0.0-canary.3",
+ "@anthropic-ai/sdk": "^0.30.1",
+ "@types/uuid": "^10.0.0",
+ "ai": "^3.4.23",
+ "anthropic-vertex-ai": "^1.0.0",
+ "fastembed": "^1.14.1",
+ "gaxios": "6.7.1",
+ "glob": "11.0.0",
+ "js-sha1": "0.7.0",
+ "ollama-ai-provider": "^0.16.1",
+ "openai": "4.69.0",
+ "tiktoken": "1.0.17",
+ "tinyld": "1.3.4",
+ "together-ai": "^0.7.0",
+ "unique-names-generator": "4.7.1",
+ "uuid": "11.0.2",
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@ai16z/eliza/node_modules/glob": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
+ "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^4.0.1",
+ "minimatch": "^10.0.0",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@ai16z/eliza/node_modules/jackspeak": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz",
+ "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@ai16z/eliza/node_modules/lru-cache": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
+ "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@ai16z/eliza/node_modules/minimatch": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
+ "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@ai16z/eliza/node_modules/path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@anthropic-ai/sdk": {
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.30.1.tgz",
+ "integrity": "sha512-nuKvp7wOIz6BFei8WrTdhmSsx5mwnArYyJgh4+vYu3V4J0Ltb8Xm3odPm51n1aSI0XxNCrDl7O88cxCtUdAkaw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "^18.11.18",
+ "@types/node-fetch": "^2.6.4",
+ "abort-controller": "^3.0.0",
+ "agentkeepalive": "^4.2.1",
+ "form-data-encoder": "1.7.2",
+ "formdata-node": "^4.3.2",
+ "node-fetch": "^2.6.7"
+ }
+ },
+ "node_modules/@anush008/tokenizers": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@anush008/tokenizers/-/tokenizers-0.0.0.tgz",
+ "integrity": "sha512-IQD9wkVReKAhsEAbDjh/0KrBGTEXelqZLpOBRDaIRvlzZ9sjmUP+gKbpvzyJnei2JHQiE8JAgj7YcNloINbGBw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@anush008/tokenizers-darwin-universal": "0.0.0",
+ "@anush008/tokenizers-linux-x64-gnu": "0.0.0",
+ "@anush008/tokenizers-win32-x64-msvc": "0.0.0"
+ }
+ },
+ "node_modules/@anush008/tokenizers-darwin-universal": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@anush008/tokenizers-darwin-universal/-/tokenizers-darwin-universal-0.0.0.tgz",
+ "integrity": "sha512-SACpWEooTjFX89dFKRVUhivMxxcZRtA3nJGVepdLyrwTkQ1TZQ8581B5JoXp0TcTMHfgnDaagifvVoBiFEdNCQ==",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@anush008/tokenizers-linux-x64-gnu": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@anush008/tokenizers-linux-x64-gnu/-/tokenizers-linux-x64-gnu-0.0.0.tgz",
+ "integrity": "sha512-TLjByOPWUEq51L3EJkS+slyH57HKJ7lAz/aBtEt7TIPq4QsE2owOPGovByOLIq1x5Wgh9b+a4q2JasrEFSDDhg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@anush008/tokenizers-win32-x64-msvc": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@anush008/tokenizers-win32-x64-msvc/-/tokenizers-win32-x64-msvc-0.0.0.tgz",
+ "integrity": "sha512-/5kP0G96+Cr6947F0ZetXnmL31YCaN15dbNbh2NHg7TXXRwfqk95+JtPP5Q7v4jbR2xxAmuseBqB4H/V7zKWuw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "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/@google-cloud/vertexai": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@google-cloud/vertexai/-/vertexai-1.9.0.tgz",
+ "integrity": "sha512-8brlcJwFXI4fPuBtsDNQqCdWZmz8gV9jeEKOU0vc5H2SjehCQpXK/NwuSEr916zbhlBHtg/sU37qQQdgvh5BRA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "google-auth-library": "^9.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "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==",
+ "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==",
+ "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==",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "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.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.3.tgz",
+ "integrity": "sha512-EzxVSkIvCFxUd4Mgm4xR9YXrcp976qVaHnqom/Tgm+vU79k4vV4eYTjmRvGfeoW8m9LVcsAy/lGjcgVegKEhLQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.3.tgz",
+ "integrity": "sha512-LJc5pDf1wjlt9o/Giaw9Ofl+k/vLUaYsE2zeQGH85giX2F+wn/Cg8b3c5CDP3qmVmeO5NzwVUzQQxwZvC2eQKw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.3.tgz",
+ "integrity": "sha512-OuRysZ1Mt7wpWJ+aYKblVbJWtVn3Cy52h8nLuNSzTqSesYw1EuN6wKp5NW/4eSre3mp12gqFRXOKTcN3AI3LqA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.3.tgz",
+ "integrity": "sha512-xW//zjJMlJs2sOrCmXdB4d0uiilZsOdlGQIC/jjmMWT47lkLLoB1nsNhPUcnoqyi5YR6I4h+FjBpILxbEy8JRg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.3.tgz",
+ "integrity": "sha512-58E0tIcwZ+12nK1WiLzHOD8I0d0kdrY/+o7yFVPRHuVGY3twBwzwDdTIBGRxLmyjciMYl1B/U515GJy+yn46qw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.3.tgz",
+ "integrity": "sha512-78fohrpcVwTLxg1ZzBMlwEimoAJmY6B+5TsyAZ3Vok7YabRBUvjYTsRXPTjGEvv/mfgVBepbW28OlMEz4w8wGA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.3.tgz",
+ "integrity": "sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.3.tgz",
+ "integrity": "sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.3.tgz",
+ "integrity": "sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.3.tgz",
+ "integrity": "sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.3.tgz",
+ "integrity": "sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.3.tgz",
+ "integrity": "sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.3.tgz",
+ "integrity": "sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.3.tgz",
+ "integrity": "sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.3.tgz",
+ "integrity": "sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.3.tgz",
+ "integrity": "sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.3.tgz",
+ "integrity": "sha512-ecE36ZBMLINqiTtSNQ1vzWc5pXLQHlf/oqGp/bSbi7iedcjcNb6QbCBNG73Euyy2C+l/fn8qKWEwxr+0SSfs3w==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.3.tgz",
+ "integrity": "sha512-vliZLrDmYKyaUoMzEbMTg2JkerfBjn03KmAw9CykO0Zzkzoyd7o3iZNam/TpyWNjNT+Cz2iO3P9Smv2wgrR+Eg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/diff-match-patch": {
+ "version": "1.0.36",
+ "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz",
+ "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "18.19.64",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.64.tgz",
+ "integrity": "sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/node-fetch": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz",
+ "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/@types/uuid": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz",
+ "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==",
+ "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/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "license": "MIT",
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-typescript": {
+ "version": "1.4.13",
+ "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz",
+ "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "acorn": ">=8.9.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/agentkeepalive": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+ "license": "MIT",
+ "dependencies": {
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/ai": {
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz",
+ "integrity": "sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22",
+ "@ai-sdk/react": "0.0.70",
+ "@ai-sdk/solid": "0.0.54",
+ "@ai-sdk/svelte": "0.0.57",
+ "@ai-sdk/ui-utils": "0.0.50",
+ "@ai-sdk/vue": "0.0.59",
+ "@opentelemetry/api": "1.9.0",
+ "eventsource-parser": "1.1.2",
+ "json-schema": "^0.4.0",
+ "jsondiffpatch": "0.6.0",
+ "secure-json-parse": "^2.7.0",
+ "zod-to-json-schema": "^3.23.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "openai": "^4.42.0",
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "sswr": "^2.1.0",
+ "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "openai": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "sswr": {
+ "optional": true
+ },
+ "svelte": {
+ "optional": true
+ },
+ "zod": {
+ "optional": 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/anthropic-vertex-ai": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/anthropic-vertex-ai/-/anthropic-vertex-ai-1.0.1.tgz",
+ "integrity": "sha512-Gr/7O1YQTO3oOYtq1tScfkUZXePqZ+5qyoaBrPWgnOsS2VZBfS990mD8D7AIkt+rsx77RrheQ/TBp6c1trqRcw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.24",
+ "@ai-sdk/provider-utils": "1.0.20",
+ "google-auth-library": "^9.14.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ }
+ },
+ "node_modules/anthropic-vertex-ai/node_modules/@ai-sdk/provider": {
+ "version": "0.0.24",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.24.tgz",
+ "integrity": "sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/anthropic-vertex-ai/node_modules/@ai-sdk/provider-utils": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.20.tgz",
+ "integrity": "sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.24",
+ "eventsource-parser": "1.1.2",
+ "nanoid": "3.3.6",
+ "secure-json-parse": "2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/anthropic-vertex-ai/node_modules/nanoid": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "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/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/aria-query": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "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.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "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/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "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/bignumber.js": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz",
+ "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "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/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "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/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/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
+ "license": "MIT"
+ },
+ "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==",
+ "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/diff-match-patch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
+ "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
+ "license": "Apache-2.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/esm-env": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.1.4.tgz",
+ "integrity": "sha512-oO82nKPHKkzIj/hbtuDYy/JHqBHFlMIW36SDiPCVsj87ntDLcWN+sJ1erdVryd4NxODacFTsdrIE3b7IamqbOg==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/esrap": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz",
+ "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@types/estree": "^1.0.1"
+ }
+ },
+ "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/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eventsource-parser": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
+ "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.18"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "license": "MIT"
+ },
+ "node_modules/fastembed": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/fastembed/-/fastembed-1.14.1.tgz",
+ "integrity": "sha512-Y14v+FWZwjNUpQ7mRGYu4N5yF+hZkF7zqzPWzzLbwdIEtYsHy0DSpiVJ+Fg6Oi1fQjrBKASQt0hdSMSjw1/Wtw==",
+ "dependencies": {
+ "@anush008/tokenizers": "^0.0.0",
+ "onnxruntime-node": "1.15.1",
+ "progress": "^2.0.3",
+ "tar": "^6.2.0"
+ }
+ },
+ "node_modules/fastembed/node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fastembed/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fastembed/node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fastembed/node_modules/minizlib/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fastembed/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fastembed/node_modules/onnxruntime-common": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.15.1.tgz",
+ "integrity": "sha512-Y89eJ8QmaRsPZPWLaX7mfqhj63ny47rSkQe80hIo+lvBQdrdXYR9VO362xvZulk9DFkCnXmGidprvgJ07bKsIQ==",
+ "license": "MIT"
+ },
+ "node_modules/fastembed/node_modules/onnxruntime-node": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.15.1.tgz",
+ "integrity": "sha512-wzhVELulmrvNoMZw0/HfV+9iwgHX+kPS82nxodZ37WCXmbeo1jp3thamTsNg8MGhxvv4GmEzRum5mo40oqIsqw==",
+ "license": "MIT",
+ "os": [
+ "win32",
+ "darwin",
+ "linux"
+ ],
+ "dependencies": {
+ "onnxruntime-common": "~1.15.1"
+ }
+ },
+ "node_modules/fastembed/node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fastembed/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "license": "ISC"
+ },
+ "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/form-data-encoder": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz",
+ "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==",
+ "license": "MIT"
+ },
+ "node_modules/formdata-node": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz",
+ "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==",
+ "license": "MIT",
+ "dependencies": {
+ "node-domexception": "1.0.0",
+ "web-streams-polyfill": "4.0.0-beta.3"
+ },
+ "engines": {
+ "node": ">= 12.20"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fs-minipass/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "license": "ISC"
+ },
+ "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/gaxios": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz",
+ "integrity": "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "extend": "^3.0.2",
+ "https-proxy-agent": "^7.0.1",
+ "is-stream": "^2.0.0",
+ "node-fetch": "^2.6.9",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/gaxios/node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/gcp-metadata": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.0.tgz",
+ "integrity": "sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "gaxios": "^6.0.0",
+ "json-bigint": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "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",
+ "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/google-auth-library": {
+ "version": "9.15.0",
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.0.tgz",
+ "integrity": "sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "base64-js": "^1.3.0",
+ "ecdsa-sig-formatter": "^1.0.11",
+ "gaxios": "^6.1.1",
+ "gcp-metadata": "^6.1.0",
+ "gtoken": "^7.0.0",
+ "jws": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-auth-library/node_modules/jwa": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/google-auth-library/node_modules/jws": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
+ "license": "MIT",
+ "dependencies": {
+ "jwa": "^2.0.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/gtoken": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz",
+ "integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==",
+ "license": "MIT",
+ "dependencies": {
+ "gaxios": "^6.0.0",
+ "jws": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/gtoken/node_modules/jwa": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/gtoken/node_modules/jws": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
+ "license": "MIT",
+ "dependencies": {
+ "jwa": "^2.0.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
+ "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.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/is-reference": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
+ "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "^1.0.6"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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/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",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "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/js-sha1": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/js-sha1/-/js-sha1-0.7.0.tgz",
+ "integrity": "sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==",
+ "license": "MIT"
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/json-bigint": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "bignumber.js": "^9.0.0"
+ }
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
+ "node_modules/jsondiffpatch": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz",
+ "integrity": "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/diff-match-patch": "^1.0.36",
+ "chalk": "^5.3.0",
+ "diff-match-patch": "^1.0.5"
+ },
+ "bin": {
+ "jsondiffpatch": "bin/jsondiffpatch.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ }
+ },
+ "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/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/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/locate-character": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "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/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "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"
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.13",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.13.tgz",
+ "integrity": "sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==",
+ "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/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "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/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/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/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.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "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/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "license": "MIT"
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "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/ollama-ai-provider": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/ollama-ai-provider/-/ollama-ai-provider-0.16.1.tgz",
+ "integrity": "sha512-0vSQVz5Y/LguyzfO4bi1JrrVGF/k2JvO8/uFR0wYmqDFp8KPp4+AhdENSynGBr1oRhMWOM4F1l6cv7UNDgRMjw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22",
+ "partial-json": "0.1.7"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/onnxruntime-common": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.20.0.tgz",
+ "integrity": "sha512-9ehS4ul5fBszIcHhfxuDgk45lO+Fqrxmrgwk1Pxb1JRvbQiCB/v9Royv95SRCWHktLMviqNjBsEd/biJhd39cg==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/onnxruntime-node": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-1.20.0.tgz",
+ "integrity": "sha512-mjLge++8WHfyCZ4IqZ1FbUbtFAfGht7BLCkOeBL1L9PFV27YHwluXkNt7m0Pgf6TR2P5pqVZsD3zqFbFP6QTMw==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "os": [
+ "win32",
+ "darwin",
+ "linux"
+ ],
+ "peer": true,
+ "dependencies": {
+ "onnxruntime-common": "1.20.0",
+ "tar": "^7.0.1"
+ }
+ },
+ "node_modules/openai": {
+ "version": "4.69.0",
+ "resolved": "https://registry.npmjs.org/openai/-/openai-4.69.0.tgz",
+ "integrity": "sha512-S3hOHSkk609KqwgH+7dwFrSvO3Gm3Nk0YWGyPHNscoMH/Y2tH1qunMi7gtZnLbUv4/N1elqCp6bDior2401kCQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/node": "^18.11.18",
+ "@types/node-fetch": "^2.6.4",
+ "abort-controller": "^3.0.0",
+ "agentkeepalive": "^4.2.1",
+ "form-data-encoder": "1.7.2",
+ "formdata-node": "^4.3.2",
+ "node-fetch": "^2.6.7"
+ },
+ "bin": {
+ "openai": "bin/cli"
+ },
+ "peerDependencies": {
+ "zod": "^3.23.8"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "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/partial-json": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
+ "license": "MIT"
+ },
+ "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/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",
+ "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/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/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "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/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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/rollup": {
+ "version": "4.27.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.3.tgz",
+ "integrity": "sha512-SLsCOnlmGt9VoZ9Ek8yBK8tAdmPHeppkw+Xa7yDlCEhDTvwYei03JlWo1fdc7YTfLZ4tD8riJCUyAgTbszk1fQ==",
+ "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.3",
+ "@rollup/rollup-android-arm64": "4.27.3",
+ "@rollup/rollup-darwin-arm64": "4.27.3",
+ "@rollup/rollup-darwin-x64": "4.27.3",
+ "@rollup/rollup-freebsd-arm64": "4.27.3",
+ "@rollup/rollup-freebsd-x64": "4.27.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.27.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.27.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.27.3",
+ "@rollup/rollup-linux-arm64-musl": "4.27.3",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.27.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.27.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.27.3",
+ "@rollup/rollup-linux-x64-gnu": "4.27.3",
+ "@rollup/rollup-linux-x64-musl": "4.27.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.27.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.27.3",
+ "@rollup/rollup-win32-x64-msvc": "4.27.3",
+ "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/secure-json-parse": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
+ "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==",
+ "license": "BSD-3-Clause"
+ },
+ "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/sswr": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.1.0.tgz",
+ "integrity": "sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "swrev": "^4.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^4.0.0 || ^5.0.0-next.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/svelte": {
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.2.5.tgz",
+ "integrity": "sha512-D33RkKYF4AFIgM+HrItxFudmWrXOLaua8vW3Mq7bObn7UwRn6zJPZ58bEIlj8wEYfi08n8VVvTk8dCLVHNnikQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@types/estree": "^1.0.5",
+ "acorn": "^8.12.1",
+ "acorn-typescript": "^1.4.13",
+ "aria-query": "^5.3.1",
+ "axobject-query": "^4.1.0",
+ "esm-env": "^1.0.0",
+ "esrap": "^1.2.2",
+ "is-reference": "^3.0.3",
+ "locate-character": "^3.0.0",
+ "magic-string": "^0.30.11",
+ "zimmerframe": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/swr": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz",
+ "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==",
+ "license": "MIT",
+ "dependencies": {
+ "client-only": "^0.0.1",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/swrev": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/swrev/-/swrev-4.0.0.tgz",
+ "integrity": "sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==",
+ "license": "MIT"
+ },
+ "node_modules/swrv": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/swrv/-/swrv-1.0.4.tgz",
+ "integrity": "sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "vue": ">=3.2.26 < 4"
+ }
+ },
+ "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/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/throttleit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz",
+ "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/tiktoken": {
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/tiktoken/-/tiktoken-1.0.17.tgz",
+ "integrity": "sha512-UuFHqpy/DxOfNiC3otsqbx3oS6jr5uKdQhB/CvDEroZQbVHt+qAK+4JbIooabUWKU9g6PpsFylNu9Wcg4MxSGA==",
+ "license": "MIT"
+ },
+ "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/tinyld": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/tinyld/-/tinyld-1.3.4.tgz",
+ "integrity": "sha512-u26CNoaInA4XpDU+8s/6Cq8xHc2T5M4fXB3ICfXPokUQoLzmPgSZU02TAkFwFMJCWTjk53gtkS8pETTreZwCqw==",
+ "license": "MIT",
+ "bin": {
+ "tinyld": "bin/tinyld.js",
+ "tinyld-heavy": "bin/tinyld-heavy.js",
+ "tinyld-light": "bin/tinyld-light.js"
+ },
+ "engines": {
+ "node": ">= 12.10.0",
+ "npm": ">= 6.12.0",
+ "yarn": ">= 1.20.0"
+ }
+ },
+ "node_modules/together-ai": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/together-ai/-/together-ai-0.7.0.tgz",
+ "integrity": "sha512-/be/HOecBSwRTDHB14vCvHbp1WiNsFxyS4pJlyBoMup1X3n7xD1b/Gm5Z5amlKzD2zll9Y5wscDk7Ut5OsT1nA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/node": "^18.11.18",
+ "@types/node-fetch": "^2.6.4",
+ "abort-controller": "^3.0.0",
+ "agentkeepalive": "^4.2.1",
+ "form-data-encoder": "1.7.2",
+ "formdata-node": "^4.3.2",
+ "node-fetch": "^2.6.7"
+ }
+ },
+ "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/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "license": "MIT"
+ },
+ "node_modules/unique-names-generator": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/unique-names-generator/-/unique-names-generator-4.7.1.tgz",
+ "integrity": "sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.2.tgz",
+ "integrity": "sha512-14FfcOJmqdjbBPdDjFQyk/SdT4NySW4eM0zcG+HqbHP5jzuH56xO3J1DGhgs/cEMCfwYi3HQI1gnTO62iaG+tQ==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
+ "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/web-streams-polyfill": {
+ "version": "4.0.0-beta.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
+ "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "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/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/zimmerframe": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz",
+ "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/zod": {
+ "version": "3.23.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-to-json-schema": {
+ "version": "3.23.5",
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz",
+ "integrity": "sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==",
+ "license": "ISC",
+ "peerDependencies": {
+ "zod": "^3.23.3"
+ }
+ }
+ }
+}
diff --git a/packages/plugin-coinbase/package.json b/packages/plugin-coinbase/package.json
new file mode 100644
index 00000000000..dc846c07cec
--- /dev/null
+++ b/packages/plugin-coinbase/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "@ai16z/plugin-coinbase",
+ "version": "0.1.3",
+ "main": "dist/index.js",
+ "type": "module",
+ "types": "dist/index.d.ts",
+ "dependencies": {
+ "@ai16z/eliza": "^0.1.3",
+ "coinbase-api": "^1.0.5"
+ },
+ "devDependencies": {
+ "tsup": "^8.3.5"
+ },
+ "scripts": {
+ "build": "tsup --format esm --dts",
+ "dev": "tsup --watch",
+ "postinstall": "npx playwright install-deps && npx playwright install"
+ },
+ "peerDependencies": {
+ "onnxruntime-node": "^1.20.0",
+ "whatwg-url": "7.1.0"
+ },
+ "trustedDependencies": {
+ "onnxruntime-node": "^1.20.0",
+ "sharp": "^0.33.5"
+ }
+}
diff --git a/packages/plugin-coinbase/src/index.ts b/packages/plugin-coinbase/src/index.ts
new file mode 100644
index 00000000000..d5bf379585f
--- /dev/null
+++ b/packages/plugin-coinbase/src/index.ts
@@ -0,0 +1,438 @@
+import {
+ composeContext,
+ elizaLogger,
+ generateObjectV2,
+ ModelClass,
+ Provider,
+} from "@ai16z/eliza";
+import {
+ Action,
+ HandlerCallback,
+ IAgentRuntime,
+ Memory,
+ Plugin,
+ State,
+} from "@ai16z/eliza";
+import { ChargeContent, ChargeSchema, isChargeContent } from "./types";
+import { chargeTemplate, getChargeTemplate } from "./templates";
+
+const url = "https://api.commerce.coinbase.com/charges";
+interface ChargeRequest {
+ name: string;
+ description: string;
+ pricing_type: string;
+ local_price: {
+ amount: string;
+ currency: string;
+ };
+}
+
+export async function createCharge(apiKey: string, params: ChargeRequest) {
+ try {
+ const response = await fetch(url, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ body: JSON.stringify(params),
+ });
+
+ if (!response.ok) {
+ throw new Error(`Failed to create charge: ${response.statusText}`);
+ }
+
+ const data = await response.json();
+ return data.data;
+ } catch (error) {
+ console.error("Error creating charge:", error);
+ throw error;
+ }
+}
+
+// Function to fetch all charges
+export async function getAllCharges(apiKey: string) {
+ try {
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(
+ `Failed to fetch all charges: ${response.statusText}`
+ );
+ }
+
+ const data = await response.json();
+ return data.data;
+ } catch (error) {
+ console.error("Error fetching charges:", error);
+ throw error;
+ }
+}
+
+// Function to fetch details of a specific charge
+export async function getChargeDetails(apiKey: string, chargeId: string) {
+ const getUrl = `${url}${chargeId}`;
+
+ try {
+ const response = await fetch(getUrl, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(
+ `Failed to fetch charge details: ${response.statusText}`
+ );
+ }
+
+ const data = await response.json();
+ return data;
+ } catch (error) {
+ console.error(
+ `Error fetching charge details for ID ${chargeId}:`,
+ error
+ );
+ throw error;
+ }
+}
+
+export const createCoinbaseChargeAction: Action = {
+ name: "CREATE_CHARGE",
+ similes: [
+ "MAKE_CHARGE",
+ "INITIATE_CHARGE",
+ "GENERATE_CHARGE",
+ "CREATE_TRANSACTION",
+ "COINBASE_CHARGE",
+ ],
+ description: "Create a charge using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: chargeTemplate,
+ });
+
+ const chargeDetails = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: ChargeSchema,
+ });
+ if (!isChargeContent(chargeDetails.object)) {
+ throw new Error("Invalid content");
+ }
+ const charge = chargeDetails.object as ChargeContent;
+ if (!charge || !charge.price || !charge.type) {
+ callback(
+ {
+ text: "Invalid charge details provided.",
+ },
+ []
+ );
+ return;
+ }
+
+ elizaLogger.log("Charge details received:", chargeDetails);
+
+ // Initialize Coinbase Commerce client
+
+ try {
+ // Create a charge
+ const chargeResponse = await createCharge(
+ runtime.getSetting("COINBASE_COMMERCE_KEY"),
+ {
+ local_price: {
+ amount: charge.price.toString(),
+ currency: charge.currency,
+ },
+ pricing_type: charge.type,
+ name: charge.name,
+ description: charge.description,
+ }
+ );
+
+ elizaLogger.log(
+ "Coinbase Commerce charge created:",
+ chargeResponse
+ );
+
+ callback(
+ {
+ text: `Charge created successfully: ${chargeResponse.hosted_url}`,
+ attachments: [
+ {
+ id: crypto.randomUUID(),
+ url: chargeResponse.id,
+ title: "Coinbase Commerce Charge",
+ description: `Charge ID: ${chargeResponse.id}`,
+ text: `Pay here: ${chargeResponse.hosted_url}`,
+ source: "coinbase",
+ },
+ ],
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error(
+ "Error creating Coinbase Commerce charge:",
+ error
+ );
+ callback(
+ {
+ text: "Failed to create a charge. Please try again.",
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Create a charge for $10.00 USD to Chris for dinner",
+ data: {
+ local_price: {
+ amount: "10.00",
+ currency: "USD",
+ },
+ pricing_type: "fixed_price",
+ buyer_locale: "en-US",
+ cancel_url: "https://example.com/cancel",
+ redirect_url: "https://example.com/success",
+ },
+ },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Charge created successfully: {{charge.id}} for {{charge.amount}} {{charge.currency}}",
+ action: "CREATE_CHARGE",
+ },
+ },
+ ],
+ ],
+} as Action;
+
+export const getAllChargesAction: Action = {
+ name: "GET_ALL_CHARGES",
+ similes: ["FETCH_ALL_CHARGES", "RETRIEVE_ALL_CHARGES", "LIST_ALL_CHARGES"],
+ description: "Fetch all charges using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ try {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+ const charges = await getAllCharges(
+ runtime.getSetting("COINBASE_COMMERCE_KEY")
+ );
+
+ elizaLogger.log("Fetched all charges:", charges);
+
+ callback(
+ {
+ text: `Successfully fetched all charges. Total charges: ${charges.length}`,
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error("Error fetching all charges:", error);
+ callback(
+ {
+ text: "Failed to fetch all charges. Please try again.",
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: { text: "Fetch all charges" },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Successfully fetched all charges.",
+ action: "GET_ALL_CHARGES",
+ },
+ },
+ ],
+ ],
+} as Action;
+
+export const getChargeDetailsAction: Action = {
+ name: "GET_CHARGE_DETAILS",
+ similes: ["FETCH_CHARGE_DETAILS", "RETRIEVE_CHARGE_DETAILS", "GET_CHARGE"],
+ description: "Fetch details of a specific charge using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: getChargeTemplate,
+ });
+ const chargeDetails = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: ChargeSchema,
+ });
+ if (!isChargeContent(chargeDetails.object)) {
+ throw new Error("Invalid content");
+ }
+ const charge = chargeDetails.object as ChargeContent;
+ if (!charge.id) {
+ callback(
+ {
+ text: "Missing charge ID. Please provide a valid charge ID.",
+ },
+ []
+ );
+ return;
+ }
+
+ try {
+ const chargeDetails = await getChargeDetails(
+ runtime.getSetting("COINBASE_COMMERCE_KEY"),
+ charge.id
+ );
+
+ elizaLogger.log("Fetched charge details:", chargeDetails);
+
+ callback(
+ {
+ text: `Successfully fetched charge details for ID: ${charge.id}`,
+ attachments: [
+ {
+ id: crypto.randomUUID(),
+ url: chargeDetails.hosted_url,
+ title: `Charge Details for ${charge.id}`,
+ description: `Details: ${JSON.stringify(chargeDetails, null, 2)}`,
+ source: "coinbase",
+ text: "",
+ },
+ ],
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error(
+ `Error fetching details for charge ID ${charge.id}:`,
+ error
+ );
+ callback(
+ {
+ text: `Failed to fetch details for charge ID: ${charge.id}. Please try again.`,
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Fetch details of charge ID: 123456",
+ },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Successfully fetched charge details. {{charge.id}} for {{charge.amount}} {{charge.currency}} to {{charge.name}} for {{charge.description}}",
+ action: "GET_CHARGE_DETAILS",
+ },
+ },
+ ],
+ ],
+};
+
+export const chargeProvider: Provider = {
+ get: async (runtime: IAgentRuntime, message: Memory) => {
+ const charges = await getAllCharges(
+ runtime.getSetting("COINBASE_COMMERCE_KEY")
+ );
+ return charges.data;
+ },
+};
+
+export const coinbaseCommercePlugin: Plugin = {
+ name: "coinbaseCommerce",
+ description:
+ "Integration with Coinbase Commerce for creating and managing charges.",
+ actions: [
+ createCoinbaseChargeAction,
+ getAllChargesAction,
+ getChargeDetailsAction,
+ ],
+ evaluators: [],
+ providers: [chargeProvider],
+};
diff --git a/packages/plugin-coinbase/src/templates.ts b/packages/plugin-coinbase/src/templates.ts
new file mode 100644
index 00000000000..9e574ce37ad
--- /dev/null
+++ b/packages/plugin-coinbase/src/templates.ts
@@ -0,0 +1,47 @@
+export const chargeTemplate = `
+Extract the following details to create a Coinbase charge:
+- **price** (number): The amount for the charge (e.g., 100.00).
+- **currency** (string): The 3-letter ISO 4217 currency code (e.g., USD, EUR).
+- **type** (string): The pricing type for the charge (e.g., fixed_price, dynamic_price). Assume price type is fixed unless otherwise stated
+- **name** (string): A non-empty name for the charge (e.g., "The Human Fund").
+- **description** (string): A non-empty description of the charge (e.g., "Money For People").
+
+Provide the values in the following JSON format:
+
+\`\`\`json
+{
+ "price": ,
+ "currency": "",
+ "type": "",
+ "name": "",
+ "description": ""
+}
+\`\`\`
+
+Here are the recent user messages for context:
+{{recentMessages}}
+`;
+
+export const getChargeTemplate = `
+Extract the details for a Coinbase charge using the provided charge ID:
+- **charge_id** (string): The unique identifier of the charge (e.g., "2b364ef7-ad60-4fcd-958b-e550a3c47dc6").
+
+Provide the charge details in the following JSON format after retrieving the charge details:
+
+\`\`\`json
+{
+ "charge_id": "",
+ "price": ,
+ "currency": "",
+ "type": "",
+ "name": "",
+ "description": "",
+ "status": "",
+ "created_at": "",
+ "expires_at": ""
+}
+\`\`\`
+
+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
new file mode 100644
index 00000000000..78b0a06a98b
--- /dev/null
+++ b/packages/plugin-coinbase/src/types.ts
@@ -0,0 +1,27 @@
+import { z } from "zod";
+
+export const ChargeSchema = z.object({
+ id: z.string().nullable(),
+ price: z.number(),
+ type: z.string(),
+ currency: z.string().min(3).max(3),
+ name: z.string().min(1),
+ description: z.string().min(1),
+});
+
+export interface ChargeContent {
+ id: string | null;
+ price: number;
+ type: string;
+ currency: string; // Currency code (e.g., USD)
+ name: string; // Name of the charge
+ description: string; // Description of the charge
+}
+
+export const isChargeContent = (object: any): object is ChargeContent => {
+ if (ChargeSchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+};
diff --git a/packages/plugin-coinbase/tsconfig.json b/packages/plugin-coinbase/tsconfig.json
new file mode 100644
index 00000000000..69b42200362
--- /dev/null
+++ b/packages/plugin-coinbase/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDir": "src",
+ "types": ["node"]
+ },
+ "include": ["src/**/*.ts"]
+}
diff --git a/packages/plugin-coinbase/tsup.config.ts b/packages/plugin-coinbase/tsup.config.ts
new file mode 100644
index 00000000000..e42bf4efeae
--- /dev/null
+++ b/packages/plugin-coinbase/tsup.config.ts
@@ -0,0 +1,20 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ outDir: "dist",
+ sourcemap: true,
+ clean: true,
+ format: ["esm"], // Ensure you're targeting CommonJS
+ external: [
+ "dotenv", // Externalize dotenv to prevent bundling
+ "fs", // Externalize fs to use Node.js built-in module
+ "path", // Externalize other built-ins if necessary
+ "@reflink/reflink",
+ "@node-llama-cpp",
+ "https",
+ "http",
+ "agentkeepalive",
+ // Add other modules you want to externalize
+ ],
+});
diff --git a/packages/plugin-image-generation/eslint.config.mjs b/packages/plugin-image-generation/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-image-generation/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-image-generation/package.json b/packages/plugin-image-generation/package.json
index 0b0cc29b955..00c7c8b8de0 100644
--- a/packages/plugin-image-generation/package.json
+++ b/packages/plugin-image-generation/package.json
@@ -8,8 +8,15 @@
"@ai16z/eliza": "workspace:*",
"tsup": "^8.3.5"
},
+ "devDependencies": {
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
+ },
"scripts": {
- "build": "tsup --format esm --dts"
+ "build": "tsup --format esm --dts",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-image-generation/src/index.ts b/packages/plugin-image-generation/src/index.ts
index 0aac366e1f2..ab95d0c3f3d 100644
--- a/packages/plugin-image-generation/src/index.ts
+++ b/packages/plugin-image-generation/src/index.ts
@@ -7,7 +7,7 @@ import {
Plugin,
State,
} from "@ai16z/eliza";
-import { generateCaption, generateImage } from "@ai16z/eliza";
+import { generateImage } from "@ai16z/eliza";
import fs from "fs";
import path from "path";
@@ -76,7 +76,7 @@ const imageGeneration: Action = {
"MAKE_A",
],
description: "Generate an image to go along with the message.",
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (runtime: IAgentRuntime, _message: Memory) => {
await validateImageGenConfig(runtime);
const anthropicApiKeyOk = !!runtime.getSetting("ANTHROPIC_API_KEY");
@@ -148,7 +148,7 @@ const imageGeneration: Action = {
elizaLogger.error("Caption generation failed, using default caption:", error);
}*/
- const caption = "...";
+ const _caption = "...";
/*= await generateCaption(
{
imageUrl: image,
diff --git a/packages/plugin-node/eslint.config.mjs b/packages/plugin-node/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-node/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-node/package.json b/packages/plugin-node/package.json
index 7c5e8aa3552..14d14b9cc69 100644
--- a/packages/plugin-node/package.json
+++ b/packages/plugin-node/package.json
@@ -60,11 +60,16 @@
"youtube-dl-exec": "3.0.10"
},
"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",
+ "lint": "eslint . --fix",
"postinstall": "npx playwright install-deps && npx playwright install"
},
"peerDependencies": {
diff --git a/packages/plugin-node/src/echogarden.d.ts b/packages/plugin-node/src/echogarden.d.ts
new file mode 100644
index 00000000000..b678af4e0a3
--- /dev/null
+++ b/packages/plugin-node/src/echogarden.d.ts
@@ -0,0 +1,20 @@
+declare module "echogarden" {
+ interface SynthesizeOptions {
+ engine: string;
+ voice: string;
+ }
+
+ interface RawAudio {
+ audioChannels: { buffer: ArrayBuffer }[];
+ sampleRate: number;
+ }
+
+ interface SynthesizeResult {
+ audio: Buffer | RawAudio;
+ }
+
+ export function synthesize(
+ text: string,
+ options: SynthesizeOptions
+ ): Promise;
+}
diff --git a/packages/plugin-node/src/services/browser.ts b/packages/plugin-node/src/services/browser.ts
index c7172ce59bd..62749f793cc 100644
--- a/packages/plugin-node/src/services/browser.ts
+++ b/packages/plugin-node/src/services/browser.ts
@@ -266,6 +266,7 @@ export class BrowserService extends Service implements IBrowserService {
websiteKey: hcaptchaKey,
});
await page.evaluate((token) => {
+ // eslint-disable-next-line
// @ts-ignore
window.hcaptcha.setResponse(token);
}, solution.gRecaptchaResponse);
@@ -279,6 +280,7 @@ export class BrowserService extends Service implements IBrowserService {
websiteKey: recaptchaKey,
});
await page.evaluate((token) => {
+ // eslint-disable-next-line
// @ts-ignore
document.getElementById("g-recaptcha-response").innerHTML =
token;
diff --git a/packages/plugin-node/src/services/image.ts b/packages/plugin-node/src/services/image.ts
index aed37cd9275..3f60566f66d 100644
--- a/packages/plugin-node/src/services/image.ts
+++ b/packages/plugin-node/src/services/image.ts
@@ -106,7 +106,7 @@ export class ImageDescriptionService
this.queue.push(imageUrl);
this.processQueue();
- return new Promise((resolve, reject) => {
+ return new Promise((resolve, _reject) => {
const checkQueue = () => {
const index = this.queue.indexOf(imageUrl);
if (index !== -1) {
diff --git a/packages/plugin-node/src/services/llama.ts b/packages/plugin-node/src/services/llama.ts
index 720972278f3..7a747136c0d 100644
--- a/packages/plugin-node/src/services/llama.ts
+++ b/packages/plugin-node/src/services/llama.ts
@@ -181,7 +181,7 @@ export class LlamaService extends Service {
this.modelPath = path.join(__dirname, modelName);
}
- async initialize(runtime: IAgentRuntime): Promise {}
+ async initialize(_runtime: IAgentRuntime): Promise {}
private async ensureInitialized() {
if (!this.modelInitialized) {
diff --git a/packages/plugin-node/src/services/pdf.ts b/packages/plugin-node/src/services/pdf.ts
index 8ad0ecec37f..92b8a2a13d4 100644
--- a/packages/plugin-node/src/services/pdf.ts
+++ b/packages/plugin-node/src/services/pdf.ts
@@ -13,7 +13,7 @@ export class PdfService extends Service implements IPdfService {
return PdfService.getInstance();
}
- async initialize(runtime: IAgentRuntime): Promise {}
+ async initialize(_runtime: IAgentRuntime): Promise {}
async convertPdfToText(pdfBuffer: Buffer): Promise {
// Convert Buffer to Uint8Array
diff --git a/packages/plugin-node/src/services/speech.ts b/packages/plugin-node/src/services/speech.ts
index a8a81e99a58..58533f804b5 100644
--- a/packages/plugin-node/src/services/speech.ts
+++ b/packages/plugin-node/src/services/speech.ts
@@ -87,7 +87,7 @@ async function textToSpeech(runtime: IAgentRuntime, text: string) {
const reader = response.body?.getReader();
const readable = new Readable({
read() {
- reader &&
+ reader && // eslint-disable-line
reader.read().then(({ done, value }) => {
if (done) {
this.push(null);
@@ -176,7 +176,7 @@ async function textToSpeech(runtime: IAgentRuntime, text: string) {
export class SpeechService extends Service implements ISpeechService {
static serviceType: ServiceType = ServiceType.SPEECH_GENERATION;
- async initialize(runtime: IAgentRuntime): Promise {}
+ async initialize(_runtime: IAgentRuntime): Promise {}
getInstance(): ISpeechService {
return SpeechService.getInstance();
diff --git a/packages/plugin-node/src/services/transcription.ts b/packages/plugin-node/src/services/transcription.ts
index e2d78397841..763982e4a16 100644
--- a/packages/plugin-node/src/services/transcription.ts
+++ b/packages/plugin-node/src/services/transcription.ts
@@ -35,7 +35,7 @@ export class TranscriptionService
private queue: { audioBuffer: ArrayBuffer; resolve: Function }[] = [];
private processing: boolean = false;
- async initialize(runtime: IAgentRuntime): Promise {}
+ async initialize(_runtime: IAgentRuntime): Promise {}
constructor() {
super();
@@ -76,7 +76,8 @@ export class TranscriptionService
console.log(
"CUDA detected. Transcription will use CUDA acceleration."
);
- } catch (error) {
+ // eslint-disable-next-line
+ } catch (_error) {
console.log(
"CUDA not detected. Transcription will run on CPU."
);
diff --git a/packages/plugin-node/src/services/video.ts b/packages/plugin-node/src/services/video.ts
index df87d9445a7..81554cc7a7b 100644
--- a/packages/plugin-node/src/services/video.ts
+++ b/packages/plugin-node/src/services/video.ts
@@ -30,7 +30,7 @@ export class VideoService extends Service implements IVideoService {
return VideoService.getInstance();
}
- async initialize(runtime: IAgentRuntime): Promise {}
+ async initialize(_runtime: IAgentRuntime): Promise {}
private ensureDataDirectoryExists() {
if (!fs.existsSync(this.dataDir)) {
@@ -140,7 +140,7 @@ export class VideoService extends Service implements IVideoService {
): Promise {
const videoId =
url.match(
- /(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/watch\?.+&v=))([^\/&?]+)/
+ /(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/watch\?.+&v=))([^\/&?]+)/ // eslint-disable-line
)?.[1] || "";
const videoUuid = this.getVideoId(videoId);
const cacheKey = `${this.cacheKey}/${videoUuid}`;
diff --git a/packages/plugin-node/tsconfig.json b/packages/plugin-node/tsconfig.json
index 69b42200362..68cf6b4c8ce 100644
--- a/packages/plugin-node/tsconfig.json
+++ b/packages/plugin-node/tsconfig.json
@@ -5,5 +5,5 @@
"rootDir": "src",
"types": ["node"]
},
- "include": ["src/**/*.ts"]
+ "include": ["src/**/*.ts", "src/**/*.d.ts"]
}
diff --git a/packages/plugin-solana/eslint.config.mjs b/packages/plugin-solana/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-solana/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-solana/package.json b/packages/plugin-solana/package.json
index 9fab068e0ad..ff8a04a5815 100644
--- a/packages/plugin-solana/package.json
+++ b/packages/plugin-solana/package.json
@@ -17,8 +17,15 @@
"pumpdotfun-sdk": "1.3.2",
"tsup": "^8.3.5"
},
+ "devDependencies": {
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
+ },
"scripts": {
- "build": "tsup --format esm --dts"
+ "build": "tsup --format esm --dts",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-solana/src/actions/pumpfun.ts b/packages/plugin-solana/src/actions/pumpfun.ts
index 96fe39d0eca..e81f44dd160 100644
--- a/packages/plugin-solana/src/actions/pumpfun.ts
+++ b/packages/plugin-solana/src/actions/pumpfun.ts
@@ -2,12 +2,7 @@ import { AnchorProvider } from "@coral-xyz/anchor";
import { Wallet } from "@coral-xyz/anchor";
import { generateImage } from "@ai16z/eliza";
import { Connection, Keypair, PublicKey } from "@solana/web3.js";
-import {
- CreateTokenMetadata,
- DEFAULT_DECIMALS,
- PriorityFee,
- PumpFunSDK,
-} from "pumpdotfun-sdk";
+import { CreateTokenMetadata, PriorityFee, PumpFunSDK } from "pumpdotfun-sdk";
import { getAssociatedTokenAddressSync } from "@solana/spl-token";
import bs58 from "bs58";
@@ -232,14 +227,15 @@ export const sellToken = async ({
}
};
+// previous logic:
+// if (typeof window !== "undefined" && typeof window.confirm === "function") {
+// return window.confirm(
+// "Confirm the creation and purchase of the token?"
+// );
+// }
+// return true;
const promptConfirmation = async (): Promise => {
return true;
- if (typeof window !== "undefined" && typeof window.confirm === "function") {
- return window.confirm(
- "Confirm the creation and purchase of the token?"
- );
- }
- return true;
};
// Save the base64 data to a file
@@ -275,7 +271,7 @@ Respond with a JSON markdown block containing only the extracted values.`;
export default {
name: "CREATE_AND_BUY_TOKEN",
similes: ["CREATE_AND_PURCHASE_TOKEN", "DEPLOY_AND_BUY_TOKEN"],
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (_runtime: IAgentRuntime, _message: Memory) => {
return true; //return isCreateAndBuyContent(runtime, message.content);
},
description:
diff --git a/packages/plugin-solana/src/actions/swap.ts b/packages/plugin-solana/src/actions/swap.ts
index c43a3b22daa..97bb55a6a92 100644
--- a/packages/plugin-solana/src/actions/swap.ts
+++ b/packages/plugin-solana/src/actions/swap.ts
@@ -325,12 +325,14 @@ export const executeSwap: Action = {
try {
// First try to decode as base58
secretKey = bs58.decode(privateKeyString);
+ // eslint-disable-next-line
} catch (e) {
try {
// If that fails, try base64
secretKey = Uint8Array.from(
Buffer.from(privateKeyString, "base64")
);
+ // eslint-disable-next-line
} catch (e2) {
throw new Error("Invalid private key format");
}
diff --git a/packages/plugin-solana/src/actions/takeOrder.ts b/packages/plugin-solana/src/actions/takeOrder.ts
index b4a5a528729..14e7441679d 100644
--- a/packages/plugin-solana/src/actions/takeOrder.ts
+++ b/packages/plugin-solana/src/actions/takeOrder.ts
@@ -3,11 +3,8 @@ import {
IAgentRuntime,
Memory,
Content,
- ActionExample,
ModelClass,
} from "@ai16z/eliza";
-import * as fs from "fs";
-import { settings } from "@ai16z/eliza";
import { composeContext } from "@ai16z/eliza";
import { generateText } from "@ai16z/eliza";
@@ -32,7 +29,7 @@ const take_order: Action = {
return tickerRegex.test(text);
},
handler: async (runtime: IAgentRuntime, message: Memory) => {
- const text = (message.content as Content).text;
+ const _text = (message.content as Content).text;
const userId = message.userId;
const template = `
diff --git a/packages/plugin-solana/src/providers/token.ts b/packages/plugin-solana/src/providers/token.ts
index 93b96e6a3a9..b773d0cebad 100644
--- a/packages/plugin-solana/src/providers/token.ts
+++ b/packages/plugin-solana/src/providers/token.ts
@@ -88,7 +88,6 @@ export class TokenProvider {
private async fetchWithRetry(
url: string,
options: RequestInit = {}
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
): Promise {
let lastError: Error;
@@ -685,7 +684,6 @@ export class TokenProvider {
console.log({ url });
try {
- // eslint-disable-next-line no-constant-condition
while (true) {
const params = {
limit: limit,
@@ -731,7 +729,6 @@ export class TokenProvider {
`Processing ${data.result.token_accounts.length} holders from page ${page}`
);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
data.result.token_accounts.forEach((account: any) => {
const owner = account.owner;
const balance = parseFloat(account.amount);
@@ -892,8 +889,8 @@ export class TokenProvider {
const liquidityUsd = toBN(liquidity.usd);
const marketCapUsd = toBN(marketCap);
const totalSupply = toBN(ownerBalance).plus(creatorBalance);
- const ownerPercentage = toBN(ownerBalance).dividedBy(totalSupply);
- const creatorPercentage =
+ const _ownerPercentage = toBN(ownerBalance).dividedBy(totalSupply);
+ const _creatorPercentage =
toBN(creatorBalance).dividedBy(totalSupply);
const top10HolderPercent = toBN(tradeData.volume_24h_usd).dividedBy(
totalSupply
@@ -1017,11 +1014,10 @@ export class TokenProvider {
}
const tokenAddress = PROVIDER_CONFIG.TOKEN_ADDRESSES.Example;
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
+
const connection = new Connection(PROVIDER_CONFIG.DEFAULT_RPC);
const tokenProvider: Provider = {
get: async (
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
runtime: IAgentRuntime,
_message: Memory,
_state?: State
diff --git a/packages/plugin-solana/src/providers/trustScoreProvider.ts b/packages/plugin-solana/src/providers/trustScoreProvider.ts
index 88c2b97df01..32f41267203 100644
--- a/packages/plugin-solana/src/providers/trustScoreProvider.ts
+++ b/packages/plugin-solana/src/providers/trustScoreProvider.ts
@@ -29,7 +29,7 @@ interface sellDetails {
sell_amount: number;
sell_recommender_id: string | null;
}
-interface RecommendationGroup {
+interface _RecommendationGroup {
recommendation: any;
trustScore: number;
}
@@ -605,7 +605,7 @@ export const trustScoreProvider: Provider = {
async get(
runtime: IAgentRuntime,
message: Memory,
- state?: State
+ _state?: State
): Promise {
try {
const trustScoreDb = new TrustScoreDatabase(
diff --git a/packages/plugin-solana/src/providers/wallet.ts b/packages/plugin-solana/src/providers/wallet.ts
index c9d406eb46e..22d9f050bf6 100644
--- a/packages/plugin-solana/src/providers/wallet.ts
+++ b/packages/plugin-solana/src/providers/wallet.ts
@@ -33,7 +33,7 @@ interface WalletPortfolio {
items: Array- ;
}
-interface BirdEyePriceData {
+interface _BirdEyePriceData {
data: {
[key: string]: {
price: number;
diff --git a/packages/plugin-starknet/eslint.config.mjs b/packages/plugin-starknet/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-starknet/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-starknet/package.json b/packages/plugin-starknet/package.json
index 16328b6798a..cea06216df2 100644
--- a/packages/plugin-starknet/package.json
+++ b/packages/plugin-starknet/package.json
@@ -14,10 +14,17 @@
"tsup": "^8.3.5",
"vitest": "^2.1.4"
},
+ "devDependencies": {
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
+ },
"scripts": {
"build": "tsup --format esm --dts",
"test": "vitest run",
- "test:watch": "vitest"
+ "test:watch": "vitest",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-starknet/src/actions/swap.ts b/packages/plugin-starknet/src/actions/swap.ts
index b5e23133346..3c135b5f753 100644
--- a/packages/plugin-starknet/src/actions/swap.ts
+++ b/packages/plugin-starknet/src/actions/swap.ts
@@ -16,7 +16,7 @@ import {
QuoteRequest,
} from "@avnu/avnu-sdk";
-import { getStarknetAccount, validateSettings } from "../utils/index.ts";
+import { getStarknetAccount } from "../utils/index.ts";
import { validateStarknetConfig } from "../enviroment.ts";
interface SwapContent {
@@ -80,7 +80,7 @@ export const executeSwap: Action = {
"STARKNET_TRADE_TOKENS",
"STARKNET_EXCHANGE_TOKENS",
],
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (runtime: IAgentRuntime, _message: Memory) => {
await validateStarknetConfig(runtime);
return true;
},
diff --git a/packages/plugin-starknet/src/actions/takeOrder.ts b/packages/plugin-starknet/src/actions/takeOrder.ts
index a18dab230ad..39df5073f6c 100644
--- a/packages/plugin-starknet/src/actions/takeOrder.ts
+++ b/packages/plugin-starknet/src/actions/takeOrder.ts
@@ -51,7 +51,7 @@ const take_order: Action = {
return tickerRegex.test(text);
},
handler: async (runtime: IAgentRuntime, message: Memory) => {
- const text = (message.content as Content).text;
+ const _text = (message.content as Content).text;
const userId = message.userId;
let ticker, contractAddress;
diff --git a/packages/plugin-starknet/src/actions/transfer.ts b/packages/plugin-starknet/src/actions/transfer.ts
index 76baba1c385..6fd851ca93c 100644
--- a/packages/plugin-starknet/src/actions/transfer.ts
+++ b/packages/plugin-starknet/src/actions/transfer.ts
@@ -13,11 +13,7 @@ import {
generateObject,
elizaLogger,
} from "@ai16z/eliza";
-import {
- getStarknetAccount,
- isTransferContent,
- validateSettings,
-} from "../utils";
+import { getStarknetAccount, isTransferContent } from "../utils";
import { ERC20Token } from "../utils/ERC20Token";
import { validateStarknetConfig } from "../enviroment";
@@ -58,7 +54,7 @@ export default {
"SEND_ETH_ON_STARKNET",
"PAY_ON_STARKNET",
],
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (runtime: IAgentRuntime, _message: Memory) => {
await validateStarknetConfig(runtime);
return true;
},
diff --git a/packages/plugin-starknet/src/actions/unruggable.ts b/packages/plugin-starknet/src/actions/unruggable.ts
index 9dcde7e8e08..9d052415f96 100644
--- a/packages/plugin-starknet/src/actions/unruggable.ts
+++ b/packages/plugin-starknet/src/actions/unruggable.ts
@@ -16,16 +16,9 @@ import {
getStarknetProvider,
parseFormatedAmount,
parseFormatedPercentage,
- validateSettings,
} from "../utils/index.ts";
import { DeployData, Factory } from "@unruggable_starknet/core";
-import {
- AMM,
- EKUBO_TICK_SPACING,
- LiquidityType,
- QUOTE_TOKEN_SYMBOL,
- RECOMMENDED_EKUBO_FEES,
-} from "@unruggable_starknet/core/constants";
+import { AMM, QUOTE_TOKEN_SYMBOL } from "@unruggable_starknet/core/constants";
import { ACCOUNTS, TOKENS } from "../utils/constants.ts";
import { validateStarknetConfig } from "../enviroment.ts";
@@ -82,7 +75,7 @@ export const deployToken: Action = {
"STARKNET_DEPLOY_MEMECOIN",
"STARKNET_CREATE_MEMECOIN",
],
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (runtime: IAgentRuntime, _message: Memory) => {
await validateStarknetConfig(runtime);
return true;
},
diff --git a/packages/plugin-starknet/src/providers/token.ts b/packages/plugin-starknet/src/providers/token.ts
index d37d1047a96..c6677d4dfb4 100644
--- a/packages/plugin-starknet/src/providers/token.ts
+++ b/packages/plugin-starknet/src/providers/token.ts
@@ -9,7 +9,6 @@ import {
HolderData,
ProcessedTokenData,
TokenSecurityData,
- TokenTradeData,
CalculatedBuyAmounts,
Prices,
} from "../types/trustDB.ts";
@@ -404,7 +403,7 @@ export class TokenProvider {
}
// TODO:
- async analyzeHolderDistribution(tradeData: TokenInfo): Promise {
+ async analyzeHolderDistribution(_tradeData: TokenInfo): Promise {
// Define the time intervals to consider (e.g., 30m, 1h, 2h)
// TODO: Update to Starknet
@@ -468,7 +467,6 @@ export class TokenProvider {
console.log({ url });
try {
- // eslint-disable-next-line no-constant-condition
while (true) {
const params = {
limit: limit,
@@ -514,7 +512,6 @@ export class TokenProvider {
`Processing ${data.result.token_accounts.length} holders from page ${page}`
);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
data.result.token_accounts.forEach((account: any) => {
const owner = account.owner;
const balance = parseFloat(account.amount);
diff --git a/packages/plugin-starknet/src/providers/trustScoreProvider.ts b/packages/plugin-starknet/src/providers/trustScoreProvider.ts
index 809d8e92120..5913946f1de 100644
--- a/packages/plugin-starknet/src/providers/trustScoreProvider.ts
+++ b/packages/plugin-starknet/src/providers/trustScoreProvider.ts
@@ -20,10 +20,9 @@ import {
import { settings } from "@ai16z/eliza";
import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza";
import { getTokenBalance } from "../utils/index.ts";
-import { walletProvider } from "./walletProvider.ts";
import { TokenProvider } from "./token.ts";
-const Wallet = settings.MAIN_WALLET_ADDRESS;
+const _Wallet = settings.MAIN_WALLET_ADDRESS;
interface TradeData {
buy_amount: number;
is_simulation: boolean;
@@ -32,7 +31,7 @@ interface sellDetails {
sell_amount: number;
sell_recommender_id: string | null;
}
-interface RecommendationGroup {
+interface _RecommendationGroup {
recommendation: any;
trustScore: number;
}
@@ -605,7 +604,7 @@ export const trustScoreProvider: Provider = {
async get(
runtime: IAgentRuntime,
message: Memory,
- state?: State
+ _state?: State
): Promise {
try {
const trustScoreDb = new TrustScoreDatabase(
diff --git a/packages/plugin-starknet/src/providers/walletProvider.ts b/packages/plugin-starknet/src/providers/walletProvider.ts
index 91d90b35fac..2ab45b0f05c 100644
--- a/packages/plugin-starknet/src/providers/walletProvider.ts
+++ b/packages/plugin-starknet/src/providers/walletProvider.ts
@@ -1,5 +1,4 @@
import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza";
-import { Connection, PublicKey } from "@solana/web3.js";
import BigNumber from "bignumber.js";
import NodeCache from "node-cache";
import { validateSettings } from "../utils";
@@ -34,7 +33,7 @@ interface WalletPortfolio {
items: Array
- ;
}
-interface BirdEyePriceData {
+interface _BirdEyePriceData {
data: {
[key: string]: {
price: number;
@@ -106,7 +105,7 @@ export class WalletProvider {
throw lastError;
}
- async fetchPortfolioValue(runtime): Promise {
+ async fetchPortfolioValue(_runtime): Promise {
try {
const cacheKey = `portfolio-${this.runtime.getSetting("STARKNET_WALLET_ADDRESS")}`;
const cachedValue = this.cache.get(cacheKey);
@@ -163,7 +162,7 @@ export class WalletProvider {
}
}
- async fetchPrices(runtime): Promise {
+ async fetchPrices(_runtime): Promise {
try {
const cacheKey = "prices";
const cachedValue = this.cache.get(cacheKey);
@@ -175,7 +174,7 @@ export class WalletProvider {
console.log("Cache miss for fetchPrices");
const { SOL, BTC, ETH } = PROVIDER_CONFIG.TOKEN_ADDRESSES;
- const tokens = [SOL, BTC, ETH];
+ const _tokens = [SOL, BTC, ETH];
const prices: Prices = {
solana: { usd: "0" },
bitcoin: { usd: "0" },
diff --git a/packages/plugin-starknet/src/utils/ERC20Token.ts b/packages/plugin-starknet/src/utils/ERC20Token.ts
index 10721486dcf..0d4c54e1f04 100644
--- a/packages/plugin-starknet/src/utils/ERC20Token.ts
+++ b/packages/plugin-starknet/src/utils/ERC20Token.ts
@@ -1,4 +1,4 @@
-import { Account, Call, CallData, Calldata, Contract, cairo } from "starknet";
+import { Account, CallData, Calldata, Contract, cairo } from "starknet";
import erc20Abi from "./erc20.json";
export type ApproveCall = {
diff --git a/packages/plugin-trustdb/eslint.config.mjs b/packages/plugin-trustdb/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-trustdb/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-trustdb/package.json b/packages/plugin-trustdb/package.json
index 99ec6547427..ec51200b49b 100644
--- a/packages/plugin-trustdb/package.json
+++ b/packages/plugin-trustdb/package.json
@@ -14,10 +14,15 @@
"scripts": {
"build": "tsup --format esm --dts",
"test": "vitest run",
- "test:watch": "vitest"
+ "test:watch": "vitest",
+ "lint": "eslint . --fix"
},
"devDependencies": {
- "@types/dompurify": "^3.2.0"
+ "@types/dompurify": "^3.2.0",
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-video-generation/eslint.config.mjs b/packages/plugin-video-generation/eslint.config.mjs
new file mode 100644
index 00000000000..c6b6b1a9daa
--- /dev/null
+++ b/packages/plugin-video-generation/eslint.config.mjs
@@ -0,0 +1,3 @@
+import eslintGlobalConfig from "../../eslint.global.mjs";
+
+export default [...eslintGlobalConfig];
diff --git a/packages/plugin-video-generation/package.json b/packages/plugin-video-generation/package.json
index 4b402cbb5fa..ad57534139f 100644
--- a/packages/plugin-video-generation/package.json
+++ b/packages/plugin-video-generation/package.json
@@ -8,9 +8,16 @@
"@ai16z/eliza": "workspace:*",
"tsup": "^8.3.5"
},
+ "devDependencies": {
+ "eslint": "9.13.0",
+ "eslint-config-prettier": "9.1.0",
+ "eslint-plugin-prettier": "5.2.1",
+ "eslint-plugin-vitest": "0.5.4"
+ },
"scripts": {
"build": "tsup --format esm --dts",
- "dev": "tsup --watch"
+ "dev": "tsup --watch",
+ "lint": "eslint . --fix"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-video-generation/src/index.ts b/packages/plugin-video-generation/src/index.ts
index e447a66fe1f..08f158dc3c9 100644
--- a/packages/plugin-video-generation/src/index.ts
+++ b/packages/plugin-video-generation/src/index.ts
@@ -119,7 +119,7 @@ const videoGeneration: Action = {
"VIDEO_MAKE",
],
description: "Generate a video based on a text prompt",
- validate: async (runtime: IAgentRuntime, message: Memory) => {
+ validate: async (runtime: IAgentRuntime, _message: Memory) => {
elizaLogger.log("Validating video generation action");
const lumaApiKey = runtime.getSetting("LUMA_API_KEY");
elizaLogger.log("LUMA_API_KEY present:", !!lumaApiKey);
@@ -128,14 +128,14 @@ const videoGeneration: Action = {
handler: async (
runtime: IAgentRuntime,
message: Memory,
- state: State,
- options: any,
+ _state: State,
+ _options: any,
callback: HandlerCallback
) => {
elizaLogger.log("Video generation request:", message);
// Clean up the prompt by removing mentions and commands
- let videoPrompt = message.content.text
+ const videoPrompt = message.content.text
.replace(/<@\d+>/g, "") // Remove mentions
.replace(
/generate video|create video|make video|render video/gi,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 06891ce82b4..e7cddacf7d3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -21,6 +21,12 @@ importers:
specifier: ^0.33.5
version: 0.33.5
devDependencies:
+ '@commitlint/cli':
+ specifier: ^18.4.4
+ version: 18.6.1(@types/node@22.8.4)(typescript@5.6.3)
+ '@commitlint/config-conventional':
+ specifier: ^18.4.4
+ version: 18.6.3
concurrently:
specifier: ^9.1.0
version: 9.1.0
@@ -78,6 +84,9 @@ importers:
'@ai16z/plugin-bootstrap':
specifier: workspace:*
version: link:../packages/plugin-bootstrap
+ '@ai16z/plugin-coinbase':
+ specifier: workspace:*
+ version: link:../packages/plugin-coinbase
'@ai16z/plugin-image-generation':
specifier: workspace:*
version: link:../packages/plugin-image-generation
@@ -259,6 +268,18 @@ importers:
specifier: ^8.13.1
version: 8.13.1
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -281,6 +302,18 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -303,6 +336,18 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -319,6 +364,18 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -359,6 +416,18 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -396,6 +465,18 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -433,6 +514,18 @@ importers:
specifier: 3.23.8
version: 3.23.8
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -458,6 +551,18 @@ importers:
'@types/glob':
specifier: ^8.1.0
version: 8.1.0
+ 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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -480,6 +585,18 @@ importers:
specifier: 3.23.8
version: 3.23.8
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -502,6 +619,18 @@ importers:
specifier: 3.23.8
version: 3.23.8
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -650,6 +779,9 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
jest:
specifier: 29.7.0
version: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3))
@@ -699,6 +831,18 @@ importers:
automd:
specifier: ^0.3.12
version: 0.3.12
+ 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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
jiti:
specifier: ^2.4.0
version: 2.4.0
@@ -717,6 +861,38 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
+
+ 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.7))(svelte@5.2.7)
+ 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.0
+ version: 1.20.0
+ whatwg-url:
+ specifier: 7.1.0
+ version: 7.1.0
+ devDependencies:
+ tsup:
+ specifier: ^8.3.5
+ version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/plugin-image-generation:
dependencies:
@@ -729,6 +905,19 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
packages/plugin-node:
dependencies:
@@ -779,7 +968,7 @@ importers:
version: 1.6.0
echogarden:
specifier: ^2.0.5
- version: 2.0.5(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(encoding@0.1.13)(utf-8-validate@5.0.10)(zod@3.23.8)
+ version: 2.0.6(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(encoding@0.1.13)(utf-8-validate@5.0.10)(zod@3.23.8)
espeak-ng:
specifier: 1.0.2
version: 1.0.2
@@ -895,6 +1084,18 @@ importers:
specifier: 3.0.10
version: 3.0.10
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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.2(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
@@ -937,6 +1138,19 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
packages/plugin-starknet:
dependencies:
@@ -967,6 +1181,19 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
packages/plugin-trustdb:
dependencies:
@@ -992,6 +1219,18 @@ importers:
'@types/dompurify':
specifier: ^3.2.0
version: 3.2.0
+ 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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
packages/plugin-video-generation:
dependencies:
@@ -1004,6 +1243,19 @@ importers:
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(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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))
packages:
@@ -1127,6 +1379,9 @@ packages:
vue:
optional: true
+ '@ai16z/eliza@0.1.3':
+ resolution: {integrity: sha512-MeHvD44YKeYdnmI0k03RpS0COGPUsM5/nYoo7ih9vi7iXWFUWANEa3FReWr8rT51AOdHFXGdaLvTzngI527WjA==}
+
'@algolia/autocomplete-core@1.17.7':
resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
@@ -1310,26 +1565,26 @@ packages:
'@aws-crypto/util@5.2.0':
resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==}
- '@aws-sdk/client-polly@3.696.0':
- resolution: {integrity: sha512-2eZ/P8/Kz2b1AST4aBmRaBCjqOCLUDchzw51J3K7cWLKKqECRNPt38G+hTja6zWF2KWY4PyMseEjaYWspYAh1A==}
+ '@aws-sdk/client-polly@3.699.0':
+ resolution: {integrity: sha512-qQzFojyGEE8HmlotxClXSOhPuGluAQp+K7PtkuGNGZk91C6BF6TQAzIBqCnHMTbUGyJUqkt3Rp3A/Hj29fG4fg==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/client-sso-oidc@3.696.0':
- resolution: {integrity: sha512-ikxQ3mo86d1mAq5zTaQAh8rLBERwL+I4MUYu/IVYW2hhl9J2SDsl0SgnKeXQG6S8zWuHcBO587zsZaRta1MQ/g==}
+ '@aws-sdk/client-sso-oidc@3.699.0':
+ resolution: {integrity: sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==}
engines: {node: '>=16.0.0'}
peerDependencies:
- '@aws-sdk/client-sts': ^3.696.0
+ '@aws-sdk/client-sts': ^3.699.0
'@aws-sdk/client-sso@3.696.0':
resolution: {integrity: sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/client-sts@3.696.0':
- resolution: {integrity: sha512-eJOxR8/UyI7kGSRyE751Ea7MKEzllQs7eNveDJy9OP4t/jsN/P19HJ1YHeA1np40JRTUBfqa6WLAAiIXsk8rkg==}
+ '@aws-sdk/client-sts@3.699.0':
+ resolution: {integrity: sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/client-transcribe-streaming@3.696.0':
- resolution: {integrity: sha512-Mw2PpKm86b80JgsOUbTAs+9m/kqq7LdgZ2ANxYvgkh+usbQ3xIuANJCcoeYIvL5tZnqAjpBtFrT3KZHunfHbvA==}
+ '@aws-sdk/client-transcribe-streaming@3.699.0':
+ resolution: {integrity: sha512-yYmUMsFRkuuorNk275Ps1qGSP91AF5/G0m/ZLJw9sAd75sT8yCm4ChOQI19A35o3r0jWzGtGHV3bUEW6BcdlFg==}
engines: {node: '>=16.0.0'}
'@aws-sdk/core@3.696.0':
@@ -1344,22 +1599,22 @@ packages:
resolution: {integrity: sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/credential-provider-ini@3.696.0':
- resolution: {integrity: sha512-9WsZZofjPjNAAZhIh7c7FOhLK8CR3RnGgUm1tdZzV6ZSM1BuS2m6rdwIilRxAh3fxxKDkmW/r/aYmmCYwA+AYA==}
+ '@aws-sdk/credential-provider-ini@3.699.0':
+ resolution: {integrity: sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==}
engines: {node: '>=16.0.0'}
peerDependencies:
- '@aws-sdk/client-sts': ^3.696.0
+ '@aws-sdk/client-sts': ^3.699.0
- '@aws-sdk/credential-provider-node@3.696.0':
- resolution: {integrity: sha512-8F6y5FcfRuMJouC5s207Ko1mcVvOXReBOlJmhIwE4QH1CnO/CliIyepnAZrRQ659mo5wIuquz6gXnpYbitEVMg==}
+ '@aws-sdk/credential-provider-node@3.699.0':
+ resolution: {integrity: sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==}
engines: {node: '>=16.0.0'}
'@aws-sdk/credential-provider-process@3.696.0':
resolution: {integrity: sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/credential-provider-sso@3.696.0':
- resolution: {integrity: sha512-4SSZ9Nk08JSu4/rX1a+dEac/Ims1HCXfV7YLUe5LGdtRLSKRoQQUy+hkFaGYoSugP/p1UfUPl3BuTO9Vv8z1pA==}
+ '@aws-sdk/credential-provider-sso@3.699.0':
+ resolution: {integrity: sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==}
engines: {node: '>=16.0.0'}
'@aws-sdk/credential-provider-web-identity@3.696.0':
@@ -1408,11 +1663,11 @@ packages:
resolution: {integrity: sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==}
engines: {node: '>=16.0.0'}
- '@aws-sdk/token-providers@3.696.0':
- resolution: {integrity: sha512-fvTcMADrkwRdNwVmJXi2pSPf1iizmUqczrR1KusH4XehI/KybS4U6ViskRT0v07vpxwL7x+iaD/8fR0PUu5L/g==}
+ '@aws-sdk/token-providers@3.699.0':
+ resolution: {integrity: sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==}
engines: {node: '>=16.0.0'}
peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.696.0
+ '@aws-sdk/client-sso-oidc': ^3.699.0
'@aws-sdk/types@3.696.0':
resolution: {integrity: sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==}
@@ -2142,6 +2397,75 @@ packages:
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'}
+ '@commitlint/cli@18.6.1':
+ resolution: {integrity: sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw==}
+ engines: {node: '>=v18'}
+ hasBin: true
+
+ '@commitlint/config-conventional@18.6.3':
+ resolution: {integrity: sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/config-validator@18.6.1':
+ resolution: {integrity: sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/ensure@18.6.1':
+ resolution: {integrity: sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/execute-rule@18.6.1':
+ resolution: {integrity: sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/format@18.6.1':
+ resolution: {integrity: sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/is-ignored@18.6.1':
+ resolution: {integrity: sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/lint@18.6.1':
+ resolution: {integrity: sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/load@18.6.1':
+ resolution: {integrity: sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/message@18.6.1':
+ resolution: {integrity: sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/parse@18.6.1':
+ resolution: {integrity: sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/read@18.6.1':
+ resolution: {integrity: sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/resolve-extends@18.6.1':
+ resolution: {integrity: sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/rules@18.6.1':
+ resolution: {integrity: sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/to-lines@18.6.1':
+ resolution: {integrity: sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/top-level@18.6.1':
+ resolution: {integrity: sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw==}
+ engines: {node: '>=v18'}
+
+ '@commitlint/types@18.6.1':
+ resolution: {integrity: sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==}
+ engines: {node: '>=v18'}
+
'@coral-xyz/anchor-errors@0.30.1':
resolution: {integrity: sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ==}
engines: {node: '>=10'}
@@ -5471,6 +5795,10 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/scope-manager@7.18.0':
+ resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/scope-manager@8.12.2':
resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5498,6 +5826,10 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/types@7.18.0':
+ resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/types@8.12.2':
resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5506,6 +5838,15 @@ packages:
resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/typescript-estree@7.18.0':
+ resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@typescript-eslint/typescript-estree@8.12.2':
resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5524,6 +5865,12 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/utils@7.18.0':
+ resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+
'@typescript-eslint/utils@8.12.2':
resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -5540,6 +5887,10 @@ packages:
typescript:
optional: true
+ '@typescript-eslint/visitor-keys@7.18.0':
+ resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/visitor-keys@8.12.2':
resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6585,6 +6936,9 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+ coinbase-api@1.0.5:
+ resolution: {integrity: sha512-5Rq6hYKnJNc9v4diD8M6PStSc2hwMgfOlB+pb1LSyh5q2xg9ZKi3Gu8ZVxaDnKXmgQgrjI4xJLMpc3fiLgzsew==}
+
collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
@@ -6750,6 +7104,10 @@ packages:
resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
engines: {node: '>=16'}
+ conventional-changelog-conventionalcommits@7.0.2:
+ resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
+ engines: {node: '>=16'}
+
conventional-changelog-core@5.0.1:
resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==}
engines: {node: '>=14'}
@@ -6772,6 +7130,11 @@ packages:
engines: {node: '>=14'}
hasBin: true
+ conventional-commits-parser@5.0.0:
+ resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
+ engines: {node: '>=16'}
+ hasBin: true
+
conventional-recommended-bump@7.0.1:
resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==}
engines: {node: '>=14'}
@@ -6826,6 +7189,14 @@ packages:
cose-base@2.2.0:
resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+ cosmiconfig-typescript-loader@5.1.0:
+ resolution: {integrity: sha512-7PtBB+6FdsOvZyJtlF3hEPpACq7RQX6BVGsgC7/lfVXnKMvNCu/XY3ykreqG5w/rBNdu2z8LCIKoF3kpHHdHlA==}
+ engines: {node: '>=v16'}
+ peerDependencies:
+ '@types/node': '*'
+ cosmiconfig: '>=8.2'
+ typescript: '>=4'
+
cosmiconfig@6.0.0:
resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
engines: {node: '>=8'}
@@ -7554,8 +7925,8 @@ packages:
ecdsa-sig-formatter@1.0.11:
resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
- echogarden@2.0.5:
- resolution: {integrity: sha512-6dvmc8MUG8H+ozLbEEZTxhMursUwrfxdrK+HbYeLVRoy676nXt1t/FdktFo5SQsMT6/Zr5l6zB0UQnhSp1cJEw==}
+ echogarden@2.0.6:
+ resolution: {integrity: sha512-mpSC03TiMsQEX2jg9+/7YHBDhc+bITemHiUI/MmW3T0GQOE5hqXFc0vBQJ/9Fei7skei4hQVgGpvpxGMQLoEEw==}
engines: {node: '>=18'}
os: [win32, darwin, linux]
hasBin: true
@@ -7779,6 +8150,19 @@ packages:
peerDependencies:
eslint: '>=7'
+ eslint-plugin-vitest@0.5.4:
+ resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
+ engines: {node: ^18.0.0 || >= 20.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': '*'
+ eslint: ^8.57.0 || ^9.0.0
+ vitest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ vitest:
+ optional: true
+
eslint-scope@5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
@@ -8382,6 +8766,11 @@ packages:
js-git:
optional: true
+ git-raw-commits@2.0.11:
+ resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
git-raw-commits@3.0.0:
resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==}
engines: {node: '>=14'}
@@ -8447,6 +8836,10 @@ packages:
resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
engines: {node: '>=16 || 14 >=14.17'}
+ global-dirs@0.1.1:
+ resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
+ engines: {node: '>=4'}
+
global-dirs@3.0.1:
resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
engines: {node: '>=10'}
@@ -9112,6 +9505,10 @@ packages:
resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
engines: {node: '>=0.10.0'}
+ is-text-path@2.0.0:
+ resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
+ engines: {node: '>=8'}
+
is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
@@ -9479,6 +9876,10 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'}
+ jsonwebtoken@9.0.2:
+ resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
+ engines: {node: '>=12', npm: '>=6'}
+
jsprim@1.4.2:
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
engines: {node: '>=0.6.0'}
@@ -9489,9 +9890,15 @@ packages:
just-diff@6.0.2:
resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==}
+ jwa@1.4.1:
+ resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
+
jwa@2.0.0:
resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==}
+ jws@3.2.2:
+ resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
+
jws@4.0.0:
resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==}
@@ -9724,33 +10131,69 @@ packages:
lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
lodash.deburr@4.1.0:
resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==}
+ lodash.includes@4.3.0:
+ resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==}
+
+ lodash.isboolean@3.0.3:
+ resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==}
+
+ lodash.isfunction@3.0.9:
+ resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==}
+
+ lodash.isinteger@4.0.4:
+ resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==}
+
lodash.ismatch@4.4.0:
resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==}
+ lodash.isnumber@3.0.3:
+ resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==}
+
lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+ lodash.isstring@4.0.1:
+ resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
+
+ lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+
lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ lodash.mergewith@4.6.2:
+ resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
+
+ lodash.once@4.1.1:
+ resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
+
lodash.snakecase@4.1.1:
resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
lodash.sortby@4.7.0:
resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+
lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ lodash.upperfirst@4.3.1:
+ resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
+
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@@ -9975,6 +10418,10 @@ packages:
resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ meow@12.1.1:
+ resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
+ engines: {node: '>=16.10'}
+
meow@8.1.2:
resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
engines: {node: '>=10'}
@@ -12465,6 +12912,10 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
+ resolve-global@1.0.0:
+ resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
+ engines: {node: '>=8'}
+
resolve-pathname@3.0.0:
resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
@@ -12673,6 +13124,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
semver@7.6.3:
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
engines: {node: '>=10'}
@@ -13279,6 +13735,10 @@ packages:
resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
engines: {node: '>=0.10'}
+ text-extensions@2.4.0:
+ resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
+ engines: {node: '>=8'}
+
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
@@ -13296,6 +13756,9 @@ packages:
through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ through2@4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
@@ -14503,6 +14966,39 @@ 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.7))(svelte@5.2.7)':
+ 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)
+ '@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.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)
+ anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8)
+ fastembed: 1.14.1
+ gaxios: 6.7.1(encoding@0.1.13)
+ glob: 11.0.0
+ js-sha1: 0.7.0
+ 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
+ tinyld: 1.3.4
+ together-ai: 0.7.0(encoding@0.1.13)
+ unique-names-generator: 4.7.1
+ uuid: 11.0.2
+ zod: 3.23.8
+ transitivePeerDependencies:
+ - '@google-cloud/vertexai'
+ - encoding
+ - react
+ - solid-js
+ - sswr
+ - supports-color
+ - svelte
+ - vue
+
'@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3)':
dependencies:
'@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3)
@@ -14765,14 +15261,14 @@ snapshots:
'@smithy/util-utf8': 2.3.0
tslib: 2.8.0
- '@aws-sdk/client-polly@3.696.0':
+ '@aws-sdk/client-polly@3.699.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.696.0(@aws-sdk/client-sts@3.696.0)
- '@aws-sdk/client-sts': 3.696.0
+ '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0)
+ '@aws-sdk/client-sts': 3.699.0
'@aws-sdk/core': 3.696.0
- '@aws-sdk/credential-provider-node': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/middleware-host-header': 3.696.0
'@aws-sdk/middleware-logger': 3.696.0
'@aws-sdk/middleware-recursion-detection': 3.696.0
@@ -14812,13 +15308,13 @@ snapshots:
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0)':
+ '@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.696.0
+ '@aws-sdk/client-sts': 3.699.0
'@aws-sdk/core': 3.696.0
- '@aws-sdk/credential-provider-node': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/middleware-host-header': 3.696.0
'@aws-sdk/middleware-logger': 3.696.0
'@aws-sdk/middleware-recursion-detection': 3.696.0
@@ -14900,13 +15396,13 @@ snapshots:
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-sts@3.696.0':
+ '@aws-sdk/client-sts@3.699.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.696.0(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/core': 3.696.0
- '@aws-sdk/credential-provider-node': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/middleware-host-header': 3.696.0
'@aws-sdk/middleware-logger': 3.696.0
'@aws-sdk/middleware-recursion-detection': 3.696.0
@@ -14945,14 +15441,14 @@ snapshots:
transitivePeerDependencies:
- aws-crt
- '@aws-sdk/client-transcribe-streaming@3.696.0':
+ '@aws-sdk/client-transcribe-streaming@3.699.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.696.0(@aws-sdk/client-sts@3.696.0)
- '@aws-sdk/client-sts': 3.696.0
+ '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0)
+ '@aws-sdk/client-sts': 3.699.0
'@aws-sdk/core': 3.696.0
- '@aws-sdk/credential-provider-node': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/eventstream-handler-node': 3.696.0
'@aws-sdk/middleware-eventstream': 3.696.0
'@aws-sdk/middleware-host-header': 3.696.0
@@ -15033,15 +15529,15 @@ snapshots:
'@smithy/util-stream': 3.3.1
tslib: 2.8.0
- '@aws-sdk/credential-provider-ini@3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)':
+ '@aws-sdk/credential-provider-ini@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)':
dependencies:
- '@aws-sdk/client-sts': 3.696.0
+ '@aws-sdk/client-sts': 3.699.0
'@aws-sdk/core': 3.696.0
'@aws-sdk/credential-provider-env': 3.696.0
'@aws-sdk/credential-provider-http': 3.696.0
'@aws-sdk/credential-provider-process': 3.696.0
- '@aws-sdk/credential-provider-sso': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))
- '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))
+ '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/types': 3.696.0
'@smithy/credential-provider-imds': 3.2.7
'@smithy/property-provider': 3.1.10
@@ -15052,14 +15548,14 @@ snapshots:
- '@aws-sdk/client-sso-oidc'
- aws-crt
- '@aws-sdk/credential-provider-node@3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)':
+ '@aws-sdk/credential-provider-node@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)':
dependencies:
'@aws-sdk/credential-provider-env': 3.696.0
'@aws-sdk/credential-provider-http': 3.696.0
- '@aws-sdk/credential-provider-ini': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-ini': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/credential-provider-process': 3.696.0
- '@aws-sdk/credential-provider-sso': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))
- '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))
+ '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/types': 3.696.0
'@smithy/credential-provider-imds': 3.2.7
'@smithy/property-provider': 3.1.10
@@ -15080,11 +15576,11 @@ snapshots:
'@smithy/types': 3.7.1
tslib: 2.8.0
- '@aws-sdk/credential-provider-sso@3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))':
+ '@aws-sdk/credential-provider-sso@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))':
dependencies:
'@aws-sdk/client-sso': 3.696.0
'@aws-sdk/core': 3.696.0
- '@aws-sdk/token-providers': 3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))
+ '@aws-sdk/token-providers': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))
'@aws-sdk/types': 3.696.0
'@smithy/property-provider': 3.1.10
'@smithy/shared-ini-file-loader': 3.1.11
@@ -15094,9 +15590,9 @@ snapshots:
- '@aws-sdk/client-sso-oidc'
- aws-crt
- '@aws-sdk/credential-provider-web-identity@3.696.0(@aws-sdk/client-sts@3.696.0)':
+ '@aws-sdk/credential-provider-web-identity@3.696.0(@aws-sdk/client-sts@3.699.0)':
dependencies:
- '@aws-sdk/client-sts': 3.696.0
+ '@aws-sdk/client-sts': 3.699.0
'@aws-sdk/core': 3.696.0
'@aws-sdk/types': 3.696.0
'@smithy/property-provider': 3.1.10
@@ -15191,9 +15687,9 @@ snapshots:
'@smithy/util-middleware': 3.0.10
tslib: 2.8.0
- '@aws-sdk/token-providers@3.696.0(@aws-sdk/client-sso-oidc@3.696.0(@aws-sdk/client-sts@3.696.0))':
+ '@aws-sdk/token-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))':
dependencies:
- '@aws-sdk/client-sso-oidc': 3.696.0(@aws-sdk/client-sts@3.696.0)
+ '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0)
'@aws-sdk/types': 3.696.0
'@smithy/property-provider': 3.1.10
'@smithy/shared-ini-file-loader': 3.1.11
@@ -16125,6 +16621,119 @@ snapshots:
'@colors/colors@1.5.0':
optional: true
+ '@commitlint/cli@18.6.1(@types/node@22.8.4)(typescript@5.6.3)':
+ dependencies:
+ '@commitlint/format': 18.6.1
+ '@commitlint/lint': 18.6.1
+ '@commitlint/load': 18.6.1(@types/node@22.8.4)(typescript@5.6.3)
+ '@commitlint/read': 18.6.1
+ '@commitlint/types': 18.6.1
+ execa: 5.1.1
+ lodash.isfunction: 3.0.9
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
+
+ '@commitlint/config-conventional@18.6.3':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ conventional-changelog-conventionalcommits: 7.0.2
+
+ '@commitlint/config-validator@18.6.1':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ ajv: 8.17.1
+
+ '@commitlint/ensure@18.6.1':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ lodash.startcase: 4.4.0
+ lodash.upperfirst: 4.3.1
+
+ '@commitlint/execute-rule@18.6.1': {}
+
+ '@commitlint/format@18.6.1':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ chalk: 4.1.2
+
+ '@commitlint/is-ignored@18.6.1':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ semver: 7.6.0
+
+ '@commitlint/lint@18.6.1':
+ dependencies:
+ '@commitlint/is-ignored': 18.6.1
+ '@commitlint/parse': 18.6.1
+ '@commitlint/rules': 18.6.1
+ '@commitlint/types': 18.6.1
+
+ '@commitlint/load@18.6.1(@types/node@22.8.4)(typescript@5.6.3)':
+ dependencies:
+ '@commitlint/config-validator': 18.6.1
+ '@commitlint/execute-rule': 18.6.1
+ '@commitlint/resolve-extends': 18.6.1
+ '@commitlint/types': 18.6.1
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.6.3)
+ cosmiconfig-typescript-loader: 5.1.0(@types/node@22.8.4)(cosmiconfig@8.3.6(typescript@5.6.3))(typescript@5.6.3)
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ lodash.uniq: 4.5.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
+
+ '@commitlint/message@18.6.1': {}
+
+ '@commitlint/parse@18.6.1':
+ dependencies:
+ '@commitlint/types': 18.6.1
+ conventional-changelog-angular: 7.0.0
+ conventional-commits-parser: 5.0.0
+
+ '@commitlint/read@18.6.1':
+ dependencies:
+ '@commitlint/top-level': 18.6.1
+ '@commitlint/types': 18.6.1
+ git-raw-commits: 2.0.11
+ minimist: 1.2.8
+
+ '@commitlint/resolve-extends@18.6.1':
+ dependencies:
+ '@commitlint/config-validator': 18.6.1
+ '@commitlint/types': 18.6.1
+ import-fresh: 3.3.0
+ lodash.mergewith: 4.6.2
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+
+ '@commitlint/rules@18.6.1':
+ dependencies:
+ '@commitlint/ensure': 18.6.1
+ '@commitlint/message': 18.6.1
+ '@commitlint/to-lines': 18.6.1
+ '@commitlint/types': 18.6.1
+ execa: 5.1.1
+
+ '@commitlint/to-lines@18.6.1': {}
+
+ '@commitlint/top-level@18.6.1':
+ dependencies:
+ find-up: 5.0.0
+
+ '@commitlint/types@18.6.1':
+ dependencies:
+ chalk: 4.1.2
+
'@coral-xyz/anchor-errors@0.30.1': {}
'@coral-xyz/anchor@0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)':
@@ -18725,7 +19334,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
@@ -20568,6 +21177,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/scope-manager@7.18.0':
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
+
'@typescript-eslint/scope-manager@8.12.2':
dependencies:
'@typescript-eslint/types': 8.12.2
@@ -20602,10 +21216,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/types@7.18.0': {}
+
'@typescript-eslint/types@8.12.2': {}
'@typescript-eslint/types@8.15.0': {}
+ '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)':
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
+ debug: 4.3.7(supports-color@5.5.0)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 1.4.0(typescript@5.6.3)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)':
dependencies:
'@typescript-eslint/types': 8.12.2
@@ -20636,6 +21267,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/utils@7.18.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0))
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
+ eslint: 9.13.0(jiti@2.4.0)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
'@typescript-eslint/utils@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0))
@@ -20659,6 +21301,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/visitor-keys@7.18.0':
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ eslint-visitor-keys: 3.4.3
+
'@typescript-eslint/visitor-keys@8.12.2':
dependencies:
'@typescript-eslint/types': 8.12.2
@@ -21928,6 +22575,18 @@ snapshots:
co@4.6.0: {}
+ coinbase-api@1.0.5(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ dependencies:
+ axios: 1.7.7(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.7
+ ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - utf-8-validate
+
collapse-white-space@2.1.0: {}
collect-v8-coverage@1.0.2: {}
@@ -22085,6 +22744,10 @@ snapshots:
dependencies:
compare-func: 2.0.0
+ conventional-changelog-conventionalcommits@7.0.2:
+ dependencies:
+ compare-func: 2.0.0
+
conventional-changelog-core@5.0.1:
dependencies:
add-stream: 1.0.0
@@ -22123,6 +22786,13 @@ snapshots:
meow: 8.1.2
split2: 3.2.2
+ conventional-commits-parser@5.0.0:
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 2.0.0
+ meow: 12.1.1
+ split2: 4.2.0
+
conventional-recommended-bump@7.0.1:
dependencies:
concat-stream: 2.0.0
@@ -22178,6 +22848,13 @@ snapshots:
dependencies:
layout-base: 2.0.1
+ cosmiconfig-typescript-loader@5.1.0(@types/node@22.8.4)(cosmiconfig@8.3.6(typescript@5.6.3))(typescript@5.6.3):
+ dependencies:
+ '@types/node': 22.8.4
+ cosmiconfig: 8.3.6(typescript@5.6.3)
+ jiti: 1.21.6
+ typescript: 5.6.3
+
cosmiconfig@6.0.0:
dependencies:
'@types/parse-json': 4.0.2
@@ -22981,10 +23658,10 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
- echogarden@2.0.5(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(encoding@0.1.13)(utf-8-validate@5.0.10)(zod@3.23.8):
+ echogarden@2.0.6(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(encoding@0.1.13)(utf-8-validate@5.0.10)(zod@3.23.8):
dependencies:
- '@aws-sdk/client-polly': 3.696.0
- '@aws-sdk/client-transcribe-streaming': 3.696.0
+ '@aws-sdk/client-polly': 3.699.0
+ '@aws-sdk/client-transcribe-streaming': 3.699.0
'@echogarden/audio-io': 0.2.3
'@echogarden/espeak-ng-emscripten': 0.3.3
'@echogarden/fasttext-wasm': 0.1.0
@@ -23277,6 +23954,17 @@ snapshots:
dependencies:
eslint: 9.13.0(jiti@2.4.0)
+ eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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)):
+ dependencies:
+ '@typescript-eslint/utils': 7.18.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ eslint: 9.13.0(jiti@2.4.0)
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(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)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
@@ -23563,7 +24251,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:
@@ -24005,6 +24693,14 @@ snapshots:
optionalDependencies:
js-git: 0.7.8
+ git-raw-commits@2.0.11:
+ dependencies:
+ dargs: 7.0.0
+ lodash: 4.17.21
+ meow: 8.1.2
+ split2: 3.2.2
+ through2: 4.0.2
+
git-raw-commits@3.0.0:
dependencies:
dargs: 7.0.0
@@ -24092,6 +24788,10 @@ snapshots:
minipass: 4.2.8
path-scurry: 1.11.1
+ global-dirs@0.1.1:
+ dependencies:
+ ini: 1.3.8
+
global-dirs@3.0.1:
dependencies:
ini: 2.0.0
@@ -24871,6 +25571,10 @@ snapshots:
dependencies:
text-extensions: 1.9.0
+ is-text-path@2.0.0:
+ dependencies:
+ text-extensions: 2.4.0
+
is-typedarray@1.0.0: {}
is-unicode-supported@0.1.0: {}
@@ -25079,7 +25783,7 @@ snapshots:
jest-diff@29.7.0:
dependencies:
- chalk: 4.1.0
+ chalk: 4.1.2
diff-sequences: 29.6.3
jest-get-type: 29.6.3
pretty-format: 29.7.0
@@ -25445,6 +26149,19 @@ snapshots:
jsonpointer@5.0.1: {}
+ jsonwebtoken@9.0.2:
+ 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.1.1
+ ms: 2.1.3
+ semver: 7.6.3
+
jsprim@1.4.2:
dependencies:
assert-plus: 1.0.0
@@ -25456,12 +26173,23 @@ snapshots:
just-diff@6.0.2: {}
+ jwa@1.4.1:
+ dependencies:
+ buffer-equal-constant-time: 1.0.1
+ ecdsa-sig-formatter: 1.0.11
+ safe-buffer: 5.2.1
+
jwa@2.0.0:
dependencies:
buffer-equal-constant-time: 1.0.1
ecdsa-sig-formatter: 1.0.11
safe-buffer: 5.2.1
+ jws@3.2.2:
+ dependencies:
+ jwa: 1.4.1
+ safe-buffer: 5.2.1
+
jws@4.0.0:
dependencies:
jwa: 2.0.0
@@ -25779,24 +26507,48 @@ snapshots:
lodash-es@4.17.21: {}
+ lodash.camelcase@4.3.0: {}
+
lodash.debounce@4.0.8: {}
lodash.deburr@4.1.0: {}
+ lodash.includes@4.3.0: {}
+
+ lodash.isboolean@3.0.3: {}
+
+ lodash.isfunction@3.0.9: {}
+
+ lodash.isinteger@4.0.4: {}
+
lodash.ismatch@4.4.0: {}
+ lodash.isnumber@3.0.3: {}
+
lodash.isplainobject@4.0.6: {}
+ lodash.isstring@4.0.1: {}
+
+ lodash.kebabcase@4.1.1: {}
+
lodash.memoize@4.1.2: {}
lodash.merge@4.6.2: {}
+ lodash.mergewith@4.6.2: {}
+
+ lodash.once@4.1.1: {}
+
lodash.snakecase@4.1.1: {}
lodash.sortby@4.7.0: {}
+ lodash.startcase@4.4.0: {}
+
lodash.uniq@4.5.0: {}
+ lodash.upperfirst@4.3.1: {}
+
lodash@4.17.21: {}
log-symbols@4.1.0:
@@ -26172,6 +26924,8 @@ snapshots:
type-fest: 1.4.0
yargs-parser: 20.2.9
+ meow@12.1.1: {}
+
meow@8.1.2:
dependencies:
'@types/minimist': 1.2.5
@@ -27076,7 +27830,7 @@ snapshots:
'@yarnpkg/parsers': 3.0.2
'@zkochan/js-yaml': 0.0.7
axios: 1.7.7(debug@4.3.7)
- chalk: 4.1.0
+ chalk: 4.1.2
cli-cursor: 3.1.0
cli-spinners: 2.6.1
cliui: 8.0.1
@@ -27279,7 +28033,7 @@ snapshots:
ora@5.3.0:
dependencies:
bl: 4.1.0
- chalk: 4.1.0
+ chalk: 4.1.2
cli-cursor: 3.1.0
cli-spinners: 2.6.1
is-interactive: 1.0.0
@@ -29219,6 +29973,10 @@ snapshots:
resolve-from@5.0.0: {}
+ resolve-global@1.0.0:
+ dependencies:
+ global-dirs: 0.1.1
+
resolve-pathname@3.0.0: {}
resolve.exports@2.0.2: {}
@@ -29448,6 +30206,10 @@ snapshots:
dependencies:
lru-cache: 6.0.0
+ semver@7.6.0:
+ dependencies:
+ lru-cache: 6.0.0
+
semver@7.6.3: {}
send@0.19.0:
@@ -30217,6 +30979,8 @@ snapshots:
text-extensions@1.9.0: {}
+ text-extensions@2.4.0: {}
+
text-table@0.2.0: {}
thenify-all@1.6.0:
@@ -30234,6 +30998,10 @@ snapshots:
readable-stream: 2.3.8
xtend: 4.0.2
+ through2@4.0.2:
+ dependencies:
+ readable-stream: 3.6.2
+
through@2.3.8: {}
thunky@1.1.0: {}
diff --git a/renovate.json b/renovate.json
index 5a0192be083..9fe2feb481f 100644
--- a/renovate.json
+++ b/renovate.json
@@ -1,79 +1,63 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
- "extends": [
- "config:base"
- ],
+ "extends": ["config:base"],
"packageRules": [
- {
- "groupName": "Discord.js ecosystem",
- "matchPackagePatterns": [
- "^@discordjs/",
- "^discord.js"
- ]
- },
- {
- "groupName": "TypeScript and related",
- "matchPackagePatterns": [
- "^@typescript-eslint/",
- "^typescript$",
- "^ts-",
- "^tslib$"
- ]
- },
- {
- "groupName": "Testing frameworks",
- "matchPackagePatterns": [
- "^jest$",
- "^@types/jest$"
- ]
- },
- {
- "groupName": "Rollup and plugins",
- "matchPackagePatterns": [
- "^@rollup/",
- "^rollup"
- ]
- },
- {
- "groupName": "ESLint and formatting",
- "matchPackagePatterns": [
- "^eslint",
- "^prettier"
- ]
- },
- {
- "groupName": "SQLite related",
- "matchPackagePatterns": [
- "sqlite",
- "^@types/better-sqlite3",
- "^@types/sql.js"
- ]
- },
- {
- "groupName": "AI/ML packages",
- "matchPackagePatterns": [
- "^@anthropic-ai/",
- "^@huggingface/",
- "^openai$",
- "^tiktoken$"
- ]
- },
- {
- "groupName": "Audio processing",
- "matchPackagePatterns": [
- "^wav",
- "^@discordjs/opus",
- "^fluent-ffmpeg",
- "^ffmpeg",
- "^@types/wav"
- ]
- },
- {
- "groupName": "Solana packages",
- "matchPackagePatterns": [
- "^@solana/"
- ]
- }
+ {
+ "groupName": "Discord.js ecosystem",
+ "matchPackagePatterns": ["^@discordjs/", "^discord.js"]
+ },
+ {
+ "groupName": "TypeScript and related",
+ "matchPackagePatterns": [
+ "^@typescript-eslint/",
+ "^typescript$",
+ "^ts-",
+ "^tslib$"
+ ]
+ },
+ {
+ "groupName": "Testing frameworks",
+ "matchPackagePatterns": ["^jest$", "^@types/jest$"]
+ },
+ {
+ "groupName": "Rollup and plugins",
+ "matchPackagePatterns": ["^@rollup/", "^rollup"]
+ },
+ {
+ "groupName": "ESLint and formatting",
+ "matchPackagePatterns": ["^eslint", "^prettier"]
+ },
+ {
+ "groupName": "SQLite related",
+ "matchPackagePatterns": [
+ "sqlite",
+ "^@types/better-sqlite3",
+ "^@types/sql.js"
+ ]
+ },
+ {
+ "groupName": "AI/ML packages",
+ "matchPackagePatterns": [
+ "^@anthropic-ai/",
+ "^@huggingface/",
+ "^openai$",
+ "^tiktoken$"
+ ]
+ },
+ {
+ "groupName": "Audio processing",
+ "matchPackagePatterns": [
+ "^wav",
+ "^@discordjs/opus",
+ "^fluent-ffmpeg",
+ "^ffmpeg",
+ "^@types/wav"
+ ]
+ },
+ {
+ "groupName": "Solana packages",
+ "matchPackagePatterns": ["^@solana/"]
+ }
],
"timezone": "UTC",
"schedule": ["every weekend"],
@@ -82,4 +66,4 @@
"rangeStrategy": "pin",
"separateMajorMinor": true,
"dependencyDashboard": true
- }
\ No newline at end of file
+}
diff --git a/scripts/build.sh b/scripts/build.sh
index 1a93101dcc6..9fbbe5f2fb0 100644
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -36,12 +36,13 @@ PACKAGES=(
"plugin-node"
"plugin-bootstrap"
"plugin-image-generation"
+ "plugin-coinbase"
)
# Build packages in specified order
for package in "${PACKAGES[@]}"; do
package_path="packages/$package"
-
+
if [ ! -d "$package_path" ]; then
echo -e "\033[1mPackage directory '$package' not found, skipping...\033[0m"
continue
diff --git a/scripts/clean.sh b/scripts/clean.sh
index dc2eab0446f..3f4333271ac 100644
--- a/scripts/clean.sh
+++ b/scripts/clean.sh
@@ -2,10 +2,10 @@
# Navigate to the script's directory
cd "$(dirname "$0")"/..
-
+echo "Cleanup started."
# Find and remove node_modules directories, dist directories, and pnpm-lock.yaml files
find . -type d -name "node_modules" -exec rm -rf {} + \
-o -type d -name "dist" -exec rm -rf {} + \
-o -type f -name "pnpm-lock.yaml" -exec rm -f {} +
-echo "Cleanup completed."
\ No newline at end of file
+echo "Cleanup completed."
diff --git a/scripts/lint.sh b/scripts/lint.sh
new file mode 100644
index 00000000000..98e28991fa3
--- /dev/null
+++ b/scripts/lint.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# Check Node.js version
+REQUIRED_NODE_VERSION=22
+CURRENT_NODE_VERSION=$(node -v | cut -d'.' -f1 | sed 's/v//')
+
+if (( CURRENT_NODE_VERSION < REQUIRED_NODE_VERSION )); then
+ echo "Error: Node.js version must be $REQUIRED_NODE_VERSION or higher. Current version is $CURRENT_NODE_VERSION."
+ exit 1
+fi
+
+# Navigate to the script's directory
+cd "$(dirname "$0")"/..
+
+# Check if the packages directory exists
+if [ ! -d "packages" ]; then
+ echo "Error: 'packages' directory not found."
+ exit 1
+fi
+
+# Find all packages under the packages directory
+PACKAGES=( $(find packages -mindepth 1 -maxdepth 1 -type d -exec basename {} \;) )
+
+# lint packages in specified order
+for package in "${PACKAGES[@]}"; do
+ package_path="packages/$package"
+
+ if [ ! -d "$package_path" ]; then
+ echo -e "\033[1mPackage directory '$package' not found, skipping...\033[0m"
+ continue
+ fi
+
+ echo -e "\033[1mLinting package: $package\033[0m"
+ cd "$package_path" || continue
+
+ if [ -f "package.json" ]; then
+ # Run lint if available
+ if npm run | grep -q " lint"; then
+ echo -e "\033[1mRunning lint for package: $package\033[0m"
+ if npm run lint; then
+ echo -e "\033[1;32mSuccessfully linted $package\033[0m\n"
+ else
+ echo -e "\033[1;31mLint failed for $package\033[0m"
+ exit 1 # Exit immediately if lint fails
+ fi
+ else
+ echo "No lint script found in $package, skipping lint..."
+ fi
+ else
+ echo "No package.json found in $package, skipping..."
+ fi
+
+ cd - > /dev/null || exit
+done
+
+echo -e "\033[1mLint process completed.😎\033[0m"