From 210e446aad718c6671adfd91f2d069c9c66f249d Mon Sep 17 00:00:00 2001 From: Kenji Saito Date: Wed, 11 Feb 2026 21:05:30 +0900 Subject: [PATCH] Add the Agent API by Vercel AI SDK --- .github/dependabot.yml | 9 +- .github/workflows/ci.yml | 6 +- .github/workflows/deploy.yml | 38 + README.md | 11 +- agents/agent-ai-sdk/.gitignore | 9 + agents/agent-ai-sdk/.npmignore | 6 + agents/agent-ai-sdk/README.md | 223 +++ agents/agent-ai-sdk/bin/agent-ai-sdk.ts | 8 + agents/agent-ai-sdk/cdk.context.json | 5 + agents/agent-ai-sdk/cdk.json | 103 ++ agents/agent-ai-sdk/eslint.config.ts | 74 + agents/agent-ai-sdk/lambda/awslambda.d.ts | 24 + agents/agent-ai-sdk/lambda/handler.ts | 82 + agents/agent-ai-sdk/lambda/index.ts | 21 + agents/agent-ai-sdk/lib/agent-ai-sdk-stack.ts | 65 + agents/agent-ai-sdk/package.json | 49 + agents/agent-ai-sdk/test/agent-ai-sdk.test.ts | 18 + agents/agent-ai-sdk/tsconfig.json | 33 + agents/agent-langchain-nextjs/package.json | 2 +- agents/agent-strands/lambda/index.ts | 2 +- agents/agent-strands/package.json | 2 +- basic/cdk/lambda/handler.ts | 3 +- basic/cdk/lambda/index.ts | 2 +- basic/cdk/package.json | 4 +- chat-app/package.json | 2 +- common/backend/{ => core}/.gitignore | 0 common/backend/{ => core}/eslint.config.ts | 0 common/backend/core/package.json | 43 + common/backend/core/src/index.ts | 3 + common/backend/{ => core}/src/logger.ts | 0 .../backend/{ => core}/tsconfig-eslint.json | 0 common/backend/{ => core}/tsconfig.json | 0 common/backend/langchain/.gitignore | 10 + common/backend/langchain/eslint.config.ts | 70 + common/backend/{ => langchain}/package.json | 4 +- common/backend/langchain/src/index.ts | 3 + .../backend/{ => langchain}/src/langchain.ts | 2 +- common/backend/langchain/tsconfig-eslint.json | 17 + common/backend/langchain/tsconfig.json | 47 + common/backend/src/index.ts | 4 - package.json | 6 +- pnpm-lock.yaml | 1585 ++++++++++------- pnpm-workspace.yaml | 8 +- rag/cdk/lambda/handler.ts | 3 +- rag/cdk/lambda/index.ts | 2 +- rag/cdk/package.json | 4 +- 46 files changed, 1904 insertions(+), 708 deletions(-) create mode 100644 agents/agent-ai-sdk/.gitignore create mode 100644 agents/agent-ai-sdk/.npmignore create mode 100644 agents/agent-ai-sdk/README.md create mode 100644 agents/agent-ai-sdk/bin/agent-ai-sdk.ts create mode 100644 agents/agent-ai-sdk/cdk.context.json create mode 100644 agents/agent-ai-sdk/cdk.json create mode 100644 agents/agent-ai-sdk/eslint.config.ts create mode 100644 agents/agent-ai-sdk/lambda/awslambda.d.ts create mode 100644 agents/agent-ai-sdk/lambda/handler.ts create mode 100644 agents/agent-ai-sdk/lambda/index.ts create mode 100644 agents/agent-ai-sdk/lib/agent-ai-sdk-stack.ts create mode 100644 agents/agent-ai-sdk/package.json create mode 100644 agents/agent-ai-sdk/test/agent-ai-sdk.test.ts create mode 100644 agents/agent-ai-sdk/tsconfig.json rename common/backend/{ => core}/.gitignore (100%) rename common/backend/{ => core}/eslint.config.ts (100%) create mode 100644 common/backend/core/package.json create mode 100644 common/backend/core/src/index.ts rename common/backend/{ => core}/src/logger.ts (100%) rename common/backend/{ => core}/tsconfig-eslint.json (100%) rename common/backend/{ => core}/tsconfig.json (100%) create mode 100644 common/backend/langchain/.gitignore create mode 100644 common/backend/langchain/eslint.config.ts rename common/backend/{ => langchain}/package.json (90%) create mode 100644 common/backend/langchain/src/index.ts rename common/backend/{ => langchain}/src/langchain.ts (96%) create mode 100644 common/backend/langchain/tsconfig-eslint.json create mode 100644 common/backend/langchain/tsconfig.json delete mode 100644 common/backend/src/index.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f3d1391e..6bbf4e2e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -21,12 +21,15 @@ updates: directories: - '/' - '/common/core/' + - '/common/backend/core' + - '/common/backend/langchain' - '/common/backend/' - - '/agents/agent-mastra/' + - '/agents/agent-ai-sdk/' - '/agents/agent-claude-agent-sdk/' + - '/agents/agent-langchain/' + - '/agents/agent-langchain-nextjs/' + - '/agents/agent-mastra/' - '/agents/agent-strands/' - - '/agents/agents-langchain/' - - '/agents/agents-langchain-nextjs/' - '/basic/cdk/' - '/basic/app/' - '/mcp/clients/mastra-mcp-client/' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 842e0086..4329dc03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,12 +32,14 @@ jobs: - name: Build run: | pnpm --filter @llm-ts-example/common-core build - pnpm --filter @llm-ts-example/common-backend build + pnpm --filter @llm-ts-example/common-backend-core build + pnpm --filter @llm-ts-example/common-backend-langchain build - name: Debug workspace links run: | pnpm list -r --depth 0 - pnpm why @llm-ts-example/common-backend + pnpm why @llm-ts-example/common-backend-core + pnpm why @llm-ts-example/common-backend-langchain - name: Build all packages run: pnpm build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index dc52955f..1936d772 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -127,3 +127,41 @@ jobs: -c langsmith-project=${{ secrets.LANGCHAIN_PROJECT }} \ -c pinecone-index=${{ vars.PINECONE_INDEX }} \ -c pinecone-api-key=${{ secrets.PINECONE_API_KEY }} + + deploy-aisdk-api: + # 同時実行すると CREATE_IN_PROGRESS や UPDATE_IN_PROGRESS 状態で cdk deploy を行う可能性があるため抑止する + concurrency: + group: "aisdk-api-examle-cloudformation" + cancel-in-progress: false + + runs-on: ubuntu-latest + steps: + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0 + with: + role-to-assume: ${{ env.OIDC_IAM_ROLE_ARN }} + role-session-name: GitHubActions + aws-region: ${{ env.AWS_REGION }} + + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Use Node.js + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + with: + node-version: 'lts/*' + check-latest: true + package-manager-cache: false + + - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 + name: Install pnpm + with: + run_install: | + - recursive: true + args: [--no-frozen-lockfile] + - args: [--global, aws-cdk, esbuild] + + - name: deploy + working-directory: ./agents/agent-ai-sdk + run: | + pnpm dlx aws-cdk@latest deploy \ + --require-approval=never diff --git a/README.md b/README.md index 8024fa8e..af34426c 100644 --- a/README.md +++ b/README.md @@ -5,22 +5,28 @@ LLM (Large Language Model) の実装例を集めたTypeScriptプロジェクト ## プロジェクト一覧 ### Basic Chat + - [Basic Chat](./basic/) - LangChain.jsとLangGraph.jsを使用した基本的なチャットボット ### RAG (Retrieval Augmented Generation) + - [RAG](./rag/) - LangChain.jsとLangGraph.jsを使用したRAG実装例 ### Chat App + - [Chat App](./chat-app/) - Next.jsとAI SDKを使用したチャットアプリケーション ### Agents -- [Mastra](./agents/agent-mastra/) - Mastraフレームワークによるエージェント実装 + +- [AI SDK](./agents/agent-ai-sdk/) - Vercel AI SDKとAWS Lambdaによるエージェント実装(Amazon Bedrock/Azure OpenAI対応) +- [Claude Agent SDK](./agents/agent-claude-agent-sdk/) - Claude Agent SDKによるエージェント実装 - [LangChain.js Agent](./agents/agent-langchain/) - LangChain.jsによるエージェント実装 - [LangChain.js Agent (Next.js)](./agents/agent-langchain-nextjs/) - Next.jsとLangChain.jsによるエージェント実装 -- [Claude Agent SDK](./agents/agent-sdk/) - Claude Agent SDKによるエージェント実装 +- [Mastra](./agents/agent-mastra/) - Mastraフレームワークによるエージェント実装 - [Strands TypeScript SDK](./agents/agent-strands/) - Strands TypeScript SDKによるエージェント実装 ### MCP (Model Context Protocol) + - [MCP Servers](./mcp/servers/) - MCPサーバーの実装例 - [Weather](./mcp/servers/weather/) - 天気予報MCPサーバー - [Weather HTTP](./mcp/servers/weather-http/) - HTTP経由の天気予報MCPサーバー @@ -29,6 +35,7 @@ LLM (Large Language Model) の実装例を集めたTypeScriptプロジェクト - [HTTP Client](./mcp/clients/mcp-client-http/) - HTTP経由のMCPクライアント ### Common + - [Common](./common/) - 共通ユーティリティとコンポーネント ## 技術スタック diff --git a/agents/agent-ai-sdk/.gitignore b/agents/agent-ai-sdk/.gitignore new file mode 100644 index 00000000..81febcea --- /dev/null +++ b/agents/agent-ai-sdk/.gitignore @@ -0,0 +1,9 @@ +*.js +!jest.config.js +*.d.ts +node_modules + +# CDK asset staging directory +.cdk.staging +cdk.out +!lambda/awslambda.d.ts diff --git a/agents/agent-ai-sdk/.npmignore b/agents/agent-ai-sdk/.npmignore new file mode 100644 index 00000000..c1d6d45d --- /dev/null +++ b/agents/agent-ai-sdk/.npmignore @@ -0,0 +1,6 @@ +*.ts +!*.d.ts + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/agents/agent-ai-sdk/README.md b/agents/agent-ai-sdk/README.md new file mode 100644 index 00000000..4d6ae744 --- /dev/null +++ b/agents/agent-ai-sdk/README.md @@ -0,0 +1,223 @@ +# Agent AI SDK + +AWS Lambda上でVercel AI SDKを使用し、Amazon BedrockやAzure OpenAIとの対話を行うエージェントアプリケーションです。 + +## アーキテクチャ + +- **AWS Lambda (Node.js 24.x)**: サーバーレスコンピューティング +- **Lambda Function URL**: エンドポイント公開 +- **Amazon Bedrock / Azure OpenAI**: LLMバックエンド +- **Vercel AI SDK**: AI/LLM連携ライブラリ +- **AWS CDK**: インフラストラクチャ管理 + +## 機能 + +- ストリーミングレスポンス対応 +- ToolLoopAgentによるツール呼び出し +- マルチプロバイダー対応(AWS Bedrock、Azure OpenAI) +- セッション管理 +- トークン使用量のログ記録 + +## 必要条件 + +- Node.js 24.x +- AWS CLI(設定済み) +- AWS CDK +- pnpm + +## セットアップ + +```bash +# 依存関係のインストール +pnpm install + +# ビルド +pnpm run build + +# テスト +pnpm run test +``` + +## デプロイ + +```bash +# CDK bootstrap(初回のみ) +npx cdk bootstrap + +# デプロイ +npx cdk deploy +``` + +デプロイ後、Lambda Function URLが出力されます。 + +## API使用方法 + +```bash +curl -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "prompt": "こんにちは", + "modelId": "claude-3-sonnet", + "session": "session-id", + "id": "query-id" + }' +``` + +### リクエストパラメータ + +| パラメータ | 型 | 必須 | 説明 | +| --------- | ---- | ---- | ---- | +| `prompt` | string | 是 | ユーザーの入力プロンプト | +| `modelId` | string | 是 | 使用するモデルID | +| `session` | string | 任意 | セッション識別子 | +| `id` | string | 任意 | クエリ識別子 | + +## プロジェクト構造 + +```text +. +├── bin/ +│ └── agent-ai-sdk.ts # CDKエントリポイント +├── lib/ +│ └── agent-ai-sdk-stack.ts # CDKスタック定義 +├── lambda/ +│ ├── index.ts # Lambdaハンドラー +│ └── handler.ts # ビジネスロジック +├── test/ +│ └── agent-ai-sdk.test.ts # テスト +└── cdk.json # CDK設定 +``` + +## 開発コマンド + +| コマンド | 説明 | +| ------- | ---- | +| `pnpm run build` | TypeScriptコンパイル | +| `pnpm run watch` | 変更監視モード | +| `pnpm run test` | テスト実行 | +| `npx cdk deploy` | スタックデプロイ | +| `npx cdk diff` | 差分確認 | +| `npx cdk synth` | CloudFormationテンプレート生成 | + +## Agents + +本プロジェクトは Vercel AI SDK の `ToolLoopAgent` を使用して、LLMとの対話を行います。 + +### ToolLoopAgent の構成 + +```typescript +const agent = new ToolLoopAgent({ + model, // LLMモデルインスタンス + instructions: 'You are a helpful assistant.', // システムプロンプト + tools: { // ツール定義(オプション) + // カスタムツールをここに追加 + }, + experimental_telemetry: { // テレメトリ設定(オプション) + isEnabled: true, + metadata: { + model: modelId, + thread_id: session, + query_id: id, + } + }, +}); +``` + +### ツールの追加方法 + +ToolLoopAgent はツール呼び出しを自動的にループ処理します。カスタムツールを追加する場合: + +```typescript +import { tool } from 'ai'; +import { z } from 'zod'; + +const agent = new ToolLoopAgent({ + model, + instructions: 'You are a helpful assistant.', + tools: { + getWeather: tool({ + description: '指定された都市の天気を取得します', + parameters: z.object({ + city: z.string().describe('都市名'), + }), + execute: async ({ city }) => { + // 天気APIを呼び出す処理 + return { temperature: 25, condition: 'sunny' }; + }, + }), + // 他のツールを追加... + }, +}); +``` + +### ストリーミング設定 + +スムーズなストリーミングレスポンスを実現するため、`smoothStream` を使用: + +```typescript +const stream = await agent.stream({ + messages, + experimental_transform: smoothStream({ + delayInMs: 20, // チャンク間の遅延(デフォルト: 10ms) + chunking: 'line', // チャンク分割方法: 'word' | 'line'(デフォルト: 'word') + }), +}); +``` + +### ステップ完了コールバック + +各ステップ(ツール呼び出しや応答生成)完了時の処理: + +```typescript +const stream = await agent.stream({ + messages, + onStepFinish: async ({ usage, finishReason, toolCalls }) => { + // トークン使用量の記録 + logger.info('Step completed:', { + inputTokens: usage.inputTokens, + outputTokens: usage.outputTokens, + finishReason, // 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' + toolsUsed: toolCalls?.map(tc => tc.toolName), + }); + }, +}); +``` + +### セッション管理 + +会話履歴はメモリ内に保持され、複数ターンの対話が可能: + +```typescript +const messages: ModelMessage[] = []; + +// ユーザー入力を追加 +messages.push({ role: 'user', content: prompt }); + +// エージェント実行 +const stream = await agent.stream({ messages }); + +// アシスタント応答を履歴に追加 +messages.push({ role: 'assistant', content: response }); +``` + +**注意**: Lambdaのステートレス性により、セッションは同じLambdaインスタンス内でのみ保持されます。 + +## モデル設定 + +使用可能なモデルは `common-core` パッケージの `models` で定義されています。対応プラットフォーム: + +- **AWS**: Amazon Bedrock +- **Azure**: Azure OpenAI + +## IAMポリシー + +Lambda実行ロールには以下の権限が付与されています: + +- `AWSLambdaExecute` +- `CloudFrontReadOnlyAccess` +- `bedrock:InvokeModel*` +- `logs:PutLogEvents` + +## ライセンス + +MIT diff --git a/agents/agent-ai-sdk/bin/agent-ai-sdk.ts b/agents/agent-ai-sdk/bin/agent-ai-sdk.ts new file mode 100644 index 00000000..792bee89 --- /dev/null +++ b/agents/agent-ai-sdk/bin/agent-ai-sdk.ts @@ -0,0 +1,8 @@ +#!/usr/bin/env node +import * as cdk from 'aws-cdk-lib/core'; +import { AgentAiSdkStack } from '../lib/agent-ai-sdk-stack.js'; + +const app = new cdk.App(); +const stack = new AgentAiSdkStack(app, 'agent-ai-sdk-stack', { +}); +cdk.RemovalPolicies.of(stack).apply(cdk.RemovalPolicy.DESTROY); diff --git a/agents/agent-ai-sdk/cdk.context.json b/agents/agent-ai-sdk/cdk.context.json new file mode 100644 index 00000000..e26be244 --- /dev/null +++ b/agents/agent-ai-sdk/cdk.context.json @@ -0,0 +1,5 @@ +{ + "acknowledged-issue-numbers": [ + 34892 + ] +} diff --git a/agents/agent-ai-sdk/cdk.json b/agents/agent-ai-sdk/cdk.json new file mode 100644 index 00000000..8dde5f28 --- /dev/null +++ b/agents/agent-ai-sdk/cdk.json @@ -0,0 +1,103 @@ +{ + "app": "npx tsx bin/agent-ai-sdk.ts", + "watch": { + "include": [ + "**" + ], + "exclude": [ + "README.md", + "cdk*.json", + "**/*.d.ts", + "**/*.js", + "tsconfig.json", + "package*.json", + "yarn.lock", + "node_modules", + "test" + ] + }, + "context": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": true, + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": true, + "@aws-cdk/aws-lambda:recognizeLayerVersion": true, + "@aws-cdk/core:checkSecretUsage": true, + "@aws-cdk/core:target-partitions": [ + "aws", + "aws-cn" + ], + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, + "@aws-cdk/aws-iam:minimizePolicies": true, + "@aws-cdk/core:validateSnapshotRemovalPolicy": true, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, + "@aws-cdk/core:enablePartitionLiterals": true, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, + "@aws-cdk/aws-route53-patters:useCertificate": true, + "@aws-cdk/customresources:installLatestAwsSdkDefault": false, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, + "@aws-cdk/aws-redshift:columnId": true, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": true, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, + "@aws-cdk/aws-efs:denyAnonymousAccess": true, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true, + "@aws-cdk/aws-eks:nodegroupNameAttribute": true, + "@aws-cdk/aws-eks:useNativeOidcProvider": true, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false, + "@aws-cdk/core:explicitStackTags": true, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true, + "@aws-cdk/core:enableAdditionalMetadataCollection": true, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": false, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": true, + "@aws-cdk/aws-events:requireEventBusPolicySid": true, + "@aws-cdk/core:aspectPrioritiesMutating": true, + "@aws-cdk/aws-dynamodb:retainTableReplica": true, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": true, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": true, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": true, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": true, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": true, + "@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault": true, + "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true, + "@aws-cdk/aws-route53-patterns:useDistribution": true + } +} diff --git a/agents/agent-ai-sdk/eslint.config.ts b/agents/agent-ai-sdk/eslint.config.ts new file mode 100644 index 00000000..fd983e9b --- /dev/null +++ b/agents/agent-ai-sdk/eslint.config.ts @@ -0,0 +1,74 @@ +import { defineConfig } from 'eslint/config'; +import eslint from '@eslint/js'; +import { configs, parser } from 'typescript-eslint'; +import stylistic from '@stylistic/eslint-plugin'; +import importPlugin from 'eslint-plugin-import'; +// @ts-expect-error ignore type errors +import pluginPromise from 'eslint-plugin-promise'; +import { configs as awscdkConfigs } from 'eslint-plugin-awscdk'; + +import { includeIgnoreFile } from '@eslint/compat'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const gitignorePath = path.resolve(__dirname, '.gitignore'); + +export default defineConfig( + { + ignores: [ + ...(includeIgnoreFile(gitignorePath).ignores || []), + '**/*.d.ts', + 'src/tsconfig.json', + 'src/stories', + '**/*.css', + 'node_modules/**/*', + 'out', + 'cdk.out', + 'dist', + ], + }, + eslint.configs.recommended, + configs.strict, + configs.stylistic, + pluginPromise.configs['flat/recommended'], + { + files: ['**/*.ts', '*.js'], + plugins: { + '@stylistic': stylistic, + }, + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + parser, + parserOptions: { + projectService: true, + tsconfigRootDir: __dirname, + }, + }, + extends: [ + //@ts-expect-error ignore type errors + awscdkConfigs.recommended, + importPlugin.flatConfigs.recommended, + importPlugin.flatConfigs.typescript, + ], + settings: { + 'import/resolver': { + // You will also need to install and configure the TypeScript resolver + // See also https://github.com/import-js/eslint-import-resolver-typescript#configuration + 'typescript': true, + 'node': true, + }, + }, + rules: { + '@stylistic/semi': ['error', 'always'], + '@stylistic/indent': ['error', 2], + '@stylistic/comma-dangle': ['error', 'always-multiline'], + '@stylistic/arrow-parens': ['error', 'always'], + '@stylistic/quotes': ['error', 'single'], + 'awscdk/no-construct-stack-suffix': 'off', + 'awscdk/pascal-case-construct-id': 'off', + }, + }, +); diff --git a/agents/agent-ai-sdk/lambda/awslambda.d.ts b/agents/agent-ai-sdk/lambda/awslambda.d.ts new file mode 100644 index 00000000..8fa8cc6d --- /dev/null +++ b/agents/agent-ai-sdk/lambda/awslambda.d.ts @@ -0,0 +1,24 @@ +'use strict'; + +import { APIGatewayProxyEvent, APIGatewayProxyEvent, Context, Callback } from 'aws-lambda'; +import { Stream } from 'stream' + +export type Event = APIGatewayProxyEvent | APIGatewayProxyEventV2; + +export class HttpResponseStream { + static from(underlyingStream: any, prelude: any): any; +} + +export type RequestHandler = ( + event: Event, + streamResponse: Stream.WritableStream, + ctx?: Context, + callback?: Callback, +) => any | Promise; + +declare global { + namespace awslambda { + function streamifyResponse(handler: RequestHandler, option?: any): RequestHandler; + let HttpResponseStream: HttpResponseStream; + } +} diff --git a/agents/agent-ai-sdk/lambda/handler.ts b/agents/agent-ai-sdk/lambda/handler.ts new file mode 100644 index 00000000..4dd6652d --- /dev/null +++ b/agents/agent-ai-sdk/lambda/handler.ts @@ -0,0 +1,82 @@ +import { bedrock } from "@ai-sdk/amazon-bedrock"; +import { azure } from '@ai-sdk/azure'; +import { logger } from '@llm-ts-example/common-backend-core'; +import { models } from '@llm-ts-example/common-core'; +import { ToolLoopAgent, smoothStream, ModelMessage } from 'ai'; +import { Readable, PassThrough } from 'node:stream'; + +const createModel = (id?: string) => { + const modelInfo = models.find(m => m.id === id); + if (modelInfo) { + if (modelInfo.platform === 'aws') { + return bedrock(modelInfo.modelId); + } + if (modelInfo.platform === 'azure') { + return azure(modelInfo.modelId); + } + } + return null; +} + +const messages: ModelMessage[] = []; + +export async function handle( + { body }: { body: string }, + output: NodeJS.WritableStream, +) { + try { + const { prompt, modelId, session, id } = JSON.parse(body); + if (!prompt) { + logger.error("No prompt in request"); + output.write("error"); + return; + } + + const model = createModel(modelId); + if (!model) { + logger.error("No model in request"); + output.write("error"); + return; + } + + const result = new PassThrough(); + messages.push({ role: 'user', content: prompt }); + + const agent = new ToolLoopAgent({ + model, + instructions: 'You are a helpful assistant.', + tools: { + // Your tools here + }, + experimental_telemetry: { + isEnabled: true, + metadata: { + model: modelId, + thread_id: session, + query_id: id, + } + }, + }); + + const stream = await agent.stream({ + messages, + experimental_transform: smoothStream({ + delayInMs: 20, // optional: defaults to 10ms + chunking: 'line', // optional: defaults to 'word' + }), + onStepFinish: async ({ usage, finishReason, toolCalls }) => { + logger.info('Step completed:', { + inputTokens: usage.inputTokens, + outputTokens: usage.outputTokens, + finishReason, + toolsUsed: toolCalls?.map(tc => tc.toolName), + }); + }, + }); + Readable.fromWeb(stream.textStream).pipe(result).pipe(output); + messages.push({ role: 'assistant', content: (await result.toArray()).join('') }); + } catch (e) { + logger.error('', {error: e}); + output.write(JSON.stringify(e)); + } +} diff --git a/agents/agent-ai-sdk/lambda/index.ts b/agents/agent-ai-sdk/lambda/index.ts new file mode 100644 index 00000000..160bb023 --- /dev/null +++ b/agents/agent-ai-sdk/lambda/index.ts @@ -0,0 +1,21 @@ +import { APIGatewayProxyEvent, APIGatewayProxyEventV2 } from 'aws-lambda'; +import { logger } from '@llm-ts-example/common-backend-core'; +import { handle } from './handler.js'; + +export const handler = awslambda.streamifyResponse( + async ( + event: APIGatewayProxyEvent | APIGatewayProxyEventV2, responseStream: NodeJS.WritableStream + ) => { + logger.info('event', { event }); + const body = event.body; + if (!body) { + logger.error("No body in request") + responseStream.write("error"); + } else { + await handle({ body }, responseStream); + } + responseStream.end(); + }); + + +export default handler; diff --git a/agents/agent-ai-sdk/lib/agent-ai-sdk-stack.ts b/agents/agent-ai-sdk/lib/agent-ai-sdk-stack.ts new file mode 100644 index 00000000..6b895f37 --- /dev/null +++ b/agents/agent-ai-sdk/lib/agent-ai-sdk-stack.ts @@ -0,0 +1,65 @@ +import * as cdk from 'aws-cdk-lib/core'; +import { Construct } from 'constructs'; +import * as logs from 'aws-cdk-lib/aws-logs'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import * as nodejs from 'aws-cdk-lib/aws-lambda-nodejs'; +import * as iam from 'aws-cdk-lib/aws-iam'; + +export class AgentAiSdkStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + const functionName = 'agent-ai-sdk-api'; + const logGroup = new logs.LogGroup(this, 'LogGroup', { + logGroupName: `/aws/lambda/${functionName}`, + removalPolicy: cdk.RemovalPolicy.DESTROY, + retention: logs.RetentionDays.ONE_DAY, + }); + + const fn = new nodejs.NodejsFunction(this, 'Lambda', { + functionName, + architecture: lambda.Architecture.ARM_64, + runtime: lambda.Runtime.NODEJS_24_X, + entry: './lambda/index.ts', + retryAttempts: 0, + logGroup, + timeout: cdk.Duration.seconds(30), + loggingFormat: lambda.LoggingFormat.JSON, + applicationLogLevelV2: lambda.ApplicationLogLevel.TRACE, + systemLogLevelV2: lambda.SystemLogLevel.INFO, + bundling: { + target: 'node24', + minify: true, + format: nodejs.OutputFormat.ESM, + nodeModules: ['@smithy/eventstream-codec'], + }, + role: new iam.Role(this, 'FunctionExecutionRole', { + roleName: `${functionName}-role`, + assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), + managedPolicies: [ + iam.ManagedPolicy.fromAwsManagedPolicyName('AWSLambdaExecute'), + iam.ManagedPolicy.fromAwsManagedPolicyName('CloudFrontReadOnlyAccess'), + ], + inlinePolicies: { + 'bedrock-policy': new iam.PolicyDocument({ + statements: [ + new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + actions: [ + 'bedrock:InvokeModel*', + 'logs:PutLogEvents', + ], + resources: ['*'], + }), + ], + }), + }, + }), + }); + + new lambda.FunctionUrl(this, 'FunctionURL', { + function: fn, + authType: lambda.FunctionUrlAuthType.NONE, + }); + } +} diff --git a/agents/agent-ai-sdk/package.json b/agents/agent-ai-sdk/package.json new file mode 100644 index 00000000..1172221e --- /dev/null +++ b/agents/agent-ai-sdk/package.json @@ -0,0 +1,49 @@ +{ + "name": "agent-ai-sdk", + "version": "0.1.0", + "bin": { + "agent-ai-sdk": "bin/agent-ai-sdk.js" + }, + "type": "module", + "scripts": { + "build": "tsc", + "watch": "tsc -w", + "test": "jest", + "cdk": "cdk" + }, + "devDependencies": { + "@eslint/compat": "^2.0.2", + "@eslint/core": "^1.1.0", + "@eslint/js": "^9.39.2", + "@stylistic/eslint-plugin": "^5.8.0", + "@types/aws-lambda": "^8.10.160", + "@types/node": "^24.10.13", + "@vitest/eslint-plugin": "^1.6.7", + "aws-cdk": "2.1105.0", + "esbuild": "^0.27.3", + "eslint": "^9.39.2", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-awscdk": "^4.1.0", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-promise": "^7.2.1", + "jiti": "^2.6.1", + "tsx": "^4.21.0", + "typescript": "^5.9.3", + "typescript-eslint": "^8.55.0", + "vite": "^7.3.1", + "vite-tsconfig-paths": "^6.1.0", + "vitest": "^4.0.18" + }, + "dependencies": { + "@ai-sdk/amazon-bedrock": "^4.0.55", + "@ai-sdk/azure": "^3.0.27", + "@llm-ts-example/common-backend-core": "workspace:*", + "@llm-ts-example/common-core": "workspace:*", + "@smithy/eventstream-codec": "^4.2.8", + "ai": "^6.0.79", + "aws-cdk-lib": "^2.238.0", + "constructs": "^10.4.5", + "dotenv": "^17.2.4", + "zod": "^4.3.6" + } +} diff --git a/agents/agent-ai-sdk/test/agent-ai-sdk.test.ts b/agents/agent-ai-sdk/test/agent-ai-sdk.test.ts new file mode 100644 index 00000000..6e99826b --- /dev/null +++ b/agents/agent-ai-sdk/test/agent-ai-sdk.test.ts @@ -0,0 +1,18 @@ +// import * as cdk from 'aws-cdk-lib/core'; +// import { Template } from 'aws-cdk-lib/assertions'; +// import * as AgentAiSdk from '../lib/agent-ai-sdk-stack'; +import { test } from 'vitest'; + +// example test. To run these tests, uncomment this file along with the +// example resource in lib/agent-ai-sdk-stack.ts +test('SQS Queue Created', () => { +// const app = new cdk.App(); +// // WHEN +// const stack = new AgentAiSdk.AgentAiSdkStack(app, 'MyTestStack'); +// // THEN +// const template = Template.fromStack(stack); + +// template.hasResourceProperties('AWS::SQS::Queue', { +// VisibilityTimeout: 300 +// }); +}); diff --git a/agents/agent-ai-sdk/tsconfig.json b/agents/agent-ai-sdk/tsconfig.json new file mode 100644 index 00000000..6cc92dc9 --- /dev/null +++ b/agents/agent-ai-sdk/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "lib": [ + "es2022" + ], + "noEmit": true, + "declaration": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "noImplicitThis": true, + "alwaysStrict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": false, + "inlineSourceMap": true, + "inlineSources": true, + "experimentalDecorators": true, + "strictPropertyInitialization": false, + "skipLibCheck": true, + "typeRoots": [ + "./node_modules/@types" + ] + }, + "exclude": [ + "node_modules", + "cdk.out" + ] +} diff --git a/agents/agent-langchain-nextjs/package.json b/agents/agent-langchain-nextjs/package.json index 7998c384..74ae5e49 100644 --- a/agents/agent-langchain-nextjs/package.json +++ b/agents/agent-langchain-nextjs/package.json @@ -85,7 +85,7 @@ "@stylistic/eslint-plugin": "^5.8.0", "@tailwindcss/postcss": "^4.1.18", "@types/node": "^22.19.11", - "@types/react": "^19.2.13", + "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "eslint": "^9.39.2", "eslint-config-next": "^16.1.6", diff --git a/agents/agent-strands/lambda/index.ts b/agents/agent-strands/lambda/index.ts index ec583ba2..7f25a0c8 100644 --- a/agents/agent-strands/lambda/index.ts +++ b/agents/agent-strands/lambda/index.ts @@ -1,4 +1,4 @@ -import { logger } from '@llm-ts-example/common-backend'; +import { logger } from '@llm-ts-example/common-backend-core'; import { APIGatewayProxyEvent } from 'aws-lambda'; import { createAgent } from './agent.js'; diff --git a/agents/agent-strands/package.json b/agents/agent-strands/package.json index c0f82601..b138a76f 100644 --- a/agents/agent-strands/package.json +++ b/agents/agent-strands/package.json @@ -35,7 +35,7 @@ "dependencies": { "@aws-lambda-powertools/logger": "^2.31.0", "@aws-sdk/credential-provider-node": "^3.972.6", - "@llm-ts-example/common-backend": "workspace:*", + "@llm-ts-example/common-backend-core": "workspace:*", "@strands-agents/sdk": "^0.1.6", "aws-cdk-lib": "^2.238.0", "constructs": "^10.4.5", diff --git a/basic/cdk/lambda/handler.ts b/basic/cdk/lambda/handler.ts index b17bd4d6..5fae6495 100644 --- a/basic/cdk/lambda/handler.ts +++ b/basic/cdk/lambda/handler.ts @@ -1,7 +1,8 @@ import './instrumentation'; import { CallbackHandler } from 'langfuse-langchain'; -import { selectLlm, logger } from '@llm-ts-example/common-backend'; +import { logger } from '@llm-ts-example/common-backend-core'; +import { selectLlm } from '@llm-ts-example/common-backend-langchain'; import { createApp } from './app.js'; interface HandleProps { readonly question: string, readonly model?: string } diff --git a/basic/cdk/lambda/index.ts b/basic/cdk/lambda/index.ts index fb873c2b..d81fd0e8 100644 --- a/basic/cdk/lambda/index.ts +++ b/basic/cdk/lambda/index.ts @@ -2,7 +2,7 @@ import { APIGatewayProxyEvent } from 'aws-lambda'; import { v7 as uuidv7 } from 'uuid'; import { handle } from './handler.js'; -import { logger } from '@llm-ts-example/common-backend'; +import { logger } from '@llm-ts-example/common-backend-core'; export const handler = awslambda.streamifyResponse( async ( diff --git a/basic/cdk/package.json b/basic/cdk/package.json index f0a9e425..7d74879d 100644 --- a/basic/cdk/package.json +++ b/basic/cdk/package.json @@ -29,7 +29,6 @@ "eslint-plugin-promise": "^7.2.1", "install": "^0.13.0", "jiti": "^2.6.1", - "pnpm": "^10.29.2", "tsx": "^4.21.0", "typescript": "^5.9.3", "typescript-eslint": "^8.55.0", @@ -48,7 +47,8 @@ "@langchain/core": "^1.1.22", "@langchain/langgraph": "^1.1.4", "@langchain/openai": "^1.2.7", - "@llm-ts-example/common-backend": "workspace:*", + "@llm-ts-example/common-backend-core": "workspace:*", + "@llm-ts-example/common-backend-langchain": "workspace:*", "@opentelemetry/api": "^1.9.0", "@opentelemetry/api-logs": "^0.211.0", "@opentelemetry/auto-instrumentations-node": "^0.69.0", diff --git a/chat-app/package.json b/chat-app/package.json index ec269ba8..1aab59c8 100644 --- a/chat-app/package.json +++ b/chat-app/package.json @@ -49,7 +49,7 @@ "@stylistic/eslint-plugin": "^5.8.0", "@tailwindcss/postcss": "^4.1.18", "@types/node": "^24.10.13", - "@types/react": "^19.2.13", + "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "eslint": "^9.39.2", "eslint-config-next": "^16.1.6", diff --git a/common/backend/.gitignore b/common/backend/core/.gitignore similarity index 100% rename from common/backend/.gitignore rename to common/backend/core/.gitignore diff --git a/common/backend/eslint.config.ts b/common/backend/core/eslint.config.ts similarity index 100% rename from common/backend/eslint.config.ts rename to common/backend/core/eslint.config.ts diff --git a/common/backend/core/package.json b/common/backend/core/package.json new file mode 100644 index 00000000..cdd37fe5 --- /dev/null +++ b/common/backend/core/package.json @@ -0,0 +1,43 @@ +{ + "name": "@llm-ts-example/common-backend-core", + "version": "1.0.0", + "description": "", + "type": "module", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "files": [ + "dist" + ], + "types": "./dist/index.d.ts", + "scripts": { + "build": "tsc --build --clean && tsc", + "clean": "tsc --build --clean", + "watch": "tsc -w", + "lint": "eslint .", + "lint-fix": "eslint . --fix" + }, + "dependencies": { + "@aws-lambda-powertools/logger": "^2.31.0", + "@llm-ts-example/common-core": "workspace:*" + }, + "devDependencies": { + "@eslint/compat": "^2.0.2", + "@eslint/js": "^9.39.2", + "@stylistic/eslint-plugin": "^5.8.0", + "@types/node": "^24.10.13", + "@vitest/eslint-plugin": "^1.6.7", + "eslint": "^9.39.2", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-promise": "^7.2.1", + "typescript": "^5.9.3", + "typescript-eslint": "^8.55.0" + } +} diff --git a/common/backend/core/src/index.ts b/common/backend/core/src/index.ts new file mode 100644 index 00000000..085c4de1 --- /dev/null +++ b/common/backend/core/src/index.ts @@ -0,0 +1,3 @@ +import { logger } from './logger'; + +export { logger }; diff --git a/common/backend/src/logger.ts b/common/backend/core/src/logger.ts similarity index 100% rename from common/backend/src/logger.ts rename to common/backend/core/src/logger.ts diff --git a/common/backend/tsconfig-eslint.json b/common/backend/core/tsconfig-eslint.json similarity index 100% rename from common/backend/tsconfig-eslint.json rename to common/backend/core/tsconfig-eslint.json diff --git a/common/backend/tsconfig.json b/common/backend/core/tsconfig.json similarity index 100% rename from common/backend/tsconfig.json rename to common/backend/core/tsconfig.json diff --git a/common/backend/langchain/.gitignore b/common/backend/langchain/.gitignore new file mode 100644 index 00000000..efcd9c53 --- /dev/null +++ b/common/backend/langchain/.gitignore @@ -0,0 +1,10 @@ +src/**/*.js +src/**/*.d.ts +node_modules + +!dist/**/*.d.ts +!dist/**/*.js +.env* +vite.config.js +eslint.config.d.* +eslint.config.js diff --git a/common/backend/langchain/eslint.config.ts b/common/backend/langchain/eslint.config.ts new file mode 100644 index 00000000..9ed26932 --- /dev/null +++ b/common/backend/langchain/eslint.config.ts @@ -0,0 +1,70 @@ +import { defineConfig } from 'eslint/config'; +import eslint from '@eslint/js'; +import stylistic from '@stylistic/eslint-plugin'; +import { configs, parser } from 'typescript-eslint'; +import importPlugin from 'eslint-plugin-import'; + +// @ts-expect-error 型エラーの不具合が修正されるまで +import pluginPromise from 'eslint-plugin-promise'; + +import { includeIgnoreFile } from '@eslint/compat'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const gitignorePath = path.resolve(__dirname, ".gitignore"); + +export default defineConfig( + includeIgnoreFile(gitignorePath), + { + ignores: [ + '**/*.d.ts', + '*.{js,jsx}', + 'src/tsconfig.json', + 'src/stories', + '**/*.css', + 'node_modules/**/*', + 'out', + 'cdk.out', + 'dist', + ], + }, + eslint.configs.recommended, + ...configs.strict, + ...configs.stylistic, + pluginPromise.configs['flat/recommended'], + { + files: ['src/**/*.ts'], + languageOptions: { + parser, + ecmaVersion: 'latest', + sourceType: 'module', + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig-eslint.json'], + }, + }, + plugins: { + '@stylistic': stylistic, + }, + extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript], + settings: { + 'import/resolver': { + // You will also need to install and configure the TypeScript resolver + // See also https://github.com/import-js/eslint-import-resolver-typescript#configuration + 'typescript': { + alwaysTryTypes: true, + }, + 'node': true, + }, + }, + rules: { + '@stylistic/semi': ['error', 'always'], + '@stylistic/indent': ['error', 2], + '@stylistic/comma-dangle': ['error', 'always-multiline'], + '@stylistic/arrow-parens': ['error', 'always'], + '@stylistic/quotes': ['error', 'single'], + }, + }, +); diff --git a/common/backend/package.json b/common/backend/langchain/package.json similarity index 90% rename from common/backend/package.json rename to common/backend/langchain/package.json index d3b8cff7..6398cc32 100644 --- a/common/backend/package.json +++ b/common/backend/langchain/package.json @@ -1,5 +1,5 @@ { - "name": "@llm-ts-example/common-backend", + "name": "@llm-ts-example/common-backend-langchain", "version": "1.0.0", "description": "", "type": "module", @@ -24,10 +24,10 @@ "lint-fix": "eslint . --fix" }, "dependencies": { - "@aws-lambda-powertools/logger": "^2.31.0", "@langchain/aws": "^1.2.2", "@langchain/core": "^1.1.22", "@langchain/openai": "^1.2.7", + "@llm-ts-example/common-backend-core": "workspace:*", "@llm-ts-example/common-core": "workspace:*" }, "devDependencies": { diff --git a/common/backend/langchain/src/index.ts b/common/backend/langchain/src/index.ts new file mode 100644 index 00000000..4dbfedb6 --- /dev/null +++ b/common/backend/langchain/src/index.ts @@ -0,0 +1,3 @@ +import { selectLlm } from './langchain'; + +export { selectLlm }; diff --git a/common/backend/src/langchain.ts b/common/backend/langchain/src/langchain.ts similarity index 96% rename from common/backend/src/langchain.ts rename to common/backend/langchain/src/langchain.ts index 7f2cdcdd..795a6ce7 100644 --- a/common/backend/src/langchain.ts +++ b/common/backend/langchain/src/langchain.ts @@ -1,9 +1,9 @@ import { AzureChatOpenAI } from '@langchain/openai'; import { ChatBedrockConverse } from '@langchain/aws'; -import { logger } from './logger'; import { LanguageModelLike } from '@langchain/core/language_models/base'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; +import { logger } from '@llm-ts-example/common-backend-core'; import { models } from '@llm-ts-example/common-core'; interface SelectLlmResult { diff --git a/common/backend/langchain/tsconfig-eslint.json b/common/backend/langchain/tsconfig-eslint.json new file mode 100644 index 00000000..0f99dd23 --- /dev/null +++ b/common/backend/langchain/tsconfig-eslint.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noEmit": true, + "rootDirs": [ + "./", + "./src" + ] + }, + "exclude": [ + "node_modules", + "cdk.out", + "eslint.config.*", + "vite.config.ts", + "dist" + ] +} diff --git a/common/backend/langchain/tsconfig.json b/common/backend/langchain/tsconfig.json new file mode 100644 index 00000000..6d110e9c --- /dev/null +++ b/common/backend/langchain/tsconfig.json @@ -0,0 +1,47 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "lib": [ + "esnext", + "dom" + ], + "moduleResolution": "bundler", + "resolveJsonModule": true, + "allowJs": true, + "esModuleInterop": true, + "outDir": "./dist", + "sourceRoot": "./src", + "isolatedModules": true, + "declaration": true, + "declarationMap": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "noImplicitThis": true, + "alwaysStrict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": false, + "inlineSourceMap": true, + "inlineSources": true, + "experimentalDecorators": true, + "strictPropertyInitialization": false, + "skipLibCheck": true, + "typeRoots": [ + "./node_modules", + "./node_modules/@types" + ], + "types": [ + "node" + ] + }, + "exclude": [ + "node_modules", + "cdk.out", + "eslint.config.*", + "vite.config.ts", + "dist" + ] +} diff --git a/common/backend/src/index.ts b/common/backend/src/index.ts deleted file mode 100644 index bb5303a4..00000000 --- a/common/backend/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { logger } from './logger'; -import { selectLlm } from './langchain'; - -export { logger, selectLlm }; diff --git a/package.json b/package.json index 2c74c4ca..57954543 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,11 @@ "keywords": [], "author": "", "license": "ISC", - "packageManager": "pnpm@10.29.2", + "packageManager": "pnpm@10.29.3", "devDependencies": { - "@llm-ts-example/common-backend": "workspace:*", + "@llm-ts-example/common-backend-core": "workspace:*", "@llm-ts-example/common-core": "workspace:*", - "pnpm": "^10.29.2", + "pnpm": "^10.29.3", "vitest": "^4.0.18" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da2df964..5e5035bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,15 +25,112 @@ importers: .: devDependencies: - '@llm-ts-example/common-backend': + '@llm-ts-example/common-backend-core': specifier: workspace:* - version: link:common/backend + version: link:common/backend/core '@llm-ts-example/common-core': specifier: workspace:* version: link:common/core pnpm: - specifier: ^10.29.2 - version: 10.29.2 + specifier: ^10.29.3 + version: 10.29.3 + vitest: + specifier: ^4.0.18 + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + + agents/agent-ai-sdk: + dependencies: + '@ai-sdk/amazon-bedrock': + specifier: ^4.0.55 + version: 4.0.55(zod@4.3.6) + '@ai-sdk/azure': + specifier: ^3.0.27 + version: 3.0.27(zod@4.3.6) + '@llm-ts-example/common-backend-core': + specifier: workspace:* + version: link:../../common/backend/core + '@llm-ts-example/common-core': + specifier: workspace:* + version: link:../../common/core + '@smithy/eventstream-codec': + specifier: ^4.2.8 + version: 4.2.8 + ai: + specifier: ^6.0.79 + version: 6.0.79(zod@4.3.6) + aws-cdk-lib: + specifier: ^2.238.0 + version: 2.238.0(constructs@10.4.5) + constructs: + specifier: ^10.4.5 + version: 10.4.5 + dotenv: + specifier: ^17.2.4 + version: 17.2.4 + zod: + specifier: ^4.3.6 + version: 4.3.6 + devDependencies: + '@eslint/compat': + specifier: ^2.0.2 + version: 2.0.2(eslint@9.39.2(jiti@2.6.1)) + '@eslint/core': + specifier: ^1.1.0 + version: 1.1.0 + '@eslint/js': + specifier: ^9.39.2 + version: 9.39.2 + '@stylistic/eslint-plugin': + specifier: '>=5.0.0' + version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) + '@types/aws-lambda': + specifier: ^8.10.160 + version: 8.10.160 + '@types/node': + specifier: ^24.10.13 + version: 24.10.13 + '@vitest/eslint-plugin': + specifier: ^1.6.7 + version: 1.6.7(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.6.1)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) + aws-cdk: + specifier: 2.1105.0 + version: 2.1105.0 + esbuild: + specifier: ^0.27.3 + version: 0.27.3 + eslint: + specifier: ^9.39.2 + version: 9.39.2(jiti@2.6.1) + eslint-import-resolver-typescript: + specifier: ^4.4.4 + version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-awscdk: + specifier: ^4.1.0 + version: 4.1.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-import: + specifier: ^2.32.0 + version: 2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-promise: + specifier: ^7.2.1 + version: 7.2.1(eslint@9.39.2(jiti@2.6.1)) + jiti: + specifier: ^2.6.1 + version: 2.6.1 + tsx: + specifier: ^4.21.0 + version: 4.21.0 + typescript: + specifier: ^5.9.3 + version: 5.9.3 + typescript-eslint: + specifier: ^8.55.0 + version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + vite: + specifier: ^7.3.1 + version: 7.3.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + vite-tsconfig-paths: + specifier: ^6.1.0 + version: 6.1.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: ^4.0.18 version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.6.1)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) @@ -60,7 +157,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -193,7 +290,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/aws-lambda': specifier: ^8.10.160 @@ -320,52 +417,52 @@ importers: version: 1.39.0 '@radix-ui/react-accordion': specifier: ^1.2.12 - version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-avatar': specifier: ^1.1.11 - version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-collapsible': specifier: ^1.1.12 - version: 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-dialog': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-dropdown-menu': specifier: ^2.1.16 - version: 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-hover-card': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-popover': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-progress': specifier: ^1.1.8 - version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-scroll-area': specifier: ^1.2.10 - version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-select': specifier: ^2.2.6 - version: 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-separator': specifier: ^1.1.8 - version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-slot': specifier: ^1.2.4 - version: 1.2.4(@types/react@19.2.13)(react@19.2.3) + version: 1.2.4(@types/react@19.2.14)(react@19.2.3) '@radix-ui/react-switch': specifier: ^1.2.6 - version: 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-tabs': specifier: ^1.1.13 - version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-tooltip': specifier: ^1.2.8 - version: 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-controllable-state': specifier: ^1.2.2 - version: 1.2.2(@types/react@19.2.13)(react@19.2.3) + version: 1.2.2(@types/react@19.2.14)(react@19.2.3) '@rive-app/react-webgl2': specifier: ^4.26.2 version: 4.26.2(react@19.2.3) @@ -386,7 +483,7 @@ importers: version: 1.0.2(react@19.2.3) '@xyflow/react': specifier: ^12.10.0 - version: 12.10.0(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 12.10.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) ai: specifier: ^6.0.79 version: 6.0.79(zod@4.3.6) @@ -401,7 +498,7 @@ importers: version: 2.1.1 cmdk: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) embla-carousel-react: specifier: ^8.6.0 version: 8.6.0(react@19.2.3) @@ -455,7 +552,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@tailwindcss/postcss': specifier: ^4.1.18 @@ -464,11 +561,11 @@ importers: specifier: ^22.19.11 version: 22.19.11 '@types/react': - specifier: ^19.2.13 - version: 19.2.13 + specifier: ^19.2.14 + version: 19.2.14 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.13) + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.39.2 version: 9.39.2(jiti@2.6.1) @@ -516,19 +613,19 @@ importers: version: 3.0.27(zod@4.3.6) '@mastra/core': specifier: ^0.24.9 - version: 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + version: 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) '@mastra/libsql': specifier: ^0.16.4 - version: 0.16.4(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6)) + version: 0.16.4(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6)) '@mastra/loggers': specifier: ^0.10.19 - version: 0.10.19(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6)) + version: 0.10.19(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6)) '@mastra/mcp': specifier: ^0.14.5 - version: 0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6) + version: 0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6) '@mastra/memory': specifier: ^0.15.13 - version: 0.15.13(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6) + version: 0.15.13(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6) langfuse-vercel: specifier: ^3.38.6 version: 3.38.6(ai@6.0.79(zod@4.3.6)) @@ -543,7 +640,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -562,7 +659,7 @@ importers: version: 7.2.1(eslint@9.39.2(jiti@2.6.1)) mastra: specifier: ^0.18.9 - version: 0.18.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6) + version: 0.18.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6) typescript: specifier: ^5.9.3 version: 5.9.3 @@ -578,9 +675,9 @@ importers: '@aws-sdk/credential-provider-node': specifier: ^3.972.6 version: 3.972.6 - '@llm-ts-example/common-backend': + '@llm-ts-example/common-backend-core': specifier: workspace:* - version: link:../../common/backend + version: link:../../common/backend/core '@strands-agents/sdk': specifier: ^0.1.6 version: 0.1.6(@cfworker/json-schema@4.1.1)(ws@8.19.0) @@ -601,7 +698,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/aws-lambda': specifier: ^8.10.160 @@ -683,7 +780,7 @@ importers: specifier: ^0.15.4 version: 0.15.4(solid-js@1.9.11) '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/crypto-js': specifier: ^4.2.2 @@ -763,9 +860,12 @@ importers: '@langchain/openai': specifier: ^1.2.7 version: 1.2.7(@langchain/core@1.1.22(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(openai@6.21.0(ws@8.19.0)(zod@4.3.6)))(ws@8.19.0) - '@llm-ts-example/common-backend': + '@llm-ts-example/common-backend-core': + specifier: workspace:* + version: link:../../common/backend/core + '@llm-ts-example/common-backend-langchain': specifier: workspace:* - version: link:../../common/backend + version: link:../../common/backend/langchain '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.0 @@ -846,7 +946,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/aws-lambda': specifier: ^8.10.160 @@ -887,9 +987,6 @@ importers: jiti: specifier: ^2.6.1 version: 2.6.1 - pnpm: - specifier: ^10.29.2 - version: 10.29.2 tsx: specifier: ^4.21.0 version: 4.21.0 @@ -928,40 +1025,40 @@ importers: version: 3.0.81(react@19.2.4)(zod@4.3.6) '@radix-ui/react-collapsible': specifier: ^1.1.12 - version: 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-dialog': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-dropdown-menu': specifier: ^2.1.16 - version: 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-hover-card': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-progress': specifier: ^1.1.8 - version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-scroll-area': specifier: ^1.2.10 - version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-select': specifier: ^2.2.6 - version: 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-separator': specifier: ^1.1.8 - version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-slot': specifier: ^1.2.4 - version: 1.2.4(@types/react@19.2.13)(react@19.2.4) + version: 1.2.4(@types/react@19.2.14)(react@19.2.4) '@radix-ui/react-tooltip': specifier: ^1.2.8 - version: 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-use-controllable-state': specifier: ^1.2.2 - version: 1.2.2(@types/react@19.2.13)(react@19.2.4) + version: 1.2.2(@types/react@19.2.14)(react@19.2.4) '@xyflow/react': specifier: ^12.10.0 - version: 12.10.0(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 12.10.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) ai: specifier: ^5.0.129 version: 5.0.129(zod@4.3.6) @@ -973,7 +1070,7 @@ importers: version: 2.1.1 cmdk: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) embla-carousel-react: specifier: ^8.6.0 version: 8.6.0(react@19.2.4) @@ -1021,7 +1118,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@tailwindcss/postcss': specifier: ^4.1.18 @@ -1030,11 +1127,11 @@ importers: specifier: ^24.10.13 version: 24.10.13 '@types/react': - specifier: ^19.2.13 - version: 19.2.13 + specifier: ^19.2.14 + version: 19.2.14 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.13) + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1066,11 +1163,51 @@ importers: specifier: ^8.55.0 version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - common/backend: + common/backend/core: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.31.0 version: 2.31.0 + '@llm-ts-example/common-core': + specifier: workspace:* + version: link:../../core + devDependencies: + '@eslint/compat': + specifier: ^2.0.2 + version: 2.0.2(eslint@9.39.2(jiti@2.6.1)) + '@eslint/js': + specifier: ^9.39.2 + version: 9.39.2 + '@stylistic/eslint-plugin': + specifier: '>=5.0.0' + version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) + '@types/node': + specifier: ^24.10.13 + version: 24.10.13 + '@vitest/eslint-plugin': + specifier: ^1.6.7 + version: 1.6.7(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.6.1)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) + eslint: + specifier: ^9.39.2 + version: 9.39.2(jiti@2.6.1) + eslint-import-resolver-typescript: + specifier: ^4.4.4 + version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: + specifier: ^2.32.0 + version: 2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-promise: + specifier: ^7.2.1 + version: 7.2.1(eslint@9.39.2(jiti@2.6.1)) + typescript: + specifier: ^5.9.3 + version: 5.9.3 + typescript-eslint: + specifier: ^8.55.0 + version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + + common/backend/langchain: + dependencies: '@langchain/aws': specifier: ^1.2.2 version: 1.2.2(@langchain/core@1.1.22(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(openai@6.21.0(ws@8.19.0)(zod@4.3.6))) @@ -1080,9 +1217,12 @@ importers: '@langchain/openai': specifier: ^1.2.7 version: 1.2.7(@langchain/core@1.1.22(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(openai@6.21.0(ws@8.19.0)(zod@4.3.6)))(ws@8.19.0) - '@llm-ts-example/common-core': + '@llm-ts-example/common-backend-core': specifier: workspace:* version: link:../core + '@llm-ts-example/common-core': + specifier: workspace:* + version: link:../../core devDependencies: '@eslint/compat': specifier: ^2.0.2 @@ -1091,7 +1231,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1127,7 +1267,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1170,13 +1310,13 @@ importers: version: 3.0.27(zod@4.3.6) '@mastra/core': specifier: ^0.24.9 - version: 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + version: 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) '@mastra/loggers': specifier: ^0.10.19 - version: 0.10.19(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6)) + version: 0.10.19(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6)) '@mastra/mcp': specifier: ^0.14.5 - version: 0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6) + version: 0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6) langfuse-vercel: specifier: ^3.38.6 version: 3.38.6(ai@6.0.79(zod@4.3.6)) @@ -1191,7 +1331,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1210,7 +1350,7 @@ importers: version: 7.2.1(eslint@9.39.2(jiti@2.6.1)) mastra: specifier: ^0.18.9 - version: 0.18.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6) + version: 0.18.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -1246,7 +1386,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1298,7 +1438,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1356,7 +1496,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/aws-lambda': specifier: ^8.10.160 @@ -1426,7 +1566,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/express': specifier: ^5.0.6 @@ -1472,7 +1612,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/node': specifier: ^24.10.13 @@ -1518,7 +1658,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/express': specifier: ^5.0.6 @@ -1579,7 +1719,7 @@ importers: specifier: ^0.8.10 version: 0.8.10(@solidjs/router@0.15.4(solid-js@1.9.11))(solid-js@1.9.11) '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/crypto-js': specifier: ^4.2.2 @@ -1679,7 +1819,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/html-to-text': specifier: ^9.0.4 @@ -1735,9 +1875,12 @@ importers: '@langchain/pinecone': specifier: ^1.0.1 version: 1.0.1(@langchain/core@1.1.22(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(openai@6.21.0(ws@8.19.0)(zod@4.3.6)))(@pinecone-database/pinecone@6.1.4) - '@llm-ts-example/common-backend': + '@llm-ts-example/common-backend-core': + specifier: workspace:* + version: link:../../common/backend/core + '@llm-ts-example/common-backend-langchain': specifier: workspace:* - version: link:../../common/backend + version: link:../../common/backend/langchain '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.0 @@ -1803,7 +1946,7 @@ importers: specifier: ^9.39.2 version: 9.39.2 '@stylistic/eslint-plugin': - specifier: ^5.8.0 + specifier: '>=5.0.0' version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) '@types/aws-lambda': specifier: ^8.10.160 @@ -1844,9 +1987,6 @@ importers: jiti: specifier: ^2.6.1 version: 2.6.1 - pnpm: - specifier: ^10.29.2 - version: 10.29.2 tsx: specifier: ^4.21.0 version: 4.21.0 @@ -2900,8 +3040,8 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@exodus/bytes@1.12.0': - resolution: {integrity: sha512-BuCOHA/EJdPN0qQ5MdgAiJSt9fYDHbghlgrj33gRdy/Yp1/FMCDhU6vJfcKrLC0TPWGSrfH3vYXBQWmFHxlddw==} + '@exodus/bytes@1.13.0': + resolution: {integrity: sha512-VnfL2lS43Z9F8li1faMH9hDZwqfrF5JvOePmrF8oESfo0ijaujnT81zYtienQRpoFa+FJbq0E5rrnMWEW73gOw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: '@noble/hashes': ^1.8.0 || ^2.0.0 @@ -6131,6 +6271,9 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@sinclair/typebox@0.34.48': + resolution: {integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==} + '@sindresorhus/merge-streams@4.0.0': resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} @@ -6710,6 +6853,9 @@ packages: '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + '@types/node@25.2.3': + resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} + '@types/oracledb@6.5.2': resolution: {integrity: sha512-kK1eBS/Adeyis+3OlBDMeQQuasIDLUYXsi2T15ccNJ0iyUpQ4xDF7svFu3+bGVrI0CMBUclPciz+lsQR3JX3TQ==} @@ -6739,8 +6885,8 @@ packages: peerDependencies: '@types/react': ^19.2.0 - '@types/react@19.2.13': - resolution: {integrity: sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==} + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -10124,8 +10270,8 @@ packages: engines: {node: '>=18'} hasBin: true - pnpm@10.29.2: - resolution: {integrity: sha512-vvQ/p1nZH9LaSzGaWg0T73pFu5haPXNCBYRw+dIFGjuoZ05ilnJlRobvlEOtE6gtor657rPgIhyHuBVP/510uA==} + pnpm@10.29.3: + resolution: {integrity: sha512-SY4ftMylqgbB3PJhHm+vxQly/+cYmZjECekN50VmREKY/+Q+bNKs3Hdboap8xeCSqLcFTIEbqMV3D4RpPTPS3A==} engines: {node: '>=18.12'} hasBin: true @@ -11231,6 +11377,11 @@ packages: vite: optional: true + vite-tsconfig-paths@6.1.0: + resolution: {integrity: sha512-kpd3sY9glHIDaq4V/Tlc1Y8WaKtutoc3B525GHxEVKWX42FKfQsXvjFOemu1I8VIN8pNbrMLWVTbW79JaRUxKg==} + peerDependencies: + vite: '*' + vite@7.3.1: resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -12980,7 +13131,7 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@exodus/bytes@1.12.0': {} + '@exodus/bytes@1.13.0': {} '@expo/devcert@1.2.1': dependencies: @@ -13729,7 +13880,7 @@ snapshots: '@libsql/win32-x64-msvc@0.5.22': optional: true - '@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6)': + '@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6)': dependencies: '@a2a-js/sdk': 0.2.5 '@ai-sdk/anthropic-v5': '@ai-sdk/anthropic@2.0.33(zod@4.3.6)' @@ -13765,7 +13916,7 @@ snapshots: date-fns: 3.6.0 dotenv: 16.6.1 hono: 4.11.9 - hono-openapi: 0.4.8(hono@4.11.9)(openapi-types@12.1.3)(zod@4.3.6) + hono-openapi: 0.4.8(@sinclair/typebox@0.34.48)(hono@4.11.9)(openapi-types@12.1.3)(zod@4.3.6) js-tiktoken: 1.0.21 json-schema: 0.4.0 lru-cache: 11.2.6 @@ -13794,13 +13945,13 @@ snapshots: - valibot - zod-openapi - '@mastra/deployer@0.24.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(typescript@5.9.3)(zod@4.3.6)': + '@mastra/deployer@0.24.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(typescript@5.9.3)(zod@4.3.6)': dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) - '@mastra/server': 0.24.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/server': 0.24.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6) '@neon-rs/load': 0.1.82 '@optimize-lodash/rollup-plugin': 5.1.0(rollup@4.50.2) '@rollup/plugin-alias': 5.1.1(rollup@4.50.2) @@ -13832,24 +13983,24 @@ snapshots: - supports-color - typescript - '@mastra/libsql@0.16.4(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))': + '@mastra/libsql@0.16.4(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))': dependencies: '@libsql/client': 0.15.15 - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) transitivePeerDependencies: - bufferutil - utf-8-validate - '@mastra/loggers@0.10.19(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))': + '@mastra/loggers@0.10.19(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))': dependencies: - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) pino: 9.14.0 pino-pretty: 13.1.3 - '@mastra/mcp@0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6)': + '@mastra/mcp@0.14.5(@cfworker/json-schema@4.1.1)(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@types/json-schema@7.0.15)(zod@4.3.6)': dependencies: '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) '@modelcontextprotocol/sdk': 1.26.0(@cfworker/json-schema@4.1.1)(zod@4.3.6) date-fns: 4.1.0 exit-hook: 4.0.0 @@ -13863,9 +14014,9 @@ snapshots: - '@types/json-schema' - supports-color - '@mastra/memory@0.15.13(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6)': + '@mastra/memory@0.15.13(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6)': dependencies: - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) '@mastra/schema-compat': 0.11.9(ai@6.0.79(zod@4.3.6))(zod@4.3.6) '@upstash/redis': 1.36.2 ai: 6.0.79(zod@4.3.6) @@ -13893,9 +14044,9 @@ snapshots: zod-from-json-schema-v3: zod-from-json-schema@0.0.5 zod-to-json-schema: 3.25.1(zod@4.3.6) - '@mastra/server@0.24.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6)': + '@mastra/server@0.24.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(zod@4.3.6)': dependencies: - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) zod: 4.3.6 '@mermaid-js/parser@0.6.3': @@ -15711,922 +15862,922 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-avatar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-avatar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-context': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-context': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-context@1.1.2(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-context@1.1.2(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-context@1.1.3(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-context@1.1.3(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-context@1.1.3(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-context@1.1.3(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) aria-hidden: 1.2.6 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.3) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) aria-hidden: 1.2.6 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-direction@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-direction@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-id@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-id@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) aria-hidden: 1.2.6 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.3) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) aria-hidden: 1.2.6 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) aria-hidden: 1.2.6 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.3) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@floating-ui/react-dom': 2.1.7(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.3) '@radix-ui/rect': 1.1.1 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@floating-ui/react-dom': 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) '@radix-ui/rect': 1.1.1 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-slot': 1.2.4(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-slot': 1.2.4(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-progress@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-progress@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-context': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-context': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-progress@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-progress@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-context': 1.1.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-context': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) aria-hidden: 1.2.6 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.3) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) aria-hidden: 1.2.6 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.13)(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-separator@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-separator@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-separator@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-separator@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-slot@1.2.3(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-slot@1.2.4(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-slot@1.2.4(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 use-sync-external-store: 1.6.0(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: '@radix-ui/rect': 1.1.1 react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: '@radix-ui/rect': 1.1.1 react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.13)(react@19.2.3)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.3)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.3) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.13)(react@19.2.4)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.13)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) react: 19.2.4 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 - '@types/react-dom': 19.2.3(@types/react@19.2.13) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) '@radix-ui/rect@1.1.1': {} @@ -16888,6 +17039,9 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@sinclair/typebox@0.34.48': + optional: true + '@sindresorhus/merge-streams@4.0.0': {} '@sindresorhus/slugify@2.2.1': @@ -17638,6 +17792,11 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/node@25.2.3': + dependencies: + undici-types: 7.16.0 + optional: true + '@types/oracledb@6.5.2': dependencies: '@types/node': 24.10.13 @@ -17672,11 +17831,11 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@19.2.3(@types/react@19.2.13)': + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - '@types/react@19.2.13': + '@types/react@19.2.14': dependencies: csstype: 3.2.3 @@ -17944,6 +18103,14 @@ snapshots: optionalDependencies: vite: 7.3.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2))': + dependencies: + '@vitest/spy': 4.0.18 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + '@vitest/pretty-format@4.0.18': dependencies: tinyrainbow: 3.0.3 @@ -17980,24 +18147,24 @@ snapshots: - bare-buffer - react-native-b4a - '@xyflow/react@12.10.0(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@xyflow/react@12.10.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@xyflow/system': 0.0.74 classcat: 5.0.5 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - zustand: 4.5.7(@types/react@19.2.13)(react@19.2.3) + zustand: 4.5.7(@types/react@19.2.14)(react@19.2.3) transitivePeerDependencies: - '@types/react' - immer - '@xyflow/react@12.10.0(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@xyflow/react@12.10.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@xyflow/system': 0.0.74 classcat: 5.0.5 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - zustand: 4.5.7(@types/react@19.2.13)(react@19.2.4) + zustand: 4.5.7(@types/react@19.2.14)(react@19.2.4) transitivePeerDependencies: - '@types/react' - immer @@ -18510,24 +18677,24 @@ snapshots: cluster-key-slot@1.1.2: {} - cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.3) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.13)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) transitivePeerDependencies: @@ -20142,11 +20309,12 @@ snapshots: dependencies: hermes-estree: 0.25.1 - hono-openapi@0.4.8(hono@4.11.9)(openapi-types@12.1.3)(zod@4.3.6): + hono-openapi@0.4.8(@sinclair/typebox@0.34.48)(hono@4.11.9)(openapi-types@12.1.3)(zod@4.3.6): dependencies: json-schema-walker: 2.0.0 openapi-types: 12.1.3 optionalDependencies: + '@sinclair/typebox': 0.34.48 hono: 4.11.9 zod: 4.3.6 @@ -20158,7 +20326,7 @@ snapshots: html-encoding-sniffer@6.0.0: dependencies: - '@exodus/bytes': 1.12.0 + '@exodus/bytes': 1.13.0 transitivePeerDependencies: - '@noble/hashes' @@ -20235,7 +20403,7 @@ snapshots: isstream: 0.1.2 jsonwebtoken: 9.0.3 mime-types: 2.1.35 - retry-axios: 2.6.0(axios@1.13.5(debug@4.4.3)) + retry-axios: 2.6.0(axios@1.13.5) tough-cookie: 4.1.4 transitivePeerDependencies: - supports-color @@ -20520,7 +20688,7 @@ snapshots: dependencies: '@acemir/cssom': 0.9.31 '@asamuzakjp/dom-selector': 6.7.8 - '@exodus/bytes': 1.12.0 + '@exodus/bytes': 1.13.0 cssstyle: 5.3.7 data-urls: 6.0.1 decimal.js: 10.6.0 @@ -20898,13 +21066,13 @@ snapshots: marked@17.0.1: {} - mastra@0.18.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6): + mastra@0.18.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(@opentelemetry/api@1.9.0)(typescript@5.9.3)(zod@4.3.6): dependencies: '@clack/prompts': 0.11.0 '@expo/devcert': 1.2.1 - '@mastra/core': 0.24.9(openapi-types@12.1.3)(zod@4.3.6) - '@mastra/deployer': 0.24.9(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6))(typescript@5.9.3)(zod@4.3.6) - '@mastra/loggers': 0.10.19(@mastra/core@0.24.9(openapi-types@12.1.3)(zod@4.3.6)) + '@mastra/core': 0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6) + '@mastra/deployer': 0.24.9(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6))(typescript@5.9.3)(zod@4.3.6) + '@mastra/loggers': 0.10.19(@mastra/core@0.24.9(@sinclair/typebox@0.34.48)(openapi-types@12.1.3)(zod@4.3.6)) '@opentelemetry/auto-instrumentations-node': 0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0)) '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) @@ -21879,7 +22047,7 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - pnpm@10.29.2: {} + pnpm@10.29.3: {} points-on-curve@0.2.0: {} @@ -22080,59 +22248,59 @@ snapshots: react-is@17.0.2: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.13)(react@19.2.3): + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 - react-style-singleton: 2.2.3(@types/react@19.2.13)(react@19.2.3) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - react-remove-scroll-bar@2.3.8(@types/react@19.2.13)(react@19.2.4): + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.4): dependencies: react: 19.2.4 - react-style-singleton: 2.2.3(@types/react@19.2.13)(react@19.2.4) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - react-remove-scroll@2.7.2(@types/react@19.2.13)(react@19.2.3): + react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.13)(react@19.2.3) - react-style-singleton: 2.2.3(@types/react@19.2.13)(react@19.2.3) + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.3) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.13)(react@19.2.3) - use-sidecar: 1.1.3(@types/react@19.2.13)(react@19.2.3) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.3) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - react-remove-scroll@2.7.2(@types/react@19.2.13)(react@19.2.4): + react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.4): dependencies: react: 19.2.4 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.13)(react@19.2.4) - react-style-singleton: 2.2.3(@types/react@19.2.13)(react@19.2.4) + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.4) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.13)(react@19.2.4) - use-sidecar: 1.1.3(@types/react@19.2.13)(react@19.2.4) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.4) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - react-style-singleton@2.2.3(@types/react@19.2.13)(react@19.2.3): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.3): dependencies: get-nonce: 1.0.1 react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - react-style-singleton@2.2.3(@types/react@19.2.13)(react@19.2.4): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.4): dependencies: get-nonce: 1.0.1 react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 react@19.2.3: {} @@ -22329,7 +22497,7 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - retry-axios@2.6.0(axios@1.13.5(debug@4.4.3)): + retry-axios@2.6.0(axios@1.13.5): dependencies: axios: 1.13.5(debug@4.4.3) @@ -23308,35 +23476,35 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-callback-ref@1.3.3(@types/react@19.2.13)(react@19.2.3): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.3): dependencies: react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - use-callback-ref@1.3.3(@types/react@19.2.13)(react@19.2.4): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.4): dependencies: react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.2.13)(react@19.2.3): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.3): dependencies: detect-node-es: 1.1.0 react: 19.2.3 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.2.13)(react@19.2.4): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.4): dependencies: detect-node-es: 1.1.0 react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 use-stick-to-bottom@1.1.3(react@19.2.3): dependencies: @@ -23442,6 +23610,16 @@ snapshots: - supports-color - typescript + vite-tsconfig-paths@6.1.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)): + dependencies: + debug: 4.4.3 + globrex: 0.1.2 + tsconfck: 3.1.6(typescript@5.9.3) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - supports-color + - typescript + vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 @@ -23490,6 +23668,22 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.57.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 25.2.3 + fsevents: 2.3.3 + jiti: 2.6.1 + lightningcss: 1.30.2 + tsx: 4.21.0 + yaml: 2.8.2 + vitefu@1.1.1(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)): optionalDependencies: vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) @@ -23615,6 +23809,45 @@ snapshots: - tsx - yaml + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.4.0)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): + dependencies: + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@opentelemetry/api': 1.9.0 + '@types/node': 25.2.3 + jsdom: 27.4.0 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + vscode-jsonrpc@8.2.0: {} vscode-languageserver-protocol@3.17.5: @@ -23794,18 +24027,18 @@ snapshots: zod@4.3.6: {} - zustand@4.5.7(@types/react@19.2.13)(react@19.2.3): + zustand@4.5.7(@types/react@19.2.14)(react@19.2.3): dependencies: use-sync-external-store: 1.6.0(react@19.2.3) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 react: 19.2.3 - zustand@4.5.7(@types/react@19.2.13)(react@19.2.4): + zustand@4.5.7(@types/react@19.2.14)(react@19.2.4): dependencies: use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: - '@types/react': 19.2.13 + '@types/react': 19.2.14 react: 19.2.4 zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fbdbef67..553942b7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - ./common/core - - ./common/backend + - ./common/backend/core + - ./common/backend/langchain - ./basic/cdk - ./basic/app - ./basic/cdk/function @@ -8,11 +9,12 @@ packages: - ./rag/app - ./rag/cdk - ./rag/cdk/function - - ./agents/agent-mastra + - ./agents/agent-ai-sdk - ./agents/agent-claude-agent-sdk - - ./agents/agent-strands - ./agents/agent-langchain - ./agents/agent-langchain-nextjs + - ./agents/agent-mastra + - ./agents/agent-strands - ./mcp/servers/postgresql-http - ./mcp/servers/weather - ./mcp/servers/weather-http diff --git a/rag/cdk/lambda/handler.ts b/rag/cdk/lambda/handler.ts index 38236b93..46581295 100644 --- a/rag/cdk/lambda/handler.ts +++ b/rag/cdk/lambda/handler.ts @@ -1,7 +1,8 @@ import { CallbackHandler } from 'langfuse-langchain'; // eslint-disable-next-line import/no-unresolved import { v7 as uuidv7 } from 'uuid'; -import { logger, selectLlm } from '@llm-ts-example/common-backend'; +import { logger } from '@llm-ts-example/common-backend-core'; +import { selectLlm } from '@llm-ts-example/common-backend-langchain'; import { createAgent } from 'langchain'; import { MemorySaver } from '@langchain/langgraph'; import { selectEmbeddings } from './embeddings-models'; diff --git a/rag/cdk/lambda/index.ts b/rag/cdk/lambda/index.ts index 80233d7d..5f4752b3 100644 --- a/rag/cdk/lambda/index.ts +++ b/rag/cdk/lambda/index.ts @@ -2,7 +2,7 @@ // eslint-disable-next-line import/no-unresolved import { APIGatewayProxyEvent, APIGatewayProxyEventV2 } from 'aws-lambda'; -import { logger } from '@llm-ts-example/common-backend'; +import { logger } from '@llm-ts-example/common-backend-core'; import { handle } from './handler'; export const handler = awslambda.streamifyResponse( diff --git a/rag/cdk/package.json b/rag/cdk/package.json index 4337623f..7bc60293 100644 --- a/rag/cdk/package.json +++ b/rag/cdk/package.json @@ -28,7 +28,6 @@ "eslint-plugin-promise": "^7.2.1", "install": "^0.13.0", "jiti": "^2.6.1", - "pnpm": "^10.29.2", "tsx": "^4.21.0", "typescript": "^5.9.3", "typescript-eslint": "^8.55.0", @@ -46,7 +45,8 @@ "@langchain/langgraph": "^1.1.4", "@langchain/openai": "^1.2.7", "@langchain/pinecone": "^1.0.1", - "@llm-ts-example/common-backend": "workspace:*", + "@llm-ts-example/common-backend-core": "workspace:*", + "@llm-ts-example/common-backend-langchain": "workspace:*", "@opentelemetry/api": "^1.9.0", "@opentelemetry/exporter-trace-otlp-http": "^0.210.0", "@opentelemetry/exporter-trace-otlp-proto": "^0.210.0",