diff --git a/.env.example b/.env.example index dc721e933f..aa9256ffd3 100644 --- a/.env.example +++ b/.env.example @@ -20,6 +20,7 @@ IMAGE_OPENAI_MODEL= # Default: dall-e-3 ETERNALAI_URL= ETERNALAI_MODEL= # Default: "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16" ETERNALAI_API_KEY= +ETERNAL_AI_LOG_REQUEST=false #Default: false GROK_API_KEY= # GROK API Key GROQ_API_KEY= # Starts with gsk_ @@ -368,3 +369,7 @@ CRONOSZKEVM_PRIVATE_KEY= # Fuel Ecosystem (FuelVM) FUEL_WALLET_PRIVATE_KEY= + +# Tokenizer Settings +TOKENIZER_MODEL= # Specify the tokenizer model to be used. +TOKENIZER_TYPE= # Options: tiktoken (for OpenAI models) or auto (AutoTokenizer from Hugging Face for non-OpenAI models). Default: tiktoken. diff --git a/.github/workflows/jsdoc-automation.yml b/.github/workflows/jsdoc-automation.yml index d487b08fe4..3ac3615c04 100644 --- a/.github/workflows/jsdoc-automation.yml +++ b/.github/workflows/jsdoc-automation.yml @@ -3,14 +3,24 @@ name: JSDoc Automation on: workflow_dispatch: inputs: + jsdoc: + description: 'Generate JSDoc comments (T/F)' + required: true + default: 'T' + type: string + readme: + description: 'Generate README documentation (T/F)' + required: true + default: 'T' + type: string pull_number: - description: 'Pull Request Number (if not provided, scans root_directory) - PR must be merged to develop branch' + description: 'Pull Request Number (if not provided, scans root_directory) - PR must be merged to develop branch. DONT provide if `README documentation` is T from above' required: false type: string root_directory: description: 'Only scans files in this directory (relative to repository root, e.g., packages/core/src)' required: true - default: 'packages/core/src/test_resources' + default: 'packages/plugin-near/' type: string excluded_directories: description: 'Directories to exclude from scanning (comma-separated, relative to root_directory)' @@ -18,7 +28,7 @@ on: default: 'node_modules,dist,test' type: string reviewers: - description: 'Pull Request Reviewers (comma-separated GitHub usernames)' + description: 'Pull Request Reviewers (Must be collaborator on the repository) comma-separated GitHub usernames' required: true default: '' type: string @@ -27,6 +37,11 @@ on: required: false default: 'develop' type: string + language: + description: 'Documentation language (e.g., English, Spanish, French)' + required: true + default: 'English' + type: string jobs: generate-docs: @@ -45,7 +60,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '23' + node-version: '20' - name: Install pnpm uses: pnpm/action-setup@v2 @@ -71,17 +86,19 @@ jobs: working-directory: scripts/jsdoc-automation run: pnpm install --no-frozen-lockfile + - name: Build TypeScript + working-directory: scripts/jsdoc-automation + run: pnpm build + - name: Run documentation generator working-directory: scripts/jsdoc-automation - run: | - echo "Node version: $(node --version)" - echo "NPM version: $(npm --version)" - echo "Directory contents:" - ls -la - NODE_OPTIONS='--experimental-vm-modules --no-warnings' pnpm start + run: pnpm start env: INPUT_ROOT_DIRECTORY: ${{ inputs.root_directory }} INPUT_PULL_NUMBER: ${{ inputs.pull_number }} INPUT_EXCLUDED_DIRECTORIES: ${{ inputs.excluded_directories }} INPUT_REVIEWERS: ${{ inputs.reviewers }} - INPUT_BRANCH: ${{ inputs.branch }} \ No newline at end of file + INPUT_BRANCH: ${{ inputs.branch }} + INPUT_LANGUAGE: ${{ inputs.language }} + INPUT_JSDOC: ${{ inputs.jsdoc }} + INPUT_README: ${{ inputs.readme }} diff --git a/Dockerfile.docs b/Dockerfile.docs new file mode 100644 index 0000000000..ae2ea6bf14 --- /dev/null +++ b/Dockerfile.docs @@ -0,0 +1,58 @@ +# syntax=docker/dockerfile:1 + +## Modified version of https://docusaurus.community/knowledge/deployment/docker/ + +# Stage 1: Base image. +## Start with a base image containing NodeJS so we can build Docusaurus. +FROM node:23.3.0-slim AS base +## Disable colour output from yarn to make logs easier to read. + +## https://pnpm.io/docker +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" + +ENV FORCE_COLOR=0 +## Enable corepack. +RUN corepack enable +## Set the working directory to `/opt/docusaurus`. +WORKDIR /opt/docusaurus + +## Required by docusaurus: [ERROR] Loading of version failed for version current +RUN apt-get update && apt-get install -y git + +FROM base AS dev +## Set the working directory to `/opt/docusaurus`. +WORKDIR /opt/docusaurus +## Expose the port that Docusaurus will run on. +EXPOSE 3000 +## Run the development server. +CMD [ -d "node_modules" ] && npm run start -- --host 0.0.0.0 --poll 1000 || pnpm install && pnpm run start -- --host 0.0.0.0 --poll 1000 + +# Stage 2b: Production build mode. +FROM base AS prod +## Set the working directory to `/opt/docusaurus`. +WORKDIR /opt/docusaurus + +COPY docs/package.json /opt/docusaurus/package.json +COPY docs/package-lock.json /opt/docusaurus/package-lock.json + +## Install dependencies with `--immutable` to ensure reproducibility. +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install + +## Copy over the source code. +COPY docs/ /opt/docusaurus/ +COPY packages/ /opt/packages/ + +## Required buy docusaurus [ERROR] Loading of version failed for version current +COPY .git/ /opt/.git/ + +# Build from sources +RUN pnpm run build + +# Stage 3a: Serve with `docusaurus serve`. +FROM prod AS serve +## Expose the port that Docusaurus will run on. +EXPOSE 3000 +## Run the production server. +CMD ["npm", "run", "serve", "--", "--host", "0.0.0.0", "--no-open"] + diff --git a/client/src/Chat.tsx b/client/src/Chat.tsx index f9538d1323..c699692ddc 100644 --- a/client/src/Chat.tsx +++ b/client/src/Chat.tsx @@ -92,8 +92,8 @@ export default function Chat() { : "justify-start" }`} > -
) ))} -
+ )) ) : ( diff --git a/client/vite.config.ts b/client/vite.config.ts index 32d1e1b9fd..1cf014840e 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -27,9 +27,10 @@ export default defineConfig({ }, }, server: { + host: true, proxy: { "/api": { - target: `http://localhost:${process.env.SERVER_PORT || 3000}`, + target: `http://127.0.0.1:${process.env.SERVER_PORT || 3000}`, changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ""), }, diff --git a/docker-compose-docs.yaml b/docker-compose-docs.yaml new file mode 100644 index 0000000000..5103dea5dc --- /dev/null +++ b/docker-compose-docs.yaml @@ -0,0 +1,9 @@ +services: + docs: + build: + dockerfile: Dockerfile.docs + context: . + target: serve + ports: + - 3000:3000 + diff --git a/docs/README.md b/docs/README.md index 5e4da17b9a..3b1791b826 100644 --- a/docs/README.md +++ b/docs/README.md @@ -179,3 +179,13 @@ Tests are written using Jest and can be found in `src/**/*.test.ts` files. The t - Run tests in sequence (--runInBand) To create new tests, add a `.test.ts` file adjacent to the code you're testing. + +## Docs Updates + +Please make sure to vetify if the documentation provided is correct. In order to do so, please run the docs service. + +```console +docker compose -f docker-compose-docs.yaml up --build +``` + +The docusaurus server will get started and you can verify it locally at https://localhost:3000/eliza. diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md index 8e13cf7062..50e01a8419 100644 --- a/docs/docs/packages/plugins.md +++ b/docs/docs/packages/plugins.md @@ -610,12 +610,12 @@ The Fuel plugin provides an interface to the Fuel Ignition blockchain. **Actions:** 1. `TRANSFER_FUEL_ETH` - Transfer ETH to a given Fuel address. - **Inputs**: - `toAddress` (string): The Fuel address to transfer ETH to. - `amount` (string): The amount of ETH to transfer. - **Outputs**: Confirmation message with transaction details. - **Example**: - `json -{ + ```json + { "toAddress": "0x8F8afB12402C9a4bD9678Bec363E51360142f8443FB171655eEd55dB298828D1", "amount": "0.00001" -} -` + } + ``` **Setup and Configuration:** 1. **Configure the Plugin** diff --git a/docs/package.json b/docs/package.json index 4956c66cf9..3cd7c59c18 100644 --- a/docs/package.json +++ b/docs/package.json @@ -2,6 +2,7 @@ "name": "eliza-docs", "version": "0.1.7-alpha.2", "private": true, + "packageManager": "pnpm@9.4.0", "scripts": { "docusaurus": "docusaurus", "start": "docusaurus start --no-open", @@ -21,9 +22,11 @@ "@docusaurus/plugin-ideal-image": "3.6.3", "@docusaurus/preset-classic": "3.6.3", "@docusaurus/theme-mermaid": "3.6.3", + "@docusaurus/theme-common": "3.6.3", "@mdx-js/react": "3.0.1", "clsx": "2.1.1", "docusaurus-lunr-search": "3.5.0", + "lunr": "2.3.9", "dotenv": "^16.4.7", "prism-react-renderer": "2.3.1", "react": "18.3.1", diff --git a/packages/adapter-postgres/package.json b/packages/adapter-postgres/package.json index 75c5a929a6..c475357bdd 100644 --- a/packages/adapter-postgres/package.json +++ b/packages/adapter-postgres/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/adapter-postgres", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@types/pg": "8.11.10", diff --git a/packages/adapter-redis/package.json b/packages/adapter-redis/package.json index 7c72b6380e..0c07d20858 100644 --- a/packages/adapter-redis/package.json +++ b/packages/adapter-redis/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/adapter-redis", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "ioredis": "5.4.2" diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json index 5189a30740..c129476e69 100644 --- a/packages/adapter-sqlite/package.json +++ b/packages/adapter-sqlite/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/adapter-sqlite", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@types/better-sqlite3": "7.6.12", diff --git a/packages/adapter-sqljs/package.json b/packages/adapter-sqljs/package.json index 144dc16f90..e7cc40f221 100644 --- a/packages/adapter-sqljs/package.json +++ b/packages/adapter-sqljs/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/adapter-sqljs", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@types/sql.js": "1.4.9", diff --git a/packages/adapter-supabase/package.json b/packages/adapter-supabase/package.json index 158998e555..d5265c32c0 100644 --- a/packages/adapter-supabase/package.json +++ b/packages/adapter-supabase/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/adapter-supabase", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@supabase/supabase-js": "2.46.2" diff --git a/packages/client-auto/package.json b/packages/client-auto/package.json index 637d85f86d..3802a33d3a 100644 --- a/packages/client-auto/package.json +++ b/packages/client-auto/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-auto", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@types/body-parser": "1.19.5", diff --git a/packages/client-direct/package.json b/packages/client-direct/package.json index 69eb47e656..58fc4ea7cf 100644 --- a/packages/client-direct/package.json +++ b/packages/client-direct/package.json @@ -2,8 +2,22 @@ "name": "@elizaos/client-direct", "version": "0.1.7-alpha.2", "main": "dist/index.js", + "module": "dist/index.js", "type": "module", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-image-generation": "workspace:*", diff --git a/packages/client-discord/package.json b/packages/client-discord/package.json index f7e08d93e5..3a16500026 100644 --- a/packages/client-discord/package.json +++ b/packages/client-discord/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-discord", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-node": "workspace:*", diff --git a/packages/client-discord/src/actions/chat_with_attachments.ts b/packages/client-discord/src/actions/chat_with_attachments.ts index 61163651d9..67e0cc682d 100644 --- a/packages/client-discord/src/actions/chat_with_attachments.ts +++ b/packages/client-discord/src/actions/chat_with_attachments.ts @@ -1,6 +1,5 @@ import { composeContext } from "@elizaos/core"; import { generateText, trimTokens } from "@elizaos/core"; -import type { TiktokenModel } from "js-tiktoken"; import { models } from "@elizaos/core"; import { parseJSONObjectFromText } from "@elizaos/core"; import { @@ -191,17 +190,16 @@ const summarizeAction = { state.attachmentsWithText = attachmentsWithText; state.objective = objective; - + const template = await trimTokens( + summarizationTemplate, + chunkSize + 500, + runtime + ); const context = composeContext({ state, // make sure it fits, we can pad the tokens a bit // Get the model's tokenizer based on the current model being used - template: trimTokens( - summarizationTemplate, - chunkSize + 500, - (model.model[ModelClass.SMALL] || - "gpt-4o-mini") as TiktokenModel // Use the same model as generation; Fallback if no SMALL model configured - ), + template, }); const summary = await generateText({ diff --git a/packages/client-discord/src/actions/summarize_conversation.ts b/packages/client-discord/src/actions/summarize_conversation.ts index 4a45673d78..d9c9be6f42 100644 --- a/packages/client-discord/src/actions/summarize_conversation.ts +++ b/packages/client-discord/src/actions/summarize_conversation.ts @@ -261,14 +261,15 @@ const summarizeAction = { const chunk = chunks[i]; state.currentSummary = currentSummary; state.currentChunk = chunk; + const template = await trimTokens( + summarizationTemplate, + chunkSize + 500, + runtime + ); const context = composeContext({ state, // make sure it fits, we can pad the tokens a bit - template: trimTokens( - summarizationTemplate, - chunkSize + 500, - "gpt-4o-mini" - ), + template, }); const summary = await generateText({ diff --git a/packages/client-discord/src/attachments.ts b/packages/client-discord/src/attachments.ts index 60a44cab2c..4c8ba7903e 100644 --- a/packages/client-discord/src/attachments.ts +++ b/packages/client-discord/src/attachments.ts @@ -19,7 +19,7 @@ async function generateSummary( text: string ): Promise<{ title: string; description: string }> { // make sure text is under 128k characters - text = trimTokens(text, 100000, "gpt-4o-mini"); // TODO: clean this up + text = await trimTokens(text, 100000, runtime); const prompt = `Please generate a concise summary for the following text: diff --git a/packages/client-discord/src/utils.ts b/packages/client-discord/src/utils.ts index fad596b3c5..40f08a392a 100644 --- a/packages/client-discord/src/utils.ts +++ b/packages/client-discord/src/utils.ts @@ -47,7 +47,7 @@ export async function generateSummary( text: string ): Promise<{ title: string; description: string }> { // make sure text is under 128k characters - text = trimTokens(text, 100000, "gpt-4o-mini"); // TODO: clean this up + text = await trimTokens(text, 100000, runtime); const prompt = `Please generate a concise summary for the following text: diff --git a/packages/client-farcaster/package.json b/packages/client-farcaster/package.json index 9fdd14a988..b9a51a482e 100644 --- a/packages/client-farcaster/package.json +++ b/packages/client-farcaster/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-farcaster", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@neynar/nodejs-sdk": "^2.0.3" diff --git a/packages/client-github/package.json b/packages/client-github/package.json index d638f8453c..4e8b8c1982 100644 --- a/packages/client-github/package.json +++ b/packages/client-github/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-github", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@octokit/rest": "20.1.1", diff --git a/packages/client-lens/package.json b/packages/client-lens/package.json index 24fcb4e26d..1e27691d8c 100644 --- a/packages/client-lens/package.json +++ b/packages/client-lens/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-lens", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@lens-protocol/client": "2.2.0", diff --git a/packages/client-slack/package.json b/packages/client-slack/package.json index 439dee852e..fa2ad98263 100644 --- a/packages/client-slack/package.json +++ b/packages/client-slack/package.json @@ -2,9 +2,23 @@ "name": "@elizaos/client-slack", "version": "0.1.7-alpha.2", "description": "Slack client plugin for Eliza framework", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "scripts": { "build": "tsup src/index.ts --format esm --dts", "test": "jest", diff --git a/packages/client-slack/src/actions/chat_with_attachments.ts b/packages/client-slack/src/actions/chat_with_attachments.ts index dd74af905a..169add1222 100644 --- a/packages/client-slack/src/actions/chat_with_attachments.ts +++ b/packages/client-slack/src/actions/chat_with_attachments.ts @@ -200,13 +200,14 @@ const summarizeAction: Action = { currentState.attachmentsWithText = attachmentsWithText; currentState.objective = objective; + const template = await trimTokens( + summarizationTemplate, + chunkSize + 500, + runtime + ); const context = composeContext({ state: currentState, - template: trimTokens( - summarizationTemplate, - chunkSize + 500, - "gpt-4o-mini" - ), + template, }); const summary = await generateText({ diff --git a/packages/client-slack/src/actions/summarize_conversation.ts b/packages/client-slack/src/actions/summarize_conversation.ts index 880c6ab0af..ec98e1f10d 100644 --- a/packages/client-slack/src/actions/summarize_conversation.ts +++ b/packages/client-slack/src/actions/summarize_conversation.ts @@ -279,13 +279,15 @@ const summarizeAction: Action = { currentState.currentSummary = currentSummary; currentState.currentChunk = chunk; + const template = await trimTokens( + summarizationTemplate, + chunkSize + 500, + runtime + ); + const context = composeContext({ state: currentState, - template: trimTokens( - summarizationTemplate, - chunkSize + 500, - "gpt-4o-mini" - ), + template, }); const summary = await generateText({ diff --git a/packages/client-slack/src/attachments.ts b/packages/client-slack/src/attachments.ts index 79f8bcfe24..225ece61d4 100644 --- a/packages/client-slack/src/attachments.ts +++ b/packages/client-slack/src/attachments.ts @@ -21,7 +21,7 @@ async function generateSummary( runtime: IAgentRuntime, text: string ): Promise<{ title: string; description: string }> { - text = trimTokens(text, 100000, "gpt-4o-mini"); + text = await trimTokens(text, 100000, runtime); const prompt = `Please generate a concise summary for the following text: diff --git a/packages/client-telegram/package.json b/packages/client-telegram/package.json index f7821e8205..e8b29f4a25 100644 --- a/packages/client-telegram/package.json +++ b/packages/client-telegram/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-telegram", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@telegraf/types": "7.1.0", diff --git a/packages/client-twitter/package.json b/packages/client-twitter/package.json index 5a255a78ed..acd40ea11f 100644 --- a/packages/client-twitter/package.json +++ b/packages/client-twitter/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/client-twitter", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "agent-twitter-client": "0.0.18", diff --git a/packages/client-twitter/src/plugins/SttTtsSpacesPlugin.ts b/packages/client-twitter/src/plugins/SttTtsSpacesPlugin.ts index 8343dac5b1..c3da82b0a8 100644 --- a/packages/client-twitter/src/plugins/SttTtsSpacesPlugin.ts +++ b/packages/client-twitter/src/plugins/SttTtsSpacesPlugin.ts @@ -1,8 +1,8 @@ // src/plugins/SttTtsPlugin.ts -import { spawn } from 'child_process'; -import { ITranscriptionService } from '@elizaos/core'; -import { Space, JanusClient, AudioDataWithUser } from 'agent-twitter-client'; +import { spawn } from "child_process"; +import { ITranscriptionService } from "@elizaos/core"; +import { Space, JanusClient, AudioDataWithUser } from "agent-twitter-client"; interface PluginConfig { openAiApiKey?: string; // for STT & ChatGPT @@ -14,7 +14,7 @@ interface PluginConfig { elevenLabsModel?: string; // e.g. "eleven_monolingual_v1" systemPrompt?: string; // ex. "You are a helpful AI assistant" chatContext?: Array<{ - role: 'system' | 'user' | 'assistant'; + role: "system" | "user" | "assistant"; content: string; }>; transcriptionService: ITranscriptionService; @@ -33,12 +33,12 @@ export class SttTtsPlugin implements Plugin { private openAiApiKey?: string; private elevenLabsApiKey?: string; - private gptModel = 'gpt-3.5-turbo'; - private voiceId = '21m00Tcm4TlvDq8ikWAM'; - private elevenLabsModel = 'eleven_monolingual_v1'; - private systemPrompt = 'You are a helpful AI assistant.'; + private gptModel = "gpt-3.5-turbo"; + private voiceId = "21m00Tcm4TlvDq8ikWAM"; + private elevenLabsModel = "eleven_monolingual_v1"; + private systemPrompt = "You are a helpful AI assistant."; private chatContext: Array<{ - role: 'system' | 'user' | 'assistant'; + role: "system" | "user" | "assistant"; content: string; }> = []; @@ -63,24 +63,26 @@ export class SttTtsPlugin implements Plugin { private ttsQueue: string[] = []; private isSpeaking = false; - onAttach(space: Space) { - console.log('[SttTtsPlugin] onAttach => space was attached'); + onAttach(_space: Space) { + console.log("[SttTtsPlugin] onAttach => space was attached"); } init(params: { space: Space; pluginConfig?: Record }): void { console.log( - '[SttTtsPlugin] init => Space fully ready. Subscribing to events.', + "[SttTtsPlugin] init => Space fully ready. Subscribing to events." ); this.space = params.space; - this.janus = (this.space as any)?.janusClient as JanusClient | undefined; + this.janus = (this.space as any)?.janusClient as + | JanusClient + | undefined; const config = params.pluginConfig as PluginConfig; this.openAiApiKey = config?.openAiApiKey; this.elevenLabsApiKey = config?.elevenLabsApiKey; this.transcriptionService = config.transcriptionService; if (config?.gptModel) this.gptModel = config.gptModel; - if (typeof config?.silenceThreshold === 'number') { + if (typeof config?.silenceThreshold === "number") { this.silenceThreshold = config.silenceThreshold; } if (config?.voiceId) { @@ -95,16 +97,16 @@ export class SttTtsPlugin implements Plugin { if (config?.chatContext) { this.chatContext = config.chatContext; } - console.log('[SttTtsPlugin] Plugin config =>', config); + console.log("[SttTtsPlugin] Plugin config =>", config); // Listen for mute events this.space.on( - 'muteStateChanged', + "muteStateChanged", (evt: { userId: string; muted: boolean }) => { - console.log('[SttTtsPlugin] Speaker muteStateChanged =>', evt); + console.log("[SttTtsPlugin] Speaker muteStateChanged =>", evt); if (evt.muted) { this.handleMute(evt.userId).catch((err) => - console.error('[SttTtsPlugin] handleMute error =>', err), + console.error("[SttTtsPlugin] handleMute error =>", err) ); } else { this.speakerUnmuted.set(evt.userId, true); @@ -112,7 +114,7 @@ export class SttTtsPlugin implements Plugin { this.pcmBuffers.set(evt.userId, []); } } - }, + } ); } @@ -157,22 +159,22 @@ export class SttTtsPlugin implements Plugin { const view = new DataView(buffer); // RIFF chunk descriptor - this.writeString(view, 0, 'RIFF'); + this.writeString(view, 0, "RIFF"); view.setUint32(4, 36 + dataSize, true); // file size - 8 - this.writeString(view, 8, 'WAVE'); + this.writeString(view, 8, "WAVE"); // fmt sub-chunk - this.writeString(view, 12, 'fmt '); - view.setUint32(16, 16, true); // Subchunk1Size (16 for PCM) - view.setUint16(20, 1, true); // AudioFormat (1 = PCM) + this.writeString(view, 12, "fmt "); + view.setUint32(16, 16, true); // Subchunk1Size (16 for PCM) + view.setUint16(20, 1, true); // AudioFormat (1 = PCM) view.setUint16(22, numChannels, true); // NumChannels - view.setUint32(24, sampleRate, true); // SampleRate - view.setUint32(28, byteRate, true); // ByteRate - view.setUint16(32, blockAlign, true); // BlockAlign - view.setUint16(34, 16, true); // BitsPerSample (16) + view.setUint32(24, sampleRate, true); // SampleRate + view.setUint32(28, byteRate, true); // ByteRate + view.setUint16(32, blockAlign, true); // BlockAlign + view.setUint16(34, 16, true); // BitsPerSample (16) // data sub-chunk - this.writeString(view, 36, 'data'); + this.writeString(view, 36, "data"); view.setUint32(40, dataSize, true); // Write PCM samples @@ -199,11 +201,11 @@ export class SttTtsPlugin implements Plugin { this.pcmBuffers.set(userId, []); if (!chunks.length) { - console.log('[SttTtsPlugin] No audio chunks for user =>', userId); + console.log("[SttTtsPlugin] No audio chunks for user =>", userId); return; } console.log( - `[SttTtsPlugin] Flushing STT buffer for user=${userId}, chunks=${chunks.length}`, + `[SttTtsPlugin] Flushing STT buffer for user=${userId}, chunks=${chunks.length}` ); const totalLen = chunks.reduce((acc, c) => acc + c.length, 0); @@ -221,14 +223,19 @@ export class SttTtsPlugin implements Plugin { const sttText = await this.transcriptionService.transcribe(wavBuffer); if (!sttText || !sttText.trim()) { - console.log('[SttTtsPlugin] No speech recognized for user =>', userId); + console.log( + "[SttTtsPlugin] No speech recognized for user =>", + userId + ); return; } console.log(`[SttTtsPlugin] STT => user=${userId}, text="${sttText}"`); // GPT answer const replyText = await this.askChatGPT(sttText); - console.log(`[SttTtsPlugin] GPT => user=${userId}, reply="${replyText}"`); + console.log( + `[SttTtsPlugin] GPT => user=${userId}, reply="${replyText}"` + ); // Use the standard speak method with queue await this.speakText(replyText); @@ -242,7 +249,7 @@ export class SttTtsPlugin implements Plugin { if (!this.isSpeaking) { this.isSpeaking = true; this.processTtsQueue().catch((err) => { - console.error('[SttTtsPlugin] processTtsQueue error =>', err); + console.error("[SttTtsPlugin] processTtsQueue error =>", err); }); } } @@ -260,7 +267,7 @@ export class SttTtsPlugin implements Plugin { const pcm = await this.convertMp3ToPcm(ttsAudio, 48000); await this.streamToJanus(pcm, 48000); } catch (err) { - console.error('[SttTtsPlugin] TTS streaming error =>', err); + console.error("[SttTtsPlugin] TTS streaming error =>", err); } } this.isSpeaking = false; @@ -271,20 +278,20 @@ export class SttTtsPlugin implements Plugin { */ private async askChatGPT(userText: string): Promise { if (!this.openAiApiKey) { - throw new Error('[SttTtsPlugin] No OpenAI API key for ChatGPT'); + throw new Error("[SttTtsPlugin] No OpenAI API key for ChatGPT"); } - const url = 'https://api.openai.com/v1/chat/completions'; + const url = "https://api.openai.com/v1/chat/completions"; const messages = [ - { role: 'system', content: this.systemPrompt }, + { role: "system", content: this.systemPrompt }, ...this.chatContext, - { role: 'user', content: userText }, + { role: "user", content: userText }, ]; const resp = await fetch(url, { - method: 'POST', + method: "POST", headers: { Authorization: `Bearer ${this.openAiApiKey}`, - 'Content-Type': 'application/json', + "Content-Type": "application/json", }, body: JSON.stringify({ model: this.gptModel, @@ -295,14 +302,14 @@ export class SttTtsPlugin implements Plugin { if (!resp.ok) { const errText = await resp.text(); throw new Error( - `[SttTtsPlugin] ChatGPT error => ${resp.status} ${errText}`, + `[SttTtsPlugin] ChatGPT error => ${resp.status} ${errText}` ); } const json = await resp.json(); - const reply = json.choices?.[0]?.message?.content || ''; - this.chatContext.push({ role: 'user', content: userText }); - this.chatContext.push({ role: 'assistant', content: reply }); + const reply = json.choices?.[0]?.message?.content || ""; + this.chatContext.push({ role: "user", content: userText }); + this.chatContext.push({ role: "assistant", content: reply }); return reply.trim(); } @@ -311,14 +318,14 @@ export class SttTtsPlugin implements Plugin { */ private async elevenLabsTts(text: string): Promise { if (!this.elevenLabsApiKey) { - throw new Error('[SttTtsPlugin] No ElevenLabs API key'); + throw new Error("[SttTtsPlugin] No ElevenLabs API key"); } const url = `https://api.elevenlabs.io/v1/text-to-speech/${this.voiceId}`; const resp = await fetch(url, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'application/json', - 'xi-api-key': this.elevenLabsApiKey, + "Content-Type": "application/json", + "xi-api-key": this.elevenLabsApiKey, }, body: JSON.stringify({ text, @@ -329,7 +336,7 @@ export class SttTtsPlugin implements Plugin { if (!resp.ok) { const errText = await resp.text(); throw new Error( - `[SttTtsPlugin] ElevenLabs TTS error => ${resp.status} ${errText}`, + `[SttTtsPlugin] ElevenLabs TTS error => ${resp.status} ${errText}` ); } const arrayBuf = await resp.arrayBuffer(); @@ -341,29 +348,29 @@ export class SttTtsPlugin implements Plugin { */ private convertMp3ToPcm( mp3Buf: Buffer, - outRate: number, + outRate: number ): Promise { return new Promise((resolve, reject) => { - const ff = spawn('ffmpeg', [ - '-i', - 'pipe:0', - '-f', - 's16le', - '-ar', + const ff = spawn("ffmpeg", [ + "-i", + "pipe:0", + "-f", + "s16le", + "-ar", outRate.toString(), - '-ac', - '1', - 'pipe:1', + "-ac", + "1", + "pipe:1", ]); let raw = Buffer.alloc(0); - ff.stdout.on('data', (chunk: Buffer) => { + ff.stdout.on("data", (chunk: Buffer) => { raw = Buffer.concat([raw, chunk]); }); - ff.stderr.on('data', () => { + ff.stderr.on("data", () => { // ignoring ffmpeg logs }); - ff.on('close', (code) => { + ff.on("close", (code) => { if (code !== 0) { reject(new Error(`ffmpeg error code=${code}`)); return; @@ -371,7 +378,7 @@ export class SttTtsPlugin implements Plugin { const samples = new Int16Array( raw.buffer, raw.byteOffset, - raw.byteLength / 2, + raw.byteLength / 2 ); resolve(samples); }); @@ -387,7 +394,7 @@ export class SttTtsPlugin implements Plugin { */ private async streamToJanus( samples: Int16Array, - sampleRate: number, + sampleRate: number ): Promise { // TODO: Check if better than 480 fixed const FRAME_SIZE = Math.floor(sampleRate * 0.01); // 10ms frames => 480 @48kHz @@ -408,7 +415,7 @@ export class SttTtsPlugin implements Plugin { public setSystemPrompt(prompt: string) { this.systemPrompt = prompt; - console.log('[SttTtsPlugin] setSystemPrompt =>', prompt); + console.log("[SttTtsPlugin] setSystemPrompt =>", prompt); } /** @@ -416,17 +423,17 @@ export class SttTtsPlugin implements Plugin { */ public setGptModel(model: string) { this.gptModel = model; - console.log('[SttTtsPlugin] setGptModel =>', model); + console.log("[SttTtsPlugin] setGptModel =>", model); } /** * Add a message (system, user or assistant) to the chat context. * E.g. to store conversation history or inject a persona. */ - public addMessage(role: 'system' | 'user' | 'assistant', content: string) { + public addMessage(role: "system" | "user" | "assistant", content: string) { this.chatContext.push({ role, content }); console.log( - `[SttTtsPlugin] addMessage => role=${role}, content=${content}`, + `[SttTtsPlugin] addMessage => role=${role}, content=${content}` ); } @@ -435,11 +442,11 @@ export class SttTtsPlugin implements Plugin { */ public clearChatContext() { this.chatContext = []; - console.log('[SttTtsPlugin] clearChatContext => done'); + console.log("[SttTtsPlugin] clearChatContext => done"); } cleanup(): void { - console.log('[SttTtsPlugin] cleanup => releasing resources'); + console.log("[SttTtsPlugin] cleanup => releasing resources"); this.pcmBuffers.clear(); this.speakerUnmuted.clear(); this.ttsQueue = []; diff --git a/packages/core/package.json b/packages/core/package.json index 94c67af288..373a52b89d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -2,9 +2,23 @@ "name": "@elizaos/core", "version": "0.1.7-alpha.2", "description": "", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "scripts": { "build": "tsup --format esm --dts", "lint": "eslint --fix --cache .", diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index 266a609c76..5db5b8e70a 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -14,6 +14,7 @@ import { Buffer } from "buffer"; import { createOllama } from "ollama-ai-provider"; import OpenAI from "openai"; import { encodingForModel, TiktokenModel } from "js-tiktoken"; +import { AutoTokenizer } from "@huggingface/transformers"; import Together from "together-ai"; import { ZodSchema } from "zod"; import { elizaLogger } from "./index.ts"; @@ -37,6 +38,7 @@ import { SearchResponse, ActionResponse, TelemetrySettings, + TokenizerType, } from "./types.ts"; import { fal } from "@fal-ai/client"; import { tavily } from "@tavily/core"; @@ -44,6 +46,114 @@ import { tavily } from "@tavily/core"; type Tool = CoreTool; type StepResult = AIStepResult; +/** + * Trims the provided text context to a specified token limit using a tokenizer model and type. + * + * The function dynamically determines the truncation method based on the tokenizer settings + * provided by the runtime. If no tokenizer settings are defined, it defaults to using the + * TikToken truncation method with the "gpt-4o" model. + * + * @async + * @function trimTokens + * @param {string} context - The text to be tokenized and trimmed. + * @param {number} maxTokens - The maximum number of tokens allowed after truncation. + * @param {IAgentRuntime} runtime - The runtime interface providing tokenizer settings. + * + * @returns {Promise} A promise that resolves to the trimmed text. + * + * @throws {Error} Throws an error if the runtime settings are invalid or missing required fields. + * + * @example + * const trimmedText = await trimTokens("This is an example text", 50, runtime); + * console.log(trimmedText); // Output will be a truncated version of the input text. + */ +export async function trimTokens( + context: string, + maxTokens: number, + runtime: IAgentRuntime +) { + if (!context) return ""; + if (maxTokens <= 0) throw new Error("maxTokens must be positive"); + + const tokenizerModel = runtime.getSetting("TOKENIZER_MODEL"); + const tokenizerType = runtime.getSetting("TOKENIZER_TYPE"); + + if (!tokenizerModel || !tokenizerType) { + // Default to TikToken truncation using the "gpt-4o" model if tokenizer settings are not defined + return truncateTiktoken("gpt-4o", context, maxTokens); + } + + // Choose the truncation method based on tokenizer type + if (tokenizerType === TokenizerType.Auto) { + return truncateAuto(tokenizerModel, context, maxTokens); + } + + if (tokenizerType === TokenizerType.TikToken) { + return truncateTiktoken( + tokenizerModel as TiktokenModel, + context, + maxTokens + ); + } + + elizaLogger.warn(`Unsupported tokenizer type: ${tokenizerType}`); + return truncateTiktoken("gpt-4o", context, maxTokens); +} + +async function truncateAuto( + modelPath: string, + context: string, + maxTokens: number +) { + try { + const tokenizer = await AutoTokenizer.from_pretrained(modelPath); + const tokens = tokenizer.encode(context); + + // If already within limits, return unchanged + if (tokens.length <= maxTokens) { + return context; + } + + // Keep the most recent tokens by slicing from the end + const truncatedTokens = tokens.slice(-maxTokens); + + // Decode back to text - js-tiktoken decode() returns a string directly + return tokenizer.decode(truncatedTokens); + } catch (error) { + elizaLogger.error("Error in trimTokens:", error); + // Return truncated string if tokenization fails + return context.slice(-maxTokens * 4); // Rough estimate of 4 chars per token + } +} + +async function truncateTiktoken( + model: TiktokenModel, + context: string, + maxTokens: number +) { + try { + const encoding = encodingForModel(model); + + // Encode the text into tokens + const tokens = encoding.encode(context); + + // If already within limits, return unchanged + if (tokens.length <= maxTokens) { + return context; + } + + // Keep the most recent tokens by slicing from the end + const truncatedTokens = tokens.slice(-maxTokens); + + // Decode back to text - js-tiktoken decode() returns a string directly + return encoding.decode(truncatedTokens); + } catch (error) { + elizaLogger.error("Error in trimTokens:", error); + // Return truncated string if tokenization fails + return context.slice(-maxTokens * 4); // Rough estimate of 4 chars per token + } +} + /** * Send a message to the model for a text generateText - receive a string back and parse how you'd like * @param opts - The options for the generateText request. @@ -187,7 +297,8 @@ export async function generateText({ elizaLogger.debug( `Trimming context to max length of ${max_context_length} tokens.` ); - context = trimTokens(context, max_context_length, "gpt-4o"); + + context = await trimTokens(context, max_context_length, runtime); let response: string; @@ -199,7 +310,6 @@ export async function generateText({ switch (provider) { // OPENAI & LLAMACLOUD shared same structure. case ModelProviderName.OPENAI: - case ModelProviderName.ETERNALAI: case ModelProviderName.ALI_BAILIAN: case ModelProviderName.VOLENGINE: case ModelProviderName.LLAMACLOUD: @@ -236,6 +346,52 @@ export async function generateText({ break; } + case ModelProviderName.ETERNALAI: { + elizaLogger.debug("Initializing EternalAI model."); + const openai = createOpenAI({ + apiKey, + baseURL: endpoint, + fetch: async (url: string, options: any) => { + const fetching = await runtime.fetch(url, options); + if ( + parseBooleanFromText( + runtime.getSetting("ETERNAL_AI_LOG_REQUEST") + ) + ) { + elizaLogger.info( + "Request data: ", + JSON.stringify(options, null, 2) + ); + const clonedResponse = fetching.clone(); + clonedResponse.json().then((data) => { + elizaLogger.info( + "Response data: ", + JSON.stringify(data, null, 2) + ); + }); + } + return fetching; + }, + }); + + const { text: openaiResponse } = await aiGenerateText({ + model: openai.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = openaiResponse; + elizaLogger.debug("Received response from EternalAI model."); + break; + } + case ModelProviderName.GOOGLE: { const google = createGoogleGenerativeAI({ apiKey, @@ -653,45 +809,6 @@ export async function generateText({ } } -/** - * Truncate the context to the maximum length allowed by the model. - * @param context The text to truncate - * @param maxTokens Maximum number of tokens to keep - * @param model The tokenizer model to use - * @returns The truncated text - */ -export function trimTokens( - context: string, - maxTokens: number, - model: TiktokenModel -): string { - if (!context) return ""; - if (maxTokens <= 0) throw new Error("maxTokens must be positive"); - - // Get the tokenizer for the model - const encoding = encodingForModel(model); - - try { - // Encode the text into tokens - const tokens = encoding.encode(context); - - // If already within limits, return unchanged - if (tokens.length <= maxTokens) { - return context; - } - - // Keep the most recent tokens by slicing from the end - const truncatedTokens = tokens.slice(-maxTokens); - - // Decode back to text - js-tiktoken decode() returns a string directly - return encoding.decode(truncatedTokens); - } catch (error) { - console.error("Error in trimTokens:", error); - // Return truncated string if tokenization fails - return context.slice(-maxTokens * 4); // Rough estimate of 4 chars per token - } -} - /** * Sends a message to the model to determine if it should respond to the given context. * @param opts - The options for the generateText request @@ -973,9 +1090,10 @@ export async function generateMessageResponse({ context: string; modelClass: string; }): Promise { - const max_context_length = - models[runtime.modelProvider].settings.maxInputTokens; - context = trimTokens(context, max_context_length, "gpt-4o"); + const provider = runtime.modelProvider; + const max_context_length = models[provider].settings.maxInputTokens; + + context = await trimTokens(context, max_context_length, runtime); let retryLength = 1000; // exponential backoff while (true) { try { @@ -1443,20 +1561,18 @@ export const generateObject = async ({ } const provider = runtime.modelProvider; - const model = models[provider].model[modelClass] as TiktokenModel; - if (!model) { - throw new Error(`Unsupported model class: ${modelClass}`); - } + const model = models[provider].model[modelClass]; const temperature = models[provider].settings.temperature; const frequency_penalty = models[provider].settings.frequency_penalty; const presence_penalty = models[provider].settings.presence_penalty; const max_context_length = models[provider].settings.maxInputTokens; const max_response_length = models[provider].settings.maxOutputTokens; - const experimental_telemetry = models[provider].settings.experimental_telemetry; + const experimental_telemetry = + models[provider].settings.experimental_telemetry; const apiKey = runtime.token; try { - context = trimTokens(context, max_context_length, model); + context = await trimTokens(context, max_context_length, runtime); const modelOptions: ModelSettings = { prompt: context, diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index c07d3226b9..3687ded5e0 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -687,7 +687,6 @@ export type Character = { /** Image model provider to use, if different from modelProvider */ imageModelProvider?: ModelProviderName; - /** Image Vision model provider to use, if different from modelProvider */ imageVisionModelProvider?: ModelProviderName; @@ -1319,6 +1318,11 @@ export interface ISlackService extends Service { client: any; } +export enum TokenizerType { + Auto = "auto", + TikToken = "tiktoken", +} + export enum TranscriptionProvider { OpenAI = "openai", Deepgram = "deepgram", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index f2e2793008..c19e06bb64 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -22,7 +22,10 @@ "checkJs": false, "noEmitOnError": false, "moduleDetection": "force", - "allowArbitraryExtensions": true + "allowArbitraryExtensions": true, + "customConditions": [ + "@elizaos/source" + ], }, "include": [ "src/**/*" @@ -33,4 +36,4 @@ "src/**/*.d.ts", "types/**/*.test.ts" ] -} \ No newline at end of file +} diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts index cca094e999..234178fcd5 100644 --- a/packages/core/tsup.config.ts +++ b/packages/core/tsup.config.ts @@ -19,5 +19,7 @@ export default defineConfig({ "https", // Add other modules you want to externalize "@tavily/core", + "onnxruntime-node", + "sharp", ], }); diff --git a/packages/plugin-0g/package.json b/packages/plugin-0g/package.json index d46a05b38d..b9e9b4ba46 100644 --- a/packages/plugin-0g/package.json +++ b/packages/plugin-0g/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-0g", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@0glabs/0g-ts-sdk": "0.2.1", "@elizaos/core": "workspace:*", diff --git a/packages/plugin-3d-generation/package.json b/packages/plugin-3d-generation/package.json index 30b4982c79..cbf4eff5b7 100644 --- a/packages/plugin-3d-generation/package.json +++ b/packages/plugin-3d-generation/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-3d-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5", diff --git a/packages/plugin-abstract/package.json b/packages/plugin-abstract/package.json index d8981b4930..2fdcfbc16f 100644 --- a/packages/plugin-abstract/package.json +++ b/packages/plugin-abstract/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-abstract", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "^8.3.5", diff --git a/packages/plugin-aptos/package.json b/packages/plugin-aptos/package.json index bc1badd89b..520ae327d9 100644 --- a/packages/plugin-aptos/package.json +++ b/packages/plugin-aptos/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-aptos", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@aptos-labs/ts-sdk": "^1.26.0", diff --git a/packages/plugin-avalanche/package.json b/packages/plugin-avalanche/package.json index d55640b5c1..5fc791b0fb 100644 --- a/packages/plugin-avalanche/package.json +++ b/packages/plugin-avalanche/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-avalanche", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*" }, diff --git a/packages/plugin-bootstrap/package.json b/packages/plugin-bootstrap/package.json index ca8315d577..6b5a68ffe7 100644 --- a/packages/plugin-bootstrap/package.json +++ b/packages/plugin-bootstrap/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-bootstrap", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5" diff --git a/packages/plugin-coinbase/package.json b/packages/plugin-coinbase/package.json index d38fa91754..9444120567 100644 --- a/packages/plugin-coinbase/package.json +++ b/packages/plugin-coinbase/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-coinbase", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "coinbase-api": "1.0.5", diff --git a/packages/plugin-conflux/package.json b/packages/plugin-conflux/package.json index fae1c6606b..9e925d12d5 100644 --- a/packages/plugin-conflux/package.json +++ b/packages/plugin-conflux/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-conflux", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "cive": "0.7.1" diff --git a/packages/plugin-cronoszkevm/package.json b/packages/plugin-cronoszkevm/package.json index 4400a41a79..e1be0eee39 100644 --- a/packages/plugin-cronoszkevm/package.json +++ b/packages/plugin-cronoszkevm/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-cronoszkevm", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-echochambers/package.json b/packages/plugin-echochambers/package.json index 0ba158d2f5..309e194a17 100644 --- a/packages/plugin-echochambers/package.json +++ b/packages/plugin-echochambers/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-echochambers", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-node": "workspace:*" diff --git a/packages/plugin-evm/package.json b/packages/plugin-evm/package.json index d3d5e11efb..32cc652fca 100644 --- a/packages/plugin-evm/package.json +++ b/packages/plugin-evm/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-evm", "version": "0.1.7-alpha.1", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-tee": "workspace:*", diff --git a/packages/plugin-ferePro/.npmignore b/packages/plugin-ferePro/.npmignore deleted file mode 100644 index 078562ecea..0000000000 --- a/packages/plugin-ferePro/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/plugin-ferePro/eslint.config.mjs b/packages/plugin-ferePro/eslint.config.mjs deleted file mode 100644 index 92fe5bbebe..0000000000 --- a/packages/plugin-ferePro/eslint.config.mjs +++ /dev/null @@ -1,3 +0,0 @@ -import eslintGlobalConfig from "../../eslint.config.mjs"; - -export default [...eslintGlobalConfig]; diff --git a/packages/plugin-ferePro/package.json b/packages/plugin-ferePro/package.json deleted file mode 100644 index c65e8e429f..0000000000 --- a/packages/plugin-ferePro/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@elizaos/plugin-ferepro", - "version": "0.1.7-alpha.2", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "^0.1.7-alpha.1", - "tsup": "^8.3.5", - "ws": "^8.18.0" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsx watch src/index.ts", - "lint": "eslint --fix --cache ." - }, - "devDependencies": { - "@types/ws": "^8.5.13", - "tsx": "^4.19.2" - } -} diff --git a/packages/plugin-ferePro/src/actions/FereProAction.ts b/packages/plugin-ferePro/src/actions/FereProAction.ts deleted file mode 100644 index 415c8aa0ce..0000000000 --- a/packages/plugin-ferePro/src/actions/FereProAction.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { - elizaLogger, - ActionExample, - Memory, - State, - IAgentRuntime, - type Action, - HandlerCallback, -} from "@elizaos/core"; -import { FereProService } from "../services/FereProService"; - -export interface FereMessageContent { - message: string; - stream?: boolean; - debug?: boolean; -} - -function isValidMessageContent(content: any): content is FereMessageContent { - return typeof content.message === "string"; -} - -const _fereProTemplate = `Extract the core query from user input and respond with the requested data. If the user asks for a comparison or historical data, make sure to reflect that accurately. - -Example: -\`\`\`json -{ - "message": "Compare top 3 coins against Bitcoin in the last 3 months", - "stream": true, - "debug": false -} -\`\`\` - -{{recentMessages}} - -Extract the core request and execute the appropriate action.`; - -export default { - name: "SEND_FEREPRO_MESSAGE", - similes: ["QUERY_MARKET", "ASK_AGENT"], - description: - "Send a message to FerePro API and receive streaming or non-streaming responses.", - - validate: async (runtime: IAgentRuntime, _message: Memory) => { - console.log("Validating environment for FerePro..."); - const user = runtime.getSetting("FERE_USER_ID"); - if (!user) { - throw new Error("FERE_USER_ID not set in runtime."); - } - return true; - }, - - handler: async ( - runtime: IAgentRuntime, - message: Memory, - state: State, - _options: { [key: string]: unknown }, - callback?: HandlerCallback - ) => { - elizaLogger.log("Executing SEND_FEREPRO_MESSAGE..."); - - // Ensure state exists or generate a new one - if (!state) { - state = (await runtime.composeState(message)) as State; - } else { - state = await runtime.updateRecentMessageState(state); - } - - // Compose context for the WebSocket message - const context = { - message: message.content.text, - stream: message.content.stream || false, - debug: message.content.debug || false, - }; - - if (!isValidMessageContent(context)) { - console.error("Invalid content for SEND_FEREPRO_MESSAGE."); - if (callback) { - callback({ - text: "Unable to process request. Invalid message content.", - content: { error: "Invalid message content" }, - }); - } - return false; - } - - // Send the message via WebSocket using FereProService - try { - const service = new FereProService(); - await service.initialize(runtime); - - const response = await service.sendMessage(context); - - if (response.success) { - if (callback) { - callback({ - text: "Response received from FerePro.", - content: response.data, - }); - } - return true; - } else { - throw new Error(response.error || "Unknown WebSocket error."); - } - } catch (error) { - console.error("Error during WebSocket communication:", error); - if (callback) { - callback({ - text: `Error sending message: ${error.message}`, - content: { error: error.message }, - }); - } - return false; - } - }, - - examples: [ - [ - { - user: "{{user1}}", - content: { - text: "What are the top 5 cryptocurrencies?", - action: "SEND_FEREPRO_MESSAGE", - }, - }, - { - user: "{{user2}}", - content: { - text: "Here are the top 5 cryptocurrencies.", - }, - }, - ], - [ - { - user: "{{user1}}", - content: { - text: "Compare Ethereum and Bitcoin for the past 6 months.", - action: "SEND_FEREPRO_MESSAGE", - stream: true, - debug: true, - }, - }, - { - user: "{{user2}}", - content: { - text: "Streaming Ethereum and Bitcoin comparison...", - }, - }, - ], - ] as ActionExample[][], -} as Action; diff --git a/packages/plugin-ferePro/src/index.ts b/packages/plugin-ferePro/src/index.ts deleted file mode 100644 index d4513ef478..0000000000 --- a/packages/plugin-ferePro/src/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Plugin } from "@elizaos/core"; -import sendFereProMessage from "./actions/FereProAction"; -import { FereProService } from "./services/FereProService"; - -export const fereProPlugin: Plugin = { - name: "ferePro", - description: - "FerePro Plugin for Eliza - Enables WebSocket communication for AI-driven market insights", - actions: [sendFereProMessage], - evaluators: [], - providers: [], - services: [new FereProService()], -}; - -export default fereProPlugin; diff --git a/packages/plugin-ferePro/src/services/FereProService.ts b/packages/plugin-ferePro/src/services/FereProService.ts deleted file mode 100644 index 3300bf4d71..0000000000 --- a/packages/plugin-ferePro/src/services/FereProService.ts +++ /dev/null @@ -1,104 +0,0 @@ -import WebSocket from "ws"; -import { IAgentRuntime, Service } from "@elizaos/core"; - -interface ChatResponse { - answer: string; - chat_id: string; - representation?: Record[]; - agent_api_name: string; - query_summary: string; - agent_credits: number; - credits_available: number; -} - -interface FereMessage { - message: string; - stream?: boolean; - debug?: boolean; -} - -interface FereResponse { - success: boolean; - data?: ChatResponse; - error?: string; -} - -export class FereProService extends Service { - private ws: WebSocket | null = null; - private user: string = "1a5b4a29-9d95-44c8-aef3-05a8e515f43e"; - private runtime: IAgentRuntime | null = null; - - async initialize(runtime: IAgentRuntime): Promise { - console.log("Initializing FerePro WebSocket Service"); - this.runtime = runtime; - this.user = runtime.getSetting("FERE_USER_ID") ?? this.user; - } - - /** - * Connect to WebSocket and send a message - */ - async sendMessage(payload: FereMessage): Promise { - return new Promise((resolve, reject) => { - try { - const url = `wss:/api.fereai.xyz/chat/v2/ws/${this.user}`; - this.ws = new WebSocket(url); - - this.ws.on("open", () => { - console.log("Connected to FerePro WebSocket"); - this.ws?.send(JSON.stringify(payload)); - console.log("Message sent:", payload.message); - }); - - this.ws.on("message", (data) => { - try { - const response = JSON.parse(data.toString()); - const chatResponse: ChatResponse = { - answer: response.answer, - chat_id: response.chat_id, - representation: response.representation || null, - agent_api_name: response.agent_api_name, - query_summary: response.query_summary, - agent_credits: response.agent_credits, - credits_available: response.credits_available, - }; - - console.log("Received ChatResponse:", chatResponse); - - resolve({ - success: true, - data: chatResponse, - }); - } catch (err) { - console.error("Error parsing response:", err); - reject({ - success: false, - error: "Invalid response format", - }); - } - }); - - this.ws.on("close", () => { - console.log("Disconnected from FerePro WebSocket"); - }); - - this.ws.on("error", (err) => { - console.error("WebSocket error:", err); - reject({ - success: false, - error: err.message, - }); - }); - } catch (error) { - reject({ - success: false, - error: - error instanceof Error - ? error.message - : "Error Occured", - }); - } - }); - } -} - -export default FereProService; diff --git a/packages/plugin-ferePro/tsconfig.json b/packages/plugin-ferePro/tsconfig.json deleted file mode 100644 index c5870a42ab..0000000000 --- a/packages/plugin-ferePro/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "module": "ESNext", - "target": "ESNext", - "outDir": "dist", - "declaration": true, - "declarationMap": true, - "moduleResolution": "Node", - "esModuleInterop": true, - "skipLibCheck": true - } -} diff --git a/packages/plugin-ferePro/tsup.config.ts b/packages/plugin-ferePro/tsup.config.ts deleted file mode 100644 index c7bf2d61a7..0000000000 --- a/packages/plugin-ferePro/tsup.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["src/index.ts"], - format: ["esm"], - dts: true, - sourcemap: true, - splitting: false, - clean: true, -}); diff --git a/packages/plugin-flow/package.json b/packages/plugin-flow/package.json index 60c6da7460..a7bec5c6d7 100644 --- a/packages/plugin-flow/package.json +++ b/packages/plugin-flow/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-flow", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@onflow/config": "1.5.1", diff --git a/packages/plugin-fuel/package.json b/packages/plugin-fuel/package.json index 0a2648cca2..3dd9ea1684 100644 --- a/packages/plugin-fuel/package.json +++ b/packages/plugin-fuel/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-fuel", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "fuels": "0.97.2", diff --git a/packages/plugin-gitbook/package.json b/packages/plugin-gitbook/package.json index 54ac0210c5..d4570243c2 100644 --- a/packages/plugin-gitbook/package.json +++ b/packages/plugin-gitbook/package.json @@ -1,13 +1,18 @@ { "name": "@elizaos/plugin-gitbook", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", "exports": { + "./package.json": "./package.json", ".": { - "import": "./dist/index.js", - "types": "./dist/index.d.ts" + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } } }, "files": [ diff --git a/packages/plugin-goat/package.json b/packages/plugin-goat/package.json index 9ddb8c9b27..a10ea35ba3 100644 --- a/packages/plugin-goat/package.json +++ b/packages/plugin-goat/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-goat", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@goat-sdk/adapter-vercel-ai": "0.2.0", diff --git a/packages/plugin-icp/package.json b/packages/plugin-icp/package.json index 411aa868e8..c0d4672f18 100644 --- a/packages/plugin-icp/package.json +++ b/packages/plugin-icp/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-icp", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@dfinity/agent": "2.1.3", diff --git a/packages/plugin-image-generation/package.json b/packages/plugin-image-generation/package.json index 369bd98299..2197217c76 100644 --- a/packages/plugin-image-generation/package.json +++ b/packages/plugin-image-generation/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-image-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5" diff --git a/packages/plugin-intiface/package.json b/packages/plugin-intiface/package.json index 0dd3f6d53e..42b3060ac9 100644 --- a/packages/plugin-intiface/package.json +++ b/packages/plugin-intiface/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-intiface", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "buttplug": "3.2.2", diff --git a/packages/plugin-multiversx/package.json b/packages/plugin-multiversx/package.json index 92a86f9cbf..b62c89c1bf 100644 --- a/packages/plugin-multiversx/package.json +++ b/packages/plugin-multiversx/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-multiversx", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@multiversx/sdk-core": "13.15.0", diff --git a/packages/plugin-near/package.json b/packages/plugin-near/package.json index b7e74c07d2..003d11c863 100644 --- a/packages/plugin-near/package.json +++ b/packages/plugin-near/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-near", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@ref-finance/ref-sdk": "^1.4.6", diff --git a/packages/plugin-near/src/actions/swap.ts b/packages/plugin-near/src/actions/swap.ts index f11f6b134f..5d1ebbe3db 100644 --- a/packages/plugin-near/src/actions/swap.ts +++ b/packages/plugin-near/src/actions/swap.ts @@ -1,6 +1,7 @@ import { ActionExample, HandlerCallback, + elizaLogger, IAgentRuntime, Memory, ModelClass, @@ -34,7 +35,7 @@ async function checkStorageBalance( }); return balance !== null && balance.total !== "0"; } catch (error) { - console.log(`Error checking storage balance: ${error}`); + elizaLogger.log(`Error checking storage balance: ${error}`); return false; } } @@ -142,7 +143,7 @@ async function swapToken( return transactions; } catch (error) { - console.error("Error in swapToken:", error); + elizaLogger.error("Error in swapToken:", error); throw error; } } @@ -186,8 +187,8 @@ export const executeSwap: Action = { "TRADE_TOKENS_NEAR", "EXCHANGE_TOKENS_NEAR", ], - validate: async (runtime: IAgentRuntime, message: Memory) => { - console.log("Message:", message); + validate: async (_runtime: IAgentRuntime, message: Memory) => { + elizaLogger.log("Message:", message); return true; }, description: "Perform a token swap using Ref Finance.", @@ -221,14 +222,14 @@ export const executeSwap: Action = { modelClass: ModelClass.LARGE, }); - console.log("Response:", response); + elizaLogger.log("Response:", response); if ( !response.inputTokenId || !response.outputTokenId || !response.amount ) { - console.log("Missing required parameters, skipping swap"); + elizaLogger.log("Missing required parameters, skipping swap"); const responseMsg = { text: "I need the input token ID, output token ID, and amount to perform the swap", }; @@ -290,7 +291,7 @@ export const executeSwap: Action = { } } - console.log("Swap completed successfully!"); + elizaLogger.log("Swap completed successfully!"); const txHashes = results.map((r) => r.transaction.hash).join(", "); const responseMsg = { @@ -300,7 +301,7 @@ export const executeSwap: Action = { callback?.(responseMsg); return true; } catch (error) { - console.error("Error during token swap:", error); + elizaLogger.error("Error during token swap:", error); const responseMsg = { text: `Error during swap: ${error instanceof Error ? error.message : String(error)}`, }; diff --git a/packages/plugin-near/src/actions/transfer.ts b/packages/plugin-near/src/actions/transfer.ts index f0a2d53b77..ab37f5030e 100644 --- a/packages/plugin-near/src/actions/transfer.ts +++ b/packages/plugin-near/src/actions/transfer.ts @@ -6,6 +6,7 @@ import { Memory, ModelClass, State, + elizaLogger, type Action, composeContext, generateObject, @@ -132,7 +133,7 @@ export const executeTransfer: Action = { // Validate transfer content if (!isTransferContent(runtime, content)) { - console.error("Invalid content for TRANSFER_NEAR action."); + elizaLogger.error("Invalid content for TRANSFER_NEAR action."); if (callback) { callback({ text: "Unable to process transfer request. Invalid content provided.", @@ -163,7 +164,7 @@ export const executeTransfer: Action = { return true; } catch (error) { - console.error("Error during NEAR transfer:", error); + elizaLogger.error("Error during NEAR transfer:", error); if (callback) { callback({ text: `Error transferring NEAR: ${error}`, diff --git a/packages/plugin-near/src/providers/wallet.ts b/packages/plugin-near/src/providers/wallet.ts index 218398d397..a35a082148 100644 --- a/packages/plugin-near/src/providers/wallet.ts +++ b/packages/plugin-near/src/providers/wallet.ts @@ -1,4 +1,10 @@ -import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { + IAgentRuntime, + Memory, + Provider, + State, + elizaLogger, +} from "@elizaos/core"; import { KeyPair, keyStores, connect, Account, utils } from "near-api-js"; import BigNumber from "bignumber.js"; import { KeyPairString } from "near-api-js/lib/utils"; @@ -51,7 +57,7 @@ export class WalletProvider implements Provider { try { return await this.getFormattedPortfolio(runtime); } catch (error) { - console.error("Error in wallet provider:", error); + elizaLogger.error("Error in wallet provider:", error); return null; } } @@ -102,7 +108,7 @@ export class WalletProvider implements Provider { } return await response.json(); } catch (error) { - console.error(`Attempt ${i + 1} failed:`, error); + elizaLogger.error(`Attempt ${i + 1} failed:`, error); lastError = error as Error; if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { await new Promise((resolve) => @@ -125,7 +131,7 @@ export class WalletProvider implements Provider { const cachedValue = this.cache.get(cacheKey); if (cachedValue) { - console.log("Cache hit for fetchPortfolioValue"); + elizaLogger.log("Cache hit for fetchPortfolioValue"); return cachedValue; } @@ -160,7 +166,7 @@ export class WalletProvider implements Provider { this.cache.set(cacheKey, portfolio); return portfolio; } catch (error) { - console.error("Error fetching portfolio:", error); + elizaLogger.error("Error fetching portfolio:", error); throw error; } } @@ -181,7 +187,7 @@ export class WalletProvider implements Provider { this.cache.set(cacheKey, price); return price; } catch (error) { - console.error("Error fetching NEAR price:", error); + elizaLogger.error("Error fetching NEAR price:", error); return 0; } } @@ -214,7 +220,7 @@ export class WalletProvider implements Provider { const portfolio = await this.fetchPortfolioValue(runtime); return this.formatPortfolio(runtime, portfolio); } catch (error) { - console.error("Error generating portfolio report:", error); + elizaLogger.error("Error generating portfolio report:", error); return "Unable to fetch wallet information. Please try again later."; } } @@ -234,7 +240,7 @@ const walletProvider: Provider = { const provider = new WalletProvider(accountId); return await provider.getFormattedPortfolio(runtime); } catch (error) { - console.error("Error in wallet provider:", error); + elizaLogger.error("Error in wallet provider:", error); return null; } }, diff --git a/packages/plugin-nft-generation/package.json b/packages/plugin-nft-generation/package.json index 80e55d0604..0c629aa0a8 100644 --- a/packages/plugin-nft-generation/package.json +++ b/packages/plugin-nft-generation/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-nft-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-image-generation": "workspace:*", diff --git a/packages/plugin-node/package.json b/packages/plugin-node/package.json index 31d9d3fa5f..8f591f872d 100644 --- a/packages/plugin-node/package.json +++ b/packages/plugin-node/package.json @@ -1,9 +1,20 @@ { "name": "@elizaos/plugin-node", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, "files": [ "dist", "scripts", diff --git a/packages/plugin-node/src/services/browser.ts b/packages/plugin-node/src/services/browser.ts index a083e2957c..863b3de4ac 100644 --- a/packages/plugin-node/src/services/browser.ts +++ b/packages/plugin-node/src/services/browser.ts @@ -13,7 +13,7 @@ async function generateSummary( text: string ): Promise<{ title: string; description: string }> { // make sure text is under 128k characters - text = trimTokens(text, 100000, "gpt-4o-mini"); // TODO: clean this up + text = await trimTokens(text, 100000, runtime); const prompt = `Please generate a concise summary for the following text: diff --git a/packages/plugin-solana/package.json b/packages/plugin-solana/package.json index 6f4fb1c9bb..25a5b274ff 100644 --- a/packages/plugin-solana/package.json +++ b/packages/plugin-solana/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-solana", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-starknet/package.json b/packages/plugin-starknet/package.json index 05e90a1475..8a81e0f46d 100644 --- a/packages/plugin-starknet/package.json +++ b/packages/plugin-starknet/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-starknet", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-story/package.json b/packages/plugin-story/package.json index aeeaa99ac8..3362df4d64 100644 --- a/packages/plugin-story/package.json +++ b/packages/plugin-story/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-story", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-sui/package.json b/packages/plugin-sui/package.json index 12d47ec71a..142a8fc097 100644 --- a/packages/plugin-sui/package.json +++ b/packages/plugin-sui/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-sui", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-sui/src/actions/transfer.ts b/packages/plugin-sui/src/actions/transfer.ts index 721a27d5cf..d9471aaa5f 100644 --- a/packages/plugin-sui/src/actions/transfer.ts +++ b/packages/plugin-sui/src/actions/transfer.ts @@ -14,7 +14,6 @@ import { import { z } from "zod"; import { SuiClient, getFullnodeUrl } from "@mysten/sui/client"; -import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; import { Transaction } from "@mysten/sui/transactions"; import { SUI_DECIMALS } from "@mysten/sui/utils"; diff --git a/packages/plugin-sui/src/providers/wallet.ts b/packages/plugin-sui/src/providers/wallet.ts index 478fc2ce49..01e9c45fc1 100644 --- a/packages/plugin-sui/src/providers/wallet.ts +++ b/packages/plugin-sui/src/providers/wallet.ts @@ -7,7 +7,6 @@ import { } from "@elizaos/core"; import { getFullnodeUrl, SuiClient } from "@mysten/sui/client"; -import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; import { MIST_PER_SUI } from "@mysten/sui/utils"; import BigNumber from "bignumber.js"; diff --git a/packages/plugin-tee/package.json b/packages/plugin-tee/package.json index 3ca40c9127..6b36486ea5 100644 --- a/packages/plugin-tee/package.json +++ b/packages/plugin-tee/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-tee", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@phala/dstack-sdk": "0.1.6", diff --git a/packages/plugin-ton/package.json b/packages/plugin-ton/package.json index bda0e68bcf..337abf7423 100644 --- a/packages/plugin-ton/package.json +++ b/packages/plugin-ton/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-ton", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/packages/plugin-trustdb/package.json b/packages/plugin-trustdb/package.json index 57e2894cf4..972e355f8c 100644 --- a/packages/plugin-trustdb/package.json +++ b/packages/plugin-trustdb/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-trustdb", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "dompurify": "3.2.2", diff --git a/packages/plugin-twitter/package.json b/packages/plugin-twitter/package.json index 13dbc5cf04..3f5db83d29 100644 --- a/packages/plugin-twitter/package.json +++ b/packages/plugin-twitter/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-twitter", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "agent-twitter-client": "0.0.17", diff --git a/packages/plugin-video-generation/package.json b/packages/plugin-video-generation/package.json index b8c50d0f5f..9c9ac1105d 100644 --- a/packages/plugin-video-generation/package.json +++ b/packages/plugin-video-generation/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-video-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5" diff --git a/packages/plugin-web-search/package.json b/packages/plugin-web-search/package.json index 1d87e98b91..6c9cafb857 100644 --- a/packages/plugin-web-search/package.json +++ b/packages/plugin-web-search/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-web-search", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5" diff --git a/packages/plugin-whatsapp/package.json b/packages/plugin-whatsapp/package.json index 38b1116469..8f7cc5696a 100644 --- a/packages/plugin-whatsapp/package.json +++ b/packages/plugin-whatsapp/package.json @@ -2,8 +2,23 @@ "name": "@elizaos/plugin-whatsapp", "version": "0.1.7-alpha.2", "description": "WhatsApp Cloud API plugin", + "type": "module", "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "scripts": { "build": "tsup --format esm --dts", "dev": "tsup --format esm --dts --watch", diff --git a/packages/plugin-zksync-era/package.json b/packages/plugin-zksync-era/package.json index 9c730645f1..5f7b0a0dea 100644 --- a/packages/plugin-zksync-era/package.json +++ b/packages/plugin-zksync-era/package.json @@ -1,9 +1,23 @@ { "name": "@elizaos/plugin-zksync-era", "version": "0.1.7-alpha.2", - "main": "dist/index.js", "type": "module", + "main": "dist/index.js", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "@elizaos/source": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + } + }, + "files": [ + "dist" + ], "dependencies": { "@elizaos/core": "workspace:*", "@elizaos/plugin-trustdb": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e208d46a5..90f147c715 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 3.9.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@vitest/eslint-plugin': specifier: 1.0.1 - version: 1.0.1(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + version: 1.0.1(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) amqplib: specifier: 0.10.5 version: 0.10.5 @@ -47,7 +47,7 @@ importers: devDependencies: '@commitlint/cli': specifier: 18.6.1 - version: 18.6.1(@types/node@22.10.3)(typescript@5.6.3) + version: 18.6.1(@types/node@22.10.4)(typescript@5.6.3) '@commitlint/config-conventional': specifier: 18.6.3 version: 18.6.3 @@ -95,10 +95,10 @@ importers: version: 2.21.58(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) vite: specifier: 5.4.11 - version: 5.4.11(@types/node@22.10.3)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.4)(terser@5.37.0) vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) agent: dependencies: @@ -805,7 +805,7 @@ importers: version: 10.0.0 ai: specifier: 3.4.33 - version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: specifier: 1.0.2 version: 1.0.2(encoding@0.1.13)(zod@3.23.8) @@ -1035,7 +1035,7 @@ importers: version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.4 - version: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1118,7 +1118,7 @@ importers: version: 4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) web3-plugin-zksync: specifier: ^1.0.8 - version: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + version: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1160,7 +1160,7 @@ importers: dependencies: '@elizaos/core': specifier: ^0.1.7-alpha.1 - version: 0.1.7-alpha.2(@google-cloud/vertexai@1.9.2(encoding@0.1.13))(@langchain/core@0.3.27(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0) + version: 0.1.7-alpha.2(@google-cloud/vertexai@1.9.2(encoding@0.1.13))(@langchain/core@0.3.27(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1) tsup: specifier: ^8.3.5 version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) @@ -1225,7 +1225,7 @@ importers: version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.4 - version: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) packages/plugin-fuel: dependencies: @@ -1237,13 +1237,13 @@ importers: version: 4.0.1 fuels: specifier: 0.97.2 - version: 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + version: 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) tsup: specifier: 8.3.5 version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.4 - version: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1264,7 +1264,7 @@ importers: version: link:../core '@goat-sdk/adapter-vercel-ai': specifier: 0.2.0 - version: 0.2.0(@goat-sdk/core@0.4.0)(ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)) + version: 0.2.0(@goat-sdk/core@0.4.0)(ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)) '@goat-sdk/core': specifier: 0.4.0 version: 0.4.0 @@ -1313,7 +1313,7 @@ importers: version: 29.5.14 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.10.3) + version: 29.7.0(@types/node@22.10.4) tsup: specifier: 8.3.5 version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) @@ -1376,7 +1376,7 @@ importers: version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1457,10 +1457,10 @@ importers: dependencies: '@aws-sdk/client-s3': specifier: ^3.705.0 - version: 3.717.0 + version: 3.721.0 '@aws-sdk/s3-request-presigner': specifier: ^3.705.0 - version: 3.717.0 + version: 3.721.0 '@cliqz/adblocker-playwright': specifier: 1.34.0 version: 1.34.0(playwright@1.48.2) @@ -1677,7 +1677,7 @@ importers: version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.4 - version: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1710,7 +1710,7 @@ importers: version: 1.4.0(starknet@6.18.0(encoding@0.1.13)) vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1738,7 +1738,7 @@ importers: devDependencies: '@types/node': specifier: ^22.10.1 - version: 22.10.3 + version: 22.10.4 packages/plugin-sui: dependencies: @@ -1768,7 +1768,7 @@ importers: version: 8.3.5(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.7.0) vitest: specifier: 2.1.4 - version: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1855,7 +1855,7 @@ importers: version: 11.0.3 vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + version: 2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -1947,7 +1947,7 @@ importers: version: 4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) web3-plugin-zksync: specifier: ^1.0.8 - version: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + version: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -2302,30 +2302,30 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-polly@3.716.0': - resolution: {integrity: sha512-ZHO2S1ij0s2JOsZ7RJkNdNTghbJhGJb1F9mDRLgjipG5yyBlvWcnBTUB83CSGXSX/RcZ2tWI4LKypodo6tSMag==} + '@aws-sdk/client-polly@3.721.0': + resolution: {integrity: sha512-SCTx9DKOnfEKyWb6bx5J7aeowBig8QmiqOJlE0sMM/pbpF70YGC/ugk1/yFJAJlAkoDadtRvseFpwLvrg7N73Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-s3@3.717.0': - resolution: {integrity: sha512-jzaH8IskAXVnqlZ3/H/ROwrB2HCnq/atlN7Hi7FIfjWvMPf5nfcJKfzJ1MXFX0EQR5qO6X4TbK7rgi7Bjw9NjQ==} + '@aws-sdk/client-s3@3.721.0': + resolution: {integrity: sha512-uCZC8elYhUFF21yq1yB5TrE/VYz8A4/VnttUHc65/jqnHReTDvEC0XAc756tJnjfrReyM1ws12FzBLHoW/NDjg==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.716.0': - resolution: {integrity: sha512-lA4IB9FzR2KjH7EVCo+mHGFKqdViVyeBQEIX9oVratL/l7P0bMS1fMwgfHOc3ACazqNxBxDES7x08ZCp32y6Lw==} + '@aws-sdk/client-sso-oidc@3.721.0': + resolution: {integrity: sha512-jwsgdUEbNJqs1O0AQtf9M6SI7hFIjxH+IKeKCMca0xVt+Tr1UqLr/qMK/6W8LoMtRFnE0lpBSHW6hvmLp2OCoQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.716.0 + '@aws-sdk/client-sts': ^3.721.0 - '@aws-sdk/client-sso@3.716.0': - resolution: {integrity: sha512-5Nb0jJXce2TclbjG7WVPufwhgV1TRydz1QnsuBtKU0AdViEpr787YrZhPpGnNIM1Dx+R1H/tmAHZnOoohS6D8g==} + '@aws-sdk/client-sso@3.721.0': + resolution: {integrity: sha512-UrYAF4ilpO2cZBFddQmbETfo0xKP3CEcantcMQTc0xPY3quHLZhYuBiRae+McWi6yZpH4ErnFZIWeKSJ2OQgqQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.716.0': - resolution: {integrity: sha512-i4SVNsrdXudp8T4bkm7Fi3YWlRnvXCSwvNDqf6nLqSJxqr4CN3VlBELueDyjBK7TAt453/qSif+eNx+bHmwo4Q==} + '@aws-sdk/client-sts@3.721.0': + resolution: {integrity: sha512-1Pv8F02hQFmPZs7WtGfQNlnInbG1lLzyngJc/MlZ3Ld2fIoWjaWp7bJWgYAjnzHNEuDtCabWJvIfePdRqsbYoA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-transcribe-streaming@3.716.0': - resolution: {integrity: sha512-znbAcjWUaWsa0ULs0y6ZJH+EIarRQZX0pVANY9UQZHCc2EX/xKxpWA4VxbqXe9VlVjahP4wJBSGcW2uztL5iAQ==} + '@aws-sdk/client-transcribe-streaming@3.721.0': + resolution: {integrity: sha512-8imB8tEHfUW597yGM6/qRmBXyRYNPp7bddBg67g6AHzj/UG0xI1EQZzyBntUyy/sQzvMgcPoUoYdFHdfQWQ7vw==} engines: {node: '>=16.0.0'} '@aws-sdk/core@3.716.0': @@ -2340,22 +2340,22 @@ packages: resolution: {integrity: sha512-CZ04pl2z7igQPysQyH2xKZHM3fLwkemxQbKOlje3TmiS1NwXvcKvERhp9PE/H23kOL7beTM19NMRog/Fka/rlw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-ini@3.716.0': - resolution: {integrity: sha512-P37We2GtZvdROxiwP0zrpEL81/HuYK1qlYxp5VCj3uV+G4mG8UQN2gMIU/baYrpOQqa0h81RfyQGRFUjVaDVqw==} + '@aws-sdk/credential-provider-ini@3.721.0': + resolution: {integrity: sha512-8J/c2rI+4ZoduBCnPurfdblqs2DyRvL9ztqzzOWWEhLccoYZzYeAMwBapEAsiVsD1iNrIGY7LRDC4TsVmJBf6Q==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.716.0 + '@aws-sdk/client-sts': ^3.721.0 - '@aws-sdk/credential-provider-node@3.716.0': - resolution: {integrity: sha512-FGQPK2uKfS53dVvoskN/s/t6m0Po24BGd1PzJdzHBFCOjxbZLM6+8mDMXeyi2hCLVVQOUcuW41kOgmJ0+zMbww==} + '@aws-sdk/credential-provider-node@3.721.0': + resolution: {integrity: sha512-D6xodzdMjVhF9xRhy9gNf0gqP0Dek9fQ6BDZzqO/i54d7CjWHVZTADcVcxjLQq6nyUNf0QPf8UXLaqi+w25GGQ==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-process@3.716.0': resolution: {integrity: sha512-0spcu2MWVVHSTHH3WE2E//ttUJPwXRM3BCp+WyI41xLzpNu1Fd8zjOrDpEo0SnGUzsSiRTIJWgkuu/tqv9NJ2A==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.716.0': - resolution: {integrity: sha512-J2IA3WuCpRGGoZm6VHZVFCnrxXP+41iUWb9Ct/1spljegTa1XjiaZ5Jf3+Ubj7WKiyvP9/dgz1L0bu2bYEjliw==} + '@aws-sdk/credential-provider-sso@3.721.0': + resolution: {integrity: sha512-v7npnYqfuY1vdcb0/F4Mcz+mcFyZaYry9qXhSRCPIbLPe2PRV4E4HXIaPKmir8PhuRLEGs0QJWhvIWr7u6holQ==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-web-identity@3.716.0': @@ -2368,8 +2368,8 @@ packages: resolution: {integrity: sha512-zCEegowS+LCrPdUgGUQPX8PBUFbyBifyOuA0VieZwKYH0kIjthGxuM9QdAD7bf1rgW+3bBEchWsIJqpIp4JQkg==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.714.0': - resolution: {integrity: sha512-I/xSOskiseJJ8i183Z522BgqbgYzLKP7jGcg2Qeib/IWoG2IP+9DH8pwqagKaPAycyswtnoKBJiiFXY43n0CkA==} + '@aws-sdk/middleware-bucket-endpoint@3.721.0': + resolution: {integrity: sha512-5UyoDoX3z3UhmetoqqqZulq2uF55Jyj9lUKAJWgTxVhDEG5TijTQS40LP9DqwRl0hJkoUUZKAwE0hwnUsiGXAg==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-eventstream@3.714.0': @@ -2412,8 +2412,8 @@ packages: resolution: {integrity: sha512-RkK8REAVwNUQmYbIDRw8eYbMJ8F1Rw4C9mlME4BBMhFlelGcD3ErU2ce24moQbDxBjNwHNESmIqgmdQk93CDCQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-user-agent@3.716.0': - resolution: {integrity: sha512-FpAtT6nNKrYdkDZndutEraiRMf+TgDzAGvniqRtZ/YTPA+gIsWrsn+TwMKINR81lFC3nQfb9deS5CFtxd021Ew==} + '@aws-sdk/middleware-user-agent@3.721.0': + resolution: {integrity: sha512-Z3Vksb970ArsfLlARW4KVpqO+pQ1cvvGTrTQPxWDsmOzg1kU92t9oWXGW+1M/x6bHbMQlI/EulQ/D8ZE/Pu46Q==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-websocket@3.714.0': @@ -2424,19 +2424,19 @@ packages: resolution: {integrity: sha512-HJzsQxgMOAzZrbf/YIqEx30or4tZK1oNAk6Wm6xecUQx+23JXIaePRu1YFUOLBBERQ4QBPpISFurZWBMZ5ibAw==} engines: {node: '>=16.0.0'} - '@aws-sdk/s3-request-presigner@3.717.0': - resolution: {integrity: sha512-gpT310jVQiqVxE6Nh4yEABbYNVOfUC/DuMtp5/JAb+cz1nNLfA45KgaJ73UCPbimVszUH0Cb7RouC/zv1uB84w==} + '@aws-sdk/s3-request-presigner@3.721.0': + resolution: {integrity: sha512-2ibKGssj2TAQyfthNihhBqWdwowlol9bDpKybIi2T6D8l2L9g0ENGLNE50MYzSFAQ3LcjzcvLQ/GByRPiuK+pQ==} engines: {node: '>=16.0.0'} '@aws-sdk/signature-v4-multi-region@3.716.0': resolution: {integrity: sha512-k0goWotZKKz+kV6Ln0qeAMSeSVi4NipuIIz5R8A0uCF2zBK4CXWdZR7KeaIoLBhJwQnHj1UU7E+2MK74KIUBzA==} engines: {node: '>=16.0.0'} - '@aws-sdk/token-providers@3.714.0': - resolution: {integrity: sha512-vKN064aLE3kl+Zl16Ony3jltHnMddMBT7JRkP1L+lLywhA0PcAKxpdvComul/sTBWnbnwLnaS5NsDUhcWySH8A==} + '@aws-sdk/token-providers@3.721.0': + resolution: {integrity: sha512-cIZmKdLeEWUzPR+2lA+JcZHPvaFf/Ih+s3LXBa/uQwRFdK+o7WfGRf7Oqe6yLRekO2jJJl4LBJXxDOH++M9+ag==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.714.0 + '@aws-sdk/client-sso-oidc': ^3.721.0 '@aws-sdk/types@3.714.0': resolution: {integrity: sha512-ZjpP2gYbSFlxxaUDa1Il5AVvfggvUPbjzzB/l3q0gIE5Thd6xKW+yzEpt2mLZ5s5UaYSABZbF94g8NUOF4CVGA==} @@ -2461,8 +2461,8 @@ packages: '@aws-sdk/util-user-agent-browser@3.714.0': resolution: {integrity: sha512-OdJJ03cP9/MgIVToPJPCPUImbpZzTcwdIgbXC0tUQPJhbD7b7cB4LdnkhNHko+MptpOrCq4CPY/33EpOjRdofw==} - '@aws-sdk/util-user-agent-node@3.716.0': - resolution: {integrity: sha512-3PqaXmQbxrtHKAsPCdp7kn5FrQktj8j3YyuNsqFZ8rWZeEQ88GWlsvE61PTsr2peYCKzpFqYVddef2x1axHU0w==} + '@aws-sdk/util-user-agent-node@3.721.0': + resolution: {integrity: sha512-5VsNdC3zQnjrt7KNEeFHWJl3FIamgIS0puG18BMvPsdzcKWEbWDih+yd1kMWrcpAu1Riez9co/gB9y99pBghDA==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -5502,6 +5502,10 @@ packages: resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.8.0': + resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} + engines: {node: ^14.21.3 || >=16} + '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} @@ -5535,6 +5539,10 @@ packages: resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.7.0': + resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} + engines: {node: ^14.21.3 || >=16} + '@noble/secp256k1@1.7.1': resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -6895,6 +6903,9 @@ packages: '@scure/bip32@1.6.0': resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} + '@scure/bip32@1.6.1': + resolution: {integrity: sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==} + '@scure/bip39@1.1.1': resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} @@ -6907,6 +6918,9 @@ packages: '@scure/bip39@1.5.0': resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} + '@scure/bip39@1.5.1': + resolution: {integrity: sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==} + '@scure/starknet@1.0.0': resolution: {integrity: sha512-o5J57zY0f+2IL/mq8+AYJJ4Xpc1fOtDhr+mFQKbHnYFmm3WQrC+8zj2HEgxak1a+x86mhmBC1Kq305KUpVf0wg==} @@ -7066,8 +7080,8 @@ packages: resolution: {integrity: sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==} engines: {node: '>=16.0.0'} - '@smithy/core@2.5.6': - resolution: {integrity: sha512-w494xO+CPwG/5B/N2l0obHv2Fi9U4DAY+sTi1GWT3BVvGpZetJjJXAynIO9IHp4zS1PinGhXtRSZydUXbJO4ag==} + '@smithy/core@2.5.7': + resolution: {integrity: sha512-8olpW6mKCa0v+ibCjoCzgZHQx1SQmZuW/WkrdZo73wiTprTH6qhmskT60QLFdT9DRa5mXxjz89kQPZ7ZSsoqqg==} engines: {node: '>=16.0.0'} '@smithy/credential-provider-imds@3.2.8': @@ -7093,8 +7107,8 @@ packages: resolution: {integrity: sha512-L1Ib66+gg9uTnqp/18Gz4MDpJPKRE44geOjOQ2SVc0eiaO5l255ADziATZgjQjqumC7yPtp1XnjHlF1srcwjKw==} engines: {node: '>=16.0.0'} - '@smithy/fetch-http-handler@4.1.2': - resolution: {integrity: sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==} + '@smithy/fetch-http-handler@4.1.3': + resolution: {integrity: sha512-6SxNltSncI8s689nvnzZQc/dPXcpHQ34KUj6gR/HBroytKOd/isMG3gJF/zBE1TBmTT18TXyzhg3O3SOOqGEhA==} '@smithy/hash-blob-browser@3.1.10': resolution: {integrity: sha512-elwslXOoNunmfS0fh55jHggyhccobFkexLYC1ZeZ1xP2BTSrcIBaHV2b4xUQOdctrSNOpMqOZH1r2XzWTEhyfA==} @@ -7125,12 +7139,12 @@ packages: resolution: {integrity: sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==} engines: {node: '>=16.0.0'} - '@smithy/middleware-endpoint@3.2.7': - resolution: {integrity: sha512-GTxSKf280aJBANGN97MomUQhW1VNxZ6w7HAj/pvZM5MUHbMPOGnWOp1PRYKi4czMaHNj9bdiA+ZarmT3Wkdqiw==} + '@smithy/middleware-endpoint@3.2.8': + resolution: {integrity: sha512-OEJZKVUEhMOqMs3ktrTWp7UvvluMJEvD5XgQwRePSbDg1VvBaL8pX8mwPltFn6wk1GySbcVwwyldL8S+iqnrEQ==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.32': - resolution: {integrity: sha512-v8gVA9HqibuZkFuFpfkC/EcHE8no/3Mv3JvRUGly63Axt4yyas1WDVOasFSdiqm2hZVpY7/k8mRT1Wd5k7r3Yw==} + '@smithy/middleware-retry@3.0.34': + resolution: {integrity: sha512-yVRr/AAtPZlUvwEkrq7S3x7Z8/xCd97m2hLDaqdz6ucP2RKHsBjEqaUA2ebNv2SsZoPEi+ZD0dZbOB1u37tGCA==} engines: {node: '>=16.0.0'} '@smithy/middleware-serde@3.0.11': @@ -7177,8 +7191,8 @@ packages: resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.5.2': - resolution: {integrity: sha512-h7xn+1wlpbXyLrtvo/teHR1SFGIIrQ3imzG0nz43zVLAJgvfC1Mtdwa1pFhoIOYrt/TiNjt4pD0gSYQEdZSBtg==} + '@smithy/smithy-client@3.7.0': + resolution: {integrity: sha512-9wYrjAZFlqWhgVo3C4y/9kpc68jgiSsKUnsFPzr/MSiRL93+QRDafGTfhhKAb2wsr69Ru87WTiqSfQusSmWipA==} engines: {node: '>=16.0.0'} '@smithy/types@3.7.2': @@ -7211,12 +7225,12 @@ packages: resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} engines: {node: '>=16.0.0'} - '@smithy/util-defaults-mode-browser@3.0.32': - resolution: {integrity: sha512-FAGsnm/xJ19SZeoqGyo9CosqjUlm+XJTmygDMktebvDKw3bKiIiZ40O1MA6Z52KLmekYU2GO7BEK7u6e7ZORKw==} + '@smithy/util-defaults-mode-browser@3.0.34': + resolution: {integrity: sha512-FumjjF631lR521cX+svMLBj3SwSDh9VdtyynTYDAiBDEf8YPP5xORNXKQ9j0105o5+ARAGnOOP/RqSl40uXddA==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.32': - resolution: {integrity: sha512-2CzKhkPFCVdd15f3+0D1rldNlvJME8pVRBtVVsea2hy7lcOn0bGB0dTVUwzgfM4LW/aU4IOg3jWf25ZWaxbOiw==} + '@smithy/util-defaults-mode-node@3.0.34': + resolution: {integrity: sha512-vN6aHfzW9dVVzkI0wcZoUXvfjkl4CSbM9nE//08lmUMyf00S75uuCpTrqF9uD4bD9eldIXlt53colrlwKAT8Gw==} engines: {node: '>= 10.0.0'} '@smithy/util-endpoints@2.1.7': @@ -7235,8 +7249,8 @@ packages: resolution: {integrity: sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==} engines: {node: '>=16.0.0'} - '@smithy/util-stream@3.3.3': - resolution: {integrity: sha512-bOm0YMMxRjbI3X6QkWwADPFkh2AH2xBMQIB1IQgCsCRqXXpSJatgjUR3oxHthpYwFkw3WPkOt8VgMpJxC0rFqg==} + '@smithy/util-stream@3.3.4': + resolution: {integrity: sha512-SGhGBG/KupieJvJSZp/rfHHka8BFgj56eek9px4pp7lZbOF+fRiVr4U7A3y3zJD8uGhxq32C5D96HxsTC9BckQ==} engines: {node: '>=16.0.0'} '@smithy/util-uri-escape@3.0.0': @@ -7700,8 +7714,8 @@ packages: '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/aws-lambda@8.10.146': - resolution: {integrity: sha512-3BaDXYTh0e6UCJYL/jwV/3+GRslSc08toAiZSmleYtkAUyV5rtvdPYxrG/88uqvTuT6sb27WE9OS90ZNTIuQ0g==} + '@types/aws-lambda@8.10.147': + resolution: {integrity: sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -8017,8 +8031,8 @@ packages: '@types/node@20.17.9': resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} - '@types/node@22.10.3': - resolution: {integrity: sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==} + '@types/node@22.10.4': + resolution: {integrity: sha512-99l6wv4HEzBQhvaU/UGoeBoCK61SCROQaCCGyQSgX2tEQ3rKkNZ2S7CEWnS/4s1LV+8ODdK21UeyR1fHP2mXug==} '@types/node@22.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} @@ -10875,8 +10889,8 @@ packages: discord-api-types@0.37.100: resolution: {integrity: sha512-a8zvUI0GYYwDtScfRd/TtaNBDTXwP5DiDVX7K5OmE+DRT57gBqKnwtOC5Ol8z0mRW8KQfETIgiB8U0YZ9NXiCA==} - discord-api-types@0.37.114: - resolution: {integrity: sha512-9b9oOpktWSmE6ooToc46wfw151SHC/+idmnZvtwpEzW85BijUspQxj4W2uOmo+nZVTdEyb3fku58k+4rHKpdSQ==} + discord-api-types@0.37.115: + resolution: {integrity: sha512-ivPnJotSMrXW8HLjFu+0iCVs8zP6KSliMelhr7HgcB2ki1QzpORkb26m71l1pzSnnGfm7gb5n/VtRTtpw8kXFA==} discord-api-types@0.37.83: resolution: {integrity: sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==} @@ -11133,8 +11147,8 @@ packages: error-polyfill@0.1.3: resolution: {integrity: sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg==} - es-abstract@1.23.8: - resolution: {integrity: sha512-lfab8IzDn6EpI1ibZakcgS6WsfEBiB+43cuJo+wgylx1xKXf+Sp+YR3vFuQwC/u3sxYwV8Cxe3B0DpVUu/WiJQ==} + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -11921,8 +11935,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} engines: {node: '>= 0.4'} get-nonce@1.0.1: @@ -11948,6 +11962,10 @@ packages: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} @@ -12730,8 +12748,8 @@ packages: is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + is-async-function@2.1.0: + resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} engines: {node: '>= 0.4'} is-bigint@1.1.0: @@ -12816,8 +12834,8 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -16776,8 +16794,8 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - reflect.getprototypeof@1.0.9: - resolution: {integrity: sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} regenerate-unicode-properties@10.2.0: @@ -16805,8 +16823,8 @@ packages: regex@5.1.1: resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} - regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} regexpu-core@6.2.0: @@ -17229,6 +17247,10 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -17790,8 +17812,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte@5.16.0: - resolution: {integrity: sha512-Ygqsiac6UogVED2ruKclU+pOeMThxWtp9LG+li7BXeDKC2paVIsRTMkNmcON4Zejerd1s5sZHWx6ZtU85xklVg==} + svelte@5.16.1: + resolution: {integrity: sha512-FsA1OjAKMAFSDob6j/Tv2ZV9rY4SeqPd1WXQlQkFkePAozSHLp6tbkU9qa1xJ+uTRzMSM2Vx3USdsYZBXd3H3g==} engines: {node: '>=18'} svg-parser@2.0.4: @@ -18381,8 +18403,8 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typedarray.prototype.slice@1.0.3: - resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} engines: {node: '>= 0.4'} typedarray@0.0.6: @@ -19697,13 +19719,13 @@ snapshots: transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.57(svelte@5.16.0)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.57(svelte@5.16.1)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - sswr: 2.1.0(svelte@5.16.0) + sswr: 2.1.0(svelte@5.16.1) optionalDependencies: - svelte: 5.16.0 + svelte: 5.16.1 transitivePeerDependencies: - zod @@ -19966,10 +19988,10 @@ snapshots: dependencies: '@aptos-labs/aptos-cli': 1.0.2 '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.0 - '@scure/bip39': 1.5.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/bip32': 1.6.1 + '@scure/bip39': 1.5.1 eventemitter3: 5.0.1 form-data: 4.0.1 js-base64: 3.7.7 @@ -20031,63 +20053,63 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-polly@3.716.0': + '@aws-sdk/client-polly@3.721.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sso-oidc': 3.721.0(@aws-sdk/client-sts@3.721.0) + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-node': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) '@aws-sdk/middleware-host-header': 3.714.0 '@aws-sdk/middleware-logger': 3.714.0 '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-s3@3.717.0': + '@aws-sdk/client-s3@3.721.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sso-oidc': 3.721.0(@aws-sdk/client-sts@3.721.0) + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/middleware-bucket-endpoint': 3.714.0 + '@aws-sdk/credential-provider-node': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) + '@aws-sdk/middleware-bucket-endpoint': 3.721.0 '@aws-sdk/middleware-expect-continue': 3.714.0 '@aws-sdk/middleware-flexible-checksums': 3.717.0 '@aws-sdk/middleware-host-header': 3.714.0 @@ -20096,88 +20118,88 @@ snapshots: '@aws-sdk/middleware-recursion-detection': 3.714.0 '@aws-sdk/middleware-sdk-s3': 3.716.0 '@aws-sdk/middleware-ssec': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/signature-v4-multi-region': 3.716.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@aws-sdk/xml-builder': 3.709.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/eventstream-serde-browser': 3.0.14 '@smithy/eventstream-serde-config-resolver': 3.0.11 '@smithy/eventstream-serde-node': 3.0.13 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-blob-browser': 3.1.10 '@smithy/hash-node': 3.0.11 '@smithy/hash-stream-node': 3.1.10 '@smithy/invalid-dependency': 3.0.11 '@smithy/md5-js': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 '@smithy/util-utf8': 3.0.0 '@smithy/util-waiter': 3.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)': + '@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-node': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) '@aws-sdk/middleware-host-header': 3.714.0 '@aws-sdk/middleware-logger': 3.714.0 '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 @@ -20186,7 +20208,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.716.0': + '@aws-sdk/client-sso@3.721.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 @@ -20194,33 +20216,33 @@ snapshots: '@aws-sdk/middleware-host-header': 3.714.0 '@aws-sdk/middleware-logger': 3.714.0 '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 @@ -20229,43 +20251,43 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.716.0': + '@aws-sdk/client-sts@3.721.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/client-sso-oidc': 3.721.0(@aws-sdk/client-sts@3.721.0) '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-node': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) '@aws-sdk/middleware-host-header': 3.714.0 '@aws-sdk/middleware-logger': 3.714.0 '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/core': 2.5.7 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 @@ -20274,51 +20296,51 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-transcribe-streaming@3.716.0': + '@aws-sdk/client-transcribe-streaming@3.721.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sso-oidc': 3.721.0(@aws-sdk/client-sts@3.721.0) + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-node': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) '@aws-sdk/eventstream-handler-node': 3.714.0 '@aws-sdk/middleware-eventstream': 3.714.0 '@aws-sdk/middleware-host-header': 3.714.0 '@aws-sdk/middleware-logger': 3.714.0 '@aws-sdk/middleware-recursion-detection': 3.714.0 '@aws-sdk/middleware-sdk-transcribe-streaming': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/middleware-websocket': 3.714.0 '@aws-sdk/region-config-resolver': 3.714.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 + '@aws-sdk/util-user-agent-node': 3.721.0 '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/eventstream-serde-browser': 3.0.14 '@smithy/eventstream-serde-config-resolver': 3.0.11 '@smithy/eventstream-serde-node': 3.0.13 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 + '@smithy/middleware-endpoint': 3.2.8 + '@smithy/middleware-retry': 3.0.34 '@smithy/middleware-serde': 3.0.11 '@smithy/middleware-stack': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/node-http-handler': 3.3.3 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 + '@smithy/util-defaults-mode-browser': 3.0.34 + '@smithy/util-defaults-mode-node': 3.0.34 '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 @@ -20330,12 +20352,12 @@ snapshots: '@aws-sdk/core@3.716.0': dependencies: '@aws-sdk/types': 3.714.0 - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/node-config-provider': 3.1.12 '@smithy/property-provider': 3.1.11 '@smithy/protocol-http': 4.1.8 '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/util-middleware': 3.0.11 fast-xml-parser: 4.4.1 @@ -20353,24 +20375,24 @@ snapshots: dependencies: '@aws-sdk/core': 3.716.0 '@aws-sdk/types': 3.714.0 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/node-http-handler': 3.3.3 '@smithy/property-provider': 3.1.11 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0)': + '@aws-sdk/credential-provider-ini@3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0)': dependencies: - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 '@aws-sdk/credential-provider-env': 3.716.0 '@aws-sdk/credential-provider-http': 3.716.0 '@aws-sdk/credential-provider-process': 3.716.0 - '@aws-sdk/credential-provider-sso': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) - '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-sso': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0)) + '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.721.0) '@aws-sdk/types': 3.714.0 '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 @@ -20381,14 +20403,14 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0)': + '@aws-sdk/credential-provider-node@3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0)': dependencies: '@aws-sdk/credential-provider-env': 3.716.0 '@aws-sdk/credential-provider-http': 3.716.0 - '@aws-sdk/credential-provider-ini': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-ini': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))(@aws-sdk/client-sts@3.721.0) '@aws-sdk/credential-provider-process': 3.716.0 - '@aws-sdk/credential-provider-sso': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) - '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/credential-provider-sso': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0)) + '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.721.0) '@aws-sdk/types': 3.714.0 '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 @@ -20409,11 +20431,11 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))': + '@aws-sdk/credential-provider-sso@3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))': dependencies: - '@aws-sdk/client-sso': 3.716.0 + '@aws-sdk/client-sso': 3.721.0 '@aws-sdk/core': 3.716.0 - '@aws-sdk/token-providers': 3.714.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) + '@aws-sdk/token-providers': 3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0)) '@aws-sdk/types': 3.714.0 '@smithy/property-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.12 @@ -20423,9 +20445,9 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.716.0(@aws-sdk/client-sts@3.716.0)': + '@aws-sdk/credential-provider-web-identity@3.716.0(@aws-sdk/client-sts@3.721.0)': dependencies: - '@aws-sdk/client-sts': 3.716.0 + '@aws-sdk/client-sts': 3.721.0 '@aws-sdk/core': 3.716.0 '@aws-sdk/types': 3.714.0 '@smithy/property-provider': 3.1.11 @@ -20439,7 +20461,7 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/middleware-bucket-endpoint@3.714.0': + '@aws-sdk/middleware-bucket-endpoint@3.721.0': dependencies: '@aws-sdk/types': 3.714.0 '@aws-sdk/util-arn-parser': 3.693.0 @@ -20475,7 +20497,7 @@ snapshots: '@smithy/protocol-http': 4.1.8 '@smithy/types': 3.7.2 '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 @@ -20510,15 +20532,15 @@ snapshots: '@aws-sdk/core': 3.716.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/node-config-provider': 3.1.12 '@smithy/protocol-http': 4.1.8 '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 @@ -20539,12 +20561,12 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.716.0': + '@aws-sdk/middleware-user-agent@3.721.0': dependencies: '@aws-sdk/core': 3.716.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-endpoints': 3.714.0 - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/protocol-http': 4.1.8 '@smithy/types': 3.7.2 tslib: 2.8.1 @@ -20555,7 +20577,7 @@ snapshots: '@aws-sdk/util-format-url': 3.714.0 '@smithy/eventstream-codec': 3.1.10 '@smithy/eventstream-serde-browser': 3.0.14 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/protocol-http': 4.1.8 '@smithy/signature-v4': 4.2.4 '@smithy/types': 3.7.2 @@ -20571,14 +20593,14 @@ snapshots: '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 - '@aws-sdk/s3-request-presigner@3.717.0': + '@aws-sdk/s3-request-presigner@3.721.0': dependencies: '@aws-sdk/signature-v4-multi-region': 3.716.0 '@aws-sdk/types': 3.714.0 '@aws-sdk/util-format-url': 3.714.0 - '@smithy/middleware-endpoint': 3.2.7 + '@smithy/middleware-endpoint': 3.2.8 '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 tslib: 2.8.1 @@ -20591,9 +20613,9 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/token-providers@3.714.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))': + '@aws-sdk/token-providers@3.721.0(@aws-sdk/client-sso-oidc@3.721.0(@aws-sdk/client-sts@3.721.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) + '@aws-sdk/client-sso-oidc': 3.721.0(@aws-sdk/client-sts@3.721.0) '@aws-sdk/types': 3.714.0 '@smithy/property-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.12 @@ -20634,9 +20656,9 @@ snapshots: bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.716.0': + '@aws-sdk/util-user-agent-node@3.721.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.716.0 + '@aws-sdk/middleware-user-agent': 3.721.0 '@aws-sdk/types': 3.714.0 '@smithy/node-config-provider': 3.1.12 '@smithy/types': 3.7.2 @@ -21472,7 +21494,7 @@ snapshots: '@bigmi/core@0.0.4(bitcoinjs-lib@7.0.0-rc.0(typescript@5.6.3))(bs58@6.0.0)(viem@2.21.58(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 bech32: 2.0.0 bitcoinjs-lib: 7.0.0-rc.0(typescript@5.6.3) bs58: 6.0.0 @@ -21532,7 +21554,7 @@ snapshots: '@coinbase/coinbase-sdk@0.10.0(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)': dependencies: - '@scure/bip32': 1.6.0 + '@scure/bip32': 1.6.1 abitype: 1.0.8(typescript@5.6.3)(zod@3.23.8) axios: 1.7.9(debug@4.4.0) axios-mock-adapter: 1.22.0(axios@1.7.9) @@ -21555,11 +21577,11 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@commitlint/cli@18.6.1(@types/node@22.10.3)(typescript@5.6.3)': + '@commitlint/cli@18.6.1(@types/node@22.10.4)(typescript@5.6.3)': dependencies: '@commitlint/format': 18.6.1 '@commitlint/lint': 18.6.1 - '@commitlint/load': 18.6.1(@types/node@22.10.3)(typescript@5.6.3) + '@commitlint/load': 18.6.1(@types/node@22.10.4)(typescript@5.6.3) '@commitlint/read': 18.6.1 '@commitlint/types': 18.6.1 execa: 5.1.1 @@ -21609,7 +21631,7 @@ snapshots: '@commitlint/rules': 18.6.1 '@commitlint/types': 18.6.1 - '@commitlint/load@18.6.1(@types/node@22.10.3)(typescript@5.6.3)': + '@commitlint/load@18.6.1(@types/node@22.10.4)(typescript@5.6.3)': dependencies: '@commitlint/config-validator': 18.6.1 '@commitlint/execute-rule': 18.6.1 @@ -21617,7 +21639,7 @@ snapshots: '@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.10.3)(cosmiconfig@8.3.6(typescript@5.6.3))(typescript@5.6.3) + cosmiconfig-typescript-loader: 5.1.0(@types/node@22.10.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 @@ -21673,7 +21695,7 @@ snapshots: '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 @@ -21695,7 +21717,7 @@ snapshots: dependencies: '@coral-xyz/anchor-errors': 0.30.1 '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 @@ -22009,8 +22031,8 @@ snapshots: dependencies: '@dfinity/candid': 2.1.3(@dfinity/principal@2.1.3) '@dfinity/principal': 2.1.3 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 base64-arraybuffer: 0.2.0 borc: 2.1.2 buffer: 6.0.3 @@ -22024,21 +22046,21 @@ snapshots: dependencies: '@dfinity/agent': 2.1.3(@dfinity/candid@2.1.3(@dfinity/principal@2.1.3))(@dfinity/principal@2.1.3) '@dfinity/principal': 2.1.3 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@peculiar/webcrypto': 1.5.0 borc: 2.1.2 '@dfinity/principal@2.1.3': dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 '@discordjs/builders@1.10.0': dependencies: '@discordjs/formatters': 0.6.0 '@discordjs/util': 1.1.1 '@sapphire/shapeshift': 4.0.0 - discord-api-types: 0.37.114 + discord-api-types: 0.37.115 fast-deep-equal: 3.1.3 ts-mixer: 6.0.4 tslib: 2.8.1 @@ -22053,7 +22075,7 @@ snapshots: '@discordjs/formatters@0.6.0': dependencies: - discord-api-types: 0.37.114 + discord-api-types: 0.37.115 '@discordjs/node-pre-gyp@0.4.5(encoding@0.1.13)': dependencies: @@ -23000,7 +23022,7 @@ snapshots: '@huggingface/jinja': 0.2.2 onnxruntime-node: 1.20.1 - '@elizaos/core@0.1.7-alpha.2(@google-cloud/vertexai@1.9.2(encoding@0.1.13))(@langchain/core@0.3.27(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)': + '@elizaos/core@0.1.7-alpha.2(@google-cloud/vertexai@1.9.2(encoding@0.1.13))(@langchain/core@0.3.27(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)': dependencies: '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) @@ -23010,7 +23032,7 @@ snapshots: '@anthropic-ai/sdk': 0.30.1(encoding@0.1.13) '@fal-ai/client': 1.2.0 '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(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 fastestsmallesttextencoderdecoder: 1.0.22 @@ -23735,23 +23757,23 @@ snapshots: '@floating-ui/utils@0.2.8': {} - '@fuel-ts/abi-coder@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/abi-coder@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) type-fest: 4.31.0 transitivePeerDependencies: - vitest - '@fuel-ts/abi-typegen@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/abi-typegen@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/versions': 0.97.2 commander: 12.1.0 glob: 10.4.5 @@ -23762,21 +23784,21 @@ snapshots: transitivePeerDependencies: - vitest - '@fuel-ts/account@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/account@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/versions': 0.97.2 '@fuels/vm-asm': 0.58.2 - '@noble/curves': 1.7.0 + '@noble/curves': 1.8.0 events: 3.3.0 graphql: 16.10.0 graphql-request: 6.1.0(encoding@0.1.13)(graphql@16.10.0) @@ -23786,30 +23808,30 @@ snapshots: - encoding - vitest - '@fuel-ts/address@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/address@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@noble/hashes': 1.6.1 + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@noble/hashes': 1.7.0 bech32: 2.0.0 transitivePeerDependencies: - vitest - '@fuel-ts/contract@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/contract@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/versions': 0.97.2 '@fuels/vm-asm': 0.58.2 ramda: 0.30.1 @@ -23817,13 +23839,13 @@ snapshots: - encoding - vitest - '@fuel-ts/crypto@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/crypto@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@noble/hashes': 1.6.1 + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@noble/hashes': 1.7.0 transitivePeerDependencies: - vitest @@ -23831,12 +23853,12 @@ snapshots: dependencies: '@fuel-ts/versions': 0.97.2 - '@fuel-ts/hasher@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/hasher@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@noble/hashes': 1.6.1 + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@noble/hashes': 1.7.0 transitivePeerDependencies: - vitest @@ -23848,78 +23870,78 @@ snapshots: '@types/bn.js': 5.1.6 bn.js: 5.2.1 - '@fuel-ts/merkle@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/merkle@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/math': 0.97.2 transitivePeerDependencies: - vitest - '@fuel-ts/program@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/program@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuels/vm-asm': 0.58.2 ramda: 0.30.1 transitivePeerDependencies: - encoding - vitest - '@fuel-ts/recipes@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/recipes@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/abi-typegen': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/contract': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-typegen': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/contract': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 - '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) transitivePeerDependencies: - encoding - vitest - '@fuel-ts/script@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/script@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) transitivePeerDependencies: - encoding - vitest - '@fuel-ts/transactions@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/transactions@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) transitivePeerDependencies: - vitest - '@fuel-ts/utils@0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@fuel-ts/utils@0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: '@fuel-ts/errors': 0.97.2 '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 '@fuel-ts/versions': 0.97.2 fflate: 0.8.2 - vitest: 2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + vitest: 2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) '@fuel-ts/versions@0.97.2': dependencies: @@ -23928,10 +23950,10 @@ snapshots: '@fuels/vm-asm@0.58.2': {} - '@goat-sdk/adapter-vercel-ai@0.2.0(@goat-sdk/core@0.4.0)(ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8))': + '@goat-sdk/adapter-vercel-ai@0.2.0(@goat-sdk/core@0.4.0)(ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8))': dependencies: '@goat-sdk/core': 0.4.0 - ai: 3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + ai: 3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) zod: 3.23.8 '@goat-sdk/core@0.4.0': @@ -24707,8 +24729,8 @@ snapshots: dependencies: '@bigmi/core': 0.0.4(bitcoinjs-lib@7.0.0-rc.0(typescript@5.6.3))(bs58@6.0.0)(viem@2.21.58(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) '@lifi/types': 16.3.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) bech32: 2.0.0 @@ -25001,7 +25023,7 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@noble/curves': 1.7.0 + '@noble/curves': 1.8.0 '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)(encoding@0.1.13)': @@ -25159,10 +25181,10 @@ snapshots: dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) '@mysten/bcs': 1.2.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.0 - '@scure/bip39': 1.5.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/bip32': 1.6.1 + '@scure/bip39': 1.5.1 '@simplewebauthn/typescript-types': 7.4.0 '@suchipi/femver': 1.0.0 bech32: 2.0.0 @@ -25349,6 +25371,10 @@ snapshots: dependencies: '@noble/hashes': 1.6.0 + '@noble/curves@1.8.0': + dependencies: + '@noble/hashes': 1.7.0 + '@noble/ed25519@1.7.3': {} '@noble/hashes@1.2.0': {} @@ -25367,6 +25393,8 @@ snapshots: '@noble/hashes@1.6.1': {} + '@noble/hashes@1.7.0': {} + '@noble/secp256k1@1.7.1': {} '@node-llama-cpp/linux-arm64@3.1.1': @@ -25816,7 +25844,7 @@ snapshots: '@octokit/core': 6.1.2 '@octokit/oauth-authorization-url': 7.1.1 '@octokit/oauth-methods': 5.1.3 - '@types/aws-lambda': 8.10.146 + '@types/aws-lambda': 8.10.147 universal-user-agent: 7.0.2 '@octokit/oauth-authorization-url@7.1.1': {} @@ -27015,6 +27043,12 @@ snapshots: '@noble/hashes': 1.6.1 '@scure/base': 1.2.1 + '@scure/bip32@1.6.1': + dependencies: + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/base': 1.2.1 + '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 @@ -27035,6 +27069,11 @@ snapshots: '@noble/hashes': 1.6.1 '@scure/base': 1.2.1 + '@scure/bip39@1.5.1': + dependencies: + '@noble/hashes': 1.7.0 + '@scure/base': 1.2.1 + '@scure/starknet@1.0.0': dependencies: '@noble/curves': 1.3.0 @@ -27262,14 +27301,14 @@ snapshots: '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 - '@smithy/core@2.5.6': + '@smithy/core@2.5.7': dependencies: '@smithy/middleware-serde': 3.0.11 '@smithy/protocol-http': 4.1.8 '@smithy/types': 3.7.2 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 @@ -27311,7 +27350,7 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/fetch-http-handler@4.1.2': + '@smithy/fetch-http-handler@4.1.3': dependencies: '@smithy/protocol-http': 4.1.8 '@smithy/querystring-builder': 3.0.11 @@ -27364,9 +27403,9 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/middleware-endpoint@3.2.7': + '@smithy/middleware-endpoint@3.2.8': dependencies: - '@smithy/core': 2.5.6 + '@smithy/core': 2.5.7 '@smithy/middleware-serde': 3.0.11 '@smithy/node-config-provider': 3.1.12 '@smithy/shared-ini-file-loader': 3.1.12 @@ -27375,12 +27414,12 @@ snapshots: '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 - '@smithy/middleware-retry@3.0.32': + '@smithy/middleware-retry@3.0.34': dependencies: '@smithy/node-config-provider': 3.1.12 '@smithy/protocol-http': 4.1.8 '@smithy/service-error-classification': 3.0.11 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 @@ -27453,14 +27492,14 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/smithy-client@3.5.2': + '@smithy/smithy-client@3.7.0': dependencies: - '@smithy/core': 2.5.6 - '@smithy/middleware-endpoint': 3.2.7 + '@smithy/core': 2.5.7 + '@smithy/middleware-endpoint': 3.2.8 '@smithy/middleware-stack': 3.0.11 '@smithy/protocol-http': 4.1.8 '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.3 + '@smithy/util-stream': 3.3.4 tslib: 2.8.1 '@smithy/types@3.7.2': @@ -27501,21 +27540,21 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@3.0.32': + '@smithy/util-defaults-mode-browser@3.0.34': dependencies: '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@3.0.32': + '@smithy/util-defaults-mode-node@3.0.34': dependencies: '@smithy/config-resolver': 3.0.13 '@smithy/credential-provider-imds': 3.2.8 '@smithy/node-config-provider': 3.1.12 '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.5.2 + '@smithy/smithy-client': 3.7.0 '@smithy/types': 3.7.2 tslib: 2.8.1 @@ -27540,9 +27579,9 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/util-stream@3.3.3': + '@smithy/util-stream@3.3.4': dependencies: - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 4.1.3 '@smithy/node-http-handler': 3.3.3 '@smithy/types': 3.7.2 '@smithy/util-base64': 3.0.0 @@ -27770,8 +27809,8 @@ snapshots: '@solana/web3.js@1.95.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -27792,8 +27831,8 @@ snapshots: '@solana/web3.js@1.95.8(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -27817,7 +27856,7 @@ snapshots: '@spruceid/siwe-parser@2.1.2': dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 apg-js: 4.4.0 uri-js: 4.4.1 valid-url: 1.0.9 @@ -28193,7 +28232,7 @@ snapshots: dependencies: '@types/estree': 1.0.6 - '@types/aws-lambda@8.10.146': {} + '@types/aws-lambda@8.10.147': {} '@types/babel__core@7.20.5': dependencies: @@ -28578,7 +28617,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@22.10.3': + '@types/node@22.10.4': dependencies: undici-types: 6.20.0 @@ -28958,13 +28997,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.0.1(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': + '@vitest/eslint-plugin@1.0.1(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0))': dependencies: eslint: 9.16.0(jiti@2.4.2) optionalDependencies: '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.6.3) typescript: 5.6.3 - vitest: 2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) + vitest: 2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0) '@vitest/expect@2.1.4': dependencies: @@ -28980,21 +29019,21 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.10.3)(terser@5.37.0))': + '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.10.4)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) - '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.10.3)(terser@5.37.0))': + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.10.4)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) '@vitest/pretty-format@2.1.4': dependencies: @@ -29692,13 +29731,13 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/react': 0.0.70(react@18.3.1)(zod@3.23.8) '@ai-sdk/solid': 0.0.54(zod@3.23.8) - '@ai-sdk/svelte': 0.0.57(svelte@5.16.0)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.16.1)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) '@opentelemetry/api': 1.9.0 @@ -29710,20 +29749,20 @@ snapshots: optionalDependencies: openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) react: 18.3.1 - sswr: 2.1.0(svelte@5.16.0) - svelte: 5.16.0 + sswr: 2.1.0(svelte@5.16.1) + svelte: 5.16.1 zod: 3.23.8 transitivePeerDependencies: - solid-js - vue - ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.0))(svelte@5.16.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.77.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.16.1))(svelte@5.16.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/react': 0.0.70(react@18.3.1)(zod@3.23.8) '@ai-sdk/solid': 0.0.54(zod@3.23.8) - '@ai-sdk/svelte': 0.0.57(svelte@5.16.0)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.16.1)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) '@opentelemetry/api': 1.9.0 @@ -29735,8 +29774,8 @@ snapshots: optionalDependencies: openai: 4.77.0(encoding@0.1.13)(zod@3.23.8) react: 18.3.1 - sswr: 2.1.0(svelte@5.16.0) - svelte: 5.16.0 + sswr: 2.1.0(svelte@5.16.1) + svelte: 5.16.1 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -29933,9 +29972,9 @@ snapshots: array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.8 + es-abstract: 1.23.9 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 is-array-buffer: 3.0.5 arrify@1.0.1: {} @@ -30357,7 +30396,7 @@ snapshots: bip32@4.0.0: dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 '@scure/base': 1.2.1 typeforce: 1.18.0 wif: 2.0.6 @@ -30375,7 +30414,7 @@ snapshots: bitcoinjs-lib@7.0.0-rc.0(typescript@5.6.3): dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 bech32: 2.0.0 bip174: 3.0.0-rc.1 bs58check: 4.0.0 @@ -30656,7 +30695,7 @@ snapshots: bs58check@4.0.0: dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 bs58: 6.0.0 bser@2.1.1: @@ -30803,13 +30842,13 @@ snapshots: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 set-function-length: 1.2.2 call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 callsites@3.1.0: {} @@ -31024,10 +31063,10 @@ snapshots: cive@0.7.1(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.0 - '@scure/bip39': 1.5.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/bip32': 1.6.1 + '@scure/bip39': 1.5.1 viem: 2.21.58(bufferutil@4.0.9)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) zod: 3.23.8 transitivePeerDependencies: @@ -31477,9 +31516,9 @@ snapshots: dependencies: layout-base: 2.0.1 - cosmiconfig-typescript-loader@5.1.0(@types/node@22.10.3)(cosmiconfig@8.3.6(typescript@5.6.3))(typescript@5.6.3): + cosmiconfig-typescript-loader@5.1.0(@types/node@22.10.4)(cosmiconfig@8.3.6(typescript@5.6.3))(typescript@5.6.3): dependencies: - '@types/node': 22.10.3 + '@types/node': 22.10.4 cosmiconfig: 8.3.6(typescript@5.6.3) jiti: 1.21.7 typescript: 5.6.3 @@ -31562,13 +31601,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.10.3): + create-jest@29.7.0(@types/node@22.10.4): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.10.3) + jest-config: 29.7.0(@types/node@22.10.4) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -32328,7 +32367,7 @@ snapshots: discord-api-types@0.37.100: {} - discord-api-types@0.37.114: {} + discord-api-types@0.37.115: {} discord-api-types@0.37.83: {} @@ -32494,8 +32533,8 @@ snapshots: echogarden@2.0.7(bufferutil@4.0.9)(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.716.0 - '@aws-sdk/client-transcribe-streaming': 3.716.0 + '@aws-sdk/client-polly': 3.721.0 + '@aws-sdk/client-transcribe-streaming': 3.721.0 '@echogarden/audio-io': 0.2.3 '@echogarden/espeak-ng-emscripten': 0.3.3 '@echogarden/fasttext-wasm': 0.1.0 @@ -32655,7 +32694,7 @@ snapshots: o3: 1.0.3 u3: 0.1.1 - es-abstract@1.23.8: + es-abstract@1.23.9: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 @@ -32671,7 +32710,8 @@ snapshots: es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 get-symbol-description: 1.1.0 globalthis: 1.0.4 gopd: 1.2.0 @@ -32693,10 +32733,11 @@ snapshots: object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 - regexp.prototype.flags: 1.5.3 + regexp.prototype.flags: 1.5.4 safe-array-concat: 1.1.3 safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 + set-proto: 1.0.0 string.prototype.trim: 1.2.10 string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 @@ -32720,7 +32761,7 @@ snapshots: es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -33760,24 +33801,24 @@ snapshots: fsevents@2.3.3: optional: true - fuels@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)): + fuels@0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)): dependencies: - '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/abi-typegen': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/contract': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-coder': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/abi-typegen': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/account': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/address': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/contract': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/crypto': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/errors': 0.97.2 - '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/hasher': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/interfaces': 0.97.2 '@fuel-ts/math': 0.97.2 - '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/recipes': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/script': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) - '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/merkle': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/program': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/recipes': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/script': 0.97.2(encoding@0.1.13)(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/transactions': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) + '@fuel-ts/utils': 0.97.2(vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0)) '@fuel-ts/versions': 0.97.2 bundle-require: 5.1.0(esbuild@0.24.2) chalk: 4.1.2 @@ -33870,14 +33911,14 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.6: + get-intrinsic@1.2.7: dependencies: call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 + get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 @@ -33912,6 +33953,11 @@ snapshots: get-port@5.1.1: {} + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + get-stdin@9.0.0: {} get-stream@5.2.0: @@ -33928,7 +33974,7 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 get-tsconfig@4.8.1: dependencies: @@ -34264,7 +34310,7 @@ snapshots: hard-rejection@2.1.0: {} - hardhat@2.22.17(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10): + hardhat@2.22.17(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -34311,7 +34357,7 @@ snapshots: uuid: 8.3.2 ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: - ts-node: 10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3) + ts-node: 10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - bufferutil @@ -34981,15 +35027,18 @@ snapshots: dependencies: call-bind: 1.0.8 call-bound: 1.0.3 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} - is-async-function@2.0.0: + is-async-function@2.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-bigint@1.1.0: dependencies: @@ -35025,7 +35074,7 @@ snapshots: is-data-view@1.0.2: dependencies: call-bound: 1.0.3 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 is-typed-array: 1.1.15 is-date-object@1.1.0: @@ -35057,9 +35106,12 @@ snapshots: is-generator-fn@2.1.0: {} - is-generator-function@1.0.10: + is-generator-function@1.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -35225,7 +35277,7 @@ snapshots: is-weakset@2.0.4: dependencies: call-bound: 1.0.3 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 is-wsl@2.2.0: dependencies: @@ -35433,16 +35485,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.10.3): + jest-cli@29.7.0(@types/node@22.10.4): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.10.3) + create-jest: 29.7.0(@types/node@22.10.4) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.10.3) + jest-config: 29.7.0(@types/node@22.10.4) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -35595,7 +35647,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.10.3): + jest-config@29.7.0(@types/node@22.10.4): dependencies: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 @@ -35620,7 +35672,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.10.3 + '@types/node': 22.10.4 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -35901,12 +35953,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.10.3): + jest@29.7.0(@types/node@22.10.4): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.10.3) + jest-cli: 29.7.0(@types/node@22.10.4) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -38327,7 +38379,7 @@ snapshots: own-keys@1.0.1: dependencies: - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-keys: 1.1.1 safe-push-apply: 1.0.0 @@ -40278,15 +40330,15 @@ snapshots: reflect-metadata@0.2.2: {} - reflect.getprototypeof@1.0.9: + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - dunder-proto: 1.0.1 - es-abstract: 1.23.8 + es-abstract: 1.23.9 es-errors: 1.3.0 - get-intrinsic: 1.2.6 - gopd: 1.2.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 which-builtin-type: 1.2.1 regenerate-unicode-properties@10.2.0: @@ -40314,11 +40366,13 @@ snapshots: dependencies: regex-utilities: 2.3.0 - regexp.prototype.flags@1.5.3: + regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 set-function-name: 2.0.2 regexpu-core@6.2.0: @@ -40663,7 +40717,7 @@ snapshots: dependencies: call-bind: 1.0.8 call-bound: 1.0.3 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 has-symbols: 1.1.0 isarray: 2.0.5 @@ -40865,7 +40919,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -40876,6 +40930,12 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + setimmediate@1.0.5: {} setprototypeof@1.1.0: {} @@ -40983,14 +41043,14 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -41274,9 +41334,9 @@ snapshots: dependencies: minipass: 7.1.2 - sswr@2.1.0(svelte@5.16.0): + sswr@2.1.0(svelte@5.16.1): dependencies: - svelte: 5.16.0 + svelte: 5.16.1 swrev: 4.0.0 stack-utils@2.0.6: @@ -41397,7 +41457,7 @@ snapshots: call-bound: 1.0.3 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.8 + es-abstract: 1.23.9 es-object-atoms: 1.0.0 has-property-descriptors: 1.0.2 @@ -41544,7 +41604,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte@5.16.0: + svelte@5.16.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -41896,7 +41956,7 @@ snapshots: traverse@0.6.10: dependencies: gopd: 1.2.0 - typedarray.prototype.slice: 1.0.3 + typedarray.prototype.slice: 1.0.5 which-typed-array: 1.1.18 tree-kill@1.2.2: {} @@ -42021,14 +42081,14 @@ snapshots: optionalDependencies: '@swc/core': 1.10.4(@swc/helpers@0.5.15) - ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3): + ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.3 + '@types/node': 22.10.4 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -42230,7 +42290,7 @@ snapshots: gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.9 + reflect.getprototypeof: 1.0.10 typed-array-length@1.0.7: dependencies: @@ -42239,7 +42299,7 @@ snapshots: gopd: 1.2.0 is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.9 + reflect.getprototypeof: 1.0.10 typed-function@2.1.0: {} @@ -42247,12 +42307,14 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typedarray.prototype.slice@1.0.3: + typedarray.prototype.slice@1.0.5: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.8 + es-abstract: 1.23.9 es-errors: 1.3.0 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 typed-array-buffer: 1.0.3 typed-array-byte-offset: 1.0.4 @@ -42631,7 +42693,7 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.0.10 + is-generator-function: 1.1.0 is-typed-array: 1.1.15 which-typed-array: 1.1.18 @@ -42781,12 +42843,12 @@ snapshots: - utf-8-validate - zod - vite-node@2.1.4(@types/node@22.10.3)(terser@5.37.0): + vite-node@2.1.4(@types/node@22.10.4)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -42798,13 +42860,13 @@ snapshots: - supports-color - terser - vite-node@2.1.5(@types/node@22.10.3)(terser@5.37.0): + vite-node@2.1.5(@types/node@22.10.4)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -42848,13 +42910,13 @@ snapshots: dependencies: vite: link:client/@tanstack/router-plugin/vite - vite@5.4.11(@types/node@22.10.3)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.4)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: - '@types/node': 22.10.3 + '@types/node': 22.10.4 fsevents: 2.3.3 terser: 5.37.0 @@ -42868,10 +42930,10 @@ snapshots: fsevents: 2.3.3 terser: 5.37.0 - vitest@2.1.4(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0): + vitest@2.1.4(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.10.3)(terser@5.37.0)) + '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.10.4)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -42887,11 +42949,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) - vite-node: 2.1.4(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) + vite-node: 2.1.4(@types/node@22.10.4)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.3 + '@types/node': 22.10.4 jsdom: 25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10) transitivePeerDependencies: - less @@ -42904,10 +42966,10 @@ snapshots: - supports-color - terser - vitest@2.1.5(@types/node@22.10.3)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0): + vitest@2.1.5(@types/node@22.10.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.10.3)(terser@5.37.0)) + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.10.4)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -42923,11 +42985,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.3)(terser@5.37.0) - vite-node: 2.1.5(@types/node@22.10.3)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.4)(terser@5.37.0) + vite-node: 2.1.5(@types/node@22.10.4)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.3 + '@types/node': 22.10.4 jsdom: 25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10) transitivePeerDependencies: - less @@ -42943,7 +43005,7 @@ snapshots: vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.9)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.37.0): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.10.3)(terser@5.37.0)) + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.10.4)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -43191,10 +43253,10 @@ snapshots: - encoding - utf-8-validate - web3-plugin-zksync@1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)): + web3-plugin-zksync@1.0.8(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)): dependencies: ethereum-cryptography: 2.2.1 - hardhat: 2.22.17(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.3)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10) + hardhat: 2.22.17(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.4(@swc/helpers@0.5.15))(@types/node@22.10.4)(typescript@5.6.3))(typescript@5.6.3)(utf-8-validate@5.0.10) web3: 4.16.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) transitivePeerDependencies: - bufferutil @@ -43497,10 +43559,10 @@ snapshots: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.0.0 + is-async-function: 2.1.0 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.0.10 + is-generator-function: 1.1.0 is-regex: 1.2.1 is-weakref: 1.1.0 isarray: 2.0.5 diff --git a/scripts/jsdoc-automation/package.json b/scripts/jsdoc-automation/package.json index 60902a2a41..2ce4c05bfe 100644 --- a/scripts/jsdoc-automation/package.json +++ b/scripts/jsdoc-automation/package.json @@ -3,10 +3,13 @@ "name": "plugin-audix", "version": "1.0.0", "description": "", - "main": "index.ts", + "main": "dist/index.js", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", "scripts": { - "start": "NODE_OPTIONS='--loader ts-node/esm' node src/index.ts", - "test": "echo \"Error: no test specified\" && exit 1", + "build": "tsup", + "dev": "tsup --watch", + "start": "node dist/index.js", "clean": "rm -rf node_modules dist" }, "keywords": [], @@ -16,15 +19,16 @@ "@langchain/openai": "^0.3.16", "@octokit/rest": "^21.0.2", "@types/node": "^20.11.0", - "dotenv": "^16.4.7", - "langchain": "^0.3.7", "@typescript-eslint/parser": "6.18.1", "@typescript-eslint/types": "6.18.1", "@typescript-eslint/typescript-estree": "6.18.1", + "dotenv": "^16.4.7", + "langchain": "^0.3.7", "yaml": "^2.3.4" }, "devDependencies": { "ts-node": "^10.9.2", + "tsup": "^8.3.5", "typescript": "5.3.3" } } \ No newline at end of file diff --git a/scripts/jsdoc-automation/pnpm-lock.yaml b/scripts/jsdoc-automation/pnpm-lock.yaml index 4bf18e4f59..8a536082b5 100644 --- a/scripts/jsdoc-automation/pnpm-lock.yaml +++ b/scripts/jsdoc-automation/pnpm-lock.yaml @@ -18,11 +18,14 @@ importers: specifier: ^20.11.0 version: 20.17.10 '@typescript-eslint/parser': - specifier: ^6.18.1 - version: 6.21.0(eslint@9.17.0)(typescript@5.3.3) + specifier: 6.18.1 + version: 6.18.1(eslint@9.17.0)(typescript@5.3.3) '@typescript-eslint/types': - specifier: ^6.18.1 - version: 6.21.0 + specifier: 6.18.1 + version: 6.18.1 + '@typescript-eslint/typescript-estree': + specifier: 6.18.1 + version: 6.18.1(typescript@5.3.3) dotenv: specifier: ^16.4.7 version: 16.4.7 @@ -36,6 +39,9 @@ importers: ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@20.17.10)(typescript@5.3.3) + tsup: + specifier: ^8.3.5 + version: 8.3.5(typescript@5.3.3)(yaml@2.6.1) typescript: specifier: 5.3.3 version: 5.3.3 @@ -49,6 +55,156 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -103,13 +259,28 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -193,6 +364,105 @@ packages: '@octokit/types@13.6.2': resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@rollup/rollup-android-arm-eabi@4.29.1': + resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.29.1': + resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.29.1': + resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.29.1': + resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.29.1': + resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.29.1': + resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.29.1': + resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.29.1': + resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.29.1': + resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.29.1': + resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.29.1': + resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.29.1': + resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.29.1': + resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.29.1': + resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.29.1': + resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.29.1': + resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.29.1': + resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + cpu: [x64] + os: [win32] + '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -226,8 +496,8 @@ packages: '@types/uuid@10.0.0': resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + '@typescript-eslint/parser@6.18.1': + resolution: {integrity: sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -236,16 +506,16 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + '@typescript-eslint/scope-manager@6.18.1': + resolution: {integrity: sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + '@typescript-eslint/types@6.18.1': + resolution: {integrity: sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + '@typescript-eslint/typescript-estree@6.18.1': + resolution: {integrity: sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -253,8 +523,8 @@ packages: typescript: optional: true - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + '@typescript-eslint/visitor-keys@6.18.1': + resolution: {integrity: sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==} engines: {node: ^16.0.0 || >=18.0.0} abort-controller@3.0.0: @@ -282,6 +552,14 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -290,6 +568,13 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -322,6 +607,16 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -334,6 +629,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -349,9 +648,17 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + consola@3.3.3: + resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} + engines: {node: ^14.18.0 || >=16.10.0} + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -391,6 +698,20 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -460,6 +781,14 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -479,6 +808,10 @@ packages: flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + form-data-encoder@1.7.2: resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} @@ -490,6 +823,11 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -498,6 +836,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -529,6 +871,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -540,6 +886,13 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} @@ -621,6 +974,17 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -628,6 +992,12 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -654,6 +1024,14 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -661,6 +1039,9 @@ packages: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -677,6 +1058,10 @@ packages: encoding: optional: true + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + openai@4.77.0: resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} hasBin: true @@ -717,6 +1102,9 @@ packages: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -729,14 +1117,47 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + 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 + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -748,10 +1169,18 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -760,6 +1189,11 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rollup@4.29.1: + resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -776,18 +1210,61 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -795,12 +1272,22 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + ts-api-utils@1.4.3: resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -815,6 +1302,25 @@ packages: '@swc/wasm': optional: true + tsup@8.3.5: + resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} + engines: {node: '>=18'} + hasBin: true + 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 + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -850,9 +1356,15 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -862,6 +1374,14 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + yaml@2.6.1: resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} @@ -891,6 +1411,81 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': dependencies: eslint: 9.17.0 @@ -945,10 +1540,32 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/set-array@1.2.1': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -1059,6 +1676,66 @@ snapshots: dependencies: '@octokit/openapi-types': 22.2.0 + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rollup/rollup-android-arm-eabi@4.29.1': + optional: true + + '@rollup/rollup-android-arm64@4.29.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.29.1': + optional: true + + '@rollup/rollup-darwin-x64@4.29.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.29.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.29.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.29.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.29.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.29.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.29.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.29.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.29.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.29.1': + optional: true + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -1088,12 +1765,12 @@ snapshots: '@types/uuid@10.0.0': {} - '@typescript-eslint/parser@6.21.0(eslint@9.17.0)(typescript@5.3.3)': + '@typescript-eslint/parser@6.18.1(eslint@9.17.0)(typescript@5.3.3)': dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/scope-manager': 6.18.1 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.4.0 eslint: 9.17.0 optionalDependencies: @@ -1101,17 +1778,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/scope-manager@6.18.1': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/visitor-keys': 6.18.1 - '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/types@6.18.1': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@6.18.1(typescript@5.3.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 6.18.1 + '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 @@ -1123,9 +1800,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@6.18.1': dependencies: - '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/types': 6.18.1 eslint-visitor-keys: 3.4.3 abort-controller@3.0.0: @@ -1153,12 +1830,20 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + arg@4.1.3: {} argparse@2.0.1: {} @@ -1186,6 +1871,13 @@ snapshots: dependencies: fill-range: 7.1.1 + bundle-require@5.1.0(esbuild@0.24.2): + dependencies: + esbuild: 0.24.2 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + callsites@3.1.0: {} camelcase@6.3.0: {} @@ -1195,6 +1887,10 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chokidar@4.0.3: + dependencies: + readdirp: 4.0.2 + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -1207,8 +1903,12 @@ snapshots: commander@10.0.1: {} + commander@4.1.1: {} + concat-map@0.0.1: {} + consola@3.3.3: {} + create-require@1.1.1: {} cross-spawn@7.0.6: @@ -1235,6 +1935,40 @@ snapshots: dotenv@16.4.7: {} + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + escape-string-regexp@4.0.0: {} eslint-scope@8.2.0: @@ -1325,6 +2059,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -1345,6 +2083,11 @@ snapshots: flatted@3.3.2: {} + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + form-data-encoder@1.7.2: {} form-data@4.0.1: @@ -1358,6 +2101,9 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + fsevents@2.3.3: + optional: true + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -1366,6 +2112,15 @@ snapshots: dependencies: is-glob: 4.0.3 + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + globals@14.0.0: {} globby@11.1.0: @@ -1394,6 +2149,8 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -1402,6 +2159,14 @@ snapshots: isexe@2.0.0: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + joycon@3.1.1: {} + js-tiktoken@1.0.16: dependencies: base64-js: 1.5.1 @@ -1457,12 +2222,22 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + load-tsconfig@0.2.5: {} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + + lru-cache@10.4.3: {} + make-error@1.3.6: {} merge2@1.4.1: {} @@ -1486,10 +2261,22 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + ms@2.1.3: {} mustache@4.2.0: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + natural-compare@1.4.0: {} node-domexception@1.0.0: {} @@ -1498,6 +2285,8 @@ snapshots: dependencies: whatwg-url: 5.0.0 + object-assign@4.1.1: {} + openai@4.77.0(zod@3.24.1): dependencies: '@types/node': 18.19.68 @@ -1547,6 +2336,8 @@ snapshots: dependencies: p-finally: 1.0.0 + package-json-from-dist@1.0.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -1555,22 +2346,68 @@ snapshots: path-key@3.1.1: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + path-type@4.0.0: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.2: {} + + pirates@4.0.6: {} + + postcss-load-config@6.0.1(yaml@2.6.1): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + yaml: 2.6.1 + prelude-ls@1.2.1: {} punycode@2.3.1: {} queue-microtask@1.2.3: {} + readdirp@4.0.2: {} + resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + retry@0.13.1: {} reusify@1.0.4: {} + rollup@4.29.1: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.29.1 + '@rollup/rollup-android-arm64': 4.29.1 + '@rollup/rollup-darwin-arm64': 4.29.1 + '@rollup/rollup-darwin-x64': 4.29.1 + '@rollup/rollup-freebsd-arm64': 4.29.1 + '@rollup/rollup-freebsd-x64': 4.29.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 + '@rollup/rollup-linux-arm-musleabihf': 4.29.1 + '@rollup/rollup-linux-arm64-gnu': 4.29.1 + '@rollup/rollup-linux-arm64-musl': 4.29.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 + '@rollup/rollup-linux-riscv64-gnu': 4.29.1 + '@rollup/rollup-linux-s390x-gnu': 4.29.1 + '@rollup/rollup-linux-x64-gnu': 4.29.1 + '@rollup/rollup-linux-x64-musl': 4.29.1 + '@rollup/rollup-win32-arm64-msvc': 4.29.1 + '@rollup/rollup-win32-ia32-msvc': 4.29.1 + '@rollup/rollup-win32-x64-msvc': 4.29.1 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -1583,24 +2420,83 @@ snapshots: shebang-regex@3.0.0: {} + signal-exit@4.1.0: {} + slash@3.0.0: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + strip-json-comments@3.1.1: {} + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tinyexec@0.3.2: {} + + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + ts-api-utils@1.4.3(typescript@5.3.3): dependencies: typescript: 5.3.3 + ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@types/node@20.17.10)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -1619,6 +2515,32 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + tsup@8.3.5(typescript@5.3.3)(yaml@2.6.1): + dependencies: + bundle-require: 5.1.0(esbuild@0.24.2) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.3.3 + debug: 4.4.0 + esbuild: 0.24.2 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(yaml@2.6.1) + resolve-from: 5.0.0 + rollup: 4.29.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -1643,17 +2565,37 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + yaml@2.6.1: {} yn@3.1.1: {} diff --git a/scripts/jsdoc-automation/src/AIService.ts b/scripts/jsdoc-automation/src/AIService.ts index 2f7d7b8225..5e95807c61 100644 --- a/scripts/jsdoc-automation/src/AIService.ts +++ b/scripts/jsdoc-automation/src/AIService.ts @@ -1,24 +1,42 @@ import { ChatOpenAI } from "@langchain/openai"; import dotenv from 'dotenv'; +import { ActionMetadata, ASTQueueItem, EnvUsage, OrganizedDocs, PluginDocumentation, TodoItem, TodoSection } from "./types/index.js"; +import path from "path"; +import { promises as fs } from 'fs'; +import { Configuration } from "./Configuration.js"; +import { TypeScriptParser } from './TypeScriptParser.js'; +import { PROMPT_TEMPLATES } from "./utils/prompts.js"; dotenv.config(); +interface FileDocsGroup { + filePath: string; + classes: ASTQueueItem[]; + methods: ASTQueueItem[]; + interfaces: ASTQueueItem[]; + types: ASTQueueItem[]; + functions: ASTQueueItem[]; + } + /** * Service for interacting with OpenAI chat API. */ export class AIService { private chatModel: ChatOpenAI; + private typeScriptParser: TypeScriptParser; /** * Constructor for initializing the ChatOpenAI instance. - * - * @throws {Error} If OPENAI_API_KEY environment variable is not set. + * + * @param {Configuration} configuration - The configuration instance to be used + * @throws {Error} If OPENAI_API_KEY environment variable is not set */ - constructor() { + constructor(private configuration: Configuration) { if (!process.env.OPENAI_API_KEY) { throw new Error('OPENAI_API_KEY is not set'); } this.chatModel = new ChatOpenAI({ apiKey: process.env.OPENAI_API_KEY }); + this.typeScriptParser = new TypeScriptParser(); } /** @@ -28,17 +46,554 @@ export class AIService { */ public async generateComment(prompt: string): Promise { try { - const response = await this.chatModel.invoke(prompt); - return response.content as string; + // First try with generous limit + let finalPrompt = this.truncateCodeBlock(prompt, 8000); + + // Only append language instruction if not English + const normalizedLanguage = this.configuration.language.toLowerCase().trim(); + if (normalizedLanguage !== 'english') { + finalPrompt += `\n\nEverything except the JSDoc conventions and code should be in ${this.configuration.language}`; + } + + console.log(`Generating comment for prompt of length: ${finalPrompt.length}`); + + try { + const response = await this.chatModel.invoke(finalPrompt); + return response.content as string; + } catch (error) { + if (error instanceof Error && error.message.includes('maximum context length')) { + console.warn('Token limit exceeded, attempting with further truncation...'); + // Try with more aggressive truncation + finalPrompt = this.truncateCodeBlock(prompt, 4000); + try { + const response = await this.chatModel.invoke(finalPrompt); + return response.content as string; + } catch (retryError) { + if (retryError instanceof Error && retryError.message.includes('maximum context length')) { + console.warn('Still exceeding token limit, using minimal context...'); + // Final attempt with minimal context + finalPrompt = this.truncateCodeBlock(prompt, 2000); + const response = await this.chatModel.invoke(finalPrompt); + return response.content as string; + } + throw retryError; + } + } + throw error; + } } catch (error) { this.handleAPIError(error as Error); return ''; } } + public async generatePluginDocumentation({ + existingDocs, + packageJson, + todoItems, + envUsages + }: { + existingDocs: ASTQueueItem[]; + packageJson: any; + todoItems: TodoItem[]; + envUsages: EnvUsage[]; + }): Promise { + const organizedDocs = this.organizeDocumentation(existingDocs); + + // Read the index.ts file + // Read the index.ts file + const indexPath = path.join(this.configuration.absolutePath, 'src', 'index.ts'); + const exports = this.typeScriptParser.extractExports(indexPath); + + // Extract actions, providers, and evaluators from the index.ts content + // Generate documentation for actions + const actionsDocumentation = await this.generateActionsDocumentation(exports.actions); + + // Generate documentation for providers + const providersDocumentation = await this.generateProvidersDocumentation(exports.providers); + + // Generate documentation for evaluators + const evaluatorsDocumentation = await this.generateEvaluatorsDocumentation(exports.evaluators); + + const [overview, installation, configuration, usage, apiRef, troubleshooting, todoSection] = await Promise.all([ + this.generateOverview(organizedDocs, packageJson), + this.generateInstallation(packageJson), + this.generateConfiguration(envUsages), + this.generateUsage(organizedDocs, packageJson), + this.generateApiReference(organizedDocs), + this.generateTroubleshooting(organizedDocs, packageJson), + this.generateTodoSection(todoItems) + ]); + + return { + overview, + installation, + configuration, + usage, + apiReference: apiRef, + troubleshooting, + todos: todoSection.todos, + actionsDocumentation, // Added actions documentation + providersDocumentation, // Added providers documentation + evaluatorsDocumentation // Added evaluators documentation + }; + } + + private async generateOverview(docs: OrganizedDocs, packageJson: any): Promise { + const prompt = PROMPT_TEMPLATES.overview(packageJson, docs); + try { + const overview = await this.generateComment(prompt); + return overview; + } catch (error) { + console.error('Error generating overview:', error); + return `# ${packageJson.name}\n\nNo overview available. Please check package documentation.`; + } + } + + private async generateInstallation(packageJson: any): Promise { + const indexPath = path.join(this.configuration.absolutePath, 'src/index.ts'); + let mainExport = 'plugin'; + let exportName = packageJson.name.split('/').pop() + 'Plugin'; + + try { + const indexContent = await fs.readFile(indexPath, { encoding: 'utf8' }); + const exportMatch = indexContent.match(/export const (\w+):/); + if (exportMatch) { + exportName = exportMatch[1]; + } + + const prompt = `Generate installation and integration instructions for this ElizaOS plugin: + + Plugin name: ${packageJson.name} + Main export: ${exportName} + Index file exports: + ${indexContent} + Dependencies: ${JSON.stringify(packageJson.dependencies || {}, null, 2)} + Peer dependencies: ${JSON.stringify(packageJson.peerDependencies || {}, null, 2)} + + This is a plugin for the ElizaOS agent system. Generate comprehensive installation instructions that include: + + 1. How to add the plugin to your ElizaOS project: + - First, explain that users need to add the following to their agent/package.json dependencies: + \`\`\`json + { + "dependencies": { + "${packageJson.name}": "workspace:*" + } + } + \`\`\` + - Then, explain they need to: + 1. cd into the agent/ directory + 2. Run pnpm install to install the new dependency + 3. Run pnpm build to build the project with the new plugin + + 2. After installation, show how to import and use the plugin: + - Import syntax using: import { ${exportName} } from "${packageJson.name}"; + - How to add it to the AgentRuntime plugins array + + 3. Integration example showing the complete setup: + \`\`\`typescript + import { ${exportName} } from "${packageJson.name}"; + + return new AgentRuntime({ + // other configuration... + plugins: [ + ${exportName}, + // other plugins... + ], + }); + \`\`\` + + 4. Verification steps to ensure successful integration + - for this step just tell the user to ensure they see ["✓ Registering action: "] in the console + + Format the response in markdown, with clear section headers and step-by-step instructions. Emphasize that this is a workspace package that needs to be added to agent/package.json and then built.`; + + return await this.generateComment(prompt); + } catch (error) { + console.error('Error reading index.ts:', error); + return this.generateBasicInstallPrompt(packageJson); + } + } + + private async generateBasicInstallPrompt(packageJson: any): Promise { + console.log('AIService::generateInstallation threw an error, generating basic install prompt'); + const prompt = `Generate basic installation instructions for this ElizaOS plugin: + + Plugin name: ${packageJson.name} + Dependencies: ${JSON.stringify(packageJson.dependencies || {}, null, 2)} + Peer dependencies: ${JSON.stringify(packageJson.peerDependencies || {}, null, 2)} + + This is a plugin for the ElizaOS agent system. Include basic setup instructions.`; + + return await this.generateComment(prompt); + } + + private async generateConfiguration(envUsages: EnvUsage[]): Promise { + const prompt = `Generate configuration documentation based on these environment variable usages: + ${envUsages.map(item => ` + Environment Variable: ${item.code} + Full Context: ${item.fullContext} + `).join('\n')} + Create comprehensive configuration documentation that: + 1. Lists all required environment variables and their purpose + 2. Return a full .env example file + + Inform the user that the configuration is done in the .env file. + And to ensure the .env is set in the .gitignore file so it is not committed to the repository. + + Format the response in markdown with proper headings and code blocks.`; + + return await this.generateComment(prompt); + } + + private async generateUsage(docs: OrganizedDocs, packageJson: any): Promise { + const fileGroups = this.groupDocsByFile(docs); + const sections: string[] = []; + + // Generate documentation for each file without individual intros + for (const fileGroup of fileGroups) { + const fileDoc = await this.generateFileUsageDoc(fileGroup); + if (fileDoc.trim()) { + sections.push(fileDoc); + } + } + + return sections.join('\n\n'); + } + + private async generateApiReference(docs: OrganizedDocs): Promise { + const fileGroups = this.groupDocsByFile(docs); + const sections: string[] = []; + + for (const fileGroup of fileGroups) { + const fileDoc = await this.generateFileApiDoc(fileGroup); + if (fileDoc.trim()) { + sections.push(fileDoc); + } + } + + return sections.join('\n'); + } + +/** + * Generates troubleshooting guide based on documentation and common patterns + */ + // toDo - integrate w/ @Jin's discord scraper to pull solutions for known issues + private async generateTroubleshooting(docs: OrganizedDocs, packageJson: any): Promise { + const prompt = `${PROMPT_TEMPLATES.troubleshooting}\n\nFor package: ${packageJson.name}\n\nWith content:\n${JSON.stringify(docs, null, 2)}`; + return await this.generateComment(prompt); + } + + /** + * Generates TODO section documentation from found TODO comments + */ + // toDo - integrate w/ @Jin's discord scraper to auto create GH issues/bounties + private async generateTodoSection(todoItems: TodoItem[]): Promise { + if (todoItems.length === 0) { + return { todos: "No TODO items found.", todoCount: 0 }; + } + + const prompt = `${PROMPT_TEMPLATES.todos}\n\nWith items:\n${todoItems.map(item => + `- Comment: ${item.comment}\n Context: ${item.fullContext}` + ).join('\n')}`; + + const todos = await this.generateComment(prompt); + return { todos, todoCount: todoItems.length }; + } + + // should be moved to utils + private organizeDocumentation(docs: ASTQueueItem[]): OrganizedDocs { + return docs.reduce((acc: OrganizedDocs, doc) => { + // Use nodeType to determine the category + switch (doc.nodeType) { + case 'ClassDeclaration': + acc.classes.push(doc); + break; + case 'MethodDefinition': + case 'TSMethodSignature': + acc.methods.push(doc); + break; + case 'TSInterfaceDeclaration': + acc.interfaces.push(doc); + break; + case 'TSTypeAliasDeclaration': + acc.types.push(doc); + break; + case 'FunctionDeclaration': + acc.functions.push(doc); + break; + } + return acc; + }, { classes: [], methods: [], interfaces: [], types: [], functions: [] }); + } + + private async generateActionsDocumentation(actionsFiles: string[]): Promise { + let documentation = ''; + + for (const file of actionsFiles) { + // Remove ./ prefix and ensure path includes src directory and .ts extension + const relativePath = file.replace(/^\.\//, ''); + const filePath = path.join(this.configuration.absolutePath, 'src', relativePath + '.ts'); + + try { + const ast = this.typeScriptParser.parse(filePath); + const bounds = this.typeScriptParser.findActionBounds(ast); + + if (!bounds) { + console.warn(`No action bounds found in ${filePath}`); + continue; + } + + const actionCode = this.typeScriptParser.extractActionCode(filePath, bounds); + + // Use PROMPT_TEMPLATES.actionDoc + const prompt = `${PROMPT_TEMPLATES.actionDoc}\n\nWith content:\n\`\`\`typescript\n${actionCode}\n\`\`\``; + + const actionDocumentation = await this.generateComment(prompt); + if (actionDocumentation.trim()) { + documentation += actionDocumentation + '\n\n'; + } + + } catch (error) { + console.warn(`Warning: Could not process action file ${filePath}:`, error); + continue; + } + } + + if (!documentation.trim()) { + return 'No actions documentation available.'; + } + + return documentation; + } + + private async generateProvidersDocumentation(providersFiles: string[]): Promise { + let documentation = ''; + + for (const file of providersFiles) { + // Remove ./ prefix and ensure path includes src directory and .ts extension + const relativePath = file.replace(/^\.\//, ''); + const filePath = path.join(this.configuration.absolutePath, 'src', relativePath + '.ts'); + + try { + const content = await fs.readFile(filePath, 'utf-8'); + // Create a provider object with relevant information + const provider = { + fileName: relativePath, + content: content, + // Extract provider properties + name: relativePath.split('/').pop()?.replace('.ts', ''), + }; + + const providerDocumentation = await this.generateProviderDoc(provider); + if (providerDocumentation.trim()) { + documentation += providerDocumentation + '\n\n'; + } + } catch (error) { + console.warn(`Warning: Could not read provider file ${filePath}:`, error); + continue; + } + } + + if (!documentation.trim()) { + return 'No providers documentation available.'; + } + + return documentation; + } + + private async generateEvaluatorsDocumentation(evaluatorsFiles: string[]): Promise { + let documentation = ''; + + for (const file of evaluatorsFiles) { + // Remove ./ prefix and ensure path includes src directory and .ts extension + const relativePath = file.replace(/^\.\//, ''); + const filePath = path.join(this.configuration.absolutePath, 'src', relativePath + '.ts'); + + try { + const content = await fs.readFile(filePath, 'utf-8'); + const prompt = `Generate documentation for the following Evaluator: + \`\`\`typescript + ${content} + \`\`\` + + Provide an overview of the evaluator's purpose and functionality. + Format in markdown without adding any additional headers.`; + + const evaluatorDocumentation = await this.generateComment(prompt); + if (evaluatorDocumentation.trim()) { + documentation += `### ${relativePath}\n\n${evaluatorDocumentation}\n\n`; + } + } catch (error) { + console.warn(`Warning: Could not read evaluator file ${filePath}:`, error); + continue; + } + } + + if (!documentation.trim()) { + return 'No evaluators documentation available.'; + } + + return documentation; + } + + + private groupDocsByFile(docs: OrganizedDocs): FileDocsGroup[] { + // Get unique file paths + const filePaths = new Set(); + [...docs.classes, ...docs.methods, ...docs.interfaces, ...docs.types, ...docs.functions] + .forEach(item => filePaths.add(item.filePath)); + + // Create groups for each file path + return Array.from(filePaths).map(filePath => { + return { + filePath, + classes: docs.classes.filter(c => c.filePath === filePath), + methods: docs.methods.filter(m => m.filePath === filePath), + interfaces: docs.interfaces.filter(i => i.filePath === filePath), + types: docs.types.filter(t => t.filePath === filePath), + functions: docs.functions.filter(f => f.filePath === filePath) + }; + }); + } + + private formatFilePath(filePath: string): string { + // Get relative path from src directory + const srcIndex = filePath.indexOf('/src/'); + if (srcIndex === -1) return filePath; + + const relativePath = filePath.slice(srcIndex + 5); // +5 to skip '/src/' + return relativePath; + } + + private async generateFileUsageDoc(fileGroup: FileDocsGroup): Promise { + const filePath = this.formatFilePath(fileGroup.filePath); + const prompt = `${PROMPT_TEMPLATES.fileUsageDoc}\n\nFor file: ${filePath}\n\nWith components:\n${this.formatComponents(fileGroup)}`; + const doc = await this.generateComment(prompt); + return `### ${filePath}\n\n${doc}`; + } + + private async generateFileApiDoc(fileGroup: FileDocsGroup): Promise { + const filePath = this.formatFilePath(fileGroup.filePath); + const formattedDocs = this.formatApiComponents(fileGroup); + // Add TypeScript code block for the file path to indicate it's a TypeScript module + return formattedDocs ? `### File: \`${filePath}\`\n${formattedDocs}` : ''; + } + + private formatApiComponents(fileGroup: FileDocsGroup): string { + const sections: string[] = []; + + // Classes + if (fileGroup.classes.length > 0) { + sections.push('#### Classes'); + fileGroup.classes.forEach(c => { + sections.push(`##### \`${c.name}\``); + if (c.jsDoc) sections.push(this.formatJSDoc(c.jsDoc, c.code)); + + // Add any methods belonging to this class + const classMethods = fileGroup.methods.filter(m => m.className === c.name); + if (classMethods.length > 0) { + sections.push('**Methods:**'); + classMethods.forEach(m => { + sections.push(`###### \`${m.name}\`${m.jsDoc ? `\n${this.formatJSDoc(m.jsDoc, m.code)}` : ''}`); + }); + } + }); + } + + // Interfaces + if (fileGroup.interfaces.length > 0) { + sections.push('#### Interfaces'); + fileGroup.interfaces.forEach(i => { + sections.push(`##### \`${i.name}\``); + if (i.jsDoc) sections.push(this.formatJSDoc(i.jsDoc, i.code)); + }); + } + + // Types + if (fileGroup.types.length > 0) { + sections.push('#### Types'); + fileGroup.types.forEach(t => { + sections.push(`##### \`${t.name}\``); + if (t.jsDoc) sections.push(this.formatJSDoc(t.jsDoc, t.code)); + }); + } + + // Standalone Functions + if (fileGroup.functions.length > 0) { + sections.push('#### Functions'); + fileGroup.functions.forEach(f => { + sections.push(`##### \`${f.name}\``); + if (f.jsDoc) sections.push(this.formatJSDoc(f.jsDoc, f.code)); + }); + } + + // Standalone Methods + const standaloneMethods = fileGroup.methods.filter(m => !m.className); + if (standaloneMethods.length > 0) { + sections.push('#### Methods'); + standaloneMethods.forEach(m => { + sections.push(`##### \`${m.name}\``); + if (m.jsDoc) sections.push(this.formatJSDoc(m.jsDoc, m.code)); + }); + } + + return sections.join('\n\n'); + } + + private formatJSDoc(jsDoc: string, code?: string): string { + // Clean up the JSDoc + let cleanDoc = jsDoc.replace(/^```\s*\n?/gm, '').replace(/\n?```\s*$/gm, ''); + cleanDoc = cleanDoc.trim().replace(/\n{3,}/g, '\n\n'); + + // Format JSDoc with typescript declaration + const docSection = '```typescript\n' + cleanDoc + '\n```'; + + // If we have the actual code, include it after the JSDoc + // if (code) { + // const cleanCode = code.trim().replace(/^```\s*\n?/gm, '').replace(/\n?```\s*$/gm, ''); + // return `${docSection}\n\n**Implementation:**\n\n\`\`\`typescript\n${cleanCode}\n\`\`\``; + // } + + return docSection; + } + + private formatComponents(fileGroup: FileDocsGroup): string { + const sections: string[] = []; + + if (fileGroup.classes.length > 0) { + sections.push('Classes:', fileGroup.classes.map(c => `- ${c.name}: ${c.jsDoc}`).join('\n')); + } + + if (fileGroup.methods.length > 0) { + sections.push('Methods:', fileGroup.methods.map(m => `- ${m.name}: ${m.jsDoc}`).join('\n')); + } + + if (fileGroup.interfaces.length > 0) { + sections.push('Interfaces:', fileGroup.interfaces.map(i => `- ${i.name}: ${i.jsDoc}`).join('\n')); + } + + if (fileGroup.types.length > 0) { + sections.push('Types:', fileGroup.types.map(t => `- ${t.name}: ${t.jsDoc}`).join('\n')); + } + + if (fileGroup.functions.length > 0) { + sections.push('Functions:', fileGroup.functions.map(f => `- ${f.name}: ${f.jsDoc}`).join('\n')); + } + + return sections.join('\n\n'); + } + + + private async generateProviderDoc(provider: any): Promise { + const prompt = `${PROMPT_TEMPLATES.providerDoc}\n\nWith content:\n${JSON.stringify(provider, null, 2)}`; + return await this.generateComment(prompt); + } /** * Handle API errors by logging the error message and throwing the error. - * + * + * * @param {Error} error The error object to handle * @returns {void} */ @@ -46,4 +601,65 @@ export class AIService { console.error('API Error:', error.message); throw error; } + + private truncateCodeBlock(code: string, maxLength: number = 8000): string { + if (code.length <= maxLength) return code; + + // Extract code blocks + const codeBlockRegex = /```[\s\S]*?```/g; + const codeBlocks = code.match(codeBlockRegex) || []; + + // If no code blocks found, truncate the text directly + if (codeBlocks.length === 0) { + return code.slice(0, maxLength) + '... (truncated)'; + } + + // Calculate maximum length per block to stay under total limit + const nonCodeLength = code.replace(codeBlockRegex, '').length; + const maxLengthPerBlock = Math.floor((maxLength - nonCodeLength) / codeBlocks.length); + + for (let i = 0; i < codeBlocks.length; i++) { + const block = codeBlocks[i]; + if (block.length > maxLengthPerBlock) { + const lines = block.split('\n'); + const header = lines[0]; // Keep the ```typescript or similar + const footer = lines[lines.length - 1]; // Keep the closing ``` + + // Calculate how many lines we can keep + const maxLinesPerSection = Math.floor((maxLengthPerBlock - header.length - footer.length) / 3); + + // Take fewer lines but ensure we get the most important parts + const codeStart = lines.slice(1, maxLinesPerSection).join('\n'); + + // For the middle section, focus on the important parts + const middleIndex = Math.floor(lines.length / 2); + const middleStart = Math.max(maxLinesPerSection, middleIndex - Math.floor(maxLinesPerSection / 2)); + const middleEnd = Math.min(lines.length - maxLinesPerSection, middleIndex + Math.floor(maxLinesPerSection / 2)); + const codeMiddle = lines.slice(middleStart, middleEnd).join('\n'); + + // Take the end section + const codeEnd = lines.slice(lines.length - maxLinesPerSection, -1).join('\n'); + + const truncatedBlock = `${header}\n${codeStart}\n// ... truncated [${lines.length - (maxLinesPerSection * 2)} lines] ...\n${codeMiddle}\n// ... truncated ...\n${codeEnd}\n${footer}`; + code = code.replace(block, truncatedBlock); + } + } + + // Final safety check - if still too long, do a hard truncate + if (code.length > maxLength) { + const blocks = code.split('```'); + const truncatedBlocks = blocks.map((block, index) => { + // Every odd index is a code block + if (index % 2 === 1) { + const lines = block.split('\n'); + const maxLines = 10; // Keep only first few lines of each block + return lines.slice(0, maxLines).join('\n') + '\n// ... remaining code truncated ...\n'; + } + return block.slice(0, 500); // Limit non-code text + }); + code = truncatedBlocks.join('```'); + } + + return code; + } } \ No newline at end of file diff --git a/scripts/jsdoc-automation/src/Configuration.ts b/scripts/jsdoc-automation/src/Configuration.ts index 84758d6230..2b9fd0361e 100644 --- a/scripts/jsdoc-automation/src/Configuration.ts +++ b/scripts/jsdoc-automation/src/Configuration.ts @@ -27,6 +27,9 @@ interface ConfigurationData { pullRequestLabels: string[]; pullRequestReviewers: string[]; excludedFiles: string[]; + generateJsDoc: boolean; + generateReadme: boolean; + language: string; } /** @@ -37,6 +40,9 @@ export class Configuration implements Omit { private _rootDirectory!: ConfigurationData['rootDirectory']; private readonly repoRoot: string; private _branch: string = 'develop'; + private _language: string = 'English'; + private _generateJsDoc: boolean = true; + private _generateReadme: boolean = true; public excludedDirectories: string[] = []; public repository: Repository = { @@ -56,6 +62,22 @@ export class Configuration implements Omit { this.loadConfiguration(); } + get language(): string { + return this._language; + } + + set language(value: string) { + this._language = value; + } + + get generateJsDoc(): boolean { + return this._generateJsDoc; + } + + get generateReadme(): boolean { + return this._generateReadme; + } + get rootDirectory(): ConfigurationData['rootDirectory'] { return this._rootDirectory; } @@ -86,7 +108,21 @@ export class Configuration implements Omit { private loadConfiguration(): void { // First try to get from environment variables + this._language = process.env.INPUT_LANGUAGE || 'English'; + console.log('Using language:', this._language); const rootDirectory = process.env.INPUT_ROOT_DIRECTORY; + this._generateJsDoc = process.env.INPUT_JSDOC + ? process.env.INPUT_JSDOC.toUpperCase() === 'T' + : true; // Default from workflow + this._generateReadme = process.env.INPUT_README + ? process.env.INPUT_README.toUpperCase() === 'T' + : true; // Default from workflow + + console.log('Documentation flags:', { + generateJsDoc: this._generateJsDoc, + generateReadme: this._generateReadme + }); + let inputs; console.log('Environment variables:', { diff --git a/scripts/jsdoc-automation/src/DocumentationGenerator.ts b/scripts/jsdoc-automation/src/DocumentationGenerator.ts index 1503e62524..c39421eccc 100644 --- a/scripts/jsdoc-automation/src/DocumentationGenerator.ts +++ b/scripts/jsdoc-automation/src/DocumentationGenerator.ts @@ -3,12 +3,14 @@ import { TypeScriptParser } from './TypeScriptParser.js'; import { JsDocAnalyzer } from './JsDocAnalyzer.js'; import { JsDocGenerator } from './JsDocGenerator.js'; import type { TSESTree } from '@typescript-eslint/types'; -import { ASTQueueItem, FullModeFileChange, PrModeFileChange } from './types/index.js'; +import { ASTQueueItem, EnvUsage, FullModeFileChange, PrModeFileChange, TodoItem } from './types/index.js'; import { GitManager } from './GitManager.js'; import fs from 'fs'; import { Configuration } from './Configuration.js'; import path from 'path'; import { AIService } from './AIService.js'; +import { PluginDocumentationGenerator } from './PluginDocumentationGenerator.js'; +import { JSDocValidator } from './JSDocValidator.js'; /** * Class representing a Documentation Generator. @@ -19,8 +21,10 @@ export class DocumentationGenerator { public existingJsDocQueue: ASTQueueItem[] = []; private hasChanges: boolean = false; private fileContents: Map = new Map(); - private branchName: string = ''; + public branchName: string = ''; private fileOffsets: Map = new Map(); + private typeScriptFiles: string[] = []; + private jsDocValidator: JSDocValidator; /** * Constructor for initializing the object with necessary dependencies. @@ -41,8 +45,11 @@ export class DocumentationGenerator { public jsDocGenerator: JsDocGenerator, public gitManager: GitManager, public configuration: Configuration, - public aiService: AIService - ) { } + public aiService: AIService, + ) { + this.typeScriptFiles = this.directoryTraversal.traverse(); + this.jsDocValidator = new JSDocValidator(aiService); + } /** * Asynchronously generates JSDoc comments for the TypeScript files based on the given pull request number or full mode. @@ -50,7 +57,7 @@ export class DocumentationGenerator { * @param pullNumber - Optional. The pull request number to generate JSDoc comments for. * @returns A promise that resolves once the JSDoc generation process is completed. */ - public async generate(pullNumber?: number): Promise { + public async generate(pullNumber?: number): Promise<{ documentedItems: ASTQueueItem[], branchName: string | undefined }> { let fileChanges: PrModeFileChange[] | FullModeFileChange[] = []; this.fileOffsets.clear(); @@ -95,7 +102,6 @@ export class DocumentationGenerator { if (fileChange.status === 'deleted') continue; const filePath = this.configuration.toAbsolutePath(fileChange.filename); - console.log(`Processing file: ${filePath}`, 'resetting file offsets', 'from ', this.fileOffsets.get(filePath), 'to 0'); this.fileOffsets.set(filePath, 0); // Load and store file content @@ -104,7 +110,6 @@ export class DocumentationGenerator { const fileContent = await this.getFileContent(fileChange.contents_url); this.fileContents.set(filePath, fileContent); } else { - console.log('Getting file content from local file system'); const fileContent = fs.readFileSync(filePath, 'utf-8'); this.fileContents.set(filePath, fileContent); } @@ -125,8 +130,13 @@ export class DocumentationGenerator { // Process nodes that need JSDoc if (this.missingJsDocQueue.length > 0) { - this.branchName = `docs-update-${pullNumber || 'full'}-${Date.now()}`; - await this.gitManager.createBranch(this.branchName, this.configuration.branch); + // Always create branch if we have missing JSDoc, even if we're only generating README + // This way we have a branch for either JSDoc commits or README commits + + if (this.configuration.generateJsDoc) { + this.branchName = `docs-update-${pullNumber || 'full'}-${Date.now()}`; + await this.gitManager.createBranch(this.branchName, this.configuration.branch); + } // Process each node for (const queueItem of this.missingJsDocQueue) { @@ -136,11 +146,18 @@ export class DocumentationGenerator { } else { comment = await this.jsDocGenerator.generateComment(queueItem); } - await this.updateFileWithJSDoc(queueItem.filePath, comment, queueItem.startLine); - this.hasChanges = true; + + // Only update the actual files with JSDoc if generateJsDoc flag is true + if (this.configuration.generateJsDoc) { + await this.updateFileWithJSDoc(queueItem.filePath, comment, queueItem.startLine); + this.hasChanges = true; + } + + queueItem.jsDoc = comment; + this.existingJsDocQueue.push(queueItem); } - // Commit changes if any updates were made + // Only commit and create PR for JSDoc changes if generateJsDoc is true if (this.hasChanges && this.branchName) { for (const [filePath, content] of this.fileContents) { await this.gitManager.commitFile( @@ -161,7 +178,13 @@ export class DocumentationGenerator { reviewers: this.configuration.pullRequestReviewers || [] }); } + + } + return { + documentedItems: this.existingJsDocQueue, + branchName: this.branchName + }; } /** @@ -218,12 +241,33 @@ export class DocumentationGenerator { const content = this.fileContents.get(filePath) || ''; const lines = content.split('\n'); const currentOffset = this.fileOffsets.get(filePath) || 0; - const newLines = (jsDoc.match(/\n/g) || []).length + 1; const adjustedLine = insertLine + currentOffset; + const fileName = filePath.split('/').pop() || ''; + // Insert the comment lines.splice(adjustedLine - 1, 0, jsDoc); - this.fileOffsets.set(filePath, currentOffset + newLines); - this.fileContents.set(filePath, lines.join('\n')); + const newContent = lines.join('\n'); + + try { + // Validate and fix if necessary + const validatedJSDoc = await this.jsDocValidator.validateAndFixJSDoc(fileName,newContent, jsDoc); + + if (validatedJSDoc !== jsDoc) { + // If the comment was fixed, update the content + lines[adjustedLine - 1] = validatedJSDoc; + const newLines = (validatedJSDoc.match(/\n/g) || []).length + 1; + this.fileOffsets.set(filePath, currentOffset + newLines); + } else { + // console log just the file name from the path, and that the comment was valid + const newLines = (jsDoc.match(/\n/g) || []).length + 1; + this.fileOffsets.set(filePath, currentOffset + newLines); + } + + this.fileContents.set(filePath, lines.join('\n')); + } catch (error) { + console.error(`Error validating JSDoc in ${filePath}:`, error); + throw error; + } } /** @@ -267,29 +311,56 @@ export class DocumentationGenerator { const modifiedFiles = Array.from(this.fileContents.keys()); const filesContext = modifiedFiles.map(file => `- ${file}`).join('\n'); - const prompt = `Generate a pull request title and description for adding JSDoc documentation. - Context: - - ${modifiedFiles.length} files were modified - - Files modified:\n${filesContext} - - This is ${pullNumber ? `related to PR #${pullNumber}` : 'a full repository documentation update'} - - This is an automated PR for adding JSDoc documentation + const prompt = `Create a JSON object for a pull request about JSDoc documentation updates. + The JSON must have exactly this format, with no extra fields or markdown formatting: + { + "title": "Brief title describing JSDoc updates", + "body": "Detailed description of changes" + } + + Context for generating the content: + - ${modifiedFiles.length} files were modified + - Files modified:\n${filesContext} + - This is ${pullNumber ? `related to PR #${pullNumber}` : 'a full repository documentation update'} + - This is an automated PR for adding JSDoc documentation - Generate both a title and description. The description should be detailed and include: - 1. A clear summary of changes - 2. Summary of modified files - 3. Instructions for reviewers + The title should be concise and follow conventional commit format. + The body should include: + 1. A clear summary of changes + 2. List of modified files + 3. Brief instructions for reviewers - Format the response as a JSON object with 'title' and 'body' fields.`; + Return ONLY the JSON object, no other text.`; const response = await this.aiService.generateComment(prompt); + try { - const content = JSON.parse(response); + // Clean up the response - remove any markdown formatting or extra text + const jsonStart = response.indexOf('{'); + const jsonEnd = response.lastIndexOf('}') + 1; + if (jsonStart === -1 || jsonEnd === -1) { + throw new Error('No valid JSON object found in response'); + } + + const jsonStr = response.slice(jsonStart, jsonEnd) + .replace(/```json/g, '') + .replace(/```/g, '') + .trim(); + + const content = JSON.parse(jsonStr); + + // Validate the parsed content + if (!content.title || !content.body || typeof content.title !== 'string' || typeof content.body !== 'string') { + throw new Error('Invalid JSON structure'); + } + return { title: content.title, body: content.body }; } catch (error) { - console.error('Error parsing AI response for PR content generation, using default values'); + console.error('Error parsing AI response for PR content:', error); + console.error('Raw response:', response); return { title: `docs: Add JSDoc documentation${pullNumber ? ` for PR #${pullNumber}` : ''}`, body: this.generateDefaultPRBody() @@ -316,4 +387,29 @@ export class DocumentationGenerator { ### 🤖 Generated by Documentation Bot This is an automated PR created by the documentation generator tool.`; } + + /** + * Analyzes TODOs and environment variables in the code + */ + public async analyzeCodebase(): Promise<{ todoItems: TodoItem[], envUsages: EnvUsage[] }> { + const todoItems: TodoItem[] = []; + const envUsages: EnvUsage[] = []; + + for (const filePath of this.typeScriptFiles) { + const ast = this.typeScriptParser.parse(filePath); + if (!ast) continue; + + const sourceCode = fs.readFileSync(filePath, 'utf-8'); + + // Find TODOs + this.jsDocAnalyzer.findTodoComments(ast, ast.comments || [], sourceCode); + todoItems.push(...this.jsDocAnalyzer.todoItems); + + // Find env usages + this.jsDocAnalyzer.findEnvUsages(ast, sourceCode); + envUsages.push(...this.jsDocAnalyzer.envUsages); + } + + return { todoItems, envUsages }; + } } \ No newline at end of file diff --git a/scripts/jsdoc-automation/src/GitManager.ts b/scripts/jsdoc-automation/src/GitManager.ts index 366cdd2abe..9030ff8213 100644 --- a/scripts/jsdoc-automation/src/GitManager.ts +++ b/scripts/jsdoc-automation/src/GitManager.ts @@ -57,7 +57,7 @@ export class GitManager { /** * Creates a new branch in the GitHub repository using the given branch name and base branch. - * + * * @param {string} branchName - The name of the new branch to be created. * @param {string} baseBranch - The name of the branch to base the new branch off of. * @returns {Promise} - A Promise that resolves when the branch is successfully created. @@ -77,7 +77,7 @@ export class GitManager { /** * Asynchronously commits a file to a repository using the GitHub API. - * + * * @param {string} branchName - The name of the branch to commit the file to. * @param {string} filePath - The path of the file to commit. * @param {string} content - The content of the file to commit. @@ -104,6 +104,7 @@ export class GitManager { }); } catch (error: any) { if (error.status === 404) { + console.log('404 - File doesn\'t exist in the target branch, creating a new file'); // File doesn't exist in the target branch, create a new file await this.octokit.repos.createOrUpdateFileContents({ owner: this.repository.owner, diff --git a/scripts/jsdoc-automation/src/JSDocValidator.ts b/scripts/jsdoc-automation/src/JSDocValidator.ts new file mode 100644 index 0000000000..8a9b293d3f --- /dev/null +++ b/scripts/jsdoc-automation/src/JSDocValidator.ts @@ -0,0 +1,141 @@ +import { parse, ParserOptions } from '@typescript-eslint/parser'; +import { AIService } from './AIService.js'; + +export class JSDocValidator { + private parserOptions: ParserOptions = { + sourceType: 'module', + ecmaVersion: 2020, + ecmaFeatures: { + jsx: true + }, + range: true, + loc: true, + tokens: true, + comment: true + }; + + constructor(private aiService: AIService) {} + + /** + * Validates and fixes JSDoc comments in TypeScript code + */ + public async validateAndFixJSDoc(fileName: string, code: string, originalComment: string): Promise { + // First try parsing with the original comment + if (this.isValidTypeScript(code)) { + return originalComment; + } + + // Try fixing common JSDoc issues + const fixedComment = this.fixCommonJSDocIssues(originalComment); + const codeWithFixedComment = code.replace(originalComment, fixedComment); + + if (this.isValidTypeScript(codeWithFixedComment)) { + console.log(`✓ JSDoc comment in ${fileName} was fixed using regex patterns`); + return fixedComment; + } else { + console.log(`❌JSDoc comment in ${fileName} regex patterns failed, making AI call for help`); + } + + // If still invalid, try regenerating with AI + try { + const regeneratedComment = await this.regenerateJSDoc(code); + const codeWithRegeneratedComment = code.replace(originalComment, regeneratedComment); + + if (this.isValidTypeScript(codeWithRegeneratedComment)) { + console.log(`✓ JSDoc comment in ${fileName} was regenerated using AI`); + return regeneratedComment; + } + } catch (error) { + console.error(`Error during AI regeneration for ${fileName}:`, error); + } + + // Instead of throwing, log the issue and return original + console.warn(`⚠️ HUMAN INTERVENTION NEEDED - Invalid JSDoc in ${fileName}`); + console.warn('Original comment:', originalComment); + return originalComment; + } + + /** + * Checks if the TypeScript code is valid + */ + private isValidTypeScript(code: string): boolean { + try { + parse(code, this.parserOptions); + return true; + } catch (error) { + return false; + } + } + + /** + * Fixes common JSDoc formatting issues + */ + private fixCommonJSDocIssues(comment: string): string { + // First remove any backtick code block markers + comment = comment.replace(/^```[\s\S]*?\n/, ''); // Remove opening code block + comment = comment.replace(/\n```$/, ''); // Remove closing code block + + const fixes = [ + // Fix opening format + [/\/\*\*?(?!\*)/, '/**'], // Ensure proper opening + + // Fix body asterisks and spacing + [/\*{3,}/g, '**'], // Remove excessive asterisks in body + [/\*(?!\s|\*|\/)/g, '* '], // Add space after single asterisk + [/^(\s*)\*\s\s+/gm, '$1* '], // Remove multiple spaces after asterisk + + // Fix multi-line issues (from bash script insights) + [/\*\/\s*\n\s*\*\*\//g, '*/'], // Remove stray closing after proper closing + [/\n\s*\*\s*\n\s*\*\//g, '\n */'], // Fix empty line before closing + + // Fix closing format + [/\*+\//g, '*/'], // Fix multiple asterisks in closing + [/(? { + const prompt = `Fix the following JSDoc comment to be syntactically valid. + Ensure proper formatting: + - Start with /** + - Each line should start with a single * + - End with */ + - No extra asterisks + - Space after each asterisk + - Space before closing tag + + Code: + ${code} + + Return ONLY the fixed JSDoc comment, nothing else.`; + + return await this.aiService.generateComment(prompt); + } +} \ No newline at end of file diff --git a/scripts/jsdoc-automation/src/JsDocAnalyzer.ts b/scripts/jsdoc-automation/src/JsDocAnalyzer.ts index 223d1893b4..f05b09dba4 100644 --- a/scripts/jsdoc-automation/src/JsDocAnalyzer.ts +++ b/scripts/jsdoc-automation/src/JsDocAnalyzer.ts @@ -1,6 +1,7 @@ import type { TSESTree } from '@typescript-eslint/types'; import { TypeScriptParser } from './TypeScriptParser.js'; -import { ASTQueueItem } from './types/index.js'; +import { ASTQueueItem, EnvUsage, TodoItem } from './types/index.js'; +import { ASTQueueItem, EnvUsage, TodoItem } from './types/index.js'; type AST_NODE_TYPES = { ClassDeclaration: 'ClassDeclaration'; @@ -156,6 +157,8 @@ export class JsDocAnalyzer { public missingJsDocNodes: TSESTree.Node[] = []; + public todoItems: TodoItem[] = []; + public envUsages: EnvUsage[] = []; /** * Constructor for initializing a new instance. @@ -387,4 +390,269 @@ export class JsDocAnalyzer { return methods; } + + + /** + * Finds TODO comments in the code and their associated nodes + * @param ast - The AST to analyze + * @param comments - Array of comments to search through + * @param sourceCode - The original source code + */ + public findTodoComments(ast: TSESTree.Program, comments: TSESTree.Comment[], sourceCode: string): void { + this.todoItems = []; + + comments.forEach(comment => { + if (!comment.loc) return; + + const commentText = comment.value.toLowerCase(); + if (commentText.includes('todo')) { + try { + // Find the nearest node after the comment + const nearestNode = this.findNearestNode(ast, comment.loc.end.line); + if (nearestNode && nearestNode.loc) { + // Find the containing function/class/block + const containingBlock = this.findContainingBlock(nearestNode); + + // Extract the actual code associated with the TODO + const code = this.extractNodeCode(sourceCode, nearestNode); + + // Extract the full context (entire function/class/block) + const fullContext = containingBlock && containingBlock.loc + ? this.extractNodeCode(sourceCode, containingBlock) + : code; + + this.todoItems.push({ + comment: comment.value.trim(), + code, + fullContext, + node: nearestNode, + location: comment.loc, + contextLocation: containingBlock?.loc || comment.loc + }); + } + } catch (error) { + console.error('Error processing TODO comment:', error); + // Continue processing other comments even if one fails + } + } + }); +} + +/** + * Finds the containing block (function/class/interface declaration) for a node + */ +private findContainingBlock(node: TSESTree.Node): TSESTree.Node | undefined { + let current = node; + while (current.parent) { + if ( + current.parent.type === 'FunctionDeclaration' || + current.parent.type === 'ClassDeclaration' || + current.parent.type === 'TSInterfaceDeclaration' || + current.parent.type === 'MethodDefinition' || + current.parent.type === 'ArrowFunctionExpression' || + current.parent.type === 'FunctionExpression' + ) { + return current.parent; + } + current = current.parent; + } + return undefined; +} + +/** + * Finds environment variable usage in the code + * @param ast - The AST to analyze + * @param sourceCode - The original source code + */ +public findEnvUsages(ast: TSESTree.Program, sourceCode: string): void { + this.envUsages = []; + + const findEnvReferences = (node: TSESTree.Node) => { + if (!node.loc) return; + + // Check for process.env + if ( + node.type === 'MemberExpression' && + node.object.type === 'Identifier' && + node.object.name === 'process' && + node.property.type === 'Identifier' && + node.property.name === 'env' + ) { + // Get the parent statement/expression for context + const contextNode = this.findParentStatement(node); + // Get the containing function/block for full context + const containingBlock = this.findContainingBlock(node); + + // Get just the process.env reference + const code = this.extractNodeCode(sourceCode, node); + + // Get the full line by using the line number directly + const lines = sourceCode.split('\n'); + const context = lines[node.loc.start.line - 1]; + + // Get the entire function/block containing this env usage + const fullContext = containingBlock ? this.extractFullContext(sourceCode, containingBlock) : context; + + this.envUsages.push({ + code, + context, + fullContext, + node, + location: node.loc, + contextLocation: containingBlock?.loc || node.loc + }); + } + + // Continue traversing + Object.keys(node).forEach(key => { + const child = node[key as keyof TSESTree.Node]; + if (child && typeof child === 'object') { + if (Array.isArray(child)) { + child.forEach(item => { + if (item && typeof item === 'object') { + findEnvReferences(item as TSESTree.Node); + } + }); + } else { + findEnvReferences(child as TSESTree.Node); + } + } + }); + }; + + findEnvReferences(ast); +} + +/** + * Extracts the actual source code for a given node + */ +private extractNodeCode(sourceCode: string, node: TSESTree.Node): string { + if (!node.loc) { + return ''; + } + + const lines = sourceCode.split('\n'); + const startLine = node.loc.start.line - 1; + const endLine = node.loc.end.line; + + if (startLine < 0 || endLine > lines.length) { + return ''; + } + + // Handle single-line case + if (startLine === endLine - 1) { + const line = lines[startLine]; + return line.slice(node.loc.start.column, node.loc.end.column); + } + + // Handle multi-line case + const result = []; + for (let i = startLine; i < endLine; i++) { + let line = lines[i]; + if (i === startLine) { + line = line.slice(node.loc.start.column); + } else if (i === endLine - 1) { + line = line.slice(0, node.loc.end.column); + } + result.push(line); + } + return result.join('\n'); +} + +/** + * Extracts the full context including any variable declarations and surrounding code + */ +private extractFullContext(sourceCode: string, node: TSESTree.Node): string { + if (!node.loc) return ''; + + const lines = sourceCode.split('\n'); + const startLine = node.loc.start.line - 1; + const endLine = node.loc.end.line; + + if (startLine < 0 || endLine > lines.length) { + return ''; + } + + // Get the complete lines for the entire block/function + return lines.slice(startLine, endLine).join('\n'); +} + +/** + * Finds the parent statement or expression node + */ +// prettyr sure this isnt needed, directly access code rather +private findParentStatement(node: TSESTree.Node): TSESTree.Node | undefined { + let current = node; + while (current.parent) { + // Add more statement types that could contain process.env + if ( + current.parent.type === 'VariableDeclaration' || + current.parent.type === 'ExpressionStatement' || + current.parent.type === 'AssignmentExpression' || + current.parent.type === 'ReturnStatement' || + current.parent.type === 'IfStatement' || + current.parent.type === 'LogicalExpression' || + current.parent.type === 'BinaryExpression' || + current.parent.type === 'Property' || + current.parent.type === 'ObjectExpression' || + current.parent.type === 'MemberExpression' + ) { + return current.parent; + } + // Add logging to see what types we're encountering + console.log('Parent node type:', current.parent.type); + current = current.parent; + } + return undefined; +} + +/** + * Finds the nearest node after a specific line number + */ +private findNearestNode(ast: TSESTree.Program, lineNumber: number): TSESTree.Node | undefined { + let nearestNode: TSESTree.Node | undefined; + let smallestDistance = Infinity; + + const traverse = (node: TSESTree.Node | null) => { + if (!node) return; + + // Check if the node has a location + if (node.loc) { + const distance = node.loc.start.line - lineNumber; + if (distance > 0 && distance < smallestDistance) { + smallestDistance = distance; + nearestNode = node; + } + } + + // Safely traverse child nodes + if ('body' in node) { + const body = Array.isArray(node.body) ? node.body : [node.body]; + body.forEach((child: TSESTree.Node) => { + if (child && typeof child === 'object') { + traverse(child as TSESTree.Node); + } + }); + } + + // Handle specific node types + if ('declarations' in node && Array.isArray(node.declarations)) { + node.declarations.forEach((decl: TSESTree.Node) => traverse(decl)); + } + + if ('declaration' in node && node.declaration) { + traverse(node.declaration); + } + + // Handle other properties that might contain nodes + ['consequent', 'alternate', 'init', 'test', 'update'].forEach(prop => { + if (prop in node && node[prop as keyof typeof node]) { + traverse(node[prop as keyof typeof node] as TSESTree.Node); + } + }); + }; + + traverse(ast); + return nearestNode; +} } \ No newline at end of file diff --git a/scripts/jsdoc-automation/src/PluginDocumentationGenerator.ts b/scripts/jsdoc-automation/src/PluginDocumentationGenerator.ts new file mode 100644 index 0000000000..5bdcbc9057 --- /dev/null +++ b/scripts/jsdoc-automation/src/PluginDocumentationGenerator.ts @@ -0,0 +1,105 @@ +import { ASTQueueItem, PluginDocumentation, TodoItem, EnvUsage } from './types/index.js'; +import { AIService } from './AIService.js'; +import { GitManager } from './GitManager.js'; +import { Configuration } from './Configuration.js'; +import fs from 'fs'; +import path from 'path'; + +/** + * Generates comprehensive plugin documentation based on existing JSDoc comments + */ +export class PluginDocumentationGenerator { + constructor( + private aiService: AIService, + private gitManager: GitManager, + private configuration: Configuration + ) { } + + /** + * Generates comprehensive plugin documentation + * @param {ASTQueueItem[]} existingDocs - Queue of documented items + * @param {string} branchName - Current git branch name + * @param {TodoItem[]} todoItems - List of TODO items found in the codebase + * @param {EnvUsage[]} envUsages - List of environment variable usages + */ + public async generate( + existingDocs: ASTQueueItem[], + branchName?: string, + todoItems: TodoItem[] = [], + envUsages: EnvUsage[] = [] + ): Promise { + // Read package.json + const packageJsonPath = path.join(this.configuration.absolutePath, 'package.json'); + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); + if (!packageJson) { + console.error('package.json not found'); + } + // Generate documentation + const documentation = await this.aiService.generatePluginDocumentation({ + existingDocs, + packageJson, + todoItems, + envUsages + }); + + // Generate markdown content + const markdownContent = this.generateMarkdownContent(documentation, packageJson); + + // Only commit the file if we're in a branch + if (branchName) { + // Use the configuration's relative path to determine the correct README location + const relativeReadmePath = path.join( + this.configuration.relativePath, + 'README-automated.md' + ); + + // Commit the file to the correct location + await this.gitManager.commitFile( + branchName, + relativeReadmePath, + markdownContent, + 'docs: Update plugin documentation' + ); + } else { + console.error('No branch name provided, skipping commit for README-automated.md'); + } + } + + private generateMarkdownContent(docs: PluginDocumentation, packageJson: any): string { + return `# ${packageJson.name} Documentation + +## Overview +${docs.overview} + +## Installation +${docs.installation} + +## Configuration +${docs.configuration} + +## Features + +### Actions +${docs.actionsDocumentation} + +### Providers +${docs.providersDocumentation} + +### Evaluators +${docs.evaluatorsDocumentation} + +## Usage Examples +${docs.usage} + +## API Reference +${docs.apiReference} + +## Development + +### TODO Items +${docs.todos} + +### Troubleshooting +${docs.troubleshooting}`; +} +} \ No newline at end of file diff --git a/scripts/jsdoc-automation/src/TypeScriptParser.ts b/scripts/jsdoc-automation/src/TypeScriptParser.ts index 2d40963042..c39a92faf5 100644 --- a/scripts/jsdoc-automation/src/TypeScriptParser.ts +++ b/scripts/jsdoc-automation/src/TypeScriptParser.ts @@ -1,5 +1,6 @@ import * as fs from 'fs'; import { parse, ParserOptions } from '@typescript-eslint/parser'; +import { ActionBounds, ActionMetadata } from './types'; /** * A class for parsing TypeScript files. @@ -7,7 +8,7 @@ import { parse, ParserOptions } from '@typescript-eslint/parser'; export class TypeScriptParser { /** * Parses the content of a file using the given file path. - * + * * @param {string} file - The file path containing the content to be parsed. * @returns {any} The abstract syntax tree (AST) representation of the parsed content. */ @@ -44,13 +45,95 @@ export class TypeScriptParser { } } - /** - * Handles a parse error that occurs during TypeScript parsing. - * - * @param {Error} error - The error that occurred during parsing - * @returns {void} - */ - public handleParseError(error: Error): void { - console.error('TypeScript Parsing Error:', error); + public extractExports(file: string): { actions: string[], providers: string[], evaluators: string[] } { + //const content = fs.readFileSync(file, 'utf-8'); + const ast = this.parse(file); + + const exports: { actions: string[], providers: string[], evaluators: string[] } = { + actions: [], + providers: [], + evaluators: [], + }; + + if (ast) { + // Traverse the AST to find export declarations + ast.body.forEach((node: any) => { + if (node.type === 'ImportDeclaration') { + const source = node.source.value; + if (source.startsWith('./actions/')) { + exports.actions.push(source); + } else if (source.startsWith('./providers/')) { + exports.providers.push(source); + } else if (source.startsWith('./evaluators/')) { + exports.evaluators.push(source); + } + } + }); + } + + return exports; + } + + public findActionBounds(ast: any): ActionBounds | null { + let startLine: number | null = null; + let endLine: number | null = null; + let actionNameStartLine: number | null = null; + + const findActionTypeAnnotation = (node: any) => { + // Look for Action type annotation + if (node?.typeAnnotation?.typeAnnotation?.typeName?.name === 'Action') { + startLine = node.loc.start.line; + } + + // Look for ActionExample type annotation to find the end + if (node?.typeAnnotation?.elementType?.elementType?.typeName?.name === 'ActionExample') { + endLine = node.loc.end.line; + } + + // Backup: Look for action name property + if (node?.type === 'Property' && + node?.key?.type === 'Identifier' && + node?.key?.name === 'name' && + node?.value?.type === 'Literal') { + actionNameStartLine = node.loc.start.line; + } + + // Recursively search in child nodes + for (const key in node) { + if (node[key] && typeof node[key] === 'object') { + if (Array.isArray(node[key])) { + node[key].forEach(findActionTypeAnnotation); + } else { + findActionTypeAnnotation(node[key]); + } + } + } + }; + + findActionTypeAnnotation(ast); + + // If we found a valid end line but no start line, use the action name line as fallback + if (!startLine && actionNameStartLine && endLine) { + console.log('Using action name line as fallback'); + startLine = actionNameStartLine; + } + + if (startLine && endLine) { + return { startLine, endLine }; + } + + return null; + } + + public extractActionCode(filePath: string, bounds: ActionBounds): string { + const fileContent = fs.readFileSync(filePath, 'utf-8'); + const lines = fileContent.split('\n'); + + // Extract lines from start to end (inclusive) + return lines.slice(bounds.startLine - 1, bounds.endLine).join('\n'); + } + + private handleParseError(error: Error): void { + console.error('Error parsing TypeScript file:', error.message); } -} \ No newline at end of file +} diff --git a/scripts/jsdoc-automation/src/index.ts b/scripts/jsdoc-automation/src/index.ts index b3156e0608..b94cfa9dab 100644 --- a/scripts/jsdoc-automation/src/index.ts +++ b/scripts/jsdoc-automation/src/index.ts @@ -6,6 +6,7 @@ import { DocumentationGenerator } from './DocumentationGenerator.js'; import { Configuration } from './Configuration.js'; import { AIService } from './AIService.js'; import { GitManager } from './GitManager.js'; +import { PluginDocumentationGenerator } from './PluginDocumentationGenerator.js'; /** * Main function for generating documentation. @@ -46,7 +47,7 @@ async function main() { ); const typeScriptParser = new TypeScriptParser(); const jsDocAnalyzer = new JsDocAnalyzer(typeScriptParser); - const aiService = new AIService(); + const aiService = new AIService(configuration); const jsDocGenerator = new JsDocGenerator(aiService); const documentationGenerator = new DocumentationGenerator( @@ -59,8 +60,54 @@ async function main() { aiService ); - // Generate documentation - await documentationGenerator.generate(configuration.repository.pullNumber); + const pluginDocGenerator = new PluginDocumentationGenerator( + aiService, + gitManager, + configuration + ); + + const { todoItems, envUsages } = await documentationGenerator.analyzeCodebase(); + + // Generate JSDoc documentation first + const { documentedItems, branchName } = await documentationGenerator.generate( + configuration.repository.pullNumber + ); + + // If both are true, use JSDoc branch for README + // If only README is true, create new branch + if (configuration.generateReadme) { + const targetBranch = (configuration.generateJsDoc && branchName) + ? branchName + : `docs-update-readme-${Date.now()}`; + + if (!configuration.generateJsDoc) { + await gitManager.createBranch(targetBranch, configuration.branch); + } + + await pluginDocGenerator.generate( + documentedItems, + targetBranch, + todoItems, + envUsages + ); + + // Only create PR if we're not also generating JSDoc (otherwise changes go in JSDoc PR) + if (!configuration.generateJsDoc) { + const prContent = { + title: "docs: Update plugin documentation", + body: "Updates plugin documentation with latest changes" + }; + + await gitManager.createPullRequest({ + title: prContent.title, + body: prContent.body, + head: targetBranch, + base: configuration.branch, + labels: ['documentation', 'automated-pr'], + reviewers: configuration.pullRequestReviewers || [] + }); + } + } } catch (error) { console.error('Error during documentation generation:', { message: error instanceof Error ? error.message : String(error), diff --git a/scripts/jsdoc-automation/src/types/index.ts b/scripts/jsdoc-automation/src/types/index.ts index 238403b4ae..2762f850d1 100644 --- a/scripts/jsdoc-automation/src/types/index.ts +++ b/scripts/jsdoc-automation/src/types/index.ts @@ -1,3 +1,7 @@ +import { TSESTree } from "@typescript-eslint/types"; + +import { TSESTree } from "@typescript-eslint/types"; + export interface ASTQueueItem { name: string; filePath: string; @@ -26,4 +30,74 @@ export interface PrModeFileChange extends FullModeFileChange { deletions: number; changes: number; contents_url: string; -} \ No newline at end of file +} + +export interface OrganizedDocs { + classes: ASTQueueItem[]; + methods: ASTQueueItem[]; + interfaces: ASTQueueItem[]; + types: ASTQueueItem[]; + functions: ASTQueueItem[]; +} + +export interface TodoSection { + todos: string; + todoCount: number; +} + +export interface TodoItem { + comment: string; + code: string; + fullContext: string; + node: TSESTree.Node; + location: { + start: { line: number; column: number }; + end: { line: number; column: number }; + }; + contextLocation: { + start: { line: number; column: number }; + end: { line: number; column: number }; + }; +} + +export interface EnvUsage { + code: string; + context: string; + fullContext: string; + node: TSESTree.Node; + location: { + start: { line: number; column: number }; + end: { line: number; column: number }; + }; + contextLocation: { + start: { line: number; column: number }; + end: { line: number; column: number }; + }; +} + +export interface PluginDocumentation { + overview: string; + installation: string; + configuration: string; + usage: string; + apiReference: string; + troubleshooting: string; + todos: string; + actionsDocumentation: string; + providersDocumentation: string; + evaluatorsDocumentation: string; +} + +export interface ActionMetadata { + name: string; + similes: string[]; + validate: string; + handler: string; + examples: string[]; + description: string; +} + +export interface ActionBounds { + startLine: number; + endLine: number; +} diff --git a/scripts/jsdoc-automation/src/utils/prompts.ts b/scripts/jsdoc-automation/src/utils/prompts.ts new file mode 100644 index 0000000000..87fe4df1b9 --- /dev/null +++ b/scripts/jsdoc-automation/src/utils/prompts.ts @@ -0,0 +1,177 @@ +import { OrganizedDocs } from "../types"; + +export const PROMPT_TEMPLATES = { + overview: (packageJson: any, docs: OrganizedDocs) => ` + Create an overview for ${packageJson.name} with the following structure and details: + +### Purpose +[Write a comprehensive paragraph explaining the main purpose based on the package details below] + +Package Information: +- Name: ${packageJson.name} +- Description: ${packageJson.description || 'N/A'} +- Version: ${packageJson.version || 'N/A'} +- Keywords: ${(packageJson.keywords || []).join(', ')} + +### Key Features + +Code Components: +${docs.classes.length > 0 ? ` +Classes: +${docs.classes.map(c => `- ${c.name}: ${c.jsDoc}`).join('\n')}` : ''} + +${docs.interfaces.length > 0 ? ` +Interfaces: +${docs.interfaces.map(i => `- ${i.name}: ${i.jsDoc}`).join('\n')}` : ''} + +${docs.types.length > 0 ? ` +Types: +${docs.types.map(t => `- ${t.name}: ${t.jsDoc}`).join('\n')}` : ''} + +${docs.functions.length > 0 ? ` +Functions: +${docs.functions.map(f => `- ${f.name}: ${f.jsDoc}`).join('\n')}` : ''} + +Based on the above components, list the key features and capabilities of this plugin: +- Feature 1: Brief description +- Feature 2: Brief description +[List key features with brief descriptions] + +Format in markdown without adding any additional headers.`, + + installation: `Create installation instructions with the following structure: + +### Prerequisites +[List any prerequisites] + +### Steps +1. [First step with code example if needed] +2. [Second step with code example if needed] +[Number each step clearly] + +### Verification +[How to verify successful installation] + +Format in markdown without adding any additional headers.`, + + configuration: `Create configuration documentation with the following structure: + +### Environment Variables +[Table or list of all environment variables with descriptions] + +### Example Configuration +\`\`\`env +[Example .env file] +\`\`\` + +### Important Notes +[Any important notes about configuration] + +Format in markdown without adding any additional headers.`, + + actionDoc: `Generate documentation for this action with the following structure: + +### [action name] +[Brief description of the action] + +#### Properties +- Name: [action name] +- Similes: [list of similes] + +#### Handler +[Description of what the handler does] + +#### Examples +[Use Examples object in Action code to give a Natural language example replace {{user2}} with "Agent" and {{user1}} with "User"] + +Format in markdown without adding any additional headers.`, + + providerDoc: `Generate documentation for this provider with the following structure: + +### [Provider Name] +[Brief description of the provider] + +#### Methods +[Focus on the get() method and its functionality.] + +#### Usage +\`\`\`typescript +[Example usage code] +\`\`\` + +Format in markdown without adding any additional headers.`, + + fileUsageDoc: `Determine multiple use cases for the provided code, and give examples of how to use the code: + +### Common Use Cases +1. [First use case with code example] +2. [Second use case with code example] + +### Best Practices +- [Best practice 1] +- [Best practice 2] + +Format in markdown without adding any additional headers.`, + + fileApiDoc: `Generate API reference documentation with the following structure: + +### Classes +\`\`\`typescript +[List each class with its methods and properties] +\`\`\` +### Interfaces +\`\`\`typescript +[List each interface with its properties] +\`\`\` + +### Types +\`\`\`typescript +[List each type with its definition] +\`\`\` + +### Functions +\`\`\`typescript +[List each function with its parameters and return type] +\`\`\` + + +Create a comprehensive API reference including: +1. Class descriptions and methods +2. Method signatures and parameters +3. Return types and values +4. Interface definitions +5. Type definitions +6. Examples for complex APIs + +Format the response in markdown with proper headings and code blocks.`, + + todos: `Generate TODO documentation with the following structure, DO NOT return the context/code rather a description of the code and how the todo is related to the code, if no todos are provided return "No todos found in the code": + +### Items +1. [First TODO item] + - Context: [describe the code associated with the todo] + - Type: [bug/feature/enhancement] +2. [Second TODO item] + - Context: [describe the code associated with the todo] + - Type: [bug/feature/enhancement] + +Format in markdown without adding any additional headers.`, + + troubleshooting: `Generate troubleshooting guide with the following structure: + +### Common Issues +1. [First issue] + - Cause: [cause of the issue] + - Solution: [how to solve it] + +### Debugging Tips +- [First debugging tip] +- [Second debugging tip] +- Ask your questions at https://eliza.gg/ 🚀 or in our discord + +### FAQ +Q: [Common question] +A: [Answer with example if applicable] + +Format in markdown without adding any additional headers.` +}; \ No newline at end of file diff --git a/scripts/jsdoc-automation/tsconfig.json b/scripts/jsdoc-automation/tsconfig.json index 777a040a61..704e32bf4d 100644 --- a/scripts/jsdoc-automation/tsconfig.json +++ b/scripts/jsdoc-automation/tsconfig.json @@ -1,18 +1,19 @@ { "compilerOptions": { - "module": "node16", + "strict": true, "esModuleInterop": true, + "skipLibCheck": true, "target": "ES2020", - "moduleResolution": "node16", - "outDir": "dist", - "baseUrl": ".", - "sourceMap": true, - "strict": true + "module": "ESNext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true }, "include": [ - "**/*.ts" + "src/**/*.ts" ], "exclude": [ - "node_modules" + "node_modules", + "dist" ] } \ No newline at end of file diff --git a/scripts/jsdoc-automation/tsup.config.ts b/scripts/jsdoc-automation/tsup.config.ts new file mode 100644 index 0000000000..6713123597 --- /dev/null +++ b/scripts/jsdoc-automation/tsup.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + entry: ['src/index.ts'], + format: ['cjs', 'esm'], + dts: true, + splitting: false, + sourcemap: true, + clean: true, + target: 'node16', + outDir: 'dist', + treeshake: true, + }) \ No newline at end of file