From 5227dafb96ba4b09c762129d81fbb4f7d83ebf61 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 27 Aug 2025 09:23:08 -0700 Subject: [PATCH 01/31] feat: add Chat SDK as submodule - Add Vercel ai-chatbot (navapbc fork) as git submodule - Configured with Neon DB, Google Cloud Storage, and OpenAI - Enables chat functionality alongside main application --- .gitmodules | 3 +++ client | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 client diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..008ac1b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "client"] + path = client + url = https://github.com/navapbc/ai-chatbot.git diff --git a/client b/client new file mode 160000 index 0000000..421ddfc --- /dev/null +++ b/client @@ -0,0 +1 @@ +Subproject commit 421ddfcea7fbaa9d4c8f73186c0e1b38b00d0482 From 37f0a213122fb817c75bef158d7d5d22be304496 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:16:02 -0400 Subject: [PATCH 02/31] feat: decision log guidelines and start --- docs/decisions/template.md | 0 .../000-custom-built-ui-vs-template-chat.md | 99 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 docs/decisions/template.md create mode 100644 docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md diff --git a/docs/decisions/template.md b/docs/decisions/template.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md new file mode 100644 index 0000000..1899b75 --- /dev/null +++ b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md @@ -0,0 +1,99 @@ +# Frontend UI Framework Implementation: Custom vs Template Approaches + +- Status: proposed +- Deciders: KayTV, fg-nava +- Date: 2025-08-27 + +Technical Story: [PR #4](https://github.com/navapbc/labs-asp/pull/4) vs [PR #13](https://github.com/navapbc/labs-asp/pull/13) + +## Context and Problem Statement + +The project needed a frontend user interface to provide a chat experience for users to interact with the Mastra bot for application assistance. The existing codebase had backend functionality but lacked a user-facing interface for end users to access the web automation agent capabilities. + +## Decision Drivers + +- Need for user-friendly interface to access AI chat functionality +- Integration with existing Mastra web automation agent +- Modern, responsive UI requirements +- Chat-based interaction model for application assistance + +## Considered Options + +- Custom-built UI with Vercel AI SDK (PR #4) +- Vercel AI SDK chatbot template (PR #13) +- Third-party chat widget integration +- Minimal HTML/CSS interface +- Full-stack framework like Next.js + +## Decision Outcome + +**Status: Under Evaluation** - Comparing two Vercel AI SDK approaches: + +1. **Custom-built UI (PR #4)**: Full custom implementation with login, dashboard, and client management +2. **Vercel chatbot template (PR #13)**: Template-based approach using [Vercel's Next.js AI chatbot template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) + +Both approaches use Vercel AI SDK but differ in implementation strategy and scope. + +### Positive Consequences + +- Modern, responsive chat interface +- Seamless integration with existing Mastra bot +- Professional user experience with login, dashboard, and client management +- Full control over UI/UX design and functionality +- Leverages Vercel AI SDK's proven chat components + +### Negative Consequences + +- Additional frontend code to maintain +- Requires frontend development expertise +- Potential for UI/UX inconsistencies if not properly maintained + +## Pros and Cons of the Options + +### Custom-built UI with Vercel AI SDK (PR #4) + +- Good, because provides full control over user experience +- Good, because integrates seamlessly with existing backend +- Good, because leverages proven AI chat components +- Good, because includes complete user management (login, dashboard, client profiles) +- Bad, because requires additional frontend development effort +- Bad, because increases codebase complexity +- Bad, because more code to maintain and test + +### Vercel chatbot template (PR #13) + +- Good, because faster implementation using proven template +- Good, because maintained by Vercel team +- Good, because includes model selection dropdowns for testing +- Good, because lighter weight and focused on chat functionality +- Bad, because limited to chat interface only (no user management) +- Bad, because requires integration with existing Mastra backend +- Bad, because template may have limitations for custom requirements + +### Third-party chat widget integration + +- Good, because faster implementation +- Good, because maintained by third party +- Bad, because limited customization options +- Bad, because potential vendor lock-in + +### Minimal HTML/CSS interface + +- Good, because simple and lightweight +- Good, because easy to maintain +- Bad, because poor user experience +- Bad, because limited functionality + +### Full-stack framework like Next.js + +- Good, because comprehensive solution +- Good, because modern development experience +- Bad, because overkill for simple chat interface +- Bad, because increases complexity and dependencies + +## Links + +- [PR #4](https://github.com/navapbc/labs-asp/pull/4) - Custom-built UI implementation +- [PR #13](https://github.com/navapbc/labs-asp/pull/13) - Vercel chatbot template implementation +- [Vercel AI SDK](https://sdk.vercel.ai/) - Framework documentation +- [Vercel Next.js AI Chatbot Template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) - Template used in PR #13 From 68d2db97bb1109e75a0c437204cb56b3fd4d49df Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:19:52 -0400 Subject: [PATCH 03/31] template --- docs/decisions/template.md | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/docs/decisions/template.md b/docs/decisions/template.md index e69de29..0f106fc 100644 --- a/docs/decisions/template.md +++ b/docs/decisions/template.md @@ -0,0 +1,72 @@ +# [short title of solved problem and solution] + +- Status: [proposed | rejected | accepted | deprecated | … | superseded by [ADR-YYYY-MM-DD](2025-01-21-example.md)] +- Deciders: [list everyone involved in the decision] +- Date: [YYYY-MM-DD when the decision was last updated] + +Technical Story: [description | ticket/issue URL] + +## Context and Problem Statement + +[Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in the form of a question.] + +## Decision Drivers + +- [driver 1, e.g., a force, facing concern, …] +- [driver 2, e.g., a force, facing concern, …] +- … + +## Considered Options + +- [option 1] +- [option 2] +- [option 3] +- … + +## Decision Outcome + +Chosen option: "[option 1]", because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)]. + +### Positive Consequences + +- [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …] +- … + +### Negative Consequences + +- [e.g., compromising quality attribute, follow-up decisions required, …] +- … + +## Pros and Cons of the Options + +### [option 1] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +### [option 2] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +### [option 3] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +## Links + +- [Link type] [Link to ADR] +- … \ No newline at end of file From b3529b5908c8563fab06b44ea8cafae911a4b7e2 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:46:18 -0400 Subject: [PATCH 04/31] edits --- .../000-custom-built-ui-vs-template-chat.md | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md index 1899b75..24c8d6c 100644 --- a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md +++ b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md @@ -21,9 +21,6 @@ The project needed a frontend user interface to provide a chat experience for us - Custom-built UI with Vercel AI SDK (PR #4) - Vercel AI SDK chatbot template (PR #13) -- Third-party chat widget integration -- Minimal HTML/CSS interface -- Full-stack framework like Next.js ## Decision Outcome @@ -55,7 +52,7 @@ Both approaches use Vercel AI SDK but differ in implementation strategy and scop - Good, because provides full control over user experience - Good, because integrates seamlessly with existing backend - Good, because leverages proven AI chat components -- Good, because includes complete user management (login, dashboard, client profiles) +- Good, because includes complete user management (login, dashboard, client profiles) (all non-working at the moment) - Bad, because requires additional frontend development effort - Bad, because increases codebase complexity - Bad, because more code to maintain and test @@ -66,31 +63,10 @@ Both approaches use Vercel AI SDK but differ in implementation strategy and scop - Good, because maintained by Vercel team - Good, because includes model selection dropdowns for testing - Good, because lighter weight and focused on chat functionality -- Bad, because limited to chat interface only (no user management) -- Bad, because requires integration with existing Mastra backend +- Bad, because limited to chat interface only (no user management) (could put back in, original template had some of this, removed because we didn't need the DB interaction) +- Bad, because requires integration with existing Mastra backend (learning curve - both needed to be up to date with versioning and had to remove existing pattern) - Bad, because template may have limitations for custom requirements -### Third-party chat widget integration - -- Good, because faster implementation -- Good, because maintained by third party -- Bad, because limited customization options -- Bad, because potential vendor lock-in - -### Minimal HTML/CSS interface - -- Good, because simple and lightweight -- Good, because easy to maintain -- Bad, because poor user experience -- Bad, because limited functionality - -### Full-stack framework like Next.js - -- Good, because comprehensive solution -- Good, because modern development experience -- Bad, because overkill for simple chat interface -- Bad, because increases complexity and dependencies - ## Links - [PR #4](https://github.com/navapbc/labs-asp/pull/4) - Custom-built UI implementation From 58474fe5dfe371acd4b3a731fbf0360cb7acaff1 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Fri, 29 Aug 2025 08:11:41 -0700 Subject: [PATCH 05/31] feat: integrate Mastra web automation agent in chat client --- .gitmodules | 1 + client | 2 +- package.json | 5 +- pnpm-lock.yaml | 102 ++++++++++++++++++---- src/mastra/agents/web-automation-agent.ts | 18 +++- src/mastra/storage-artifacts.ts | 13 +-- 6 files changed, 116 insertions(+), 25 deletions(-) diff --git a/.gitmodules b/.gitmodules index 008ac1b..a72e65c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "client"] path = client url = https://github.com/navapbc/ai-chatbot.git + branch = labs-asp diff --git a/client b/client index 421ddfc..35d3288 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 421ddfcea7fbaa9d4c8f73186c0e1b38b00d0482 +Subproject commit 35d3288cf2fc0264cbdf49e4ae7602cb92fbdcb2 diff --git a/package.json b/package.json index 24f2f49..de57176 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,8 @@ "dependencies": { "@ai-sdk/anthropic": "^1.2.12", "@ai-sdk/google": "^1.2.22", + "@ai-sdk/google-vertex": "^3.0.16", "@ai-sdk/openai": "^1.3.23", - "@ai-sdk/google-vertex": "^2.2.27", "@inquirer/prompts": "^7.7.1", "@mastra/core": "^0.14.1", "@mastra/evals": "^0.12.1", @@ -38,8 +38,8 @@ "@mastra/mcp": "^0.10.12", "@mastra/memory": "^0.13.1", "@mastra/pg": "^0.14.2", - "@types/jsonwebtoken": "^9.0.10", + "ai": "^5.0.27", "csv-parse": "^6.1.0", "dotenv": "^17.2.1", "exa-mcp-server": "^2.0.3", @@ -47,7 +47,6 @@ "jsonwebtoken": "^9.0.2", "pg": "^8.16.3", "pino-pretty": "^13.0.0", - "tsx": "^4.20.3", "zod": "^3.25.76" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ba93f8..471f169 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^1.2.22 version: 1.2.22(zod@3.25.76) '@ai-sdk/google-vertex': - specifier: ^2.2.27 - version: 2.2.27(zod@3.25.76) + specifier: ^3.0.16 + version: 3.0.16(zod@3.25.76) '@ai-sdk/openai': specifier: ^1.3.23 version: 1.3.24(zod@3.25.76) @@ -28,7 +28,7 @@ importers: version: 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/evals': specifier: ^0.12.1 - version: 0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@4.3.19(react@19.1.1)(zod@3.25.76)) + version: 0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) '@mastra/libsql': specifier: ^0.13.4 version: 0.13.4(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) @@ -47,6 +47,9 @@ importers: '@types/jsonwebtoken': specifier: ^9.0.10 version: 9.0.10 + ai: + specifier: ^5.0.27 + version: 5.0.27(zod@3.25.76) csv-parse: specifier: ^6.1.0 version: 6.1.0 @@ -100,17 +103,29 @@ packages: peerDependencies: zod: ^3.0.0 + '@ai-sdk/anthropic@2.0.9': + resolution: {integrity: sha512-1kQgL2A3PeqfEcHHmqy4NxRc8rbgLS71bHBuvDFfDz3VAAyndkilPMCLNDSP2mJVGAej2EMWJ1sShRAxzn70jA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + + '@ai-sdk/gateway@1.0.15': + resolution: {integrity: sha512-xySXoQ29+KbGuGfmDnABx+O6vc7Gj7qugmj1kGpn0rW0rQNn6UKUuvscKMzWyv1Uv05GyC1vqHq8ZhEOLfXscQ==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/gateway@1.0.7': resolution: {integrity: sha512-Athrq7OARuNc0iHZJP6InhSQ53tImCc990vMWyR1UHaZgPZJbXjKhIMiOj54F0I0Nlemx48V4fHYUTfLkJotnQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/google-vertex@2.2.27': - resolution: {integrity: sha512-iDGX/2yrU4OOL1p/ENpfl3MWxuqp9/bE22Z8Ip4DtLCUx6ismUNtrKO357igM1/3jrM6t9C6egCPniHqBsHOJA==} + '@ai-sdk/google-vertex@3.0.16': + resolution: {integrity: sha512-tStlnOCRGRqKKJSCOtXhijX4r9kYVK2v+Vs7miJnfvr3sZfO8nRS0xnNhfgu17xuNi5LMMufeCYURTz4lKxzUQ==} engines: {node: '>=18'} peerDependencies: - zod: ^3.0.0 + zod: ^3.25.76 || ^4 '@ai-sdk/google@1.2.22': resolution: {integrity: sha512-Ppxu3DIieF1G9pyQ5O1Z646GYR0gkC57YdBqXJ82qvCdhEhZHu0TWhmnOoeIWe2olSbuDeoOY+MfJrW8dzS3Hw==} @@ -118,6 +133,12 @@ packages: peerDependencies: zod: ^3.0.0 + '@ai-sdk/google@2.0.11': + resolution: {integrity: sha512-dnVIgSz1DZD/0gVau6ifYN3HZFN15HZwC9VjevTFfvrfSfbEvpXj5x/k/zk/0XuQrlQ5g8JiwJtxc9bx24x2xw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/openai@1.3.24': resolution: {integrity: sha512-GYXnGJTHRTZc4gJMSmFRgEQudjqd4PUN0ZjQhPwOAYH1yOAvQoG/Ikqs+HyISRbLPCrhbZnPKCNHuRU4OfpW0Q==} engines: {node: '>=18'} @@ -136,6 +157,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 + '@ai-sdk/provider-utils@3.0.7': + resolution: {integrity: sha512-o3BS5/t8KnBL3ubP8k3w77AByOypLm+pkIL/DCw0qKkhDbvhCy+L3hRTGPikpdb8WHcylAeKsjgwOxhj4cqTUA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/provider@1.1.3': resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==} engines: {node: '>=18'} @@ -1653,6 +1680,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 + ai@5.0.27: + resolution: {integrity: sha512-V7I9Rvrap5+3ozAjOrETA5Mv9Z1LmQobyY13U88IkFRahFp0xrEwjvYTwjQa4q5lPgLxwKgbIZRLnZSbUQwnUg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -2046,6 +2079,10 @@ packages: resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} engines: {node: '>=20.0.0'} + eventsource-parser@3.0.5: + resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} + engines: {node: '>=20.0.0'} + eventsource@3.0.7: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} @@ -3461,18 +3498,30 @@ snapshots: '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) zod: 3.25.76 + '@ai-sdk/anthropic@2.0.9(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + zod: 3.25.76 + + '@ai-sdk/gateway@1.0.15(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + zod: 3.25.76 + '@ai-sdk/gateway@1.0.7(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.3(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/google-vertex@2.2.27(zod@3.25.76)': + '@ai-sdk/google-vertex@3.0.16(zod@3.25.76)': dependencies: - '@ai-sdk/anthropic': 1.2.12(zod@3.25.76) - '@ai-sdk/google': 1.2.22(zod@3.25.76) - '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + '@ai-sdk/anthropic': 2.0.9(zod@3.25.76) + '@ai-sdk/google': 2.0.11(zod@3.25.76) + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) google-auth-library: 9.15.1 zod: 3.25.76 transitivePeerDependencies: @@ -3485,6 +3534,12 @@ snapshots: '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) zod: 3.25.76 + '@ai-sdk/google@2.0.11(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + zod: 3.25.76 + '@ai-sdk/openai@1.3.24(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 @@ -3502,10 +3557,17 @@ snapshots: dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.3 + eventsource-parser: 3.0.5 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) + '@ai-sdk/provider-utils@3.0.7(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@standard-schema/spec': 1.0.0 + eventsource-parser: 3.0.5 + zod: 3.25.76 + '@ai-sdk/provider@1.1.3': dependencies: json-schema: 0.4.0 @@ -4161,10 +4223,10 @@ snapshots: - supports-color - typescript - '@mastra/evals@0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@4.3.19(react@19.1.1)(zod@3.25.76))': + '@mastra/evals@0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': dependencies: '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - ai: 4.3.19(react@19.1.1)(zod@3.25.76) + ai: 5.0.27(zod@3.25.76) compromise: 14.14.4 difflib: 0.2.4 fs-extra: 11.3.1 @@ -5333,6 +5395,14 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 + ai@5.0.27(zod@3.25.76): + dependencies: + '@ai-sdk/gateway': 1.0.15(zod@3.25.76) + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@opentelemetry/api': 1.9.0 + zod: 3.25.76 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -5690,9 +5760,11 @@ snapshots: eventsource-parser@3.0.3: {} + eventsource-parser@3.0.5: {} + eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.3 + eventsource-parser: 3.0.5 exa-mcp-server@2.0.3: dependencies: diff --git a/src/mastra/agents/web-automation-agent.ts b/src/mastra/agents/web-automation-agent.ts index 30fd5df..0d6d991 100644 --- a/src/mastra/agents/web-automation-agent.ts +++ b/src/mastra/agents/web-automation-agent.ts @@ -3,12 +3,12 @@ import { pgVector, postgresStore } from '../storage'; import { Agent } from '@mastra/core/agent'; import { Memory } from '@mastra/memory'; -import { anthropic } from '@ai-sdk/anthropic'; import { createLanguagePreferenceScorer } from "../scorers/languagePreference"; import { databaseTools } from '../tools/database-tools'; import { google } from '@ai-sdk/google'; import { openai } from '@ai-sdk/openai'; import { vertexAnthropic } from '@ai-sdk/google-vertex/anthropic'; +import { stepCountIs } from 'ai'; const storage = postgresStore; @@ -189,4 +189,20 @@ export const webAutomationAgent = new Agent({ }, }, }, + defaultVNextStreamOptions: { + stopWhen: stepCountIs(50), + modelSettings: { + temperature: 0.1, + }, + telemetry: { + isEnabled: true, + functionId: 'webAutomationAgent.streamVNext', + recordInputs: true, + recordOutputs: true, + metadata: { + agentId: 'webAutomationAgent', + agentName: 'Web Automation Agent', + }, + }, + }, }); \ No newline at end of file diff --git a/src/mastra/storage-artifacts.ts b/src/mastra/storage-artifacts.ts index d3c9ce9..93c1f6b 100644 --- a/src/mastra/storage-artifacts.ts +++ b/src/mastra/storage-artifacts.ts @@ -16,11 +16,11 @@ export class ArtifactStorage { mime_type TEXT NOT NULL, size INTEGER NOT NULL, content BYTEA NOT NULL, - metadata JSONB DEFAULT '{}', + metadata JSONB NOT NULL DEFAULT '{}', trace_id TEXT, thread_id TEXT, - created_at TIMESTAMPTZ DEFAULT NOW(), - updated_at TIMESTAMPTZ DEFAULT NOW() + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_mastra_artifacts_session_id ON mastra_artifacts(session_id); @@ -34,10 +34,11 @@ export class ArtifactStorage { async storeArtifact(artifact: Omit): Promise { const id = randomUUID(); + const now = new Date().toISOString(); const insertQuery = ` INSERT INTO mastra_artifacts ( - id, session_id, file_name, file_type, mime_type, size, content, metadata, trace_id, thread_id - ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) + id, session_id, file_name, file_type, mime_type, size, content, metadata, trace_id, thread_id, created_at, updated_at + ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) RETURNING id `; @@ -52,6 +53,8 @@ export class ArtifactStorage { artifact.metadata, artifact.traceId, artifact.threadId, + now, + now, ]); return result.rows[0].id; From 669f39d4a859994643a5175da34f278676dd416c Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Sat, 30 Aug 2025 09:39:00 -0700 Subject: [PATCH 06/31] feat: add browser WebSocket streaming service with CDP integration --- package.json | 3 + pnpm-lock.yaml | 78 +++++++++ src/mastra/browser-streaming.ts | 293 ++++++++++++++++++++++++++++++++ src/mastra/mcp.ts | 56 +++--- 4 files changed, 411 insertions(+), 19 deletions(-) create mode 100644 src/mastra/browser-streaming.ts diff --git a/package.json b/package.json index de57176..c62e939 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,9 @@ "@mastra/memory": "^0.13.1", "@mastra/pg": "^0.14.2", "@types/jsonwebtoken": "^9.0.10", + "@types/ws": "^8.18.1", "ai": "^5.0.27", + "chrome-remote-interface": "^0.33.3", "csv-parse": "^6.1.0", "dotenv": "^17.2.1", "exa-mcp-server": "^2.0.3", @@ -48,6 +50,7 @@ "pg": "^8.16.3", "pino-pretty": "^13.0.0", "tsx": "^4.20.3", + "ws": "^8.18.3", "zod": "^3.25.76" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 471f169..b218e3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,9 +47,15 @@ importers: '@types/jsonwebtoken': specifier: ^9.0.10 version: 9.0.10 + '@types/ws': + specifier: ^8.18.1 + version: 8.18.1 ai: specifier: ^5.0.27 version: 5.0.27(zod@3.25.76) + chrome-remote-interface: + specifier: ^0.33.3 + version: 0.33.3 csv-parse: specifier: ^6.1.0 version: 6.1.0 @@ -74,10 +80,16 @@ importers: tsx: specifier: ^4.20.3 version: 4.20.4 + ws: + specifier: ^8.18.3 + version: 8.18.3 zod: specifier: ^3.25.76 version: 3.25.76 devDependencies: + '@playwright/test': + specifier: ^1.46.0 + version: 1.55.0 '@types/node': specifier: ^24.1.0 version: 24.2.1 @@ -1276,6 +1288,11 @@ packages: resolution: {integrity: sha512-9+qMSaDpahC0+vX2ChM46/ls6a5Ankqs6RTLrHSaFpm7o1mFanP82e+jm9/0o5D660ueK8dWJGPCXQrBxBNNWA==} engines: {node: '>= 12'} + '@playwright/test@1.55.0': + resolution: {integrity: sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==} + engines: {node: '>=18'} + hasBin: true + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -1794,6 +1811,10 @@ packages: chardet@2.1.0: resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} + chrome-remote-interface@0.33.3: + resolution: {integrity: sha512-zNnn0prUL86Teru6UCAZ1yU1XeXljHl3gj7OrfPcarEfU62OUU4IujDPdTDW3dAWwRqN3ZMG/Chhkh2gPL/wiw==} + hasBin: true + cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} @@ -1838,6 +1859,9 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} + commander@2.11.0: + resolution: {integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -2219,6 +2243,11 @@ packages: resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2911,6 +2940,16 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + playwright-core@1.55.0: + resolution: {integrity: sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.55.0: + resolution: {integrity: sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==} + engines: {node: '>=18'} + hasBin: true + postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -3407,6 +3446,18 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.3: resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} @@ -5026,6 +5077,10 @@ snapshots: estree-walker: 2.0.2 magic-string: 0.30.17 + '@playwright/test@1.55.0': + dependencies: + playwright: 1.55.0 + '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -5528,6 +5583,14 @@ snapshots: chardet@2.1.0: {} + chrome-remote-interface@0.33.3: + dependencies: + commander: 2.11.0 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + cjs-module-lexer@1.4.3: {} cli-width@4.1.0: {} @@ -5560,6 +5623,8 @@ snapshots: commander@12.1.0: {} + commander@2.11.0: {} + commondir@1.0.1: {} compromise@14.14.4: @@ -5971,6 +6036,9 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 + fsevents@2.3.2: + optional: true + fsevents@2.3.3: optional: true @@ -6684,6 +6752,14 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 + playwright-core@1.55.0: {} + + playwright@1.55.0: + dependencies: + playwright-core: 1.55.0 + optionalDependencies: + fsevents: 2.3.2 + postgres-array@2.0.0: {} postgres-bytea@1.0.0: {} @@ -7227,6 +7303,8 @@ snapshots: wrappy@1.0.2: {} + ws@7.5.10: {} + ws@8.18.3: {} wsl-utils@0.1.0: diff --git a/src/mastra/browser-streaming.ts b/src/mastra/browser-streaming.ts new file mode 100644 index 0000000..a47b9b5 --- /dev/null +++ b/src/mastra/browser-streaming.ts @@ -0,0 +1,293 @@ +import { WebSocketServer, WebSocket } from 'ws'; +import { EventEmitter } from 'events'; + +interface BrowserFrame { + type: 'frame'; + data: string; // Base64 encoded image + timestamp: number; + sessionId: string; +} + +interface BrowserStreamingMessage { + type: 'offer' | 'answer' | 'ice-candidate' | 'start-streaming' | 'stop-streaming'; + data?: any; + sessionId?: string; +} + +export class BrowserStreamingService extends EventEmitter { + private wss: WebSocketServer; + private port: number; + private activeSessions = new Map(); + private cdpPort: number; + + constructor(port: number, cdpPort: number = 9222) { + super(); + this.port = port; + this.cdpPort = cdpPort; // Chrome DevTools Protocol port (fallback) + this.wss = new WebSocketServer({ port }); + } + + + + async start() { + this.wss.on('connection', (ws: WebSocket, request: any) => { + console.log('Browser streaming client connected'); + + ws.on('message', async (message) => { + try { + const data: BrowserStreamingMessage = JSON.parse(message.toString()); + await this.handleMessage(ws, data); + } catch (error) { + console.error('Error handling browser streaming message:', error); + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + ws.send(JSON.stringify({ type: 'error', error: errorMessage })); + } + }); + + ws.on('close', () => { + console.log('Browser streaming client disconnected'); + // Clean up any active sessions for this client + for (const [sessionId, session] of this.activeSessions) { + if (session.ws === ws) { + this.stopBrowserCapture(sessionId); + this.activeSessions.delete(sessionId); + } + } + }); + + ws.on('error', (error: any) => { + console.error('Browser streaming WebSocket error:', error); + }); + }); + + console.log(`Browser streaming service started on port ${this.port}`); + } + + async stop() { + // Stop all active sessions + for (const sessionId of this.activeSessions.keys()) { + await this.stopBrowserCapture(sessionId); + } + this.activeSessions.clear(); + + // Close WebSocket server + this.wss.close(); + console.log('Browser streaming service stopped'); + } + + private async handleMessage(ws: WebSocket, message: BrowserStreamingMessage) { + switch (message.type) { + case 'start-streaming': + await this.startBrowserCapture(ws, message.sessionId || 'default'); + break; + + case 'stop-streaming': + await this.stopBrowserCapture(message.sessionId || 'default'); + break; + + case 'offer': + case 'answer': + case 'ice-candidate': + // Handle WebRTC signaling (for future WebRTC implementation) + await this.handleWebRTCSignaling(ws, message); + break; + + default: + console.warn('Unknown message type:', message.type); + } + } + + private async startBrowserCapture(ws: WebSocket, sessionId: string) { + try { + // Connect to the Playwright MCP server's CDP endpoint with retry logic + let cdpEndpoint = null; + let retries = 0; + const maxRetries = 10; + + while (!cdpEndpoint && retries < maxRetries) { + cdpEndpoint = await this.getCDPEndpoint(); + if (!cdpEndpoint) { + console.log(`Attempt ${retries + 1}/${maxRetries}: Waiting for Playwright browser to be available...`); + await new Promise(resolve => setTimeout(resolve, 2000)); + retries++; + } + } + + if (!cdpEndpoint) { + throw new Error('Could not get CDP endpoint from Playwright MCP server after multiple attempts'); + } + + // Connect to CDP and start screencast + const CDP = require('chrome-remote-interface'); + const client = await CDP({ target: cdpEndpoint }); + + const { Page, Runtime } = client; + + await Page.enable(); + await Runtime.enable(); + + // Start screencast + await Page.startScreencast({ + format: 'jpeg', + quality: 80, + maxWidth: 1920, + maxHeight: 1080, + everyNthFrame: 1 // Capture every frame for smooth streaming + }); + + // Handle screencast frames + Page.screencastFrame((params: any) => { + const frame: BrowserFrame = { + type: 'frame', + data: params.data, // Base64 encoded JPEG + timestamp: Date.now(), + sessionId + }; + + // Send frame to WebSocket client + if (ws.readyState === WebSocket.OPEN) { + ws.send(JSON.stringify(frame)); + } + + // Acknowledge the frame + Page.screencastFrameAck({ sessionId: params.sessionId }); + }); + + // Store session info + this.activeSessions.set(sessionId, { + ws, + client, + cdpEndpoint + }); + + // Notify client that streaming started + ws.send(JSON.stringify({ + type: 'streaming-started', + sessionId, + cdpEndpoint + })); + + console.log(`Browser capture started for session: ${sessionId}`); + + } catch (error) { + console.error('Error starting browser capture:', error); + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + ws.send(JSON.stringify({ + type: 'error', + error: `Failed to start browser capture: ${errorMessage}` + })); + } + } + + private async stopBrowserCapture(sessionId: string) { + const session = this.activeSessions.get(sessionId); + if (!session) { + console.warn(`No active session found for: ${sessionId}`); + return; + } + + try { + // Stop screencast + await session.client.Page.stopScreencast(); + + // Close CDP connection + await session.client.close(); + + // Remove from active sessions + this.activeSessions.delete(sessionId); + + // Notify client that streaming stopped + if (session.ws.readyState === WebSocket.OPEN) { + session.ws.send(JSON.stringify({ + type: 'streaming-stopped', + sessionId + })); + } + + console.log(`Browser capture stopped for session: ${sessionId}`); + + } catch (error) { + console.error('Error stopping browser capture:', error); + } + } + + private async findChromePort(): Promise { + try { + // Use ps to find Playwright Chromium process with remote-debugging-port + const { execSync } = require('child_process'); + const output = execSync('ps aux | grep "ms-playwright" | grep "remote-debugging-port"', { encoding: 'utf8' }); + + console.log('Playwright process search output:', output); + + // Extract the port from the --remote-debugging-port argument + const match = output.match(/--remote-debugging-port[=\s]+(\d+)/); + if (match) { + const port = parseInt(match[1]); + console.log(`Found Playwright Chrome CDP port: ${port}`); + return port; + } + + return null; + } catch (error) { + console.log('Could not detect Playwright Chrome port:', (error as Error).message); + return null; + } + } + + private async getCDPEndpoint(): Promise { + try { + // First try to find the actual Chrome port used by Playwright MCP + const detectedPort = await this.findChromePort(); + + if (!detectedPort) { + console.log('No Playwright Chrome process detected yet'); + return null; + } + + const portToTry = detectedPort; + console.log(`Attempting to connect to Chrome CDP on port ${portToTry}`); + + // Connect directly to Chrome's CDP port + const CDP = require('chrome-remote-interface'); + + // Wait for Chrome to be ready + await new Promise(resolve => setTimeout(resolve, 1000)); + + const targets = await CDP.List({ port: portToTry }); + console.log('Available CDP targets:', targets.map((t: any) => ({ type: t.type, url: t.url, title: t.title }))); + + // Find the first page target + const pageTarget = targets.find((target: any) => target.type === 'page'); + + if (pageTarget) { + console.log('Found page target:', pageTarget.webSocketDebuggerUrl); + this.cdpPort = portToTry; // Update our port reference + return pageTarget.webSocketDebuggerUrl; + } + + console.warn('No page target found, available targets:', targets.map((t: any) => t.type)); + return null; + + } catch (error) { + console.log('Error connecting to CDP (this is normal if browser not ready yet):', (error as Error).message); + return null; + } + } + + private async handleWebRTCSignaling(ws: WebSocket, message: BrowserStreamingMessage) { + // TODO: Implement WebRTC signaling for even lower latency + // This would replace the CDP screencast approach with true WebRTC streaming + console.log('WebRTC signaling not yet implemented:', message.type); + } +} + +export function createBrowserStreamingService(port: number, cdpPort?: number): BrowserStreamingService { + const streamingPort = port || parseInt(process.env.BROWSER_STREAMING_PORT || '8933'); + const chromePort = cdpPort || parseInt(process.env.CHROME_CDP_PORT || '9222'); + + return new BrowserStreamingService(streamingPort, chromePort); +} \ No newline at end of file diff --git a/src/mastra/mcp.ts b/src/mastra/mcp.ts index 56bcd7b..925ce3a 100644 --- a/src/mastra/mcp.ts +++ b/src/mastra/mcp.ts @@ -1,6 +1,7 @@ import 'dotenv/config'; import { MCPClient } from "@mastra/mcp"; import { startArtifactWatcher } from './artifact-watcher'; +import { createBrowserStreamingService } from './browser-streaming'; import path from 'path'; // Create a unique session-based output directory @@ -16,30 +17,23 @@ const createOutputDir = () => { const { outputDir } = createOutputDir(); -const buildPlaywrightArgs = () => { - - const args = [ - "@playwright/mcp@latest", - "--isolated", - "--browser=chromium", - "--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", - "--viewport-size=1920,1080", - "--no-sandbox", - `--output-dir=${outputDir}`, - "--save-session", - "--save-trace" - ]; - - return args; -}; - +// Use stdio transport for Playwright MCP (recommended approach) export const playwrightMCP = new MCPClient({ servers: { playwright: { command: "npx", - args: buildPlaywrightArgs(), + args: [ + "@playwright/mcp@latest", + "--browser=chromium", + "--headless", + "--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", + "--viewport-size=1920,1080", + `--output-dir=${outputDir}`, + "--save-trace" + // Note: Removed --save-session for clean browser state on each run + // Add back --save-session if you want to persist browser state between conversations + ], env: { - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" } }, }, @@ -56,3 +50,27 @@ export const exaMCP = new MCPClient({ }, }, }); + +// Start browser streaming service (connects to Chrome CDP directly) +const browserStreamingService = createBrowserStreamingService( + parseInt(process.env.BROWSER_STREAMING_PORT || '8933') +); + +// Initialize browser streaming +browserStreamingService.start().catch((error) => { + console.error('Failed to start browser streaming service:', error); +}); + +// Clean up on exit +process.on('exit', () => { + browserStreamingService.stop(); +}); + +process.on('SIGINT', () => { + browserStreamingService.stop().then(() => { + process.exit(0); + }); +}); + +// Export browser streaming service for use in client +export { browserStreamingService }; From 9a4a10677e41b7c13f5287e4f207228f188cb472 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Sat, 30 Aug 2025 09:47:03 -0700 Subject: [PATCH 07/31] fix: update lockfile --- pnpm-lock.yaml | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b218e3b..cb58d8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,9 +87,6 @@ importers: specifier: ^3.25.76 version: 3.25.76 devDependencies: - '@playwright/test': - specifier: ^1.46.0 - version: 1.55.0 '@types/node': specifier: ^24.1.0 version: 24.2.1 @@ -1288,11 +1285,6 @@ packages: resolution: {integrity: sha512-9+qMSaDpahC0+vX2ChM46/ls6a5Ankqs6RTLrHSaFpm7o1mFanP82e+jm9/0o5D660ueK8dWJGPCXQrBxBNNWA==} engines: {node: '>= 12'} - '@playwright/test@1.55.0': - resolution: {integrity: sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==} - engines: {node: '>=18'} - hasBin: true - '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -2243,11 +2235,6 @@ packages: resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2940,16 +2927,6 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - playwright-core@1.55.0: - resolution: {integrity: sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==} - engines: {node: '>=18'} - hasBin: true - - playwright@1.55.0: - resolution: {integrity: sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==} - engines: {node: '>=18'} - hasBin: true - postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -5077,10 +5054,6 @@ snapshots: estree-walker: 2.0.2 magic-string: 0.30.17 - '@playwright/test@1.55.0': - dependencies: - playwright: 1.55.0 - '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -6036,9 +6009,6 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fsevents@2.3.2: - optional: true - fsevents@2.3.3: optional: true @@ -6752,14 +6722,6 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - playwright-core@1.55.0: {} - - playwright@1.55.0: - dependencies: - playwright-core: 1.55.0 - optionalDependencies: - fsevents: 2.3.2 - postgres-array@2.0.0: {} postgres-bytea@1.0.0: {} From 874e36abd04814e6e5763f4601ed2947b05ceef7 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Sat, 30 Aug 2025 10:28:46 -0700 Subject: [PATCH 08/31] feat: update client submodule with browser display panel --- client | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client b/client index 35d3288..7f74f83 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 35d3288cf2fc0264cbdf49e4ae7602cb92fbdcb2 +Subproject commit 7f74f83683f99055a79ecae487455ded835abb24 From 830708e0232fe579d04f0536ac3ed254a94ae785 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Sat, 30 Aug 2025 11:13:39 -0700 Subject: [PATCH 09/31] docs: add horizontal sequence diagram and docs on browser streaming arch --- docs/BROWSER_STREAMING_ARCHITECTURE.md | 143 +++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 docs/BROWSER_STREAMING_ARCHITECTURE.md diff --git a/docs/BROWSER_STREAMING_ARCHITECTURE.md b/docs/BROWSER_STREAMING_ARCHITECTURE.md new file mode 100644 index 0000000..66c587b --- /dev/null +++ b/docs/BROWSER_STREAMING_ARCHITECTURE.md @@ -0,0 +1,143 @@ +# Browser Streaming Architecture + +## Overview + +The browser streaming system provides real-time visualization of web automation tasks by streaming browser screenshots from the Mastra agent to the chat client via WebSocket. + +## Architecture Flow + +``` +Chat Client Agent Server Browser Automation + | | | + |-- 1. User sends message ------>| | + | (with automation request) | | + | |--- 2. Start automation --------->| + | | (Playwright MCP tools) | + | | | + |-- 3. Tool detection ---------->| | + | triggers browser panel |<-- 4. Chrome CDP start ----------| + | | (auto-detect process) | + | | | + |-- 5. GET /api/browser-stream ->| | + | ?sessionId=chat_id | | + | | | + |<- 6. WebSocket URL ------------| | + | ws://localhost:8933 | | + | | | + |-- 7. WebSocket connect ------->| | + | to streaming service | | + | | | + |-- 8. start-streaming --------->| | + | {type: "start-streaming"} |--- 9. Page.startScreencast ----->| + | | (CDP command) | + | | | + |<- 10. streaming-started -------|<-- 11. screencast ready ---------| + | | | + |<- 12. frame data --------------|<-- continuous frames ------------| + | {type: "frame", | (base64 JPEG) | + | data: "base64_jpeg"} | | + | | | + |-- 13. Canvas render ---------->| | + | (HTML5 canvas display) | | + | | | + |<- 14. frame data --------------|<-- continuous frames ------------| + | (real-time streaming) | (1 FPS) | + | | | + |-- 15. stop-streaming --------->| | + | (user closes panel) |--- 16. Page.stopScreencast ----->| + | | | + |<- 17. streaming-stopped -------|<-- 18. cleanup complete ---------| + | | | + |-- 19. WebSocket close -------->| | +``` + +## Components + +### Server Side (Agent Repo) + +**Browser Streaming Service** (`src/mastra/browser-streaming.ts`) +- WebSocket server on port 8933 +- Connects to Playwright's Chrome via DevTools Protocol (CDP) +- Captures screenshots using `Page.startScreencast()` +- Streams base64 JPEG frames to connected clients +- Auto-detects Chrome process and CDP port dynamically + +**MCP Integration** (`src/mastra/mcp.ts`) +- Initializes browser streaming service alongside Playwright MCP +- Handles service lifecycle and cleanup + +**Web Automation Agent** (`src/mastra/agents/web-automation-agent.ts`) +- Uses Playwright tools for browser automation +- Configured with 50-step limit via `stepCountIs(50)` +- Integrates with memory and database tools + +### Client Side (Client Repo) + +**Browser Panel** (`client/components/browser-panel.tsx`) +- React component with HTML5 canvas for displaying browser frames +- WebSocket client that connects to streaming service +- Auto-connects when panel becomes visible +- Connection management with error handling + +**API Route** (`client/app/api/browser-stream/route.ts`) +- Next.js API endpoint providing WebSocket connection info +- Returns streaming service URL and session details +- Configurable via `BROWSER_STREAMING_PORT` and `BROWSER_STREAMING_HOST` + +**Chat Integration** (`client/components/chat.tsx`) +- Detects browser tool usage in message parts +- Auto-shows browser panel when Playwright tools are used +- Split-screen layout: chat on left, browser view on right + +**Message Display** (`client/components/message.tsx`) +- Tool name mapping for user-friendly descriptions +- Collapsible sections showing tool inputs/outputs +- Handles both `playwright_browser` and `mcp_playwright_browser` tools + +## Data Flow + +1. **Tool Detection**: Chat interface monitors messages for browser tool calls +2. **Panel Activation**: Browser panel automatically appears when tools detected +3. **WebSocket Setup**: Panel fetches connection info from API route +4. **CDP Connection**: Streaming service connects to Playwright's Chrome +5. **Frame Capture**: Chrome CDP streams screenshots via `startScreencast()` +6. **WebSocket Streaming**: Frames sent as base64 JPEG to connected clients +7. **Canvas Rendering**: Browser panel displays frames on HTML5 canvas + +## Configuration + +### Environment Variables + +**Agent Repo:** +- `BROWSER_STREAMING_PORT` - WebSocket server port (default: 8933) + +**Client Repo:** +- `BROWSER_STREAMING_HOST` - Streaming service host (default: localhost) +- `BROWSER_STREAMING_PORT` - Streaming service port (default: 8933) + +### Session Management + +- Each chat session gets unique browser streaming session ID +- Multiple concurrent sessions supported +- Automatic cleanup on client disconnect +- Connection retry logic with error handling + +## Development Setup + +```bash +# Clone with submodules +git clone --recurse-submodules https://github.com/navapbc/labs-asp.git +cd labs-asp +git checkout feat/add-browser-websocket + +# Agent repo - start streaming service +pnpm install +pnpm dev + +# Client repo - start chat interface +cd client +pnpm install +pnpm dev +``` + +The browser panel will automatically appear during web automation tasks and stream live browser content in real-time. From 353566eb27ee33a6f06a8a6c5366f71e82123380 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 2 Sep 2025 07:31:57 -0700 Subject: [PATCH 10/31] feat: add CDP control for user override --- src/mastra/agents/web-automation-agent.ts | 7 +- src/mastra/browser-streaming.ts | 115 +++++++++++++++++++++- 2 files changed, 118 insertions(+), 4 deletions(-) diff --git a/src/mastra/agents/web-automation-agent.ts b/src/mastra/agents/web-automation-agent.ts index 0d6d991..b26df4c 100644 --- a/src/mastra/agents/web-automation-agent.ts +++ b/src/mastra/agents/web-automation-agent.ts @@ -5,6 +5,7 @@ import { Agent } from '@mastra/core/agent'; import { Memory } from '@mastra/memory'; import { createLanguagePreferenceScorer } from "../scorers/languagePreference"; import { databaseTools } from '../tools/database-tools'; + import { google } from '@ai-sdk/google'; import { openai } from '@ai-sdk/openai'; import { vertexAnthropic } from '@ai-sdk/google-vertex/anthropic'; @@ -50,7 +51,7 @@ export const webAutomationAgent = new Agent({ **Core Approach:** 1. AUTONOMOUS: Take decisive action without asking for permission - 2. RESEARCH-FIRST: For unknown services/programs, research first then proceed directly to automation + 2. BROWSER-FIRST: When asked to do web automation, create a browser artifact at the start of web automation tasks using the createBrowserArtifact tool 3. DATA-DRIVEN: When user data is available, use it immediately to populate forms 4. GOAL-ORIENTED: Always work towards completing the stated objective @@ -68,6 +69,10 @@ export const webAutomationAgent = new Agent({ - Fill all available fields with the participant data - Proceed through the application process autonomously + **Browser Artifact Protocol:** + When starting web automation tasks, the system will automatically provide a browser artifact for live streaming. + The browser artifact provides a persistent workspace where users can see the automation in real-time. + **Web Search Protocol:** When given tasks like "apply for MISP in Riverside County", use the following steps: 1. Web search for the service to understand the process and find the correct website diff --git a/src/mastra/browser-streaming.ts b/src/mastra/browser-streaming.ts index a47b9b5..1c0eeac 100644 --- a/src/mastra/browser-streaming.ts +++ b/src/mastra/browser-streaming.ts @@ -9,7 +9,7 @@ interface BrowserFrame { } interface BrowserStreamingMessage { - type: 'offer' | 'answer' | 'ice-candidate' | 'start-streaming' | 'stop-streaming'; + type: 'offer' | 'answer' | 'ice-candidate' | 'start-streaming' | 'stop-streaming' | 'control-mode' | 'user-input'; data?: any; sessionId?: string; } @@ -21,6 +21,7 @@ export class BrowserStreamingService extends EventEmitter { ws: WebSocket; client: any; // CDP client cdpEndpoint: string; + controlMode: 'agent' | 'user'; }>(); private cdpPort: number; @@ -89,6 +90,14 @@ export class BrowserStreamingService extends EventEmitter { await this.stopBrowserCapture(message.sessionId || 'default'); break; + case 'control-mode': + await this.handleChangeControlMode(ws, message.sessionId || 'default', message.data?.mode); + break; + + case 'user-input': + await this.handleUserInput(ws, message.sessionId || 'default', message.data); + break; + case 'offer': case 'answer': case 'ice-candidate': @@ -161,7 +170,8 @@ export class BrowserStreamingService extends EventEmitter { this.activeSessions.set(sessionId, { ws, client, - cdpEndpoint + cdpEndpoint, + controlMode: 'agent', // Default to agent control }); // Notify client that streaming started @@ -215,6 +225,105 @@ export class BrowserStreamingService extends EventEmitter { } } + private async handleChangeControlMode(ws: WebSocket, sessionId: string, newMode: 'agent' | 'user') { + const session = this.activeSessions.get(sessionId); + if (!session) { + console.warn(`No active session found for control mode change: ${sessionId}`); + return; + } + + if (newMode === 'agent' || newMode === 'user') { + session.controlMode = newMode; + console.log(`Control mode for session ${sessionId} changed to: ${newMode}`); + + // Notify the client of the change + if (ws.readyState === WebSocket.OPEN) { + ws.send(JSON.stringify({ + type: 'control-mode-changed', + sessionId, + data: { mode: newMode } + })); + } + } else { + console.warn(`Invalid control mode received: ${newMode}`); + } + } + + private async handleUserInput(ws: WebSocket, sessionId: string, inputData: any) { + const session = this.activeSessions.get(sessionId); + if (!session || session.controlMode !== 'user') { + // Ignore user input if not in user control mode + return; + } + + try { + const { Input } = session.client; + + switch (inputData.type) { + case 'click': + console.log('Dispatching mouse event (click):', { x: inputData.x, y: inputData.y, button: inputData.button }); + // Move to the click position first to ensure hover/focus events are triggered + await Input.dispatchMouseEvent({ + type: 'mouseMoved', + x: inputData.x, + y: inputData.y, + }); + + await Input.dispatchMouseEvent({ + type: 'mousePressed', + x: inputData.x, + y: inputData.y, + button: inputData.button, + clickCount: 1, + }); + await Input.dispatchMouseEvent({ + type: 'mouseReleased', + x: inputData.x, + y: inputData.y, + button: inputData.button, + clickCount: 1, + }); + break; + + case 'mousemove': + await Input.dispatchMouseEvent({ + type: 'mouseMoved', + x: inputData.x, + y: inputData.y, + }); + break; + + case 'keydown': + case 'keyup': + await Input.dispatchKeyEvent({ + type: inputData.type === 'keydown' ? 'keyDown' : 'keyUp', + key: inputData.key, + code: inputData.code, + text: inputData.text, + }); + break; + + case 'scroll': + await Input.dispatchMouseEvent({ + type: 'mouseWheel', + x: inputData.x, + y: inputData.y, + deltaX: inputData.deltaX, + deltaY: inputData.deltaY, + }); + break; + + default: + console.warn('Unknown user input type:', inputData.type); + } + } catch (error) { + console.error('Error handling user input:', error); + if (ws.readyState === WebSocket.OPEN) { + ws.send(JSON.stringify({ type: 'error', error: 'Failed to process user input' })); + } + } + } + private async findChromePort(): Promise { try { // Use ps to find Playwright Chromium process with remote-debugging-port @@ -290,4 +399,4 @@ export function createBrowserStreamingService(port: number, cdpPort?: number): B const chromePort = cdpPort || parseInt(process.env.CHROME_CDP_PORT || '9222'); return new BrowserStreamingService(streamingPort, chromePort); -} \ No newline at end of file +} From 040e5496b858153c36594429b6f87c56e6fbe5ae Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 2 Sep 2025 16:29:55 -0700 Subject: [PATCH 11/31] feat: add playwright browser installation to build script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c62e939..ef97e37 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,9 @@ "test:scorer:language": "tsx scripts/run-scorer-tests.ts languagePreference", "dev": "mastra dev", "dev:pretty": "mastra dev --inspect | npx pino-pretty", - "build": "mastra build", + "build": "npm run playwright:install && mastra build", "start": "mastra start", + "playwright:install": "npx @playwright/mcp@latest --browser=chromium --headless --isolated || npx playwright install chromium && npx playwright install-deps chromium", "seed": "tsx src/seed.ts", "seed:wic": "tsx src/seed-wic.ts", "seed:csv": "tsx src/seed-csv.ts", From 6fd81c0ef0d859fe1c3dcc198a479a54299bcdf3 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 2 Sep 2025 16:44:33 -0700 Subject: [PATCH 12/31] feat: add playwright setup script for browser installation --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ef97e37..51a62aa 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,9 @@ "test:scorer:language": "tsx scripts/run-scorer-tests.ts languagePreference", "dev": "mastra dev", "dev:pretty": "mastra dev --inspect | npx pino-pretty", - "build": "npm run playwright:install && mastra build", + "build": "mastra build", "start": "mastra start", - "playwright:install": "npx @playwright/mcp@latest --browser=chromium --headless --isolated || npx playwright install chromium && npx playwright install-deps chromium", + "playwright:setup": "npx playwright install chromium --with-deps", "seed": "tsx src/seed.ts", "seed:wic": "tsx src/seed-wic.ts", "seed:csv": "tsx src/seed-csv.ts", From 455181ed65da8248173732609938e8583241bbf8 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 2 Sep 2025 16:52:05 -0700 Subject: [PATCH 13/31] fix: mcp isolated browser issue --- src/mastra/mcp.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mastra/mcp.ts b/src/mastra/mcp.ts index 925ce3a..78d4bc9 100644 --- a/src/mastra/mcp.ts +++ b/src/mastra/mcp.ts @@ -29,7 +29,8 @@ export const playwrightMCP = new MCPClient({ "--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "--viewport-size=1920,1080", `--output-dir=${outputDir}`, - "--save-trace" + "--save-trace", + "--isolated" // Note: Removed --save-session for clean browser state on each run // Add back --save-session if you want to persist browser state between conversations ], From a908ee29ddb2bb9df96c84c3dc0b039a0e6cda75 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 2 Sep 2025 16:59:50 -0700 Subject: [PATCH 14/31] nit: switch to info from debug --- src/mastra/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mastra/index.ts b/src/mastra/index.ts index 17f3b2e..894b8b4 100644 --- a/src/mastra/index.ts +++ b/src/mastra/index.ts @@ -17,7 +17,7 @@ export const mastra = new Mastra({ storage: postgresStore, logger: new PinoLogger({ name: 'Mastra', - level: 'debug', // Change from 'info' to 'debug' to capture more error details + level: 'info', // Change from 'info' to 'debug' to capture more error details }), telemetry: { From 13103ca4d388d45b2835d5e9eda474af845c7c9d Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:36:59 -0700 Subject: [PATCH 15/31] feat: update client submodule to latest commit --- client | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client b/client index 7f74f83..343f90c 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 7f74f83683f99055a79ecae487455ded835abb24 +Subproject commit 343f90c3aae1ad9264755ca432576901fd89d9f1 From fca29ba5b15429cf01b05a197c08e5f397b8857e Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:44:51 -0700 Subject: [PATCH 16/31] docs: add git submodule guide to README.md --- README.md | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 103 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0dfe772..d6001fc 100644 --- a/README.md +++ b/README.md @@ -18,26 +18,36 @@ You'll need these installed on your computer: ## Step-by-Step Setup -### 1. Get the Code and Navigate to the Correct Directory +### 1. Get the Code with Submodules + +This project uses Git submodules to manage the client frontend. You'll need to clone with submodules or set them up after cloning. + +#### Option A: Clone with Submodules (Recommended) +```bash +# Clone the repository with submodules +git clone --recurse-submodules https://github.com/navapbc/labs-asp.git +cd labs-asp +``` + +#### Option B: If You Already Cloned Without Submodules ```bash -# Clone the repository -git clone https://github.com/navapbc/labs-asp-experiments.git -cd labs-asp-experiments/mastra-test-app +# If you already cloned the repo, initialize submodules +git submodule update --init --recursive ``` -> **Important**: Make sure you're in the `mastra-test-app` directory for all the following commands. This is where all the app files are located. +> **Important**: This project uses the `client/` directory as a Git submodule that tracks the `labs-asp` branch of the AI chatbot repository. ### 2. Opening Terminal in Visual Studio Code If you're using Visual Studio Code: -1. **Open the project folder**: Go to `File > Open Folder` and select the `mastra-test-app` directory +1. **Open the project folder**: Go to `File > Open Folder` and select the `labs-asp` directory 2. **Open the terminal**: - Use the keyboard shortcut: `Ctrl+(backtick)` on Mac - Or go to `Terminal > New Terminal` in the menu - Or use `View > Terminal` -The terminal should automatically open in the correct `mastra-test-app` directory. You can verify this by running `pwd` (on Mac) to see your current directory path. +The terminal should automatically open in the correct `labs-asp` directory. You can verify this by running `pwd` (on Mac) to see your current directory path. ### 3. Install Dependencies ```bash @@ -107,7 +117,7 @@ If the app displays errors or becomes unresponsive: 2. **Start fresh**: - Open a new terminal (see "Opening Terminal in Visual Studio Code" above) - - Make sure you're in the `mastra-test-app` directory: `cd labs-asp-experiments/mastra-test-app` + - Make sure you're in the `labs-asp` directory: `cd labs-asp` - Restart the app: `pnpm dev` 3. **If problems persist**: @@ -135,6 +145,91 @@ pnpm dev pnpm db:studio ``` +## Git Submodule Management + +This project uses Git submodules to manage the client frontend. The `client/` directory is a submodule that tracks the `labs-asp` branch of the AI chatbot repository. + +### Initial Setup (One-Time Configuration) + +Set up Git to automatically handle submodules and create a convenient alias: + +```bash +# Configure Git to automatically handle submodules in most operations +git config --global submodule.recurse true + +# Create an alias for pulling with submodules +git config --global alias.spull "pull --recurse-submodules" +``` + +### Daily Workflow Commands + +```bash +# Pull latest changes from both main repo and submodules +git spull + +# Alternative: Pull with submodules (if you don't have the alias) +git pull --recurse-submodules + +# Update submodule to latest commit from its remote branch +git submodule update --remote client + +# Check submodule status +git submodule status + +# Initialize submodules if they're missing +git submodule update --init --recursive +``` + +### Working with Submodules + +#### After a PR is Merged +When PRs are merged into the main repository, always pull with submodules: +```bash +git spull # Pulls both main repo and submodule changes automatically +``` + +#### If You Need to Update the Submodule Reference +Sometimes you'll need to update the main repository to point to a newer commit in the submodule: +```bash +# Update submodule to latest remote commit +git submodule update --remote client + +# Add and commit the submodule reference update +git add client +git commit -m "feat: update client submodule to latest commit" +git push +``` + +#### Checking Submodule Configuration +You can view the submodule configuration in `.gitmodules`: +```bash +cat .gitmodules +``` + +This shows how the submodule is configured to track the `labs-asp` branch. + +### Troubleshooting Submodules + +#### Submodule Directory is Empty +```bash +git submodule update --init --recursive +``` + +#### Submodule is Out of Date +```bash +git submodule update --remote client +``` + +#### Reset Submodule to Match Main Repository +```bash +git submodule update --recursive +``` + +#### View What Branch the Submodule is Tracking +```bash +git config -f .gitmodules --get submodule.client.branch +``` + ### Admin-Only Commands > **Note**: These commands are for admins only and will modify shared data: ```bash From f0fb0b49f7d06658321a5c37276d7616b4270266 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:32:38 -0700 Subject: [PATCH 17/31] fix: add debugging to mastra client --- src/mastra/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mastra/index.ts b/src/mastra/index.ts index 894b8b4..17f3b2e 100644 --- a/src/mastra/index.ts +++ b/src/mastra/index.ts @@ -17,7 +17,7 @@ export const mastra = new Mastra({ storage: postgresStore, logger: new PinoLogger({ name: 'Mastra', - level: 'info', // Change from 'info' to 'debug' to capture more error details + level: 'debug', // Change from 'info' to 'debug' to capture more error details }), telemetry: { From 7aa742f6286aad9af02123283b42074107f160dd Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 16:59:17 -0700 Subject: [PATCH 18/31] fix: make middleware more permissive in dev mode --- src/mastra/middleware.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/mastra/middleware.ts b/src/mastra/middleware.ts index abbf8dc..94a9a28 100644 --- a/src/mastra/middleware.ts +++ b/src/mastra/middleware.ts @@ -59,6 +59,26 @@ export const serverMiddleware = [ handler: async (c: any, next: any) => { const url = new URL(c.req.url); + // In development mode, be more permissive + if (process.env.NODE_ENV !== 'production') { + // Allow all localhost requests in dev + if (url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '0.0.0.0') { + await next(); + return; + } + // Allow dev playground requests + const isDevPlayground = c.req.header('x-mastra-dev-playground') === 'true'; + if (isDevPlayground) { + await next(); + return; + } + // Allow API routes for dev playground functionality + if (url.pathname.startsWith('/api/') || url.pathname.startsWith('/agents/')) { + await next(); + return; + } + } + // Allow Playground system requests to pass (telemetry/memory/etc.) // The Playground adds this header on its internal API calls const isDevPlayground = c.req.header('x-mastra-dev-playground') === 'true'; From c33954c1f6fc2b6d444a03355342f648dc62ef1f Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:01:28 -0700 Subject: [PATCH 19/31] fix: try chaning external host connection --- src/mastra/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mastra/index.ts b/src/mastra/index.ts index 17f3b2e..e2828fb 100644 --- a/src/mastra/index.ts +++ b/src/mastra/index.ts @@ -32,7 +32,7 @@ export const mastra = new Mastra({ }, server: { - host: '0.0.0.0', // Allow external connections + // host: '0.0.0.0', // Allow external connections port: 4111, cors: { origin: process.env.CORS_ORIGINS?.split(',') || ['http://localhost:4111', '*'], From ab6a541f19bdc63b034cd917b0be99e3b7e553c3 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:05:34 -0700 Subject: [PATCH 20/31] fix: revert arg change --- src/mastra/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mastra/index.ts b/src/mastra/index.ts index e2828fb..17f3b2e 100644 --- a/src/mastra/index.ts +++ b/src/mastra/index.ts @@ -32,7 +32,7 @@ export const mastra = new Mastra({ }, server: { - // host: '0.0.0.0', // Allow external connections + host: '0.0.0.0', // Allow external connections port: 4111, cors: { origin: process.env.CORS_ORIGINS?.split(',') || ['http://localhost:4111', '*'], From 0156774f852e967f2d3dd97e56b86cfd2599d22a Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:25:22 -0700 Subject: [PATCH 21/31] fix: upgrade to mastra@alpha to fix playground baseUrl bug --- package.json | 4 +- pnpm-lock.yaml | 983 ++++++++++++++++--------------------------------- 2 files changed, 312 insertions(+), 675 deletions(-) diff --git a/package.json b/package.json index 51a62aa..8bb5d6f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@ai-sdk/google-vertex": "^3.0.16", "@ai-sdk/openai": "^1.3.23", "@inquirer/prompts": "^7.7.1", - "@mastra/core": "^0.14.1", + "@mastra/core": "0.15.3-alpha.7", "@mastra/evals": "^0.12.1", "@mastra/libsql": "^0.13.4", "@mastra/loggers": "^0.10.7", @@ -57,7 +57,7 @@ "devDependencies": { "@types/node": "^24.1.0", "@types/pg": "^8.15.4", - "mastra": "^0.10.23", + "mastra": "0.11.3-alpha.4", "typescript": "^5.8.3" }, "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb58d8f..74a0cb2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,26 +24,26 @@ importers: specifier: ^7.7.1 version: 7.8.2(@types/node@24.2.1) '@mastra/core': - specifier: ^0.14.1 - version: 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + specifier: 0.15.3-alpha.7 + version: 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/evals': specifier: ^0.12.1 - version: 0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) + version: 0.12.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) '@mastra/libsql': specifier: ^0.13.4 - version: 0.13.4(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + version: 0.13.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/loggers': specifier: ^0.10.7 - version: 0.10.7(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + version: 0.10.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/mcp': specifier: ^0.10.12 - version: 0.10.12(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + version: 0.10.12(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@mastra/memory': specifier: ^0.13.1 - version: 0.13.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) + version: 0.13.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) '@mastra/pg': specifier: ^0.14.2 - version: 0.14.2(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) + version: 0.14.2(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) '@types/jsonwebtoken': specifier: ^9.0.10 version: 9.0.10 @@ -94,8 +94,8 @@ importers: specifier: ^8.15.4 version: 8.15.5 mastra: - specifier: ^0.10.23 - version: 0.10.23(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(react@19.1.1)(typescript@5.9.2) + specifier: 0.11.3-alpha.4 + version: 0.11.3-alpha.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76) typescript: specifier: ^5.8.3 version: 5.9.2 @@ -220,10 +220,6 @@ packages: resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.0': - resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.28.3': resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} @@ -294,11 +290,6 @@ packages: resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.0': - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.28.3': resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} engines: {node: '>=6.0.0'} @@ -338,10 +329,6 @@ packages: resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.0': - resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.3': resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} engines: {node: '>=6.9.0'} @@ -356,10 +343,6 @@ packages: '@clack/prompts@0.11.0': resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@esbuild/aix-ppc64@0.25.9': resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} @@ -735,24 +718,17 @@ packages: cpu: [x64] os: [win32] - '@lukeed/csprng@1.1.0': - resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} - engines: {node: '>=8'} - - '@lukeed/uuid@2.0.1': - resolution: {integrity: sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==} - engines: {node: '>=8'} - - '@mastra/core@0.14.1': - resolution: {integrity: sha512-DYAIJhEUUEOd7u6sVMXLExHFmYjpQrSShSypDDswTXauoVJNgCeEjyRRxDM0sN9+mfm8Q5Ai44c5/2PMMW+ObQ==} + '@mastra/core@0.15.3-alpha.7': + resolution: {integrity: sha512-OHeGGGzVfgXkBCtJE4JtfP8AV95+8hjPwx8zrZgxqYzXxNyDkup3PlYsZoI12MGEvsZhbuXwbtz1mOZL1WbvzA==} engines: {node: '>=20'} peerDependencies: - zod: ^3.0.0 + zod: ^3.25.0 || ^4.0.0 - '@mastra/deployer@0.14.1': - resolution: {integrity: sha512-75BLlYFfaarfr0HxGVLVOWKtxqMF4hfXa8+5NvLvZaxOLu8eJeJfBkVlGoZ+5zUAd9juc5wKcWnAr4c4Ug5fbw==} + '@mastra/deployer@0.15.3-alpha.7': + resolution: {integrity: sha512-l83O2BVBDXK9HNfkVzihzY1eVZEGlXasF3agobs6xlT1RH9LIGvopnRapXPaVlxlkb3DA8y71orK82adc/C7CA==} peerDependencies: - '@mastra/core': '>=0.14.0-0 <0.15.0-0' + '@mastra/core': '>=0.15.3-0 <0.16.0-0' + zod: ^3.25.0 || ^4.0.0 '@mastra/evals@0.12.1': resolution: {integrity: sha512-UGmsuhTJeBEmY1z0fQpqe/pUuhRInyuJNlZO8UzXVV5uXVJiotCaYgW9C/W76895uPhfXR+H1fD9G/wGBFmYVQ==} @@ -765,6 +741,11 @@ packages: peerDependencies: '@mastra/core': '>=0.13.0-0 <0.15.0-0' + '@mastra/loggers@0.10.10-alpha.1': + resolution: {integrity: sha512-HrX6yBjmbDDyixTuhEEQjgwzze+bpd5arndSpHw+AFCTgLfxqIXgKIgbtYxc8Zb5Lk3hBVnYWsrCa5N+B0hGLA==} + peerDependencies: + '@mastra/core': '>=0.15.3-0 <0.16.0-0' + '@mastra/loggers@0.10.7': resolution: {integrity: sha512-o9CrEdZRvy3RWaFWWMiTKke1PgRjGt1TJ3RilSoLnpqTE6Fg41XdVQ9jULwxHOACoumEScfhOwsuvb1oZTI5Sw==} peerDependencies: @@ -776,6 +757,12 @@ packages: '@mastra/core': '>=0.10.2-0 <0.15.0-0' zod: ^3.0.0 + '@mastra/mcp@0.11.3-alpha.3': + resolution: {integrity: sha512-jmFxn2meaTyLiXgXQLNt16NSrmTAVHrTXvW60V1G9gAKcgbqomiA/lWKoifZEZz3S9p4m+ht8mHcl+UnpIZAaw==} + peerDependencies: + '@mastra/core': '>=0.15.3-0 <0.16.0-0' + zod: ^3.25.0 || ^4.0.0 + '@mastra/memory@0.13.1': resolution: {integrity: sha512-nYkr2+es8Xw0W35HAekPFyvOjclX886ZC91Sc7R4V3nFBQsIjTfA7149QERXciPTWI7HgdKS+v+95sN5pBNp1w==} peerDependencies: @@ -792,16 +779,26 @@ packages: ai: ^4.0.0 zod: ^3.0.0 - '@mastra/server@0.14.1': - resolution: {integrity: sha512-VdptgxpjmqpgzJkyIAxv8f1XQDTWhMi9Gd60i4PwuqSjjMRtvZF6TuZj9jS/gS9Zt+26DbHS9uzIWwLuQyIrsg==} + '@mastra/schema-compat@0.11.2-alpha.3': + resolution: {integrity: sha512-mROd92fYsOki0W4WXXYb9B74m+Ohf2VssnDaH2U5WPhiqv35Iy6mkLxfyKB+MRiKMOjVbjyceNlRmUfKCbRqDw==} peerDependencies: - '@mastra/core': '>=0.14.0-0 <0.15.0-0' - zod: ^3.0.0 + ai: ^4.0.0 || ^5.0.0 + zod: ^3.25.0 || ^4.0.0 + + '@mastra/server@0.15.3-alpha.7': + resolution: {integrity: sha512-Qn39VIJ2c2oOrdszyvP7owhqdN1LWSyzE61GQ7caxLSu/0Bm2zCk/Nn0PpTckp8T1r0TbNWlUr7LIxyLcdmyyA==} + peerDependencies: + '@mastra/core': '>=0.15.3-0 <0.16.0-0' + zod: ^3.25.0 || ^4.0.0 '@modelcontextprotocol/sdk@1.17.2': resolution: {integrity: sha512-EFLRNXR/ixpXQWu6/3Cu30ndDFIFNaqUXcTqsGebujeMan9FzhAaFFswLRiFj61rgygDRr8WO1N+UijjgRxX9g==} engines: {node: '>=18'} + '@modelcontextprotocol/sdk@1.17.5': + resolution: {integrity: sha512-QakrKIGniGuRVfWBdMsDea/dx1PNE739QJ7gCM41s9q+qaCYTHCdsIBXQVVXry3mfWAiaM9kT22Hyz53Uw8mfg==} + engines: {node: '>=18'} + '@neon-rs/load@0.0.4': resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} @@ -1406,130 +1403,114 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.46.2': - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + '@rollup/rollup-android-arm-eabi@4.50.0': + resolution: {integrity: sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.46.2': - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + '@rollup/rollup-android-arm64@4.50.0': + resolution: {integrity: sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.46.2': - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + '@rollup/rollup-darwin-arm64@4.50.0': + resolution: {integrity: sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.46.2': - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + '@rollup/rollup-darwin-x64@4.50.0': + resolution: {integrity: sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.46.2': - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + '@rollup/rollup-freebsd-arm64@4.50.0': + resolution: {integrity: sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.2': - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + '@rollup/rollup-freebsd-x64@4.50.0': + resolution: {integrity: sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + '@rollup/rollup-linux-arm-gnueabihf@4.50.0': + resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.2': - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + '@rollup/rollup-linux-arm-musleabihf@4.50.0': + resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.2': - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + '@rollup/rollup-linux-arm64-gnu@4.50.0': + resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.2': - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + '@rollup/rollup-linux-arm64-musl@4.50.0': + resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + '@rollup/rollup-linux-loongarch64-gnu@4.50.0': + resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.2': - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + '@rollup/rollup-linux-ppc64-gnu@4.50.0': + resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.2': - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + '@rollup/rollup-linux-riscv64-gnu@4.50.0': + resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.2': - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + '@rollup/rollup-linux-riscv64-musl@4.50.0': + resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.2': - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + '@rollup/rollup-linux-s390x-gnu@4.50.0': + resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.2': - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + '@rollup/rollup-linux-x64-gnu@4.50.0': + resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.2': - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + '@rollup/rollup-linux-x64-musl@4.50.0': + resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.46.2': - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + '@rollup/rollup-openharmony-arm64@4.50.0': + resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.50.0': + resolution: {integrity: sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.2': - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + '@rollup/rollup-win32-ia32-msvc@4.50.0': + resolution: {integrity: sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.2': - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + '@rollup/rollup-win32-x64-msvc@4.50.0': + resolution: {integrity: sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@1.29.2': - resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} - - '@shikijs/engine-javascript@1.29.2': - resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} - - '@shikijs/engine-oniguruma@1.29.2': - resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} - - '@shikijs/langs@1.29.2': - resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} - - '@shikijs/themes@1.29.2': - resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} - - '@shikijs/types@1.29.2': - resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} - - '@shikijs/vscode-textmate@10.0.2': - resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -1576,9 +1557,6 @@ packages: '@types/express@4.17.23': resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} @@ -1588,9 +1566,6 @@ packages: '@types/jsonwebtoken@9.0.10': resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/memcached@2.2.10': resolution: {integrity: sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==} @@ -1636,15 +1611,9 @@ packages: '@types/tedious@4.0.14': resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==} - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@upstash/redis@1.35.3': resolution: {integrity: sha512-hSjv66NOuahW3MisRGlSgoszU2uONAY2l5Qo3Sae8OT3/Tng9K+2/cBRuyPBX8egwEGcNNCF9+r0V6grNnhL+w==} @@ -1695,6 +1664,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 + ai@5.0.28: + resolution: {integrity: sha512-tnybAqoDFzuK6O1NOMHX1d/wH7Eug8y0H4l/Gl6swi8BYGtlTPDjniKnGYzgTpLTdpj7SI3qjZuomz7evph9+w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1723,12 +1698,6 @@ packages: async-mutex@0.5.0: resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} - async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - - async@3.2.3: - resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1787,19 +1756,10 @@ packages: caniuse-lite@1.0.30001734: resolution: {integrity: sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==} - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chalk@5.5.0: resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - chardet@2.1.0: resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} @@ -1836,17 +1796,10 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - colors@1.0.3: - resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} - engines: {node: '>=0.1.90'} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -1864,6 +1817,9 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -1894,10 +1850,6 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} @@ -1909,10 +1861,6 @@ packages: csv-parse@6.1.0: resolution: {integrity: sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw==} - cycle@1.0.3: - resolution: {integrity: sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==} - engines: {node: '>=0.4.0'} - data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -1995,9 +1943,6 @@ packages: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff-match-patch@1.0.5: resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} @@ -2032,9 +1977,6 @@ packages: electron-to-chromium@1.5.200: resolution: {integrity: sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==} - emoji-regex-xs@1.0.0: - resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2130,13 +2072,12 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - eyes@0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} - fast-check@3.23.2: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} @@ -2192,10 +2133,6 @@ packages: resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} engines: {node: '>= 0.8'} - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} - find-workspaces@0.3.1: resolution: {integrity: sha512-UDkGILGJSA1LN5Aa7McxCid4sqW3/e+UYsVwyxki3dDT0F8+ym0rAfnCkEfkL0rO7M+8/mvkim4t/s3IPHmg+w==} @@ -2341,12 +2278,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-to-html@9.0.5: - resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} - - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - heap@0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} @@ -2402,9 +2333,6 @@ packages: resolution: {integrity: sha512-qfvdJ42t6CQE0N/iSCa8KsW8SQqYD67YB+TYbwPHlnALvX+s7ynh8otR1NEk5jXtUg73gpV/B82OSufDmwtX3w==} engines: {node: '>=16.9.0'} - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -2501,10 +2429,6 @@ packages: is-url@1.2.4: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -2516,9 +2440,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -2596,6 +2517,10 @@ packages: cpu: [x64, arm64, wasm32, arm] os: [darwin, linux, win32] + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -2620,9 +2545,6 @@ packages: lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} @@ -2632,19 +2554,17 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - mastra@0.10.23: - resolution: {integrity: sha512-xjM5rRJZdc37KRi16Qf2NAZLxGT47QLzDttghSjf8Vn45cRVJC57CQJgQeekjziGwy7Eed5/LJKvw6jfTaaw4Q==} + mastra@0.11.3-alpha.4: + resolution: {integrity: sha512-/7OzI2IAfRrIiPTycgWkSemCT1vEb032e0/t2uNw4tepTmy+Ytd0aOhTuHuAibSempRzD7i0VZDm2nFmzXcsqA==} hasBin: true peerDependencies: - '@mastra/core': '>=0.10.2-0 <0.15.0-0' + '@mastra/core': '>=0.10.2-0 <0.16.0-0' + zod: ^3.25.0 || ^4.0.0 math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -2668,21 +2588,6 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -2726,9 +2631,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -2790,9 +2692,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - oniguruma-to-es@2.3.0: - resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} - open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} @@ -2804,10 +2703,6 @@ packages: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} - package-directory@8.1.0: - resolution: {integrity: sha512-qHKRW0pw3lYdZMQVkjDBqh8HlamH/LCww2PH7OWEp4Qrt3SFeYMNpnJrQzlSnGrDD5zGR51XqBh7FnNCdVNEHA==} - engines: {node: '>=18'} - parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} @@ -2927,6 +2822,9 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -2966,13 +2864,6 @@ packages: promise-limit@2.7.0: resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} - prompt@1.3.0: - resolution: {integrity: sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==} - engines: {node: '>= 6.0.0'} - - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - protobufjs@7.5.3: resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} engines: {node: '>=12.0.0'} @@ -3002,6 +2893,9 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3028,10 +2922,6 @@ packages: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} - read@1.0.7: - resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} - engines: {node: '>=0.8'} - real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -3040,15 +2930,6 @@ packages: resolution: {integrity: sha512-31vunZj07++Y1vcFGcnNWEf5jPoTkGARgfWI4+Tk55vdwHxhAvug8VEtW7Cx+/h47NuJTEg/JL77zAwC6E0OeA==} engines: {node: '>= 18'} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} - - regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3073,10 +2954,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - revalidator@0.1.8: - resolution: {integrity: sha512-xcBILK2pA9oh4SiinPEZfhP8HfrB/ha+a2fTMyl7Om2WjlDVrOQy99N2MXXlUHqGJz4qEu2duXxHJjDWuK/0xg==} - engines: {node: '>= 0.4.0'} - rollup-plugin-esbuild@6.2.1: resolution: {integrity: sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA==} engines: {node: '>=14.18.0'} @@ -3090,8 +2967,8 @@ packages: peerDependencies: rollup: ^4.0.0 - rollup@4.46.2: - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + rollup@4.50.0: + resolution: {integrity: sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3166,9 +3043,6 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} - shiki@1.29.2: - resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} - side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -3202,9 +3076,6 @@ packages: sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spex@3.4.1: resolution: {integrity: sha512-Br0Mu3S+c70kr4keXF+6K4B8ohR+aJjI9s7SbdsI3hliE1Riz4z+FQk7FQL+r7X1t90KPkpuKwQyITpCIQN9mg==} engines: {node: '>=14.0.0'} @@ -3213,9 +3084,6 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -3232,9 +3100,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3250,10 +3115,6 @@ packages: suffix-thumb@5.0.2: resolution: {integrity: sha512-I5PWXAFKx3FYnI9a+dQMWNqTxoRt6vdBdb0O+BJ1sxXCWtSoQCusc13E58f+9p4MYx/qCnEMkD5jac6K2j3dgA==} - superjson@2.2.2: - resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} - engines: {node: '>=16'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3284,9 +3145,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -3330,21 +3188,6 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -3387,12 +3230,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -3408,10 +3245,6 @@ packages: engines: {node: '>= 8'} hasBin: true - winston@2.4.7: - resolution: {integrity: sha512-vLB4BqzCKDnnZH9PHGoS2ycawueX4HLqENXQitvFHczhgW2vFpSOn31LZtVr1KU8YTw7DS4tM+cqyovxo8taVg==} - engines: {node: '>= 0.10.0'} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -3496,6 +3329,9 @@ packages: zod-from-json-schema@0.0.5: resolution: {integrity: sha512-zYEoo86M1qpA1Pq6329oSyHLS785z/mTwfr9V1Xf/ZLhuuBGaMlDGu/pDVGVUe4H4oa1EFgWZT53DP0U3oT9CQ==} + zod-from-json-schema@0.5.0: + resolution: {integrity: sha512-W1v1YIoimOJfvuorGGp1QroizLL3jEGELJtgrHiVg/ytxVZdh/BTTVyPypGB7YK30LHrCkkebbjuyHIjBGCEzw==} + zod-to-json-schema@3.24.6: resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: @@ -3504,8 +3340,8 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + zod@4.1.5: + resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==} snapshots: @@ -3649,13 +3485,13 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) '@babel/helpers': 7.28.2 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 convert-source-map: 2.0.0 debug: 4.4.1 @@ -3665,14 +3501,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.28.0': - dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - jsesc: 3.1.0 - '@babel/generator@7.28.3': dependencies: '@babel/parser': 7.28.3 @@ -3717,7 +3545,7 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -3727,7 +3555,7 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color @@ -3748,7 +3576,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.3 '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -3764,10 +3592,6 @@ snapshots: '@babel/template': 7.27.2 '@babel/types': 7.28.2 - '@babel/parser@7.28.0': - dependencies: - '@babel/types': 7.28.2 - '@babel/parser@7.28.3': dependencies: '@babel/types': 7.28.2 @@ -3815,20 +3639,8 @@ snapshots: '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 - - '@babel/traverse@7.28.0': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/template': 7.27.2 + '@babel/parser': 7.28.3 '@babel/types': 7.28.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color '@babel/traverse@7.28.3': dependencies: @@ -3858,8 +3670,6 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@colors/colors@1.5.0': {} - '@esbuild/aix-ppc64@0.25.9': optional: true @@ -4153,13 +3963,7 @@ snapshots: '@libsql/win32-x64-msvc@0.5.20': optional: true - '@lukeed/csprng@1.1.0': {} - - '@lukeed/uuid@2.0.1': - dependencies: - '@lukeed/csprng': 1.1.0 - - '@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': + '@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': dependencies: '@a2a-js/sdk': 0.2.5 '@ai-sdk/provider': 1.1.3 @@ -4167,7 +3971,7 @@ snapshots: '@ai-sdk/provider-utils-v5': '@ai-sdk/provider-utils@3.0.3(zod@3.25.76)' '@ai-sdk/provider-v5': '@ai-sdk/provider@2.0.0' '@ai-sdk/ui-utils': 1.2.11(zod@3.25.76) - '@mastra/schema-compat': 0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/schema-compat': 0.11.2-alpha.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@opentelemetry/api': 1.9.0 '@opentelemetry/auto-instrumentations-node': 0.62.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)) '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) @@ -4183,7 +3987,7 @@ snapshots: '@opentelemetry/semantic-conventions': 1.36.0 '@sindresorhus/slugify': 2.2.1 ai: 4.3.19(react@19.1.1)(zod@3.25.76) - ai-v5: ai@5.0.15(zod@3.25.76) + ai-v5: ai@5.0.28(zod@3.25.76) date-fns: 3.6.0 dotenv: 16.6.1 hono: 4.9.1 @@ -4216,21 +4020,21 @@ snapshots: - valibot - zod-openapi - '@mastra/deployer@0.14.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)': + '@mastra/deployer@0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/server': 0.14.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/server': 0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@neon-rs/load': 0.1.82 - '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.46.2) - '@rollup/plugin-alias': 5.1.1(rollup@4.46.2) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2) - '@rollup/plugin-esm-shim': 0.1.8(rollup@4.46.2) - '@rollup/plugin-json': 6.1.0(rollup@4.46.2) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.46.2) - '@rollup/plugin-virtual': 3.0.2(rollup@4.46.2) + '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.50.0) + '@rollup/plugin-alias': 5.1.1(rollup@4.50.0) + '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.0) + '@rollup/plugin-esm-shim': 0.1.8(rollup@4.50.0) + '@rollup/plugin-json': 6.1.0(rollup@4.50.0) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.0) + '@rollup/plugin-virtual': 3.0.2(rollup@4.50.0) '@sindresorhus/slugify': 2.2.1 builtins: 5.1.0 detect-libc: 2.0.4 @@ -4240,20 +4044,20 @@ snapshots: fs-extra: 11.3.1 globby: 14.1.0 hono: 4.9.1 - package-directory: 8.1.0 + local-pkg: 1.1.2 resolve-from: 5.0.0 - rollup: 4.46.2 - rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.46.2) - rollup-plugin-node-externals: 8.0.1(rollup@4.46.2) + rollup: 4.50.0 + rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.50.0) + rollup-plugin-node-externals: 8.0.1(rollup@4.50.0) typescript-paths: 1.5.1(typescript@5.9.2) zod: 3.25.76 transitivePeerDependencies: - supports-color - typescript - '@mastra/evals@0.12.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': + '@mastra/evals@0.12.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': dependencies: - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) ai: 5.0.27(zod@3.25.76) compromise: 14.14.4 difflib: 0.2.4 @@ -4263,24 +4067,30 @@ snapshots: string-similarity: 4.0.4 zod: 3.25.76 - '@mastra/libsql@0.13.4(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/libsql@0.13.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: '@libsql/client': 0.15.14 - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) transitivePeerDependencies: - bufferutil - utf-8-validate - '@mastra/loggers@0.10.7(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/loggers@0.10.10-alpha.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + dependencies: + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + pino: 9.9.0 + pino-pretty: 13.1.1 + + '@mastra/loggers@0.10.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) pino: 9.9.0 pino-pretty: 13.1.1 - '@mastra/mcp@0.10.12(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/mcp@0.10.12(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: '@apidevtools/json-schema-ref-parser': 14.1.1 - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@modelcontextprotocol/sdk': 1.17.2 date-fns: 4.1.0 exit-hook: 4.0.0 @@ -4291,9 +4101,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@mastra/memory@0.13.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': + '@mastra/mcp@0.11.3-alpha.3(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + dependencies: + '@apidevtools/json-schema-ref-parser': 14.1.1 + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@modelcontextprotocol/sdk': 1.17.5 + date-fns: 4.1.0 + exit-hook: 4.0.0 + fast-deep-equal: 3.1.3 + uuid: 11.1.0 + zod: 3.25.76 + zod-from-json-schema: 0.5.0 + zod-from-json-schema-v3: zod-from-json-schema@0.0.5 + transitivePeerDependencies: + - supports-color + + '@mastra/memory@0.13.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': dependencies: - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/schema-compat': 0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@upstash/redis': 1.35.3 ai: 4.3.19(react@19.1.1)(zod@3.25.76) @@ -4312,9 +4137,9 @@ snapshots: - pg-native - react - '@mastra/pg@0.14.2(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': + '@mastra/pg@0.14.2(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': dependencies: - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) async-mutex: 0.5.0 pg: 8.16.3 pg-promise: 11.15.0(pg-query-stream@4.10.3(pg@8.16.3)) @@ -4331,9 +4156,18 @@ snapshots: zod-from-json-schema: 0.0.5 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/server@0.14.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/schema-compat@0.11.2-alpha.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + ai: 4.3.19(react@19.1.1)(zod@3.25.76) + json-schema: 0.4.0 + zod: 3.25.76 + zod-from-json-schema: 0.5.0 + zod-from-json-schema-v3: zod-from-json-schema@0.0.5 + zod-to-json-schema: 3.24.6(zod@3.25.76) + + '@mastra/server@0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + dependencies: + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) zod: 3.25.76 '@modelcontextprotocol/sdk@1.17.2': @@ -4353,6 +4187,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@modelcontextprotocol/sdk@1.17.5': + dependencies: + ajv: 6.12.6 + content-type: 1.0.5 + cors: 2.8.5 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.5 + express: 5.1.0 + express-rate-limit: 7.5.1(express@5.1.0) + pkce-challenge: 5.0.0 + raw-body: 3.0.0 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + transitivePeerDependencies: + - supports-color + '@neon-rs/load@0.0.4': {} '@neon-rs/load@0.1.82': {} @@ -5043,11 +4894,11 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.46.2)': + '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.50.0)': dependencies: '@optimize-lodash/transform': 3.0.6 - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) - rollup: 4.46.2 + '@rollup/pluginutils': 5.2.0(rollup@4.50.0) + rollup: 4.50.0 '@optimize-lodash/transform@3.0.6': dependencies: @@ -5097,13 +4948,13 @@ snapshots: dependencies: '@redis/client': 5.8.2 - '@rollup/plugin-alias@5.1.1(rollup@4.46.2)': + '@rollup/plugin-alias@5.1.1(rollup@4.50.0)': optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.50.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.50.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.3) @@ -5111,139 +4962,107 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/plugin-esm-shim@0.1.8(rollup@4.46.2)': + '@rollup/plugin-esm-shim@0.1.8(rollup@4.50.0)': dependencies: magic-string: 0.30.17 mlly: 1.7.4 optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/plugin-json@6.1.0(rollup@4.46.2)': + '@rollup/plugin-json@6.1.0(rollup@4.50.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.50.0) optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.2.0(rollup@4.50.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/plugin-virtual@3.0.2(rollup@4.46.2)': + '@rollup/plugin-virtual@3.0.2(rollup@4.50.0)': optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/pluginutils@5.2.0(rollup@4.46.2)': + '@rollup/pluginutils@5.2.0(rollup@4.50.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.2 + rollup: 4.50.0 - '@rollup/rollup-android-arm-eabi@4.46.2': + '@rollup/rollup-android-arm-eabi@4.50.0': optional: true - '@rollup/rollup-android-arm64@4.46.2': + '@rollup/rollup-android-arm64@4.50.0': optional: true - '@rollup/rollup-darwin-arm64@4.46.2': + '@rollup/rollup-darwin-arm64@4.50.0': optional: true - '@rollup/rollup-darwin-x64@4.46.2': + '@rollup/rollup-darwin-x64@4.50.0': optional: true - '@rollup/rollup-freebsd-arm64@4.46.2': + '@rollup/rollup-freebsd-arm64@4.50.0': optional: true - '@rollup/rollup-freebsd-x64@4.46.2': + '@rollup/rollup-freebsd-x64@4.50.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + '@rollup/rollup-linux-arm-gnueabihf@4.50.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.2': + '@rollup/rollup-linux-arm-musleabihf@4.50.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.2': + '@rollup/rollup-linux-arm64-gnu@4.50.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.46.2': + '@rollup/rollup-linux-arm64-musl@4.50.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + '@rollup/rollup-linux-loongarch64-gnu@4.50.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': + '@rollup/rollup-linux-ppc64-gnu@4.50.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.2': + '@rollup/rollup-linux-riscv64-gnu@4.50.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.2': + '@rollup/rollup-linux-riscv64-musl@4.50.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.2': + '@rollup/rollup-linux-s390x-gnu@4.50.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.46.2': + '@rollup/rollup-linux-x64-gnu@4.50.0': optional: true - '@rollup/rollup-linux-x64-musl@4.46.2': + '@rollup/rollup-linux-x64-musl@4.50.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.2': + '@rollup/rollup-openharmony-arm64@4.50.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.2': + '@rollup/rollup-win32-arm64-msvc@4.50.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.46.2': + '@rollup/rollup-win32-ia32-msvc@4.50.0': optional: true - '@sec-ant/readable-stream@0.4.1': {} - - '@shikijs/core@1.29.2': - dependencies: - '@shikijs/engine-javascript': 1.29.2 - '@shikijs/engine-oniguruma': 1.29.2 - '@shikijs/types': 1.29.2 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.5 - - '@shikijs/engine-javascript@1.29.2': - dependencies: - '@shikijs/types': 1.29.2 - '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 2.3.0 - - '@shikijs/engine-oniguruma@1.29.2': - dependencies: - '@shikijs/types': 1.29.2 - '@shikijs/vscode-textmate': 10.0.2 - - '@shikijs/langs@1.29.2': - dependencies: - '@shikijs/types': 1.29.2 - - '@shikijs/themes@1.29.2': - dependencies: - '@shikijs/types': 1.29.2 - - '@shikijs/types@1.29.2': - dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@rollup/rollup-win32-x64-msvc@4.50.0': + optional: true - '@shikijs/vscode-textmate@10.0.2': {} + '@sec-ant/readable-stream@0.4.1': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -5297,10 +5116,6 @@ snapshots: '@types/qs': 6.14.0 '@types/serve-static': 1.15.8 - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - '@types/http-errors@2.0.5': {} '@types/json-schema@7.0.15': {} @@ -5310,10 +5125,6 @@ snapshots: '@types/ms': 2.1.0 '@types/node': 24.2.1 - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - '@types/memcached@2.2.10': dependencies: '@types/node': 24.2.1 @@ -5371,14 +5182,10 @@ snapshots: dependencies: '@types/node': 24.2.1 - '@types/unist@3.0.3': {} - '@types/ws@8.18.1': dependencies: '@types/node': 24.2.1 - '@ungap/structured-clone@1.3.0': {} - '@upstash/redis@1.35.3': dependencies: uncrypto: 0.1.3 @@ -5431,6 +5238,14 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 + ai@5.0.28(zod@3.25.76): + dependencies: + '@ai-sdk/gateway': 1.0.15(zod@3.25.76) + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@opentelemetry/api': 1.9.0 + zod: 3.25.76 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -5458,12 +5273,6 @@ snapshots: dependencies: tslib: 2.8.1 - async@2.6.4: - dependencies: - lodash: 4.17.21 - - async@3.2.3: {} - asynckit@0.4.0: {} atomic-sleep@1.0.0: {} @@ -5546,14 +5355,8 @@ snapshots: caniuse-lite@1.0.30001734: {} - ccount@2.0.1: {} - chalk@5.5.0: {} - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - chardet@2.1.0: {} chrome-remote-interface@0.33.3: @@ -5586,14 +5389,10 @@ snapshots: colorette@2.0.20: {} - colors@1.0.3: {} - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - comma-separated-tokens@2.0.3: {} - commander@12.1.0: {} commander@2.11.0: {} @@ -5608,6 +5407,8 @@ snapshots: confbox@0.1.8: {} + confbox@0.2.2: {} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -5628,10 +5429,6 @@ snapshots: cookie@0.7.2: {} - copy-anything@3.0.5: - dependencies: - is-what: 4.1.16 - cors@2.8.5: dependencies: object-assign: 4.1.1 @@ -5645,8 +5442,6 @@ snapshots: csv-parse@6.1.0: {} - cycle@1.0.3: {} - data-uri-to-buffer@4.0.1: {} date-fns@3.6.0: {} @@ -5692,10 +5487,6 @@ snapshots: detect-libc@2.0.4: {} - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - diff-match-patch@1.0.5: {} difflib@0.2.4: @@ -5728,8 +5519,6 @@ snapshots: electron-to-chromium@1.5.200: {} - emoji-regex-xs@1.0.0: {} - emoji-regex@8.0.0: {} encodeurl@1.0.2: {} @@ -5902,9 +5691,9 @@ snapshots: transitivePeerDependencies: - supports-color - extend@3.0.2: {} + exsolve@1.0.7: {} - eyes@0.1.8: {} + extend@3.0.2: {} fast-check@3.23.2: dependencies: @@ -5973,8 +5762,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-up-simple@1.0.1: {} - find-workspaces@0.3.1: dependencies: fast-glob: 3.3.3 @@ -6155,24 +5942,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-to-html@9.0.5: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 3.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.4 - zwitch: 2.0.4 - - hast-util-whitespace@3.0.0: - dependencies: - '@types/hast': 3.0.4 - heap@0.2.7: {} help-me@5.0.0: {} @@ -6188,8 +5957,6 @@ snapshots: hono@4.9.1: {} - html-void-elements@3.0.0: {} - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -6268,8 +6035,6 @@ snapshots: is-url@1.2.4: {} - is-what@4.1.16: {} - is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -6282,8 +6047,6 @@ snapshots: isexe@2.0.0: {} - isstream@0.1.2: {} - joycon@3.1.1: {} js-base64@3.7.8: {} @@ -6381,6 +6144,12 @@ snapshots: '@libsql/linux-x64-musl': 0.5.20 '@libsql/win32-x64-msvc': 0.5.20 + local-pkg@1.1.2: + dependencies: + mlly: 1.7.4 + pkg-types: 2.3.0 + quansync: 0.2.11 + lodash.camelcase@4.3.0: {} lodash.includes@4.3.0: {} @@ -6397,8 +6166,6 @@ snapshots: lodash.once@4.1.1: {} - lodash@4.17.21: {} - long@5.3.2: {} lru-cache@5.1.1: @@ -6409,14 +6176,13 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - mastra@0.10.23(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(react@19.1.1)(typescript@5.9.2): + mastra@0.11.3-alpha.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76): dependencies: '@clack/prompts': 0.11.0 - '@lukeed/uuid': 2.0.1 - '@mastra/core': 0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/deployer': 0.14.1(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2) - '@mastra/loggers': 0.10.7(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) - '@mastra/mcp': 0.10.12(@mastra/core@0.14.1(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/deployer': 0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76) + '@mastra/loggers': 0.10.10-alpha.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + '@mastra/mcp': 0.11.3-alpha.3(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@opentelemetry/auto-instrumentations-node': 0.62.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)) '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) @@ -6432,17 +6198,12 @@ snapshots: execa: 9.6.0 fs-extra: 11.3.1 get-port: 7.1.0 - json-schema-to-zod: 2.6.1 open: 10.2.0 picocolors: 1.1.1 posthog-node: 4.18.0 prettier: 3.6.2 - prompt: 1.3.0 shell-quote: 1.8.3 - shiki: 1.29.2 strip-json-comments: 5.0.3 - superjson: 2.2.2 - swr: 2.3.6(react@19.1.1) tcp-port-used: 1.0.2 yocto-spinner: 0.2.3 zod: 3.25.76 @@ -6451,24 +6212,11 @@ snapshots: - '@opentelemetry/api' - debug - encoding - - react - supports-color - typescript math-intrinsics@1.1.0: {} - mdast-util-to-hast@13.2.0: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - media-typer@0.3.0: {} media-typer@1.1.0: {} @@ -6481,23 +6229,6 @@ snapshots: methods@1.1.2: {} - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-encode@2.0.1: {} - - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 - - micromark-util-symbol@2.0.1: {} - - micromark-util-types@2.0.2: {} - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -6534,8 +6265,6 @@ snapshots: ms@2.1.3: {} - mute-stream@0.0.8: {} - mute-stream@2.0.0: {} nanoid@3.3.11: {} @@ -6577,12 +6306,6 @@ snapshots: dependencies: wrappy: 1.0.2 - oniguruma-to-es@2.3.0: - dependencies: - emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 - open@10.2.0: dependencies: default-browser: 5.2.1 @@ -6594,10 +6317,6 @@ snapshots: p-map@7.0.3: {} - package-directory@8.1.0: - dependencies: - find-up-simple: 1.0.1 - parse-ms@4.0.0: {} parseurl@1.3.3: {} @@ -6722,6 +6441,12 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + postgres-array@2.0.0: {} postgres-bytea@1.0.0: {} @@ -6750,16 +6475,6 @@ snapshots: promise-limit@2.7.0: {} - prompt@1.3.0: - dependencies: - '@colors/colors': 1.5.0 - async: 3.2.3 - read: 1.0.7 - revalidator: 0.1.8 - winston: 2.4.7 - - property-information@7.1.0: {} - protobufjs@7.5.3: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -6800,6 +6515,8 @@ snapshots: dependencies: side-channel: 1.1.0 + quansync@0.2.11: {} + queue-microtask@1.2.3: {} quick-format-unescaped@4.0.4: {} @@ -6824,10 +6541,6 @@ snapshots: react@19.1.1: {} - read@1.0.7: - dependencies: - mute-stream: 0.0.8 - real-require@0.2.0: {} redis@5.8.2: @@ -6838,17 +6551,6 @@ snapshots: '@redis/search': 5.8.2(@redis/client@5.8.2) '@redis/time-series': 5.8.2(@redis/client@5.8.2) - regex-recursion@5.1.1: - dependencies: - regex: 5.1.1 - regex-utilities: 2.3.0 - - regex-utilities@2.3.0: {} - - regex@5.1.1: - dependencies: - regex-utilities: 2.3.0 - require-directory@2.1.1: {} require-in-the-middle@7.5.2: @@ -6871,47 +6573,46 @@ snapshots: reusify@1.1.0: {} - revalidator@0.1.8: {} - - rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.46.2): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.50.0): dependencies: debug: 4.4.1 es-module-lexer: 1.7.0 esbuild: 0.25.9 get-tsconfig: 4.10.1 - rollup: 4.46.2 + rollup: 4.50.0 unplugin-utils: 0.2.5 transitivePeerDependencies: - supports-color - rollup-plugin-node-externals@8.0.1(rollup@4.46.2): + rollup-plugin-node-externals@8.0.1(rollup@4.50.0): dependencies: - rollup: 4.46.2 + rollup: 4.50.0 - rollup@4.46.2: + rollup@4.50.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.46.2 - '@rollup/rollup-android-arm64': 4.46.2 - '@rollup/rollup-darwin-arm64': 4.46.2 - '@rollup/rollup-darwin-x64': 4.46.2 - '@rollup/rollup-freebsd-arm64': 4.46.2 - '@rollup/rollup-freebsd-x64': 4.46.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 - '@rollup/rollup-linux-arm-musleabihf': 4.46.2 - '@rollup/rollup-linux-arm64-gnu': 4.46.2 - '@rollup/rollup-linux-arm64-musl': 4.46.2 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 - '@rollup/rollup-linux-ppc64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-musl': 4.46.2 - '@rollup/rollup-linux-s390x-gnu': 4.46.2 - '@rollup/rollup-linux-x64-gnu': 4.46.2 - '@rollup/rollup-linux-x64-musl': 4.46.2 - '@rollup/rollup-win32-arm64-msvc': 4.46.2 - '@rollup/rollup-win32-ia32-msvc': 4.46.2 - '@rollup/rollup-win32-x64-msvc': 4.46.2 + '@rollup/rollup-android-arm-eabi': 4.50.0 + '@rollup/rollup-android-arm64': 4.50.0 + '@rollup/rollup-darwin-arm64': 4.50.0 + '@rollup/rollup-darwin-x64': 4.50.0 + '@rollup/rollup-freebsd-arm64': 4.50.0 + '@rollup/rollup-freebsd-x64': 4.50.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.0 + '@rollup/rollup-linux-arm-musleabihf': 4.50.0 + '@rollup/rollup-linux-arm64-gnu': 4.50.0 + '@rollup/rollup-linux-arm64-musl': 4.50.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.50.0 + '@rollup/rollup-linux-ppc64-gnu': 4.50.0 + '@rollup/rollup-linux-riscv64-gnu': 4.50.0 + '@rollup/rollup-linux-riscv64-musl': 4.50.0 + '@rollup/rollup-linux-s390x-gnu': 4.50.0 + '@rollup/rollup-linux-x64-gnu': 4.50.0 + '@rollup/rollup-linux-x64-musl': 4.50.0 + '@rollup/rollup-openharmony-arm64': 4.50.0 + '@rollup/rollup-win32-arm64-msvc': 4.50.0 + '@rollup/rollup-win32-ia32-msvc': 4.50.0 + '@rollup/rollup-win32-x64-msvc': 4.50.0 fsevents: 2.3.3 router@2.2.0: @@ -7008,17 +6709,6 @@ snapshots: shell-quote@1.8.3: {} - shiki@1.29.2: - dependencies: - '@shikijs/core': 1.29.2 - '@shikijs/engine-javascript': 1.29.2 - '@shikijs/engine-oniguruma': 1.29.2 - '@shikijs/langs': 1.29.2 - '@shikijs/themes': 1.29.2 - '@shikijs/types': 1.29.2 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -7059,14 +6749,10 @@ snapshots: dependencies: atomic-sleep: 1.0.0 - space-separated-tokens@2.0.2: {} - spex@3.4.1: {} split2@4.2.0: {} - stack-trace@0.0.10: {} - statuses@2.0.1: {} statuses@2.0.2: {} @@ -7079,11 +6765,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - stringify-entities@4.0.4: - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7094,10 +6775,6 @@ snapshots: suffix-thumb@5.0.2: {} - superjson@2.2.2: - dependencies: - copy-anything: 3.0.5 - supports-preserve-symlinks-flag@1.0.0: {} swr@2.3.6(react@19.1.1): @@ -7127,8 +6804,6 @@ snapshots: tr46@0.0.3: {} - trim-lines@3.0.1: {} - tslib@2.8.1: {} tsx@4.20.4: @@ -7165,29 +6840,6 @@ snapshots: unicorn-magic@0.3.0: {} - unist-util-is@6.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-visit-parents@6.0.1: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - - unist-util-visit@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - universalify@2.0.1: {} unpipe@1.0.0: {} @@ -7219,16 +6871,6 @@ snapshots: vary@1.1.2: {} - vfile-message@4.0.3: - dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 - - vfile@6.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile-message: 4.0.3 - web-streams-polyfill@3.3.3: {} webidl-conversions@3.0.1: {} @@ -7242,15 +6884,6 @@ snapshots: dependencies: isexe: 2.0.0 - winston@2.4.7: - dependencies: - async: 2.6.4 - colors: 1.0.3 - cycle: 1.0.3 - eyes: 0.1.8 - isstream: 0.1.2 - stack-trace: 0.0.10 - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -7309,10 +6942,14 @@ snapshots: dependencies: zod: 3.25.76 + zod-from-json-schema@0.5.0: + dependencies: + zod: 4.1.5 + zod-to-json-schema@3.24.6(zod@3.25.76): dependencies: zod: 3.25.76 zod@3.25.76: {} - zwitch@2.0.4: {} + zod@4.1.5: {} From 94010a463f49d2f89cb6c0ff1dd2dfe7c1179275 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:29:18 -0700 Subject: [PATCH 22/31] fix: revert middleware changes --- src/mastra/middleware.ts | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/mastra/middleware.ts b/src/mastra/middleware.ts index 94a9a28..abbf8dc 100644 --- a/src/mastra/middleware.ts +++ b/src/mastra/middleware.ts @@ -59,26 +59,6 @@ export const serverMiddleware = [ handler: async (c: any, next: any) => { const url = new URL(c.req.url); - // In development mode, be more permissive - if (process.env.NODE_ENV !== 'production') { - // Allow all localhost requests in dev - if (url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '0.0.0.0') { - await next(); - return; - } - // Allow dev playground requests - const isDevPlayground = c.req.header('x-mastra-dev-playground') === 'true'; - if (isDevPlayground) { - await next(); - return; - } - // Allow API routes for dev playground functionality - if (url.pathname.startsWith('/api/') || url.pathname.startsWith('/agents/')) { - await next(); - return; - } - } - // Allow Playground system requests to pass (telemetry/memory/etc.) // The Playground adds this header on its internal API calls const isDevPlayground = c.req.header('x-mastra-dev-playground') === 'true'; From 72b861910eb0e7403bcf7cfc556935f6de95b10c Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:31:15 -0700 Subject: [PATCH 23/31] fix: remove debug only arg in index.ts --- src/mastra/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mastra/index.ts b/src/mastra/index.ts index 17f3b2e..894b8b4 100644 --- a/src/mastra/index.ts +++ b/src/mastra/index.ts @@ -17,7 +17,7 @@ export const mastra = new Mastra({ storage: postgresStore, logger: new PinoLogger({ name: 'Mastra', - level: 'debug', // Change from 'info' to 'debug' to capture more error details + level: 'info', // Change from 'info' to 'debug' to capture more error details }), telemetry: { From d9146934fb6830430e3acc9e1d471434e226436e Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Wed, 3 Sep 2025 23:15:42 -0700 Subject: [PATCH 24/31] fix: better websocket event handling --- src/mastra/agents/web-automation-agent.ts | 5 +-- src/mastra/browser-streaming.ts | 47 +++++++++++++++-------- src/mastra/mcp.ts | 9 +++-- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/mastra/agents/web-automation-agent.ts b/src/mastra/agents/web-automation-agent.ts index b26df4c..78ea247 100644 --- a/src/mastra/agents/web-automation-agent.ts +++ b/src/mastra/agents/web-automation-agent.ts @@ -51,9 +51,8 @@ export const webAutomationAgent = new Agent({ **Core Approach:** 1. AUTONOMOUS: Take decisive action without asking for permission - 2. BROWSER-FIRST: When asked to do web automation, create a browser artifact at the start of web automation tasks using the createBrowserArtifact tool - 3. DATA-DRIVEN: When user data is available, use it immediately to populate forms - 4. GOAL-ORIENTED: Always work towards completing the stated objective + 2. DATA-DRIVEN: When user data is available, use it immediately to populate forms + 3. GOAL-ORIENTED: Always work towards completing the stated objective **Step Management Protocol:** - You have a limited number of steps (tool calls) available diff --git a/src/mastra/browser-streaming.ts b/src/mastra/browser-streaming.ts index 1c0eeac..4c15032 100644 --- a/src/mastra/browser-streaming.ts +++ b/src/mastra/browser-streaming.ts @@ -115,19 +115,25 @@ export class BrowserStreamingService extends EventEmitter { // Connect to the Playwright MCP server's CDP endpoint with retry logic let cdpEndpoint = null; let retries = 0; - const maxRetries = 10; + const maxRetries = 15; // Increased retries for better reliability while (!cdpEndpoint && retries < maxRetries) { cdpEndpoint = await this.getCDPEndpoint(); if (!cdpEndpoint) { console.log(`Attempt ${retries + 1}/${maxRetries}: Waiting for Playwright browser to be available...`); - await new Promise(resolve => setTimeout(resolve, 2000)); + await new Promise(resolve => setTimeout(resolve, 1500)); // Slightly faster retry retries++; } } if (!cdpEndpoint) { - throw new Error('Could not get CDP endpoint from Playwright MCP server after multiple attempts'); + const errorMsg = 'Could not get CDP endpoint from Playwright MCP server after multiple attempts'; + console.error(errorMsg); + ws.send(JSON.stringify({ + type: 'error', + error: errorMsg + })); + return; } // Connect to CDP and start screencast @@ -148,22 +154,31 @@ export class BrowserStreamingService extends EventEmitter { everyNthFrame: 1 // Capture every frame for smooth streaming }); - // Handle screencast frames + // Handle screencast frames with better error handling Page.screencastFrame((params: any) => { - const frame: BrowserFrame = { - type: 'frame', - data: params.data, // Base64 encoded JPEG - timestamp: Date.now(), - sessionId - }; + try { + const frame: BrowserFrame = { + type: 'frame', + data: params.data, // Base64 encoded JPEG + timestamp: Date.now(), + sessionId + }; + + // Send frame to WebSocket client with connection check + if (ws.readyState === WebSocket.OPEN) { + ws.send(JSON.stringify(frame)); + } else if (ws.readyState === WebSocket.CLOSED) { + console.log(`WebSocket closed for session ${sessionId}, stopping capture`); + this.stopBrowserCapture(sessionId); + return; + } - // Send frame to WebSocket client - if (ws.readyState === WebSocket.OPEN) { - ws.send(JSON.stringify(frame)); + // Acknowledge the frame + Page.screencastFrameAck({ sessionId: params.sessionId }); + } catch (error) { + console.error('Error handling screencast frame:', error); + // Don't stop the entire capture for frame errors, just log them } - - // Acknowledge the frame - Page.screencastFrameAck({ sessionId: params.sessionId }); }); // Store session info diff --git a/src/mastra/mcp.ts b/src/mastra/mcp.ts index 78d4bc9..fa4e7fb 100644 --- a/src/mastra/mcp.ts +++ b/src/mastra/mcp.ts @@ -28,11 +28,12 @@ export const playwrightMCP = new MCPClient({ "--headless", "--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "--viewport-size=1920,1080", - `--output-dir=${outputDir}`, - "--save-trace", - "--isolated" - // Note: Removed --save-session for clean browser state on each run + // `--output-dir=${outputDir}`, + // "--save-trace", + // "--isolated" + // Note: Removed --save-trace and --save-session for clean browser state on each run // Add back --save-session if you want to persist browser state between conversations + // Note: artifacts will not be saved to the output directory unless the args are uncommented ], env: { } From 9c6e02faf996e4eb7a083a6ca9e1e34e8693d317 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Thu, 11 Sep 2025 14:05:56 -0400 Subject: [PATCH 25/31] feat: update for Mastra --- package.json | 8 +- pnpm-lock.yaml | 768 +++++++++++++++++++++++++------------------------ 2 files changed, 401 insertions(+), 375 deletions(-) diff --git a/package.json b/package.json index 8bb5d6f..10a3b74 100644 --- a/package.json +++ b/package.json @@ -32,11 +32,11 @@ "@ai-sdk/google-vertex": "^3.0.16", "@ai-sdk/openai": "^1.3.23", "@inquirer/prompts": "^7.7.1", - "@mastra/core": "0.15.3-alpha.7", + "@mastra/core": "^0.16.0", "@mastra/evals": "^0.12.1", "@mastra/libsql": "^0.13.4", - "@mastra/loggers": "^0.10.7", - "@mastra/mcp": "^0.10.12", + "@mastra/loggers": "^0.10.11", + "@mastra/mcp": "^0.11.4", "@mastra/memory": "^0.13.1", "@mastra/pg": "^0.14.2", "@types/jsonwebtoken": "^9.0.10", @@ -57,7 +57,7 @@ "devDependencies": { "@types/node": "^24.1.0", "@types/pg": "^8.15.4", - "mastra": "0.11.3-alpha.4", + "mastra": "^0.12.0", "typescript": "^5.8.3" }, "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74a0cb2..7a12b64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,26 +24,26 @@ importers: specifier: ^7.7.1 version: 7.8.2(@types/node@24.2.1) '@mastra/core': - specifier: 0.15.3-alpha.7 - version: 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + specifier: ^0.16.0 + version: 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/evals': specifier: ^0.12.1 - version: 0.12.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) + version: 0.12.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) '@mastra/libsql': specifier: ^0.13.4 - version: 0.13.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + version: 0.13.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/loggers': - specifier: ^0.10.7 - version: 0.10.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + specifier: ^0.10.11 + version: 0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/mcp': - specifier: ^0.10.12 - version: 0.10.12(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + specifier: ^0.11.4 + version: 0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@mastra/memory': specifier: ^0.13.1 - version: 0.13.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) + version: 0.13.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) '@mastra/pg': specifier: ^0.14.2 - version: 0.14.2(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) + version: 0.14.2(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) '@types/jsonwebtoken': specifier: ^9.0.10 version: 9.0.10 @@ -94,8 +94,8 @@ importers: specifier: ^8.15.4 version: 8.15.5 mastra: - specifier: 0.11.3-alpha.4 - version: 0.11.3-alpha.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76) + specifier: ^0.12.0 + version: 0.12.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76) typescript: specifier: ^5.8.3 version: 5.9.2 @@ -718,16 +718,16 @@ packages: cpu: [x64] os: [win32] - '@mastra/core@0.15.3-alpha.7': - resolution: {integrity: sha512-OHeGGGzVfgXkBCtJE4JtfP8AV95+8hjPwx8zrZgxqYzXxNyDkup3PlYsZoI12MGEvsZhbuXwbtz1mOZL1WbvzA==} + '@mastra/core@0.16.0': + resolution: {integrity: sha512-o1QBP4CemS9lcfY3fiQ1p7+WQschoG08dZakElaQS/zvUzj0vB+7vwVprAVELGx/3a1cDb+iM8Yo2LXiZYbYag==} engines: {node: '>=20'} peerDependencies: zod: ^3.25.0 || ^4.0.0 - '@mastra/deployer@0.15.3-alpha.7': - resolution: {integrity: sha512-l83O2BVBDXK9HNfkVzihzY1eVZEGlXasF3agobs6xlT1RH9LIGvopnRapXPaVlxlkb3DA8y71orK82adc/C7CA==} + '@mastra/deployer@0.16.0': + resolution: {integrity: sha512-ksBe3Y3sRzZGq6smqfAEiZppPZG1J7x0Vs4+BRoV/3MKHjbXP08chmIn+5vh9nYGpHG2ioMgMUx6YENSEIEisg==} peerDependencies: - '@mastra/core': '>=0.15.3-0 <0.16.0-0' + '@mastra/core': '>=0.16.0-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 '@mastra/evals@0.12.1': @@ -741,26 +741,15 @@ packages: peerDependencies: '@mastra/core': '>=0.13.0-0 <0.15.0-0' - '@mastra/loggers@0.10.10-alpha.1': - resolution: {integrity: sha512-HrX6yBjmbDDyixTuhEEQjgwzze+bpd5arndSpHw+AFCTgLfxqIXgKIgbtYxc8Zb5Lk3hBVnYWsrCa5N+B0hGLA==} + '@mastra/loggers@0.10.11': + resolution: {integrity: sha512-Mhm2SqK0cwUMfP8Je8aeKOsupMj7A9/WmGmSc4eSfjsauYDloOVeq0+mPfMtM27jp88Fe0fP2CIsJpeMHP6i3g==} peerDependencies: - '@mastra/core': '>=0.15.3-0 <0.16.0-0' + '@mastra/core': '>=0.15.3-0 <0.17.0-0' - '@mastra/loggers@0.10.7': - resolution: {integrity: sha512-o9CrEdZRvy3RWaFWWMiTKke1PgRjGt1TJ3RilSoLnpqTE6Fg41XdVQ9jULwxHOACoumEScfhOwsuvb1oZTI5Sw==} + '@mastra/mcp@0.11.4': + resolution: {integrity: sha512-s9PntELzEF/EEJq4LOMlCbJpYrd5nIbow58Z+TydQzj3tVj0FFsMtzJrNxNA8zx6hEWSVW6F8xidzrry6pe/vw==} peerDependencies: - '@mastra/core': '>=0.10.4-0 <0.15.0-0' - - '@mastra/mcp@0.10.12': - resolution: {integrity: sha512-/nrRMXFtqOqUqlX9EXJlqsr+rcqUznXJ3LyKvrz5BumwvOKncPVXxT7AdKt3LaGJnlK/4NwM20YIfxF5Qx32ow==} - peerDependencies: - '@mastra/core': '>=0.10.2-0 <0.15.0-0' - zod: ^3.0.0 - - '@mastra/mcp@0.11.3-alpha.3': - resolution: {integrity: sha512-jmFxn2meaTyLiXgXQLNt16NSrmTAVHrTXvW60V1G9gAKcgbqomiA/lWKoifZEZz3S9p4m+ht8mHcl+UnpIZAaw==} - peerDependencies: - '@mastra/core': '>=0.15.3-0 <0.16.0-0' + '@mastra/core': '>=0.15.3-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 '@mastra/memory@0.13.1': @@ -779,16 +768,16 @@ packages: ai: ^4.0.0 zod: ^3.0.0 - '@mastra/schema-compat@0.11.2-alpha.3': - resolution: {integrity: sha512-mROd92fYsOki0W4WXXYb9B74m+Ohf2VssnDaH2U5WPhiqv35Iy6mkLxfyKB+MRiKMOjVbjyceNlRmUfKCbRqDw==} + '@mastra/schema-compat@0.11.2': + resolution: {integrity: sha512-aTz1aWlQKgK+u+xS3nxwVSKn4nSwgaMWlNi+hWSjokP62TpqNmo9/W1a/MdoaqSHZ3ljj0h+so663WOcJrTNzg==} peerDependencies: ai: ^4.0.0 || ^5.0.0 zod: ^3.25.0 || ^4.0.0 - '@mastra/server@0.15.3-alpha.7': - resolution: {integrity: sha512-Qn39VIJ2c2oOrdszyvP7owhqdN1LWSyzE61GQ7caxLSu/0Bm2zCk/Nn0PpTckp8T1r0TbNWlUr7LIxyLcdmyyA==} + '@mastra/server@0.16.0': + resolution: {integrity: sha512-IoSvrlZl7JPiL0ftqDIfXyGprQDY9oF+V8OdEm1+24+TwYuBVJUHkgf0VO3l2zBBhwDPJw59hYmaU9BHLWp0NQ==} peerDependencies: - '@mastra/core': '>=0.15.3-0 <0.16.0-0' + '@mastra/core': '>=0.16.0-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 '@modelcontextprotocol/sdk@1.17.2': @@ -825,8 +814,8 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@opentelemetry/auto-instrumentations-node@0.62.1': - resolution: {integrity: sha512-FmPlWS7Dg6E3kP0vv19Pyhq3sqSi8tyn8IZh2RV73UsrcEZeQ3gUTf2Ar8iPRgbsxTukQHRoMGcaCVBsFVRVPw==} + '@opentelemetry/auto-instrumentations-node@0.62.2': + resolution: {integrity: sha512-Ipe6X7ddrCiRsuewyTU83IvKiSFT4piqmv9z8Ovg1E7v98pdTj1pUE6sDrHV50zl7/ypd+cONBgt+EYSZu4u9Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.4.1 @@ -838,12 +827,24 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/context-async-hooks@2.1.0': + resolution: {integrity: sha512-zOyetmZppnwTyPrt4S7jMfXiSX9yyfF0hxlA8B5oo2TtKl+/RGCy7fi4DrBfIf3lCPrkKsRBWZZD7RFojK7FDg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.0.1': resolution: {integrity: sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.1.0': + resolution: {integrity: sha512-RMEtHsxJs/GiHHxYT58IY57UXAQTuUnZVco6ymDEqTNlJKTimM4qPUPVe8InNFyBjhHBEAx4k3Q8LtNayBsbUQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/exporter-logs-otlp-grpc@0.203.0': resolution: {integrity: sha512-g/2Y2noc/l96zmM+g0LdeuyYKINyBwN6FJySoU15LHPLcMN/1a0wNk2SegwKcxrRdE7Xsm7fkIR5n6XFe3QpPw==} engines: {node: ^18.19.0 || >=20.6.0} @@ -916,14 +917,14 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-aws-lambda@0.54.0': - resolution: {integrity: sha512-uiYI+kcMUJ/H9cxAwB8c9CaG8behLRgcYSOEA8M/tMQ54Y1ZmzAuEE3QKOi21/s30x5Q+by9g7BwiVfDtqzeMA==} + '@opentelemetry/instrumentation-aws-lambda@0.54.1': + resolution: {integrity: sha512-qm8pGSAM1mXk7unbrGktWWGJc6IFI58ZsaHJ+i420Fp5VO3Vf7GglIgaXTS8CKBrVB4LHFj3NvzJg31PtsAQcA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-aws-sdk@0.57.0': - resolution: {integrity: sha512-RfbyjaeZzX3mPhuaRHlSAQyfX3skfeWOl30jrqSXtE9k0DPdnIqpHhdYS0C/DEDuZbwTmruVJ4cUwMBw5Z6FAg==} + '@opentelemetry/instrumentation-aws-sdk@0.58.0': + resolution: {integrity: sha512-9vFH7gU686dsAeLMCkqUj9y0MQZ1xrTtStSpNV2UaGWtDnRjJrAdJLu9Y545oKEaDTeVaob4UflyZvvpZnw3Xw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -946,8 +947,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-cucumber@0.18.1': - resolution: {integrity: sha512-gTfT7AuA0UH0TvqWOXnyr2KCv7mvZsOUmqCrtnU/RDcZ9J3nIX4OBfl7VVXE0fJlLqP7KIDggQ8O9g7rmaVLhA==} + '@opentelemetry/instrumentation-cucumber@0.19.0': + resolution: {integrity: sha512-99ms8kQWRuPt5lkDqbJJzD+7Tq5TMUlBZki4SA2h6CgK4ncX+tyep9XFY1e+XTBLJIWmuFMGbWqBLJ4fSKIQNQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1090,20 +1091,20 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-pg@0.56.0': - resolution: {integrity: sha512-A/J4SlGX8Y0Wwp7Y66fsNCFT/1h9lmBzqwTnfWW/bULtcKFqkQfqhs3G8+4cRxX02UI2z7T1aW5bsyc6QSYc1Q==} + '@opentelemetry/instrumentation-pg@0.56.1': + resolution: {integrity: sha512-0/PiHDPVaLdcXNw6Gqb3JBdMxComMEwh444X8glwiynJKJHRTR49+l2cqJfoOVzB8Sl1XRl3Yaqw6aDi3s8e9w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-pino@0.50.0': - resolution: {integrity: sha512-Pi0cWGp4f2gresq2xqef4IsuunLdebJ9n9tZxytDz2ci4euIfW36ILpszQmRNhwCVDCZLmUgGDKZGj4PXyPd0w==} + '@opentelemetry/instrumentation-pino@0.50.1': + resolution: {integrity: sha512-pBbvuWiHA9iAumAuQ0SKYOXK7NRlbnVTf/qBV0nMdRnxBPrc/GZTbh0f7Y59gZfYsbCLhXLL1oRTEnS+PwS3CA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-redis@0.51.0': - resolution: {integrity: sha512-uL/GtBA0u72YPPehwOvthAe+Wf8k3T+XQPBssJmTYl6fzuZjNq8zTfxVFhl9nRFjFVEe+CtiYNT0Q3AyqW1Z0A==} + '@opentelemetry/instrumentation-redis@0.52.0': + resolution: {integrity: sha512-R8Y7cCZlJ2Vl31S2i7bl5SqyC/aul54ski4wCFip/Tp9WGtLK1xVATi2rwy2wkc8ZCtjdEe9eEVR+QFG6gGZxg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -1174,12 +1175,6 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/propagation-utils@0.31.3': - resolution: {integrity: sha512-ZI6LKjyo+QYYZY5SO8vfoCQ9A69r1/g+pyjvtu5RSK38npINN1evEmwqbqhbg2CdcIK3a4PN6pDAJz/yC5/gAA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - '@opentelemetry/propagator-b3@2.0.1': resolution: {integrity: sha512-Hc09CaQ8Tf5AGLmf449H726uRoBNGPBL4bjr7AnnUpzWMvhdn61F78z9qb6IqB737TffBsokGAK1XykFEZ1igw==} engines: {node: ^18.19.0 || >=20.6.0} @@ -1196,14 +1191,14 @@ packages: resolution: {integrity: sha512-4Wc0AWURII2cfXVVoZ6vDqK+s5n4K5IssdrlVrvGsx6OEOKdghKtJZqXAHWFiZv4nTDLH2/2fldjIHY8clMOjQ==} engines: {node: ^18.19.0 || >=20.6.0} - '@opentelemetry/resource-detector-alibaba-cloud@0.31.3': - resolution: {integrity: sha512-I556LHcLVsBXEgnbPgQISP/JezDt5OfpgOaJNR1iVJl202r+K145OSSOxnH5YOc/KvrydBD0FOE03F7x0xnVTw==} + '@opentelemetry/resource-detector-alibaba-cloud@0.31.4': + resolution: {integrity: sha512-+GuEcADueC99feBfTYV4jR/BWuORwGGtsTVC4Xw0PsGpCMaqkKIS/BLcy/B9vy8UCAGNIHdSgeMk4yqHh3X3vQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/resource-detector-aws@2.3.0': - resolution: {integrity: sha512-PkD/lyXG3B3REq1Y6imBLckljkJYXavtqGYSryAeJYvGOf5Ds3doR+BCGjmKeF6ObAtI5MtpBeUStTDtGtBsWA==} + '@opentelemetry/resource-detector-aws@2.4.0': + resolution: {integrity: sha512-YrJLvAkzQ5ckPwIwOe+uBzAgTUaK+iDR/fr5dEMOh+2C8i0qkJwHo6dVaA3SuZf4u3Qg3e3eGSOiK0lFnDUExQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1214,8 +1209,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/resource-detector-container@0.7.3': - resolution: {integrity: sha512-SK+xUFw6DKYbQniaGmIFsFxAZsr8RpRSRWxKi5/ZJAoqqPnjcyGI/SeUx8zzPk4XLO084zyM4pRHgir0hRTaSQ==} + '@opentelemetry/resource-detector-container@0.7.4': + resolution: {integrity: sha512-fzYiIAZLH8T9k6nG46mqX4n+Hv4CRXhWEV9dDy4ZUC927JNmUPr6yqTwxMMGbKwIzM4rwJsDmveQD4cf42wvbw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1232,6 +1227,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/resources@2.1.0': + resolution: {integrity: sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-logs@0.203.0': resolution: {integrity: sha512-vM2+rPq0Vi3nYA5akQD2f3QwossDnTDLvKbea6u/A2NZ3XDkPxMfo/PNrDoXhDUD/0pPo2CdH5ce/thn9K0kLw==} engines: {node: ^18.19.0 || >=20.6.0} @@ -1244,6 +1245,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' + '@opentelemetry/sdk-metrics@2.1.0': + resolution: {integrity: sha512-J9QX459mzqHLL9Y6FZ4wQPRZG4TOpMCyPOh6mkr/humxE1W2S3Bvf4i75yiMW9uyed2Kf5rxmLhTm/UK8vNkAw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.9.0 <1.10.0' + '@opentelemetry/sdk-node@0.203.0': resolution: {integrity: sha512-zRMvrZGhGVMvAbbjiNQW3eKzW/073dlrSiAKPVWmkoQzah9wfynpVPeL55f9fVIm0GaBxTLcPeukWGy0/Wj7KQ==} engines: {node: ^18.19.0 || >=20.6.0} @@ -1256,14 +1263,26 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.1.0': + resolution: {integrity: sha512-uTX9FBlVQm4S2gVQO1sb5qyBLq/FPjbp+tmGoxu4tIgtYGmBYB44+KX/725RFDe30yBSaA9Ml9fqphe1hbUyLQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-node@2.0.1': resolution: {integrity: sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/semantic-conventions@1.36.0': - resolution: {integrity: sha512-TtxJSRD8Ohxp6bKkhrm27JRHAxPczQA7idtcTOMYI+wQRRrfgqxHv1cFbCApcSnNjtXkmzFozn6jQtFrOmbjPQ==} + '@opentelemetry/sdk-trace-node@2.1.0': + resolution: {integrity: sha512-SvVlBFc/jI96u/mmlKm86n9BbTCbQ35nsPoOohqJX6DXH92K0kTe73zGY5r8xoI1QkjR9PizszVJLzMC966y9Q==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/semantic-conventions@1.37.0': + resolution: {integrity: sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==} engines: {node: '>=14'} '@opentelemetry/sql-common@0.41.0': @@ -1403,108 +1422,108 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.50.0': - resolution: {integrity: sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==} + '@rollup/rollup-android-arm-eabi@4.50.1': + resolution: {integrity: sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.50.0': - resolution: {integrity: sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==} + '@rollup/rollup-android-arm64@4.50.1': + resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.50.0': - resolution: {integrity: sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==} + '@rollup/rollup-darwin-arm64@4.50.1': + resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.50.0': - resolution: {integrity: sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==} + '@rollup/rollup-darwin-x64@4.50.1': + resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.50.0': - resolution: {integrity: sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==} + '@rollup/rollup-freebsd-arm64@4.50.1': + resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.50.0': - resolution: {integrity: sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==} + '@rollup/rollup-freebsd-x64@4.50.1': + resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.50.0': - resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==} + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.50.0': - resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==} + '@rollup/rollup-linux-arm-musleabihf@4.50.1': + resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.50.0': - resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==} + '@rollup/rollup-linux-arm64-gnu@4.50.1': + resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.50.0': - resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==} + '@rollup/rollup-linux-arm64-musl@4.50.1': + resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.50.0': - resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.50.0': - resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==} + '@rollup/rollup-linux-ppc64-gnu@4.50.1': + resolution: {integrity: sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.50.0': - resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==} + '@rollup/rollup-linux-riscv64-gnu@4.50.1': + resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.50.0': - resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==} + '@rollup/rollup-linux-riscv64-musl@4.50.1': + resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.50.0': - resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==} + '@rollup/rollup-linux-s390x-gnu@4.50.1': + resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.50.0': - resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==} + '@rollup/rollup-linux-x64-gnu@4.50.1': + resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.50.0': - resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==} + '@rollup/rollup-linux-x64-musl@4.50.1': + resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.50.0': - resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==} + '@rollup/rollup-openharmony-arm64@4.50.1': + resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.50.0': - resolution: {integrity: sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==} + '@rollup/rollup-win32-arm64-msvc@4.50.1': + resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.50.0': - resolution: {integrity: sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==} + '@rollup/rollup-win32-ia32-msvc@4.50.1': + resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.50.0': - resolution: {integrity: sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==} + '@rollup/rollup-win32-x64-msvc@4.50.1': + resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==} cpu: [x64] os: [win32] @@ -1530,8 +1549,8 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@types/aws-lambda@8.10.150': - resolution: {integrity: sha512-AX+AbjH/rH5ezX1fbK8onC/a+HyQHo7QGmvoxAE42n22OsciAxvZoZNEr22tbXs8WfP1nIsBjKDpgPm3HjOZbA==} + '@types/aws-lambda@8.10.152': + resolution: {integrity: sha512-soT/c2gYBnT5ygwiHPmd9a1bftj462NWVk2tKCc1PYHSIacB2UwbTS2zYG4jzag1mRDuzg/OjtxQjQ2NKRB6Rw==} '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -1587,9 +1606,6 @@ packages: '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} - '@types/pg@8.15.4': - resolution: {integrity: sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg==} - '@types/pg@8.15.5': resolution: {integrity: sha512-LF7lF6zWEKxuT3/OR8wAZGzkg4ENGXFNyiV/JeOt9z5B+0ZVwbql9McqX5c/WStFq1GaGso7H1AzP/qSzmlCKQ==} @@ -2041,6 +2057,10 @@ packages: resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} engines: {node: '>=20.0.0'} + eventsource-parser@3.0.6: + resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} + engines: {node: '>=18.0.0'} + eventsource@3.0.7: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} @@ -2329,8 +2349,8 @@ packages: zod-openapi: optional: true - hono@4.9.1: - resolution: {integrity: sha512-qfvdJ42t6CQE0N/iSCa8KsW8SQqYD67YB+TYbwPHlnALvX+s7ynh8otR1NEk5jXtUg73gpV/B82OSufDmwtX3w==} + hono@4.9.6: + resolution: {integrity: sha512-doVjXhSFvYZ7y0dNokjwwSahcrAfdz+/BCLvAMa/vHLzjj8+CFyV5xteThGUsKdkaasgN+gF2mUxao+SGLpUeA==} engines: {node: '>=16.9.0'} http-errors@2.0.0: @@ -2554,11 +2574,11 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - mastra@0.11.3-alpha.4: - resolution: {integrity: sha512-/7OzI2IAfRrIiPTycgWkSemCT1vEb032e0/t2uNw4tepTmy+Ytd0aOhTuHuAibSempRzD7i0VZDm2nFmzXcsqA==} + mastra@0.12.0: + resolution: {integrity: sha512-kfUEclPsxZ5h6Vy4Jylw+5xEAk4xF7AwoPD8k8VWiBOq8RzW7PjeF0xSEgY3LEgChtvorxtBe78F7/EESOq87Q==} hasBin: true peerDependencies: - '@mastra/core': '>=0.10.2-0 <0.16.0-0' + '@mastra/core': '>=0.10.2-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 math-intrinsics@1.1.0: @@ -2811,8 +2831,8 @@ packages: pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.9.0: - resolution: {integrity: sha512-zxsRIQG9HzG+jEljmvmZupOMDUQ0Jpj0yAgE28jQvvrdYTlEaiGwelJpdndMl/MBuRr70heIj83QyqJUWaU8mQ==} + pino@9.9.4: + resolution: {integrity: sha512-d1XorUQ7sSKqVcYdXuEYs2h1LKxejSorMEJ76XoZ0pPDf8VzJMe7GlPXpMBZeQ9gE4ZPIp5uGD+5Nw7scxiigg==} hasBin: true pkce-challenge@5.0.0: @@ -2967,8 +2987,8 @@ packages: peerDependencies: rollup: ^4.0.0 - rollup@4.50.0: - resolution: {integrity: sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==} + rollup@4.50.1: + resolution: {integrity: sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3284,8 +3304,8 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} - xstate@5.20.2: - resolution: {integrity: sha512-GZmLmc+WPKfFRxuTDAxCg0cUhS/ZnWaRD86DO8MKizeK4a050jd5k7UNnIQ2jJDWRig2/r0tmVXeezUNIhoz5Q==} + xstate@5.21.0: + resolution: {integrity: sha512-y4wmqxjyAa0tgz4k3m/MgTF1kDOahE5+xLfWt5eh1sk+43DatLhKlI8lQDJZpvihZavjbD3TUgy2PRMphhhqgQ==} xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} @@ -3421,7 +3441,7 @@ snapshots: dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) @@ -3963,7 +3983,7 @@ snapshots: '@libsql/win32-x64-msvc@0.5.20': optional: true - '@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': + '@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': dependencies: '@a2a-js/sdk': 0.2.5 '@ai-sdk/provider': 1.1.3 @@ -3971,36 +3991,36 @@ snapshots: '@ai-sdk/provider-utils-v5': '@ai-sdk/provider-utils@3.0.3(zod@3.25.76)' '@ai-sdk/provider-v5': '@ai-sdk/provider@2.0.0' '@ai-sdk/ui-utils': 1.2.11(zod@3.25.76) - '@mastra/schema-compat': 0.11.2-alpha.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/schema-compat': 0.11.2(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@opentelemetry/api': 1.9.0 - '@opentelemetry/auto-instrumentations-node': 0.62.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)) - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/auto-instrumentations-node': 0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-node': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-node': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@sindresorhus/slugify': 2.2.1 ai: 4.3.19(react@19.1.1)(zod@3.25.76) ai-v5: ai@5.0.28(zod@3.25.76) date-fns: 3.6.0 dotenv: 16.6.1 - hono: 4.9.1 - hono-openapi: 0.4.8(effect@3.16.12)(hono@4.9.1)(openapi-types@12.1.3)(zod@3.25.76) + hono: 4.9.6 + hono-openapi: 0.4.8(effect@3.16.12)(hono@4.9.6)(openapi-types@12.1.3)(zod@3.25.76) js-tiktoken: 1.0.21 json-schema: 0.4.0 json-schema-to-zod: 2.6.1 p-map: 7.0.3 - pino: 9.9.0 + pino: 9.9.4 pino-pretty: 13.1.1 radash: 12.1.1 sift: 17.1.3 - xstate: 5.20.2 + xstate: 5.21.0 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: @@ -4020,21 +4040,21 @@ snapshots: - valibot - zod-openapi - '@mastra/deployer@0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76)': + '@mastra/deployer@0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/server': 0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/server': 0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@neon-rs/load': 0.1.82 - '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.50.0) - '@rollup/plugin-alias': 5.1.1(rollup@4.50.0) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.0) - '@rollup/plugin-esm-shim': 0.1.8(rollup@4.50.0) - '@rollup/plugin-json': 6.1.0(rollup@4.50.0) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.0) - '@rollup/plugin-virtual': 3.0.2(rollup@4.50.0) + '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.50.1) + '@rollup/plugin-alias': 5.1.1(rollup@4.50.1) + '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.1) + '@rollup/plugin-esm-shim': 0.1.8(rollup@4.50.1) + '@rollup/plugin-json': 6.1.0(rollup@4.50.1) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.1) + '@rollup/plugin-virtual': 3.0.2(rollup@4.50.1) '@sindresorhus/slugify': 2.2.1 builtins: 5.1.0 detect-libc: 2.0.4 @@ -4043,21 +4063,21 @@ snapshots: find-workspaces: 0.3.1 fs-extra: 11.3.1 globby: 14.1.0 - hono: 4.9.1 + hono: 4.9.6 local-pkg: 1.1.2 resolve-from: 5.0.0 - rollup: 4.50.0 - rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.50.0) - rollup-plugin-node-externals: 8.0.1(rollup@4.50.0) + rollup: 4.50.1 + rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.50.1) + rollup-plugin-node-externals: 8.0.1(rollup@4.50.1) typescript-paths: 1.5.1(typescript@5.9.2) zod: 3.25.76 transitivePeerDependencies: - supports-color - typescript - '@mastra/evals@0.12.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': + '@mastra/evals@0.12.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) ai: 5.0.27(zod@3.25.76) compromise: 14.14.4 difflib: 0.2.4 @@ -4067,44 +4087,24 @@ snapshots: string-similarity: 4.0.4 zod: 3.25.76 - '@mastra/libsql@0.13.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/libsql@0.13.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: '@libsql/client': 0.15.14 - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) transitivePeerDependencies: - bufferutil - utf-8-validate - '@mastra/loggers@0.10.10-alpha.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/loggers@0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - pino: 9.9.0 + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + pino: 9.9.4 pino-pretty: 13.1.1 - '@mastra/loggers@0.10.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': - dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - pino: 9.9.0 - pino-pretty: 13.1.1 - - '@mastra/mcp@0.10.12(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': - dependencies: - '@apidevtools/json-schema-ref-parser': 14.1.1 - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@modelcontextprotocol/sdk': 1.17.2 - date-fns: 4.1.0 - exit-hook: 4.0.0 - fast-deep-equal: 3.1.3 - uuid: 11.1.0 - zod: 3.25.76 - zod-from-json-schema: 0.0.5 - transitivePeerDependencies: - - supports-color - - '@mastra/mcp@0.11.3-alpha.3(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/mcp@0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: '@apidevtools/json-schema-ref-parser': 14.1.1 - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@modelcontextprotocol/sdk': 1.17.5 date-fns: 4.1.0 exit-hook: 4.0.0 @@ -4116,9 +4116,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@mastra/memory@0.13.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': + '@mastra/memory@0.13.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/schema-compat': 0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@upstash/redis': 1.35.3 ai: 4.3.19(react@19.1.1)(zod@3.25.76) @@ -4137,9 +4137,9 @@ snapshots: - pg-native - react - '@mastra/pg@0.14.2(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': + '@mastra/pg@0.14.2(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) async-mutex: 0.5.0 pg: 8.16.3 pg-promise: 11.15.0(pg-query-stream@4.10.3(pg@8.16.3)) @@ -4156,7 +4156,7 @@ snapshots: zod-from-json-schema: 0.0.5 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/schema-compat@0.11.2-alpha.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/schema-compat@0.11.2(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: ai: 4.3.19(react@19.1.1)(zod@3.25.76) json-schema: 0.4.0 @@ -4165,9 +4165,9 @@ snapshots: zod-from-json-schema-v3: zod-from-json-schema@0.0.5 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/server@0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/server@0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) zod: 3.25.76 '@modelcontextprotocol/sdk@1.17.2': @@ -4194,7 +4194,7 @@ snapshots: cors: 2.8.5 cross-spawn: 7.0.6 eventsource: 3.0.7 - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 express: 5.1.0 express-rate-limit: 7.5.1(express@5.1.0) pkce-challenge: 5.0.0 @@ -4226,18 +4226,18 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@opentelemetry/auto-instrumentations-node@0.62.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0))': + '@opentelemetry/auto-instrumentations-node@0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.50.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-aws-lambda': 0.54.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-aws-sdk': 0.57.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-aws-lambda': 0.54.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-aws-sdk': 0.58.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-bunyan': 0.49.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-cassandra-driver': 0.49.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-connect': 0.47.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-cucumber': 0.18.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-cucumber': 0.19.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-dataloader': 0.21.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-dns': 0.47.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-express': 0.52.0(@opentelemetry/api@1.9.0) @@ -4261,9 +4261,9 @@ snapshots: '@opentelemetry/instrumentation-nestjs-core': 0.49.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-net': 0.47.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-oracledb': 0.29.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pg': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pino': 0.50.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-redis': 0.51.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.56.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pino': 0.50.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis': 0.52.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-restify': 0.49.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-router': 0.48.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-runtime-node': 0.17.1(@opentelemetry/api@1.9.0) @@ -4271,12 +4271,12 @@ snapshots: '@opentelemetry/instrumentation-tedious': 0.22.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-undici': 0.14.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-winston': 0.48.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-alibaba-cloud': 0.31.3(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-aws': 2.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-alibaba-cloud': 0.31.4(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-aws': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-azure': 0.10.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-container': 0.7.3(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-container': 0.7.4(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-gcp': 0.37.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.203.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - encoding @@ -4286,10 +4286,19 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 + + '@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/exporter-logs-otlp-grpc@0.203.0(@opentelemetry/api@1.9.0)': dependencies: @@ -4394,33 +4403,32 @@ snapshots: '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/instrumentation-amqplib@0.50.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-aws-lambda@0.54.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-aws-lambda@0.54.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - '@types/aws-lambda': 8.10.150 + '@opentelemetry/semantic-conventions': 1.37.0 + '@types/aws-lambda': 8.10.152 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-aws-sdk@0.57.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-aws-sdk@0.58.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/propagation-utils': 0.31.3(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4437,25 +4445,25 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-connect@0.47.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/connect': 3.4.38 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-cucumber@0.18.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-cucumber@0.19.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4476,25 +4484,25 @@ snapshots: '@opentelemetry/instrumentation-express@0.52.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-fastify@0.48.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-fs@0.23.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4517,16 +4525,16 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-hapi@0.50.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4535,7 +4543,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 forwarded-parse: 2.1.2 transitivePeerDependencies: - supports-color @@ -4545,7 +4553,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.0 - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4553,7 +4561,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4561,16 +4569,16 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-koa@0.51.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4585,7 +4593,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/memcached': 2.2.10 transitivePeerDependencies: - supports-color @@ -4594,16 +4602,16 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-mongoose@0.50.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4611,7 +4619,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sql-common': 0.41.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4620,7 +4628,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/mysql': 2.15.27 transitivePeerDependencies: - supports-color @@ -4629,7 +4637,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4637,7 +4645,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4645,47 +4653,47 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/oracledb': 6.5.2 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-pg@0.56.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-pg@0.56.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sql-common': 0.41.0(@opentelemetry/api@1.9.0) - '@types/pg': 8.15.4 + '@types/pg': 8.15.5 '@types/pg-pool': 2.0.6 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-pino@0.50.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-pino@0.50.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-redis@0.51.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-redis@0.52.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.0 - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color '@opentelemetry/instrumentation-restify@0.49.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4693,7 +4701,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4708,7 +4716,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4716,7 +4724,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -4724,7 +4732,7 @@ snapshots: '@opentelemetry/instrumentation-undici@0.14.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4771,10 +4779,6 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) protobufjs: 7.5.3 - '@opentelemetry/propagation-utils@0.31.3(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/propagator-b3@2.0.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -4787,40 +4791,40 @@ snapshots: '@opentelemetry/redis-common@0.38.0': {} - '@opentelemetry/resource-detector-alibaba-cloud@0.31.3(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-alibaba-cloud@0.31.4(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 - '@opentelemetry/resource-detector-aws@2.3.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-aws@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/resource-detector-azure@0.10.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 - '@opentelemetry/resource-detector-container@0.7.3(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-container@0.7.4(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/resource-detector-gcp@0.37.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 gcp-metadata: 6.1.1 transitivePeerDependencies: - encoding @@ -4830,7 +4834,13 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 + + '@opentelemetry/resources@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sdk-logs@0.203.0(@opentelemetry/api@1.9.0)': dependencies: @@ -4845,6 +4855,12 @@ snapshots: '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-node@0.203.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -4869,7 +4885,7 @@ snapshots: '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-node': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4878,7 +4894,14 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/semantic-conventions': 1.37.0 + + '@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sdk-trace-node@2.0.1(@opentelemetry/api@1.9.0)': dependencies: @@ -4887,18 +4910,25 @@ snapshots: '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions@1.36.0': {} + '@opentelemetry/sdk-trace-node@2.1.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/semantic-conventions@1.37.0': {} '@opentelemetry/sql-common@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.50.0)': + '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.50.1)': dependencies: '@optimize-lodash/transform': 3.0.6 - '@rollup/pluginutils': 5.2.0(rollup@4.50.0) - rollup: 4.50.0 + '@rollup/pluginutils': 5.2.0(rollup@4.50.1) + rollup: 4.50.1 '@optimize-lodash/transform@3.0.6': dependencies: @@ -4948,13 +4978,13 @@ snapshots: dependencies: '@redis/client': 5.8.2 - '@rollup/plugin-alias@5.1.1(rollup@4.50.0)': + '@rollup/plugin-alias@5.1.1(rollup@4.50.1)': optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/plugin-commonjs@28.0.6(rollup@4.50.0)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.50.1)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.0) + '@rollup/pluginutils': 5.2.0(rollup@4.50.1) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.3) @@ -4962,104 +4992,104 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/plugin-esm-shim@0.1.8(rollup@4.50.0)': + '@rollup/plugin-esm-shim@0.1.8(rollup@4.50.1)': dependencies: magic-string: 0.30.17 mlly: 1.7.4 optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/plugin-json@6.1.0(rollup@4.50.0)': + '@rollup/plugin-json@6.1.0(rollup@4.50.1)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.0) + '@rollup/pluginutils': 5.2.0(rollup@4.50.1) optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.0)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.1)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.0) + '@rollup/pluginutils': 5.2.0(rollup@4.50.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/plugin-virtual@3.0.2(rollup@4.50.0)': + '@rollup/plugin-virtual@3.0.2(rollup@4.50.1)': optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/pluginutils@5.2.0(rollup@4.50.0)': + '@rollup/pluginutils@5.2.0(rollup@4.50.1)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.0 + rollup: 4.50.1 - '@rollup/rollup-android-arm-eabi@4.50.0': + '@rollup/rollup-android-arm-eabi@4.50.1': optional: true - '@rollup/rollup-android-arm64@4.50.0': + '@rollup/rollup-android-arm64@4.50.1': optional: true - '@rollup/rollup-darwin-arm64@4.50.0': + '@rollup/rollup-darwin-arm64@4.50.1': optional: true - '@rollup/rollup-darwin-x64@4.50.0': + '@rollup/rollup-darwin-x64@4.50.1': optional: true - '@rollup/rollup-freebsd-arm64@4.50.0': + '@rollup/rollup-freebsd-arm64@4.50.1': optional: true - '@rollup/rollup-freebsd-x64@4.50.0': + '@rollup/rollup-freebsd-x64@4.50.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.50.0': + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.50.0': + '@rollup/rollup-linux-arm-musleabihf@4.50.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.50.0': + '@rollup/rollup-linux-arm64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.50.0': + '@rollup/rollup-linux-arm64-musl@4.50.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.50.0': + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.50.0': + '@rollup/rollup-linux-ppc64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.50.0': + '@rollup/rollup-linux-riscv64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.50.0': + '@rollup/rollup-linux-riscv64-musl@4.50.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.50.0': + '@rollup/rollup-linux-s390x-gnu@4.50.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.50.0': + '@rollup/rollup-linux-x64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-x64-musl@4.50.0': + '@rollup/rollup-linux-x64-musl@4.50.1': optional: true - '@rollup/rollup-openharmony-arm64@4.50.0': + '@rollup/rollup-openharmony-arm64@4.50.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.50.0': + '@rollup/rollup-win32-arm64-msvc@4.50.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.50.0': + '@rollup/rollup-win32-ia32-msvc@4.50.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.50.0': + '@rollup/rollup-win32-x64-msvc@4.50.1': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -5079,7 +5109,7 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@types/aws-lambda@8.10.150': {} + '@types/aws-lambda@8.10.152': {} '@types/body-parser@1.19.6': dependencies: @@ -5149,12 +5179,6 @@ snapshots: dependencies: '@types/pg': 8.15.5 - '@types/pg@8.15.4': - dependencies: - '@types/node': 24.2.1 - pg-protocol: 1.10.3 - pg-types: 2.2.0 - '@types/pg@8.15.5': dependencies: '@types/node': 24.2.1 @@ -5589,6 +5613,8 @@ snapshots: eventsource-parser@3.0.5: {} + eventsource-parser@3.0.6: {} + eventsource@3.0.7: dependencies: eventsource-parser: 3.0.5 @@ -5946,16 +5972,16 @@ snapshots: help-me@5.0.0: {} - hono-openapi@0.4.8(effect@3.16.12)(hono@4.9.1)(openapi-types@12.1.3)(zod@3.25.76): + hono-openapi@0.4.8(effect@3.16.12)(hono@4.9.6)(openapi-types@12.1.3)(zod@3.25.76): dependencies: json-schema-walker: 2.0.0 openapi-types: 12.1.3 optionalDependencies: effect: 3.16.12 - hono: 4.9.1 + hono: 4.9.6 zod: 3.25.76 - hono@4.9.1: {} + hono@4.9.6: {} http-errors@2.0.0: dependencies: @@ -6176,22 +6202,22 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - mastra@0.11.3-alpha.4(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76): + mastra@0.12.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76): dependencies: '@clack/prompts': 0.11.0 - '@mastra/core': 0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/deployer': 0.15.3-alpha.7(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76) - '@mastra/loggers': 0.10.10-alpha.1(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) - '@mastra/mcp': 0.11.3-alpha.3(@mastra/core@0.15.3-alpha.7(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) - '@opentelemetry/auto-instrumentations-node': 0.62.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)) - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) + '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/deployer': 0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76) + '@mastra/loggers': 0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + '@mastra/mcp': 0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@opentelemetry/auto-instrumentations-node': 0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)) + '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 '@webcontainer/env': 1.1.1 commander: 12.1.0 dotenv: 16.6.1 @@ -6419,7 +6445,7 @@ snapshots: pino-std-serializers@7.0.0: {} - pino@9.9.0: + pino@9.9.4: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -6573,46 +6599,46 @@ snapshots: reusify@1.1.0: {} - rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.50.0): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.50.1): dependencies: debug: 4.4.1 es-module-lexer: 1.7.0 esbuild: 0.25.9 get-tsconfig: 4.10.1 - rollup: 4.50.0 + rollup: 4.50.1 unplugin-utils: 0.2.5 transitivePeerDependencies: - supports-color - rollup-plugin-node-externals@8.0.1(rollup@4.50.0): + rollup-plugin-node-externals@8.0.1(rollup@4.50.1): dependencies: - rollup: 4.50.0 + rollup: 4.50.1 - rollup@4.50.0: + rollup@4.50.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.0 - '@rollup/rollup-android-arm64': 4.50.0 - '@rollup/rollup-darwin-arm64': 4.50.0 - '@rollup/rollup-darwin-x64': 4.50.0 - '@rollup/rollup-freebsd-arm64': 4.50.0 - '@rollup/rollup-freebsd-x64': 4.50.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.0 - '@rollup/rollup-linux-arm-musleabihf': 4.50.0 - '@rollup/rollup-linux-arm64-gnu': 4.50.0 - '@rollup/rollup-linux-arm64-musl': 4.50.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.50.0 - '@rollup/rollup-linux-ppc64-gnu': 4.50.0 - '@rollup/rollup-linux-riscv64-gnu': 4.50.0 - '@rollup/rollup-linux-riscv64-musl': 4.50.0 - '@rollup/rollup-linux-s390x-gnu': 4.50.0 - '@rollup/rollup-linux-x64-gnu': 4.50.0 - '@rollup/rollup-linux-x64-musl': 4.50.0 - '@rollup/rollup-openharmony-arm64': 4.50.0 - '@rollup/rollup-win32-arm64-msvc': 4.50.0 - '@rollup/rollup-win32-ia32-msvc': 4.50.0 - '@rollup/rollup-win32-x64-msvc': 4.50.0 + '@rollup/rollup-android-arm-eabi': 4.50.1 + '@rollup/rollup-android-arm64': 4.50.1 + '@rollup/rollup-darwin-arm64': 4.50.1 + '@rollup/rollup-darwin-x64': 4.50.1 + '@rollup/rollup-freebsd-arm64': 4.50.1 + '@rollup/rollup-freebsd-x64': 4.50.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.1 + '@rollup/rollup-linux-arm-musleabihf': 4.50.1 + '@rollup/rollup-linux-arm64-gnu': 4.50.1 + '@rollup/rollup-linux-arm64-musl': 4.50.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.50.1 + '@rollup/rollup-linux-ppc64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-musl': 4.50.1 + '@rollup/rollup-linux-s390x-gnu': 4.50.1 + '@rollup/rollup-linux-x64-gnu': 4.50.1 + '@rollup/rollup-linux-x64-musl': 4.50.1 + '@rollup/rollup-openharmony-arm64': 4.50.1 + '@rollup/rollup-win32-arm64-msvc': 4.50.1 + '@rollup/rollup-win32-ia32-msvc': 4.50.1 + '@rollup/rollup-win32-x64-msvc': 4.50.1 fsevents: 2.3.3 router@2.2.0: @@ -6906,7 +6932,7 @@ snapshots: dependencies: is-wsl: 3.1.0 - xstate@5.20.2: {} + xstate@5.21.0: {} xtend@4.0.2: {} From 6a8c42e2ed5cc7a7b458da61f276c421c6d3df45 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Mon, 15 Sep 2025 15:54:19 -0700 Subject: [PATCH 26/31] fix: resolve security vulnerabilities - Update axios to >=1.12.0 (fixes DoS vulnerability) - Update hono to >=4.9.7 (fixes body limit middleware bypass) - Update various Mastra packages to latest versions - Resolve all known security vulnerabilities --- package.json | 30 +- pnpm-lock.yaml | 1380 +++++++++++++++++++++++++----------------------- 2 files changed, 724 insertions(+), 686 deletions(-) diff --git a/package.json b/package.json index 10a3b74..fa0d1e2 100644 --- a/package.json +++ b/package.json @@ -29,36 +29,36 @@ "dependencies": { "@ai-sdk/anthropic": "^1.2.12", "@ai-sdk/google": "^1.2.22", - "@ai-sdk/google-vertex": "^3.0.16", - "@ai-sdk/openai": "^1.3.23", - "@inquirer/prompts": "^7.7.1", - "@mastra/core": "^0.16.0", + "@ai-sdk/google-vertex": "^3.0.27", + "@ai-sdk/openai": "^1.3.24", + "@inquirer/prompts": "^7.8.6", + "@mastra/core": "^0.16.3", "@mastra/evals": "^0.12.1", - "@mastra/libsql": "^0.13.4", + "@mastra/libsql": "^0.13.8", "@mastra/loggers": "^0.10.11", "@mastra/mcp": "^0.11.4", "@mastra/memory": "^0.13.1", - "@mastra/pg": "^0.14.2", + "@mastra/pg": "^0.14.6", "@types/jsonwebtoken": "^9.0.10", "@types/ws": "^8.18.1", - "ai": "^5.0.27", + "ai": "^5.0.44", "chrome-remote-interface": "^0.33.3", "csv-parse": "^6.1.0", - "dotenv": "^17.2.1", + "dotenv": "^17.2.2", "exa-mcp-server": "^2.0.3", - "google-auth-library": "^10.2.1", + "google-auth-library": "^10.3.0", "jsonwebtoken": "^9.0.2", "pg": "^8.16.3", - "pino-pretty": "^13.0.0", - "tsx": "^4.20.3", + "pino-pretty": "^13.1.1", + "tsx": "^4.20.5", "ws": "^8.18.3", "zod": "^3.25.76" }, "devDependencies": { - "@types/node": "^24.1.0", - "@types/pg": "^8.15.4", - "mastra": "^0.12.0", - "typescript": "^5.8.3" + "@types/node": "^24.5.0", + "@types/pg": "^8.15.5", + "mastra": "^0.12.3", + "typescript": "^5.9.2" }, "overrides": { "form-data": ">=4.0.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a12b64..9e4dcf9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,35 +15,35 @@ importers: specifier: ^1.2.22 version: 1.2.22(zod@3.25.76) '@ai-sdk/google-vertex': - specifier: ^3.0.16 - version: 3.0.16(zod@3.25.76) + specifier: ^3.0.27 + version: 3.0.27(zod@3.25.76) '@ai-sdk/openai': - specifier: ^1.3.23 + specifier: ^1.3.24 version: 1.3.24(zod@3.25.76) '@inquirer/prompts': - specifier: ^7.7.1 - version: 7.8.2(@types/node@24.2.1) + specifier: ^7.8.6 + version: 7.8.6(@types/node@24.5.0) '@mastra/core': - specifier: ^0.16.0 - version: 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + specifier: ^0.16.3 + version: 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/evals': specifier: ^0.12.1 - version: 0.12.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76)) + version: 0.12.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.44(zod@3.25.76)) '@mastra/libsql': - specifier: ^0.13.4 - version: 0.13.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + specifier: ^0.13.8 + version: 0.13.8(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/loggers': specifier: ^0.10.11 - version: 0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + version: 0.10.11(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/mcp': specifier: ^0.11.4 - version: 0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + version: 0.11.4(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76) '@mastra/memory': specifier: ^0.13.1 - version: 0.13.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) + version: 0.13.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) '@mastra/pg': - specifier: ^0.14.2 - version: 0.14.2(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) + specifier: ^0.14.6 + version: 0.14.6(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) '@types/jsonwebtoken': specifier: ^9.0.10 version: 9.0.10 @@ -51,8 +51,8 @@ importers: specifier: ^8.18.1 version: 8.18.1 ai: - specifier: ^5.0.27 - version: 5.0.27(zod@3.25.76) + specifier: ^5.0.44 + version: 5.0.44(zod@3.25.76) chrome-remote-interface: specifier: ^0.33.3 version: 0.33.3 @@ -60,14 +60,14 @@ importers: specifier: ^6.1.0 version: 6.1.0 dotenv: - specifier: ^17.2.1 - version: 17.2.1 + specifier: ^17.2.2 + version: 17.2.2 exa-mcp-server: specifier: ^2.0.3 version: 2.0.3 google-auth-library: - specifier: ^10.2.1 - version: 10.2.1 + specifier: ^10.3.0 + version: 10.3.0 jsonwebtoken: specifier: ^9.0.2 version: 9.0.2 @@ -75,11 +75,11 @@ importers: specifier: ^8.16.3 version: 8.16.3 pino-pretty: - specifier: ^13.0.0 + specifier: ^13.1.1 version: 13.1.1 tsx: - specifier: ^4.20.3 - version: 4.20.4 + specifier: ^4.20.5 + version: 4.20.5 ws: specifier: ^8.18.3 version: 8.18.3 @@ -88,16 +88,16 @@ importers: version: 3.25.76 devDependencies: '@types/node': - specifier: ^24.1.0 - version: 24.2.1 + specifier: ^24.5.0 + version: 24.5.0 '@types/pg': - specifier: ^8.15.4 + specifier: ^8.15.5 version: 8.15.5 mastra: - specifier: ^0.12.0 - version: 0.12.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76) + specifier: ^0.12.3 + version: 0.12.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(@types/json-schema@7.0.15)(typescript@5.9.2)(zod@3.25.76) typescript: - specifier: ^5.8.3 + specifier: ^5.9.2 version: 5.9.2 packages: @@ -112,8 +112,8 @@ packages: peerDependencies: zod: ^3.0.0 - '@ai-sdk/anthropic@2.0.9': - resolution: {integrity: sha512-1kQgL2A3PeqfEcHHmqy4NxRc8rbgLS71bHBuvDFfDz3VAAyndkilPMCLNDSP2mJVGAej2EMWJ1sShRAxzn70jA==} + '@ai-sdk/anthropic@2.0.17': + resolution: {integrity: sha512-fEmGD3H3cI4ahcrtU/ekA6xvUq9kk/IpOh2TI3wOSxqvKqpo+ztwiem5/x5R92Yenl9KRooYIefr0LNlFUR5Ow==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -124,14 +124,20 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 + '@ai-sdk/gateway@1.0.23': + resolution: {integrity: sha512-ynV7WxpRK2zWLGkdOtrU2hW22mBVkEYVS3iMg1+ZGmAYSgzCqzC74bfOJZ2GU1UdcrFWUsFI9qAYjsPkd+AebA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/gateway@1.0.7': resolution: {integrity: sha512-Athrq7OARuNc0iHZJP6InhSQ53tImCc990vMWyR1UHaZgPZJbXjKhIMiOj54F0I0Nlemx48V4fHYUTfLkJotnQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/google-vertex@3.0.16': - resolution: {integrity: sha512-tStlnOCRGRqKKJSCOtXhijX4r9kYVK2v+Vs7miJnfvr3sZfO8nRS0xnNhfgu17xuNi5LMMufeCYURTz4lKxzUQ==} + '@ai-sdk/google-vertex@3.0.27': + resolution: {integrity: sha512-qR4+gLBNJPbnqaSBhvWktK0h3MfQryTLpKj9OWTYVhesNPqpkcchmbHmWBBXhI9kGN5niIknzHmCYdrtMqzF5w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -142,8 +148,8 @@ packages: peerDependencies: zod: ^3.0.0 - '@ai-sdk/google@2.0.11': - resolution: {integrity: sha512-dnVIgSz1DZD/0gVau6ifYN3HZFN15HZwC9VjevTFfvrfSfbEvpXj5x/k/zk/0XuQrlQ5g8JiwJtxc9bx24x2xw==} + '@ai-sdk/google@2.0.14': + resolution: {integrity: sha512-OCBBkEUq1RNLkbJuD+ejqGsWDD0M5nRyuFWDchwylxy0J4HSsAiGNhutNYVTdnqmNw+r9LyZlkyZ1P4YfAfLdg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -166,12 +172,24 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 + '@ai-sdk/provider-utils@3.0.5': + resolution: {integrity: sha512-HliwB/yzufw3iwczbFVE2Fiwf1XqROB/I6ng8EKUsPM5+2wnIa8f4VbljZcDx+grhFrPV+PnRZH7zBqi8WZM7Q==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/provider-utils@3.0.7': resolution: {integrity: sha512-o3BS5/t8KnBL3ubP8k3w77AByOypLm+pkIL/DCw0qKkhDbvhCy+L3hRTGPikpdb8WHcylAeKsjgwOxhj4cqTUA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 + '@ai-sdk/provider-utils@3.0.9': + resolution: {integrity: sha512-Pm571x5efqaI4hf9yW4KsVlDBDme8++UepZRnq+kqVBWWjgvGhQlzU8glaFq0YJEB9kkxZHbRRyVeHoV2sRYaQ==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4 + '@ai-sdk/provider@1.1.3': resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==} engines: {node: '>=18'} @@ -196,28 +214,26 @@ packages: peerDependencies: zod: ^3.23.8 - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - '@apidevtools/json-schema-ref-parser@11.9.3': resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} engines: {node: '>= 16'} - '@apidevtools/json-schema-ref-parser@14.1.1': - resolution: {integrity: sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg==} + '@apidevtools/json-schema-ref-parser@14.2.1': + resolution: {integrity: sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg==} engines: {node: '>= 20'} + peerDependencies: + '@types/json-schema': ^7.0.15 '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.0': - resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} '@babel/generator@7.28.3': @@ -250,8 +266,8 @@ packages: resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.27.3': - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -286,12 +302,12 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.2': - resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true @@ -329,12 +345,12 @@ packages: resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.3': - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} '@clack/core@0.5.0': @@ -508,8 +524,12 @@ packages: engines: {node: '>=6'} hasBin: true - '@inquirer/checkbox@4.2.1': - resolution: {integrity: sha512-bevKGO6kX1eM/N+pdh9leS5L7TBF4ICrzi9a+cbWkrxeAeIcwlo/7OfWGCDERdRCI2/Q6tjltX4bt07ALHDwFw==} + '@inquirer/ansi@1.0.0': + resolution: {integrity: sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==} + engines: {node: '>=18'} + + '@inquirer/checkbox@4.2.4': + resolution: {integrity: sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -517,8 +537,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@5.1.14': - resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} + '@inquirer/confirm@5.1.18': + resolution: {integrity: sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -526,8 +546,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.15': - resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} + '@inquirer/core@10.2.2': + resolution: {integrity: sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -535,8 +555,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@4.2.17': - resolution: {integrity: sha512-r6bQLsyPSzbWrZZ9ufoWL+CztkSatnJ6uSxqd6N+o41EZC51sQeWOzI6s5jLb+xxTWxl7PlUppqm8/sow241gg==} + '@inquirer/editor@4.2.20': + resolution: {integrity: sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -544,8 +564,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@4.0.17': - resolution: {integrity: sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==} + '@inquirer/expand@4.0.20': + resolution: {integrity: sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -553,8 +573,8 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@1.0.1': - resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} + '@inquirer/external-editor@1.0.2': + resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -566,8 +586,8 @@ packages: resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/input@4.2.1': - resolution: {integrity: sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==} + '@inquirer/input@4.2.4': + resolution: {integrity: sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -575,8 +595,8 @@ packages: '@types/node': optional: true - '@inquirer/number@3.0.17': - resolution: {integrity: sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==} + '@inquirer/number@3.0.20': + resolution: {integrity: sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -584,8 +604,8 @@ packages: '@types/node': optional: true - '@inquirer/password@4.0.17': - resolution: {integrity: sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==} + '@inquirer/password@4.0.20': + resolution: {integrity: sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -593,8 +613,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.8.2': - resolution: {integrity: sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==} + '@inquirer/prompts@7.8.6': + resolution: {integrity: sha512-68JhkiojicX9SBUD8FE/pSKbOKtwoyaVj1kwqLfvjlVXZvOy3iaSWX4dCLsZyYx/5Ur07Fq+yuDNOen+5ce6ig==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -602,8 +622,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.1.5': - resolution: {integrity: sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==} + '@inquirer/rawlist@4.1.8': + resolution: {integrity: sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -611,8 +631,8 @@ packages: '@types/node': optional: true - '@inquirer/search@3.1.0': - resolution: {integrity: sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==} + '@inquirer/search@3.1.3': + resolution: {integrity: sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -620,8 +640,8 @@ packages: '@types/node': optional: true - '@inquirer/select@4.3.1': - resolution: {integrity: sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==} + '@inquirer/select@4.3.4': + resolution: {integrity: sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -641,6 +661,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -648,8 +671,8 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} @@ -657,19 +680,19 @@ packages: '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - '@libsql/client@0.15.14': - resolution: {integrity: sha512-oXeFYcSyAsYWvpWVmynrwNwb+NHNHtMfSIVdfQTF1B9RsgDXQE5YCDP3SS0i1FA8nuLWy2trFDVwP1b2LNdNPQ==} + '@libsql/client@0.15.15': + resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==} - '@libsql/core@0.15.14': - resolution: {integrity: sha512-b2eVQma78Ss+edIIFi7LnhhyUy5hAJjYvrSAD5RFdO/YKP2rEvNAT1pIn2Li7NrqcsMmoEQWlpUWH4fWMdXtpQ==} + '@libsql/core@0.15.15': + resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==} - '@libsql/darwin-arm64@0.5.20': - resolution: {integrity: sha512-faHM2FX26xruO4w76YkW+lA28yKcTIzNiGvK9Q8+8sCuC7cn3KdMO6KJ84c6fJQwtwG+F4hxIoy95U5FYge3bg==} + '@libsql/darwin-arm64@0.5.22': + resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==} cpu: [arm64] os: [darwin] - '@libsql/darwin-x64@0.5.20': - resolution: {integrity: sha512-19l0oEW/r2kZxDJg+w53C0kq7eFFKpeKDEjV/FAAkBfQwJoGqS4sep9u1fK1X3KzOF5rB8cVyIrQGk+6ibzUeQ==} + '@libsql/darwin-x64@0.5.22': + resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==} cpu: [x64] os: [darwin] @@ -683,49 +706,49 @@ packages: '@libsql/isomorphic-ws@0.1.5': resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - '@libsql/linux-arm-gnueabihf@0.5.20': - resolution: {integrity: sha512-vfw5/R00ysWG0iMLxqV8I5mVnHwjofxuLAL9i6wwdexIIXusG1ExSIOP8/W6xvjPXetgzEVRo4A7zr1S6SGBBg==} + '@libsql/linux-arm-gnueabihf@0.5.22': + resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==} cpu: [arm] os: [linux] - '@libsql/linux-arm-musleabihf@0.5.20': - resolution: {integrity: sha512-VGqyvg0k3bg0JMMHCR0XrqBseFU9syWRxEbC0Aluipkw5Xsb+DSr9cNvMtGUbGDg2pEfkY/DDa9hTlst6K7P5w==} + '@libsql/linux-arm-musleabihf@0.5.22': + resolution: {integrity: sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==} cpu: [arm] os: [linux] - '@libsql/linux-arm64-gnu@0.5.20': - resolution: {integrity: sha512-Wq6oF4goWp20G/LBmI6rdFY716bb81VCzyglkkAwqMwdJeIsaC0DRvD62nx1OSbSZmZMRDobqoe2ZP8BvMvXyQ==} + '@libsql/linux-arm64-gnu@0.5.22': + resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==} cpu: [arm64] os: [linux] - '@libsql/linux-arm64-musl@0.5.20': - resolution: {integrity: sha512-Xb112/q3/Z6lKKhwJgR2QVRYtRQblEB69VbStIVjKKw5RZv+r77ZSOHfsR3RHL+R66VN431+DLJBV0+B+AImQw==} + '@libsql/linux-arm64-musl@0.5.22': + resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==} cpu: [arm64] os: [linux] - '@libsql/linux-x64-gnu@0.5.20': - resolution: {integrity: sha512-fHUaOYx7cVqbqPLqOIArfPsuWnu+jk9ETR0gt/8rH1J6pW5qhdDWn3B35Hk/ZmzNacBFSWZnHxxhWnZMWYVnVA==} + '@libsql/linux-x64-gnu@0.5.22': + resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==} cpu: [x64] os: [linux] - '@libsql/linux-x64-musl@0.5.20': - resolution: {integrity: sha512-EpT1Va1L/y2w0Sj75lxRmaTyX/MD32eKpZiz++3mrE2zRTYAURo9GEbglvSC6Y5aRnLcHPx6XmR25wigRb8WZg==} + '@libsql/linux-x64-musl@0.5.22': + resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==} cpu: [x64] os: [linux] - '@libsql/win32-x64-msvc@0.5.20': - resolution: {integrity: sha512-3/G5/SZWXmOCaNwEwDdiXEpjeY7NGx1khPjON1yi3BViKrb2TJiiHHn6zpCN7+ZWNibQFZylkETSTURRlealNA==} + '@libsql/win32-x64-msvc@0.5.22': + resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==} cpu: [x64] os: [win32] - '@mastra/core@0.16.0': - resolution: {integrity: sha512-o1QBP4CemS9lcfY3fiQ1p7+WQschoG08dZakElaQS/zvUzj0vB+7vwVprAVELGx/3a1cDb+iM8Yo2LXiZYbYag==} + '@mastra/core@0.16.3': + resolution: {integrity: sha512-9dg/39iPk5rADtyscYeYXnYOTnAc6pbeHRBHNqG0TcAlUnlw69Rvnw8ew5H0r0DTnxsoV0gY58sk0WnHAOXTpg==} engines: {node: '>=20'} peerDependencies: zod: ^3.25.0 || ^4.0.0 - '@mastra/deployer@0.16.0': - resolution: {integrity: sha512-ksBe3Y3sRzZGq6smqfAEiZppPZG1J7x0Vs4+BRoV/3MKHjbXP08chmIn+5vh9nYGpHG2ioMgMUx6YENSEIEisg==} + '@mastra/deployer@0.16.3': + resolution: {integrity: sha512-XdpKH0TE36TZuRpG7tB59wrZbir3yx4erbt3w12RJbRnPFmGtHZC5uToWAon7WrrtGPeNrUICFoNcIe7n74Anw==} peerDependencies: '@mastra/core': '>=0.16.0-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 @@ -736,10 +759,10 @@ packages: '@mastra/core': '>=0.13.0-0 <0.15.0-0' ai: ^4.0.0 - '@mastra/libsql@0.13.4': - resolution: {integrity: sha512-NKALT6CY3bkHcTzWlhvIOL9bAonzZ3ZjrsRCL3yGD6pFzoYHd8W/6WKmBPn8ex9FamFyYctQgoI3MV4oObodSQ==} + '@mastra/libsql@0.13.8': + resolution: {integrity: sha512-vaJ9DqnuOz14tllvTlYcGco0HkQC+wRS+zBqI5a3X3dtaALdldFp3WPF6RjVbkFIbem7LbAWGgFWiWxi/wlq3w==} peerDependencies: - '@mastra/core': '>=0.13.0-0 <0.15.0-0' + '@mastra/core': '>=0.15.3-0 <0.16.0-0' '@mastra/loggers@0.10.11': resolution: {integrity: sha512-Mhm2SqK0cwUMfP8Je8aeKOsupMj7A9/WmGmSc4eSfjsauYDloOVeq0+mPfMtM27jp88Fe0fP2CIsJpeMHP6i3g==} @@ -752,15 +775,21 @@ packages: '@mastra/core': '>=0.15.3-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 + '@mastra/mcp@0.12.0': + resolution: {integrity: sha512-KODbJ/ztABQrWeIRyDDYM031hMY91gOZZ42wiJQo9JbtX38nXlpcoVSz5Pqm+4WIIDMfz32gcT1V4ie8979C3Q==} + peerDependencies: + '@mastra/core': '>=0.16.1-0 <0.17.0-0' + zod: ^3.25.0 || ^4.0.0 + '@mastra/memory@0.13.1': resolution: {integrity: sha512-nYkr2+es8Xw0W35HAekPFyvOjclX886ZC91Sc7R4V3nFBQsIjTfA7149QERXciPTWI7HgdKS+v+95sN5pBNp1w==} peerDependencies: '@mastra/core': '>=0.14.0-0 <0.15.0-0' - '@mastra/pg@0.14.2': - resolution: {integrity: sha512-Ea2nHofSvDZafCe9X2w6cBPEN+xH5BtFb/iorFwJ02DCFxQzgV8EFlaiyAPhsUddgCxzq5QK5hFDig2kwfOxrg==} + '@mastra/pg@0.14.6': + resolution: {integrity: sha512-qEu59gA2LijL/VILa93xNO+KqjrOqPsbBcrmeXUGUbCOBgQGJxeM0DSNw1twGUZFknsdjyTtpIXBoTmroY2AVw==} peerDependencies: - '@mastra/core': '>=0.13.0-0 <0.15.0-0' + '@mastra/core': '>=0.15.3-0 <0.16.0-0' '@mastra/schema-compat@0.10.7': resolution: {integrity: sha512-lY1V57fHfCRVafNuwmDEmQJNncVZI+wdOdvL/WbgYWLQmL3YjBl3CrM+7yTOM/gG/GPKm8BRxmqnHLhS1rD1zg==} @@ -768,24 +797,20 @@ packages: ai: ^4.0.0 zod: ^3.0.0 - '@mastra/schema-compat@0.11.2': - resolution: {integrity: sha512-aTz1aWlQKgK+u+xS3nxwVSKn4nSwgaMWlNi+hWSjokP62TpqNmo9/W1a/MdoaqSHZ3ljj0h+so663WOcJrTNzg==} + '@mastra/schema-compat@0.11.3': + resolution: {integrity: sha512-P50JETxpEFilgp3WIpSidr3Jt+JyZzIwzU9EoYZF+JyeTee/QLXVC4cMTCEU+Uj+4GVDV+L2g+qTHEVWcqxsSA==} peerDependencies: ai: ^4.0.0 || ^5.0.0 zod: ^3.25.0 || ^4.0.0 - '@mastra/server@0.16.0': - resolution: {integrity: sha512-IoSvrlZl7JPiL0ftqDIfXyGprQDY9oF+V8OdEm1+24+TwYuBVJUHkgf0VO3l2zBBhwDPJw59hYmaU9BHLWp0NQ==} + '@mastra/server@0.16.3': + resolution: {integrity: sha512-NGzkkPU1n5Ax/oAHkLsCrp+U+nBslLXmMYLk6Dqb9MAF27Ip5VozNqAbjBjL5YoXFe4jWGRfOC+rAxv1ZRiRMg==} peerDependencies: - '@mastra/core': '>=0.16.0-0 <0.17.0-0' + '@mastra/core': '>=0.16.3-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 - '@modelcontextprotocol/sdk@1.17.2': - resolution: {integrity: sha512-EFLRNXR/ixpXQWu6/3Cu30ndDFIFNaqUXcTqsGebujeMan9FzhAaFFswLRiFj61rgygDRr8WO1N+UijjgRxX9g==} - engines: {node: '>=18'} - - '@modelcontextprotocol/sdk@1.17.5': - resolution: {integrity: sha512-QakrKIGniGuRVfWBdMsDea/dx1PNE739QJ7gCM41s9q+qaCYTHCdsIBXQVVXry3mfWAiaM9kT22Hyz53Uw8mfg==} + '@modelcontextprotocol/sdk@1.18.0': + resolution: {integrity: sha512-JvKyB6YwS3quM+88JPR0axeRgvdDu3Pv6mdZUy+w4qVkCzGgumb9bXG/TmtDRQv+671yaofVfXSQmFLlWU5qPQ==} engines: {node: '>=18'} '@neon-rs/load@0.0.4': @@ -1191,14 +1216,14 @@ packages: resolution: {integrity: sha512-4Wc0AWURII2cfXVVoZ6vDqK+s5n4K5IssdrlVrvGsx6OEOKdghKtJZqXAHWFiZv4nTDLH2/2fldjIHY8clMOjQ==} engines: {node: ^18.19.0 || >=20.6.0} - '@opentelemetry/resource-detector-alibaba-cloud@0.31.4': - resolution: {integrity: sha512-+GuEcADueC99feBfTYV4jR/BWuORwGGtsTVC4Xw0PsGpCMaqkKIS/BLcy/B9vy8UCAGNIHdSgeMk4yqHh3X3vQ==} + '@opentelemetry/resource-detector-alibaba-cloud@0.31.5': + resolution: {integrity: sha512-SVweVr/WWWQZVuBII7WlqIW2exT5bYZdLwuGEh3EAi5Y5mulY4KUzvW8Rx+NoFWd8wgEscCltxuztFhhnlQDWQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/resource-detector-aws@2.4.0': - resolution: {integrity: sha512-YrJLvAkzQ5ckPwIwOe+uBzAgTUaK+iDR/fr5dEMOh+2C8i0qkJwHo6dVaA3SuZf4u3Qg3e3eGSOiK0lFnDUExQ==} + '@opentelemetry/resource-detector-aws@2.5.0': + resolution: {integrity: sha512-NI7by8oi4G03yQA/igYZLZhbKkEy9tn/9JOQsHCPaRTDjzW+VHNcP5BLJH0FEM0NJZm7Ue/59J1a1aTSNJSDuA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1209,8 +1234,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/resource-detector-container@0.7.4': - resolution: {integrity: sha512-fzYiIAZLH8T9k6nG46mqX4n+Hv4CRXhWEV9dDy4ZUC927JNmUPr6yqTwxMMGbKwIzM4rwJsDmveQD4cf42wvbw==} + '@opentelemetry/resource-detector-container@0.7.5': + resolution: {integrity: sha512-oa2+suq7q2epLC1R+pp3rmel7sS6kc4lPe67lxNNVSJ2Bw23ZJatCeG4Fjb2enueDE70VhqPpslVef5hnw1mBA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1413,8 +1438,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1422,108 +1447,108 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.50.1': - resolution: {integrity: sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==} + '@rollup/rollup-android-arm-eabi@4.50.2': + resolution: {integrity: sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.50.1': - resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==} + '@rollup/rollup-android-arm64@4.50.2': + resolution: {integrity: sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.50.1': - resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==} + '@rollup/rollup-darwin-arm64@4.50.2': + resolution: {integrity: sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.50.1': - resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==} + '@rollup/rollup-darwin-x64@4.50.2': + resolution: {integrity: sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.50.1': - resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==} + '@rollup/rollup-freebsd-arm64@4.50.2': + resolution: {integrity: sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.50.1': - resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==} + '@rollup/rollup-freebsd-x64@4.50.2': + resolution: {integrity: sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.50.1': - resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==} + '@rollup/rollup-linux-arm-gnueabihf@4.50.2': + resolution: {integrity: sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.50.1': - resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==} + '@rollup/rollup-linux-arm-musleabihf@4.50.2': + resolution: {integrity: sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.50.1': - resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==} + '@rollup/rollup-linux-arm64-gnu@4.50.2': + resolution: {integrity: sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.50.1': - resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==} + '@rollup/rollup-linux-arm64-musl@4.50.2': + resolution: {integrity: sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.50.1': - resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==} + '@rollup/rollup-linux-loong64-gnu@4.50.2': + resolution: {integrity: sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.50.1': - resolution: {integrity: sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==} + '@rollup/rollup-linux-ppc64-gnu@4.50.2': + resolution: {integrity: sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.50.1': - resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==} + '@rollup/rollup-linux-riscv64-gnu@4.50.2': + resolution: {integrity: sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.50.1': - resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==} + '@rollup/rollup-linux-riscv64-musl@4.50.2': + resolution: {integrity: sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.50.1': - resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==} + '@rollup/rollup-linux-s390x-gnu@4.50.2': + resolution: {integrity: sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.50.1': - resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==} + '@rollup/rollup-linux-x64-gnu@4.50.2': + resolution: {integrity: sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.50.1': - resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==} + '@rollup/rollup-linux-x64-musl@4.50.2': + resolution: {integrity: sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.50.1': - resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==} + '@rollup/rollup-openharmony-arm64@4.50.2': + resolution: {integrity: sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.50.1': - resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==} + '@rollup/rollup-win32-arm64-msvc@4.50.2': + resolution: {integrity: sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.50.1': - resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==} + '@rollup/rollup-win32-ia32-msvc@4.50.2': + resolution: {integrity: sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.50.1': - resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==} + '@rollup/rollup-win32-x64-msvc@4.50.2': + resolution: {integrity: sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==} cpu: [x64] os: [win32] @@ -1597,8 +1622,8 @@ packages: '@types/mysql@2.15.27': resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} - '@types/node@24.2.1': - resolution: {integrity: sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==} + '@types/node@24.5.0': + resolution: {integrity: sha512-y1dMvuvJspJiPSDZUQ+WMBvF7dpnEqN4x9DDC9ie5Fs/HUZJA3wFp7EhHoVaKX/iI0cRoECV8X2jL8zi0xrHCg==} '@types/oracledb@6.5.2': resolution: {integrity: sha512-kK1eBS/Adeyis+3OlBDMeQQuasIDLUYXsi2T15ccNJ0iyUpQ4xDF7svFu3+bGVrI0CMBUclPciz+lsQR3JX3TQ==} @@ -1674,14 +1699,14 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 - ai@5.0.27: - resolution: {integrity: sha512-V7I9Rvrap5+3ozAjOrETA5Mv9Z1LmQobyY13U88IkFRahFp0xrEwjvYTwjQa4q5lPgLxwKgbIZRLnZSbUQwnUg==} + ai@5.0.28: + resolution: {integrity: sha512-tnybAqoDFzuK6O1NOMHX1d/wH7Eug8y0H4l/Gl6swi8BYGtlTPDjniKnGYzgTpLTdpj7SI3qjZuomz7evph9+w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 - ai@5.0.28: - resolution: {integrity: sha512-tnybAqoDFzuK6O1NOMHX1d/wH7Eug8y0H4l/Gl6swi8BYGtlTPDjniKnGYzgTpLTdpj7SI3qjZuomz7evph9+w==} + ai@5.0.44: + resolution: {integrity: sha512-l/rdoM4LcRpsRBVvZQBwSU73oNoFGlWj+PcH86QRzxDGJgZqgGItWO0QcKjBNcLDmUjGN1VYd/8J0TAXHJleRQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -1689,10 +1714,6 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1721,12 +1742,16 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - axios@1.11.0: - resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} + axios@1.12.2: + resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + baseline-browser-mapping@2.8.4: + resolution: {integrity: sha512-L+YvJwGAgwJBV1p6ffpSTa2KRc69EeeYGYjRVWKs0GKrK+LON0GC0gV+rKSNtALEDvMDqkvCFq9r1r94/Gjwxw==} + hasBin: true + bignumber.js@9.3.1: resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} @@ -1742,8 +1767,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.25.2: - resolution: {integrity: sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==} + browserslist@4.26.0: + resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1769,11 +1794,11 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - caniuse-lite@1.0.30001734: - resolution: {integrity: sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==} + caniuse-lite@1.0.30001741: + resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} - chalk@5.5.0: - resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} chardet@2.1.0: @@ -1907,8 +1932,8 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1955,8 +1980,8 @@ packages: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + detect-libc@2.1.0: + resolution: {integrity: sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==} engines: {node: '>=8'} diff-match-patch@1.0.5: @@ -1969,8 +1994,8 @@ packages: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} - dotenv@17.2.1: - resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==} + dotenv@17.2.2: + resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -1990,8 +2015,8 @@ packages: resolution: {integrity: sha512-/RInbCy1d4P6Zdfa+TMVsf/ufZVotat5hCw3QXmWtjU+3pFEOvOQ7ibo3aIxyCJw2leIeAMjmPj+1SLJiCpdrQ==} engines: {node: '>=12.0.0'} - electron-to-chromium@1.5.200: - resolution: {integrity: sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==} + electron-to-chromium@1.5.218: + resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2049,14 +2074,6 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - eventsource-parser@3.0.3: - resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} - engines: {node: '>=20.0.0'} - - eventsource-parser@3.0.5: - resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} - engines: {node: '>=20.0.0'} - eventsource-parser@3.0.6: resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} engines: {node: '>=18.0.0'} @@ -2125,8 +2142,9 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -2188,8 +2206,8 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} - fs-extra@11.3.1: - resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + fs-extra@11.3.2: + resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} fsevents@2.3.3: @@ -2251,8 +2269,8 @@ packages: resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} engines: {node: '>=18'} - google-auth-library@10.2.1: - resolution: {integrity: sha512-HMxFl2NfeHYnaL1HoRIN1XgorKS+6CDaM+z9LSSN+i/nKDDL4KFFEWogMXu7jV4HZQy2MsxpY+wA5XIf3w410A==} + google-auth-library@10.3.0: + resolution: {integrity: sha512-ylSE3RlCRZfZB56PFJSfUCuiuPq83Fx8hqu1KPWGK8FVdSaxlp/qkeMMX/DT/18xkwXIHvXEXkZsljRwfrdEfQ==} engines: {node: '>=18'} google-auth-library@9.15.1: @@ -2349,8 +2367,8 @@ packages: zod-openapi: optional: true - hono@4.9.6: - resolution: {integrity: sha512-doVjXhSFvYZ7y0dNokjwwSahcrAfdz+/BCLvAMa/vHLzjj8+CFyV5xteThGUsKdkaasgN+gF2mUxao+SGLpUeA==} + hono@4.9.7: + resolution: {integrity: sha512-t4Te6ERzIaC48W3x4hJmBwgNlLhmiEdEE5ViYb02ffw4ignHNHa5IBtPjmbKstmtKa8X6C35iWwK4HaqvrzG9w==} engines: {node: '>=16.9.0'} http-errors@2.0.0: @@ -2373,6 +2391,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} @@ -2532,8 +2554,8 @@ packages: resolution: {integrity: sha512-oi7dSPpYtW/3fE0vZiqQgZ8mW3F1V9K4+rBJ0FcVrdXBEQuhZ0zKj7sX74eqGASuepLHf9aYdeonyKHWhYpHQA==} engines: {node: '>= 0.10.0'} - libsql@0.5.20: - resolution: {integrity: sha512-hkWCsiwTbNsrKeWqPh91ZZEcLDo0+WUnFv2QzITD33F7Er9KOlr7N2SGfNjAbnkciN+iPJ7g108Jkno1JFmzTw==} + libsql@0.5.22: + resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} cpu: [x64, arm64, wasm32, arm] os: [darwin, linux, win32] @@ -2571,11 +2593,11 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} - mastra@0.12.0: - resolution: {integrity: sha512-kfUEclPsxZ5h6Vy4Jylw+5xEAk4xF7AwoPD8k8VWiBOq8RzW7PjeF0xSEgY3LEgChtvorxtBe78F7/EESOq87Q==} + mastra@0.12.3: + resolution: {integrity: sha512-KZKwJoHVYf2Wfc0LsOt1l2F2sONbQEfgL72d6ym2ylFaoJut6aQyvUOCAM35mGnhzvszx40a19+Tyufiv+bcWA==} hasBin: true peerDependencies: '@mastra/core': '>=0.10.2-0 <0.17.0-0' @@ -2636,8 +2658,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} @@ -2686,8 +2708,8 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} npm-run-path@6.0.0: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} @@ -2745,9 +2767,8 @@ packages: path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} path-type@6.0.0: resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} @@ -2831,8 +2852,8 @@ packages: pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.9.4: - resolution: {integrity: sha512-d1XorUQ7sSKqVcYdXuEYs2h1LKxejSorMEJ76XoZ0pPDf8VzJMe7GlPXpMBZeQ9gE4ZPIp5uGD+5Nw7scxiigg==} + pino@9.9.5: + resolution: {integrity: sha512-d1s98p8/4TfYhsJ09r/Azt30aYELRi6NNnZtEbqFw6BoGsdPVf5lKNK3kUwH8BmJJfpTLNuicjUQjaMbd93dVg==} hasBin: true pkce-challenge@5.0.0: @@ -2874,8 +2895,8 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-ms@9.2.0: - resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} process-warning@5.0.0: @@ -2884,8 +2905,8 @@ packages: promise-limit@2.7.0: resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} - protobufjs@7.5.3: - resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} + protobufjs@7.5.4: + resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} engines: {node: '>=12.0.0'} proxy-addr@2.0.7: @@ -2934,9 +2955,9 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} + raw-body@3.0.1: + resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==} + engines: {node: '>= 0.10'} react@19.1.1: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} @@ -2981,14 +3002,14 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup-plugin-node-externals@8.0.1: - resolution: {integrity: sha512-j6uve/BPEyHCmQuXpu5/LT5qXw69QLIi6YnFrs6F7tmGFXjkFDT0zqZMt0KaMuWSvkcxJFBklsKfYYoKKEPwyw==} + rollup-plugin-node-externals@8.1.1: + resolution: {integrity: sha512-MEWJmXMGjo5E7o9hgAmma6XLCdU9gTVRcaaCubugTJdoJD3A91qxtxiukT9k2PeUdogtCaNehV3pvJUWrRNtwg==} engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'} peerDependencies: rollup: ^4.0.0 - rollup@4.50.1: - resolution: {integrity: sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==} + rollup@4.50.2: + resolution: {integrity: sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2996,8 +3017,8 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} run-parallel@1.2.0: @@ -3168,15 +3189,11 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.20.4: - resolution: {integrity: sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg==} + tsx@4.20.5: + resolution: {integrity: sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==} engines: {node: '>=18.0.0'} hasBin: true - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -3201,8 +3218,8 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - undici-types@7.10.0: - resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici-types@7.12.0: + resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -3338,12 +3355,12 @@ packages: resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} engines: {node: '>=18.19'} - yoctocolors-cjs@2.1.2: - resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} - yoctocolors@2.1.1: - resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} zod-from-json-schema@0.0.5: @@ -3360,8 +3377,8 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.1.5: - resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==} + zod@4.1.8: + resolution: {integrity: sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==} snapshots: @@ -3382,10 +3399,10 @@ snapshots: '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/anthropic@2.0.9(zod@3.25.76)': + '@ai-sdk/anthropic@2.0.17(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) zod: 3.25.76 '@ai-sdk/gateway@1.0.15(zod@3.25.76)': @@ -3394,18 +3411,24 @@ snapshots: '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) zod: 3.25.76 + '@ai-sdk/gateway@1.0.23(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) + zod: 3.25.76 + '@ai-sdk/gateway@1.0.7(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.3(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/google-vertex@3.0.16(zod@3.25.76)': + '@ai-sdk/google-vertex@3.0.27(zod@3.25.76)': dependencies: - '@ai-sdk/anthropic': 2.0.9(zod@3.25.76) - '@ai-sdk/google': 2.0.11(zod@3.25.76) + '@ai-sdk/anthropic': 2.0.17(zod@3.25.76) + '@ai-sdk/google': 2.0.14(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) google-auth-library: 9.15.1 zod: 3.25.76 transitivePeerDependencies: @@ -3418,10 +3441,10 @@ snapshots: '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/google@2.0.11(zod@3.25.76)': + '@ai-sdk/google@2.0.14(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) zod: 3.25.76 '@ai-sdk/openai@1.3.24(zod@3.25.76)': @@ -3445,11 +3468,26 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) + '@ai-sdk/provider-utils@3.0.5(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@standard-schema/spec': 1.0.0 + eventsource-parser: 3.0.6 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + '@ai-sdk/provider-utils@3.0.7(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 + zod: 3.25.76 + + '@ai-sdk/provider-utils@3.0.9(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@standard-schema/spec': 1.0.0 + eventsource-parser: 3.0.6 zod: 3.25.76 '@ai-sdk/provider@1.1.3': @@ -3477,18 +3515,13 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - '@apidevtools/json-schema-ref-parser@11.9.3': dependencies: '@jsdevtools/ono': 7.1.3 '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@apidevtools/json-schema-ref-parser@14.1.1': + '@apidevtools/json-schema-ref-parser@14.2.1(@types/json-schema@7.0.15)': dependencies: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 @@ -3499,22 +3532,22 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.0': {} + '@babel/compat-data@7.28.4': {} - '@babel/core@7.28.0': + '@babel/core@7.28.4': dependencies: - '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helpers': 7.28.2 - '@babel/parser': 7.28.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.1 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3523,33 +3556,33 @@ snapshots: '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.2 + browserslist: 4.26.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.0)': + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3558,46 +3591,46 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -3607,74 +3640,74 @@ snapshots: '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.28.2': + '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 - '@babel/parser@7.28.3': + '@babel/parser@7.28.4': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.0) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.28.0)': + '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) transitivePeerDependencies: - supports-color '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 - '@babel/traverse@7.28.3': + '@babel/traverse@7.28.4': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.3 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1 + '@babel/types': 7.28.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.28.2': + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 @@ -3777,142 +3810,149 @@ snapshots: dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.3 + protobufjs: 7.5.4 yargs: 17.7.2 - '@inquirer/checkbox@4.2.1(@types/node@24.2.1)': + '@inquirer/ansi@1.0.0': {} + + '@inquirer/checkbox@4.2.4(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) + '@inquirer/ansi': 1.0.0 + '@inquirer/core': 10.2.2(@types/node@24.5.0) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.2.1) - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.2 + '@inquirer/type': 3.0.8(@types/node@24.5.0) + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/confirm@5.1.14(@types/node@24.2.1)': + '@inquirer/confirm@5.1.18(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/core@10.1.15(@types/node@24.2.1)': + '@inquirer/core@10.2.2(@types/node@24.5.0)': dependencies: + '@inquirer/ansi': 1.0.0 '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.2.1) - ansi-escapes: 4.3.2 + '@inquirer/type': 3.0.8(@types/node@24.5.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.2 + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/editor@4.2.17(@types/node@24.2.1)': + '@inquirer/editor@4.2.20(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/external-editor': 1.0.1(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/external-editor': 1.0.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/expand@4.0.17(@types/node@24.2.1)': + '@inquirer/expand@4.0.20(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) - yoctocolors-cjs: 2.1.2 + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/external-editor@1.0.1(@types/node@24.2.1)': + '@inquirer/external-editor@1.0.2(@types/node@24.5.0)': dependencies: chardet: 2.1.0 - iconv-lite: 0.6.3 + iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@inquirer/figures@1.0.13': {} - '@inquirer/input@4.2.1(@types/node@24.2.1)': + '@inquirer/input@4.2.4(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/number@3.0.17(@types/node@24.2.1)': + '@inquirer/number@3.0.20(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/password@4.0.17(@types/node@24.2.1)': + '@inquirer/password@4.0.20(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) - ansi-escapes: 4.3.2 + '@inquirer/ansi': 1.0.0 + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 - - '@inquirer/prompts@7.8.2(@types/node@24.2.1)': - dependencies: - '@inquirer/checkbox': 4.2.1(@types/node@24.2.1) - '@inquirer/confirm': 5.1.14(@types/node@24.2.1) - '@inquirer/editor': 4.2.17(@types/node@24.2.1) - '@inquirer/expand': 4.0.17(@types/node@24.2.1) - '@inquirer/input': 4.2.1(@types/node@24.2.1) - '@inquirer/number': 3.0.17(@types/node@24.2.1) - '@inquirer/password': 4.0.17(@types/node@24.2.1) - '@inquirer/rawlist': 4.1.5(@types/node@24.2.1) - '@inquirer/search': 3.1.0(@types/node@24.2.1) - '@inquirer/select': 4.3.1(@types/node@24.2.1) + '@types/node': 24.5.0 + + '@inquirer/prompts@7.8.6(@types/node@24.5.0)': + dependencies: + '@inquirer/checkbox': 4.2.4(@types/node@24.5.0) + '@inquirer/confirm': 5.1.18(@types/node@24.5.0) + '@inquirer/editor': 4.2.20(@types/node@24.5.0) + '@inquirer/expand': 4.0.20(@types/node@24.5.0) + '@inquirer/input': 4.2.4(@types/node@24.5.0) + '@inquirer/number': 3.0.20(@types/node@24.5.0) + '@inquirer/password': 4.0.20(@types/node@24.5.0) + '@inquirer/rawlist': 4.1.8(@types/node@24.5.0) + '@inquirer/search': 3.1.3(@types/node@24.5.0) + '@inquirer/select': 4.3.4(@types/node@24.5.0) optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/rawlist@4.1.5(@types/node@24.2.1)': + '@inquirer/rawlist@4.1.8(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) - '@inquirer/type': 3.0.8(@types/node@24.2.1) - yoctocolors-cjs: 2.1.2 + '@inquirer/core': 10.2.2(@types/node@24.5.0) + '@inquirer/type': 3.0.8(@types/node@24.5.0) + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/search@3.1.0(@types/node@24.2.1)': + '@inquirer/search@3.1.3(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) + '@inquirer/core': 10.2.2(@types/node@24.5.0) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.2.1) - yoctocolors-cjs: 2.1.2 + '@inquirer/type': 3.0.8(@types/node@24.5.0) + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/select@4.3.1(@types/node@24.2.1)': + '@inquirer/select@4.3.4(@types/node@24.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.2.1) + '@inquirer/ansi': 1.0.0 + '@inquirer/core': 10.2.2(@types/node@24.5.0) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.2.1) - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.2 + '@inquirer/type': 3.0.8(@types/node@24.5.0) + yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@inquirer/type@3.0.8(@types/node@24.2.1)': + '@inquirer/type@3.0.8(@types/node@24.5.0)': optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.30': + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 @@ -3921,25 +3961,25 @@ snapshots: '@jsdevtools/ono@7.1.3': {} - '@libsql/client@0.15.14': + '@libsql/client@0.15.15': dependencies: - '@libsql/core': 0.15.14 + '@libsql/core': 0.15.15 '@libsql/hrana-client': 0.7.0 js-base64: 3.7.8 - libsql: 0.5.20 + libsql: 0.5.22 promise-limit: 2.7.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@libsql/core@0.15.14': + '@libsql/core@0.15.15': dependencies: js-base64: 3.7.8 - '@libsql/darwin-arm64@0.5.20': + '@libsql/darwin-arm64@0.5.22': optional: true - '@libsql/darwin-x64@0.5.20': + '@libsql/darwin-x64@0.5.22': optional: true '@libsql/hrana-client@0.7.0': @@ -3962,36 +4002,36 @@ snapshots: - bufferutil - utf-8-validate - '@libsql/linux-arm-gnueabihf@0.5.20': + '@libsql/linux-arm-gnueabihf@0.5.22': optional: true - '@libsql/linux-arm-musleabihf@0.5.20': + '@libsql/linux-arm-musleabihf@0.5.22': optional: true - '@libsql/linux-arm64-gnu@0.5.20': + '@libsql/linux-arm64-gnu@0.5.22': optional: true - '@libsql/linux-arm64-musl@0.5.20': + '@libsql/linux-arm64-musl@0.5.22': optional: true - '@libsql/linux-x64-gnu@0.5.20': + '@libsql/linux-x64-gnu@0.5.22': optional: true - '@libsql/linux-x64-musl@0.5.20': + '@libsql/linux-x64-musl@0.5.22': optional: true - '@libsql/win32-x64-msvc@0.5.20': + '@libsql/win32-x64-msvc@0.5.22': optional: true - '@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': + '@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)': dependencies: '@a2a-js/sdk': 0.2.5 '@ai-sdk/provider': 1.1.3 '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) - '@ai-sdk/provider-utils-v5': '@ai-sdk/provider-utils@3.0.3(zod@3.25.76)' + '@ai-sdk/provider-utils-v5': '@ai-sdk/provider-utils@3.0.5(zod@3.25.76)' '@ai-sdk/provider-v5': '@ai-sdk/provider@2.0.0' '@ai-sdk/ui-utils': 1.2.11(zod@3.25.76) - '@mastra/schema-compat': 0.11.2(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/schema-compat': 0.11.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@opentelemetry/api': 1.9.0 '@opentelemetry/auto-instrumentations-node': 0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)) '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) @@ -4010,13 +4050,13 @@ snapshots: ai-v5: ai@5.0.28(zod@3.25.76) date-fns: 3.6.0 dotenv: 16.6.1 - hono: 4.9.6 - hono-openapi: 0.4.8(effect@3.16.12)(hono@4.9.6)(openapi-types@12.1.3)(zod@3.25.76) + hono: 4.9.7 + hono-openapi: 0.4.8(effect@3.16.12)(hono@4.9.7)(openapi-types@12.1.3)(zod@3.25.76) js-tiktoken: 1.0.21 json-schema: 0.4.0 json-schema-to-zod: 2.6.1 p-map: 7.0.3 - pino: 9.9.4 + pino: 9.9.5 pino-pretty: 13.1.1 radash: 12.1.1 sift: 17.1.3 @@ -4040,72 +4080,88 @@ snapshots: - valibot - zod-openapi - '@mastra/deployer@0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76)': + '@mastra/deployer@0.16.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76)': dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/server': 0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/server': 0.16.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@neon-rs/load': 0.1.82 - '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.50.1) - '@rollup/plugin-alias': 5.1.1(rollup@4.50.1) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.1) - '@rollup/plugin-esm-shim': 0.1.8(rollup@4.50.1) - '@rollup/plugin-json': 6.1.0(rollup@4.50.1) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.1) - '@rollup/plugin-virtual': 3.0.2(rollup@4.50.1) + '@optimize-lodash/rollup-plugin': 5.0.2(rollup@4.50.2) + '@rollup/plugin-alias': 5.1.1(rollup@4.50.2) + '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.2) + '@rollup/plugin-esm-shim': 0.1.8(rollup@4.50.2) + '@rollup/plugin-json': 6.1.0(rollup@4.50.2) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.2) + '@rollup/plugin-virtual': 3.0.2(rollup@4.50.2) '@sindresorhus/slugify': 2.2.1 builtins: 5.1.0 - detect-libc: 2.0.4 + detect-libc: 2.1.0 dotenv: 16.6.1 esbuild: 0.25.9 find-workspaces: 0.3.1 - fs-extra: 11.3.1 + fs-extra: 11.3.2 globby: 14.1.0 - hono: 4.9.6 + hono: 4.9.7 local-pkg: 1.1.2 resolve-from: 5.0.0 - rollup: 4.50.1 - rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.50.1) - rollup-plugin-node-externals: 8.0.1(rollup@4.50.1) + rollup: 4.50.2 + rollup-plugin-esbuild: 6.2.1(esbuild@0.25.9)(rollup@4.50.2) + rollup-plugin-node-externals: 8.1.1(rollup@4.50.2) typescript-paths: 1.5.1(typescript@5.9.2) zod: 3.25.76 transitivePeerDependencies: - supports-color - typescript - '@mastra/evals@0.12.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.27(zod@3.25.76))': + '@mastra/evals@0.12.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(ai@5.0.44(zod@3.25.76))': dependencies: - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - ai: 5.0.27(zod@3.25.76) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + ai: 5.0.44(zod@3.25.76) compromise: 14.14.4 difflib: 0.2.4 - fs-extra: 11.3.1 + fs-extra: 11.3.2 keyword-extractor: 0.0.28 sentiment: 5.0.2 string-similarity: 4.0.4 zod: 3.25.76 - '@mastra/libsql@0.13.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/libsql@0.13.8(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: - '@libsql/client': 0.15.14 - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@libsql/client': 0.15.15 + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) transitivePeerDependencies: - bufferutil - utf-8-validate - '@mastra/loggers@0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': + '@mastra/loggers@0.10.11(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))': dependencies: - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - pino: 9.9.4 + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + pino: 9.9.5 pino-pretty: 13.1.1 - '@mastra/mcp@0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/mcp@0.11.4(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76)': + dependencies: + '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@modelcontextprotocol/sdk': 1.18.0 + date-fns: 4.1.0 + exit-hook: 4.0.0 + fast-deep-equal: 3.1.3 + uuid: 11.1.0 + zod: 3.25.76 + zod-from-json-schema: 0.5.0 + zod-from-json-schema-v3: zod-from-json-schema@0.0.5 + transitivePeerDependencies: + - '@types/json-schema' + - supports-color + + '@mastra/mcp@0.12.0(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76)': dependencies: - '@apidevtools/json-schema-ref-parser': 14.1.1 - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@modelcontextprotocol/sdk': 1.17.5 + '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@modelcontextprotocol/sdk': 1.18.0 date-fns: 4.1.0 exit-hook: 4.0.0 fast-deep-equal: 3.1.3 @@ -4114,11 +4170,12 @@ snapshots: zod-from-json-schema: 0.5.0 zod-from-json-schema-v3: zod-from-json-schema@0.0.5 transitivePeerDependencies: + - '@types/json-schema' - supports-color - '@mastra/memory@0.13.1(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': + '@mastra/memory@0.13.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': dependencies: - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) '@mastra/schema-compat': 0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@upstash/redis': 1.35.3 ai: 4.3.19(react@19.1.1)(zod@3.25.76) @@ -4137,9 +4194,9 @@ snapshots: - pg-native - react - '@mastra/pg@0.14.2(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': + '@mastra/pg@0.14.6(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3))': dependencies: - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) async-mutex: 0.5.0 pg: 8.16.3 pg-promise: 11.15.0(pg-query-stream@4.10.3(pg@8.16.3)) @@ -4156,7 +4213,7 @@ snapshots: zod-from-json-schema: 0.0.5 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/schema-compat@0.11.2(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': + '@mastra/schema-compat@0.11.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: ai: 4.3.19(react@19.1.1)(zod@3.25.76) json-schema: 0.4.0 @@ -4165,29 +4222,12 @@ snapshots: zod-from-json-schema-v3: zod-from-json-schema@0.0.5 zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/server@0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': - dependencies: - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - zod: 3.25.76 - - '@modelcontextprotocol/sdk@1.17.2': + '@mastra/server@0.16.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: - ajv: 6.12.6 - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.0.3 - express: 5.1.0 - express-rate-limit: 7.5.1(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) - transitivePeerDependencies: - - supports-color - '@modelcontextprotocol/sdk@1.17.5': + '@modelcontextprotocol/sdk@1.18.0': dependencies: ajv: 6.12.6 content-type: 1.0.5 @@ -4198,7 +4238,7 @@ snapshots: express: 5.1.0 express-rate-limit: 7.5.1(express@5.1.0) pkce-challenge: 5.0.0 - raw-body: 3.0.0 + raw-body: 3.0.1 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: @@ -4271,10 +4311,10 @@ snapshots: '@opentelemetry/instrumentation-tedious': 0.22.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-undici': 0.14.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-winston': 0.48.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-alibaba-cloud': 0.31.4(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-aws': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-alibaba-cloud': 0.31.5(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-aws': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-azure': 0.10.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-container': 0.7.4(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-container': 0.7.5(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-gcp': 0.37.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.203.0(@opentelemetry/api@1.9.0) @@ -4777,7 +4817,7 @@ snapshots: '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - protobufjs: 7.5.3 + protobufjs: 7.5.4 '@opentelemetry/propagator-b3@2.0.1(@opentelemetry/api@1.9.0)': dependencies: @@ -4791,14 +4831,14 @@ snapshots: '@opentelemetry/redis-common@0.38.0': {} - '@opentelemetry/resource-detector-alibaba-cloud@0.31.4(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-alibaba-cloud@0.31.5(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 - '@opentelemetry/resource-detector-aws@2.4.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-aws@2.5.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) @@ -4812,7 +4852,7 @@ snapshots: '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 - '@opentelemetry/resource-detector-container@0.7.4(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-container@0.7.5(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) @@ -4924,16 +4964,16 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.50.1)': + '@optimize-lodash/rollup-plugin@5.0.2(rollup@4.50.2)': dependencies: '@optimize-lodash/transform': 3.0.6 - '@rollup/pluginutils': 5.2.0(rollup@4.50.1) - rollup: 4.50.1 + '@rollup/pluginutils': 5.3.0(rollup@4.50.2) + rollup: 4.50.2 '@optimize-lodash/transform@3.0.6': dependencies: estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.19 '@protobufjs/aspromise@1.1.2': {} @@ -4978,118 +5018,118 @@ snapshots: dependencies: '@redis/client': 5.8.2 - '@rollup/plugin-alias@5.1.1(rollup@4.50.1)': + '@rollup/plugin-alias@5.1.1(rollup@4.50.2)': optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/plugin-commonjs@28.0.6(rollup@4.50.1)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.50.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.50.2) commondir: 1.0.1 estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) is-reference: 1.2.1 - magic-string: 0.30.17 + magic-string: 0.30.19 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/plugin-esm-shim@0.1.8(rollup@4.50.1)': + '@rollup/plugin-esm-shim@0.1.8(rollup@4.50.2)': dependencies: - magic-string: 0.30.17 - mlly: 1.7.4 + magic-string: 0.30.19 + mlly: 1.8.0 optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/plugin-json@6.1.0(rollup@4.50.1)': + '@rollup/plugin-json@6.1.0(rollup@4.50.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.50.2) optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.1)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.50.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/plugin-virtual@3.0.2(rollup@4.50.1)': + '@rollup/plugin-virtual@3.0.2(rollup@4.50.2)': optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/pluginutils@5.2.0(rollup@4.50.1)': + '@rollup/pluginutils@5.3.0(rollup@4.50.2)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.1 + rollup: 4.50.2 - '@rollup/rollup-android-arm-eabi@4.50.1': + '@rollup/rollup-android-arm-eabi@4.50.2': optional: true - '@rollup/rollup-android-arm64@4.50.1': + '@rollup/rollup-android-arm64@4.50.2': optional: true - '@rollup/rollup-darwin-arm64@4.50.1': + '@rollup/rollup-darwin-arm64@4.50.2': optional: true - '@rollup/rollup-darwin-x64@4.50.1': + '@rollup/rollup-darwin-x64@4.50.2': optional: true - '@rollup/rollup-freebsd-arm64@4.50.1': + '@rollup/rollup-freebsd-arm64@4.50.2': optional: true - '@rollup/rollup-freebsd-x64@4.50.1': + '@rollup/rollup-freebsd-x64@4.50.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + '@rollup/rollup-linux-arm-gnueabihf@4.50.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.50.1': + '@rollup/rollup-linux-arm-musleabihf@4.50.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.50.1': + '@rollup/rollup-linux-arm64-gnu@4.50.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.50.1': + '@rollup/rollup-linux-arm64-musl@4.50.2': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + '@rollup/rollup-linux-loong64-gnu@4.50.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.50.1': + '@rollup/rollup-linux-ppc64-gnu@4.50.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.50.1': + '@rollup/rollup-linux-riscv64-gnu@4.50.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.50.1': + '@rollup/rollup-linux-riscv64-musl@4.50.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.50.1': + '@rollup/rollup-linux-s390x-gnu@4.50.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.50.1': + '@rollup/rollup-linux-x64-gnu@4.50.2': optional: true - '@rollup/rollup-linux-x64-musl@4.50.1': + '@rollup/rollup-linux-x64-musl@4.50.2': optional: true - '@rollup/rollup-openharmony-arm64@4.50.1': + '@rollup/rollup-openharmony-arm64@4.50.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.50.1': + '@rollup/rollup-win32-arm64-msvc@4.50.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.50.1': + '@rollup/rollup-win32-ia32-msvc@4.50.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.50.1': + '@rollup/rollup-win32-x64-msvc@4.50.2': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -5114,19 +5154,19 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/bunyan@1.8.11': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/connect@3.4.38': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/cors@2.8.19': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/diff-match-patch@1.0.36': {} @@ -5134,7 +5174,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -5153,11 +5193,11 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/memcached@2.2.10': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/mime@1.3.5': {} @@ -5165,15 +5205,15 @@ snapshots: '@types/mysql@2.15.27': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 - '@types/node@24.2.1': + '@types/node@24.5.0': dependencies: - undici-types: 7.10.0 + undici-types: 7.12.0 '@types/oracledb@6.5.2': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/pg-pool@2.0.6': dependencies: @@ -5181,7 +5221,7 @@ snapshots: '@types/pg@8.15.5': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 pg-protocol: 1.10.3 pg-types: 2.2.0 @@ -5194,21 +5234,21 @@ snapshots: '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/send': 0.17.5 '@types/tedious@4.0.14': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@types/ws@8.18.1': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.5.0 '@upstash/redis@1.35.3': dependencies: @@ -5254,7 +5294,7 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 - ai@5.0.27(zod@3.25.76): + ai@5.0.28(zod@3.25.76): dependencies: '@ai-sdk/gateway': 1.0.15(zod@3.25.76) '@ai-sdk/provider': 2.0.0 @@ -5262,11 +5302,11 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 - ai@5.0.28(zod@3.25.76): + ai@5.0.44(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 1.0.15(zod@3.25.76) + '@ai-sdk/gateway': 1.0.23(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.7(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) '@opentelemetry/api': 1.9.0 zod: 3.25.76 @@ -5277,10 +5317,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-regex@5.0.1: {} ansi-styles@4.3.0: @@ -5301,7 +5337,7 @@ snapshots: atomic-sleep@1.0.0: {} - axios@1.11.0: + axios@1.12.2: dependencies: follow-redirects: 1.15.11 form-data: 4.0.4 @@ -5311,6 +5347,8 @@ snapshots: base64-js@1.5.1: {} + baseline-browser-mapping@2.8.4: {} + bignumber.js@9.3.1: {} body-parser@1.20.3: @@ -5334,12 +5372,12 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.1 + debug: 4.4.3 http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 qs: 6.14.0 - raw-body: 3.0.0 + raw-body: 3.0.1 type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -5348,12 +5386,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.25.2: + browserslist@4.26.0: dependencies: - caniuse-lite: 1.0.30001734 - electron-to-chromium: 1.5.200 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.2) + baseline-browser-mapping: 2.8.4 + caniuse-lite: 1.0.30001741 + electron-to-chromium: 1.5.218 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.0) buffer-equal-constant-time@1.0.1: {} @@ -5363,7 +5402,7 @@ snapshots: bundle-name@4.1.0: dependencies: - run-applescript: 7.0.0 + run-applescript: 7.1.0 bytes@3.1.2: {} @@ -5377,9 +5416,9 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - caniuse-lite@1.0.30001734: {} + caniuse-lite@1.0.30001741: {} - chalk@5.5.0: {} + chalk@5.6.2: {} chardet@2.1.0: {} @@ -5482,7 +5521,7 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.4.1: + debug@4.4.3: dependencies: ms: 2.1.3 @@ -5509,7 +5548,7 @@ snapshots: detect-libc@2.0.2: {} - detect-libc@2.0.4: {} + detect-libc@2.1.0: {} diff-match-patch@1.0.5: {} @@ -5519,7 +5558,7 @@ snapshots: dotenv@16.6.1: {} - dotenv@17.2.1: {} + dotenv@17.2.2: {} dunder-proto@1.0.1: dependencies: @@ -5541,7 +5580,7 @@ snapshots: efrt@2.7.0: {} - electron-to-chromium@1.5.200: {} + electron-to-chromium@1.5.218: {} emoji-regex@8.0.0: {} @@ -5609,20 +5648,16 @@ snapshots: etag@1.8.1: {} - eventsource-parser@3.0.3: {} - - eventsource-parser@3.0.5: {} - eventsource-parser@3.0.6: {} eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 exa-mcp-server@2.0.3: dependencies: - '@modelcontextprotocol/sdk': 1.17.2 - axios: 1.11.0 + '@modelcontextprotocol/sdk': 1.18.0 + axios: 1.12.2 zod: 3.25.76 transitivePeerDependencies: - debug @@ -5638,10 +5673,10 @@ snapshots: is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.2.0 + pretty-ms: 9.3.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 - yoctocolors: 2.1.1 + yoctocolors: 2.1.2 exit-hook@4.0.0: {} @@ -5693,7 +5728,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.1 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -5748,7 +5783,7 @@ snapshots: dependencies: reusify: 1.1.0 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -5779,7 +5814,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -5816,7 +5851,7 @@ snapshots: fresh@2.0.0: {} - fs-extra@11.3.1: + fs-extra@11.3.2: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.0 @@ -5909,7 +5944,7 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.3.0 - google-auth-library@10.2.1: + google-auth-library@10.3.0: dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 @@ -5972,16 +6007,16 @@ snapshots: help-me@5.0.0: {} - hono-openapi@0.4.8(effect@3.16.12)(hono@4.9.6)(openapi-types@12.1.3)(zod@3.25.76): + hono-openapi@0.4.8(effect@3.16.12)(hono@4.9.7)(openapi-types@12.1.3)(zod@3.25.76): dependencies: json-schema-walker: 2.0.0 openapi-types: 12.1.3 optionalDependencies: effect: 3.16.12 - hono: 4.9.6 + hono: 4.9.7 zod: 3.25.76 - hono@4.9.6: {} + hono@4.9.7: {} http-errors@2.0.0: dependencies: @@ -5994,7 +6029,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -6008,6 +6043,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + ignore@7.0.5: {} import-in-the-middle@1.14.2: @@ -6109,7 +6148,7 @@ snapshots: jsondiffpatch@0.6.0: dependencies: '@types/diff-match-patch': 1.0.36 - chalk: 5.5.0 + chalk: 5.6.2 diff-match-patch: 1.0.5 jsonfile@6.2.0: @@ -6155,24 +6194,24 @@ snapshots: keyword-extractor@0.0.28: {} - libsql@0.5.20: + libsql@0.5.22: dependencies: '@neon-rs/load': 0.0.4 detect-libc: 2.0.2 optionalDependencies: - '@libsql/darwin-arm64': 0.5.20 - '@libsql/darwin-x64': 0.5.20 - '@libsql/linux-arm-gnueabihf': 0.5.20 - '@libsql/linux-arm-musleabihf': 0.5.20 - '@libsql/linux-arm64-gnu': 0.5.20 - '@libsql/linux-arm64-musl': 0.5.20 - '@libsql/linux-x64-gnu': 0.5.20 - '@libsql/linux-x64-musl': 0.5.20 - '@libsql/win32-x64-msvc': 0.5.20 + '@libsql/darwin-arm64': 0.5.22 + '@libsql/darwin-x64': 0.5.22 + '@libsql/linux-arm-gnueabihf': 0.5.22 + '@libsql/linux-arm-musleabihf': 0.5.22 + '@libsql/linux-arm64-gnu': 0.5.22 + '@libsql/linux-arm64-musl': 0.5.22 + '@libsql/linux-x64-gnu': 0.5.22 + '@libsql/linux-x64-musl': 0.5.22 + '@libsql/win32-x64-msvc': 0.5.22 local-pkg@1.1.2: dependencies: - mlly: 1.7.4 + mlly: 1.8.0 pkg-types: 2.3.0 quansync: 0.2.11 @@ -6198,17 +6237,17 @@ snapshots: dependencies: yallist: 3.1.1 - magic-string@0.30.17: + magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - mastra@0.12.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(typescript@5.9.2)(zod@3.25.76): + mastra@0.12.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@opentelemetry/api@1.9.0)(@types/json-schema@7.0.15)(typescript@5.9.2)(zod@3.25.76): dependencies: '@clack/prompts': 0.11.0 - '@mastra/core': 0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/deployer': 0.16.0(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76) - '@mastra/loggers': 0.10.11(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) - '@mastra/mcp': 0.11.4(@mastra/core@0.16.0(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) + '@mastra/deployer': 0.16.3(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(typescript@5.9.2)(zod@3.25.76) + '@mastra/loggers': 0.10.11(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) + '@mastra/mcp': 0.12.0(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76) '@opentelemetry/auto-instrumentations-node': 0.62.2(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)) '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) @@ -6222,7 +6261,7 @@ snapshots: commander: 12.1.0 dotenv: 16.6.1 execa: 9.6.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 get-port: 7.1.0 open: 10.2.0 picocolors: 1.1.1 @@ -6236,6 +6275,7 @@ snapshots: zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - '@opentelemetry/api' + - '@types/json-schema' - debug - encoding - supports-color @@ -6276,7 +6316,7 @@ snapshots: minimist@1.2.8: {} - mlly@1.7.4: + mlly@1.8.0: dependencies: acorn: 8.15.0 pathe: 2.0.3 @@ -6311,7 +6351,7 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-releases@2.0.19: {} + node-releases@2.0.21: {} npm-run-path@6.0.0: dependencies: @@ -6355,7 +6395,7 @@ snapshots: path-to-regexp@0.1.12: {} - path-to-regexp@8.2.0: {} + path-to-regexp@8.3.0: {} path-type@6.0.0: {} @@ -6445,7 +6485,7 @@ snapshots: pino-std-serializers@7.0.0: {} - pino@9.9.4: + pino@9.9.5: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -6464,7 +6504,7 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.0 pathe: 2.0.3 pkg-types@2.3.0: @@ -6487,13 +6527,13 @@ snapshots: posthog-node@4.18.0: dependencies: - axios: 1.11.0 + axios: 1.12.2 transitivePeerDependencies: - debug prettier@3.6.2: {} - pretty-ms@9.2.0: + pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 @@ -6501,7 +6541,7 @@ snapshots: promise-limit@2.7.0: {} - protobufjs@7.5.3: + protobufjs@7.5.4: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -6513,7 +6553,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.2.1 + '@types/node': 24.5.0 long: 5.3.2 proxy-addr@2.0.7: @@ -6558,11 +6598,11 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-body@3.0.0: + raw-body@3.0.1: dependencies: bytes: 3.1.2 http-errors: 2.0.0 - iconv-lite: 0.6.3 + iconv-lite: 0.7.0 unpipe: 1.0.0 react@19.1.1: {} @@ -6581,7 +6621,7 @@ snapshots: require-in-the-middle@7.5.2: dependencies: - debug: 4.4.1 + debug: 4.4.3 module-details-from-path: 1.0.4 resolve: 1.22.10 transitivePeerDependencies: @@ -6599,59 +6639,59 @@ snapshots: reusify@1.1.0: {} - rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.50.1): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.50.2): dependencies: - debug: 4.4.1 + debug: 4.4.3 es-module-lexer: 1.7.0 esbuild: 0.25.9 get-tsconfig: 4.10.1 - rollup: 4.50.1 + rollup: 4.50.2 unplugin-utils: 0.2.5 transitivePeerDependencies: - supports-color - rollup-plugin-node-externals@8.0.1(rollup@4.50.1): + rollup-plugin-node-externals@8.1.1(rollup@4.50.2): dependencies: - rollup: 4.50.1 + rollup: 4.50.2 - rollup@4.50.1: + rollup@4.50.2: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.1 - '@rollup/rollup-android-arm64': 4.50.1 - '@rollup/rollup-darwin-arm64': 4.50.1 - '@rollup/rollup-darwin-x64': 4.50.1 - '@rollup/rollup-freebsd-arm64': 4.50.1 - '@rollup/rollup-freebsd-x64': 4.50.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.1 - '@rollup/rollup-linux-arm-musleabihf': 4.50.1 - '@rollup/rollup-linux-arm64-gnu': 4.50.1 - '@rollup/rollup-linux-arm64-musl': 4.50.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.50.1 - '@rollup/rollup-linux-ppc64-gnu': 4.50.1 - '@rollup/rollup-linux-riscv64-gnu': 4.50.1 - '@rollup/rollup-linux-riscv64-musl': 4.50.1 - '@rollup/rollup-linux-s390x-gnu': 4.50.1 - '@rollup/rollup-linux-x64-gnu': 4.50.1 - '@rollup/rollup-linux-x64-musl': 4.50.1 - '@rollup/rollup-openharmony-arm64': 4.50.1 - '@rollup/rollup-win32-arm64-msvc': 4.50.1 - '@rollup/rollup-win32-ia32-msvc': 4.50.1 - '@rollup/rollup-win32-x64-msvc': 4.50.1 + '@rollup/rollup-android-arm-eabi': 4.50.2 + '@rollup/rollup-android-arm64': 4.50.2 + '@rollup/rollup-darwin-arm64': 4.50.2 + '@rollup/rollup-darwin-x64': 4.50.2 + '@rollup/rollup-freebsd-arm64': 4.50.2 + '@rollup/rollup-freebsd-x64': 4.50.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.2 + '@rollup/rollup-linux-arm-musleabihf': 4.50.2 + '@rollup/rollup-linux-arm64-gnu': 4.50.2 + '@rollup/rollup-linux-arm64-musl': 4.50.2 + '@rollup/rollup-linux-loong64-gnu': 4.50.2 + '@rollup/rollup-linux-ppc64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-musl': 4.50.2 + '@rollup/rollup-linux-s390x-gnu': 4.50.2 + '@rollup/rollup-linux-x64-gnu': 4.50.2 + '@rollup/rollup-linux-x64-musl': 4.50.2 + '@rollup/rollup-openharmony-arm64': 4.50.2 + '@rollup/rollup-win32-arm64-msvc': 4.50.2 + '@rollup/rollup-win32-ia32-msvc': 4.50.2 + '@rollup/rollup-win32-x64-msvc': 4.50.2 fsevents: 2.3.3 router@2.2.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color - run-applescript@7.0.0: {} + run-applescript@7.1.0: {} run-parallel@1.2.0: dependencies: @@ -6691,7 +6731,7 @@ snapshots: send@1.2.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -6832,15 +6872,13 @@ snapshots: tslib@2.8.1: {} - tsx@4.20.4: + tsx@4.20.5: dependencies: esbuild: 0.25.9 get-tsconfig: 4.10.1 optionalDependencies: fsevents: 2.3.3 - type-fest@0.21.3: {} - type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -6862,7 +6900,7 @@ snapshots: uncrypto@0.1.3: {} - undici-types@7.10.0: {} + undici-types@7.12.0: {} unicorn-magic@0.3.0: {} @@ -6875,9 +6913,9 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 - update-browserslist-db@1.1.3(browserslist@4.25.2): + update-browserslist-db@1.1.3(browserslist@4.26.0): dependencies: - browserslist: 4.25.2 + browserslist: 4.26.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -6958,11 +6996,11 @@ snapshots: yocto-spinner@0.2.3: dependencies: - yoctocolors: 2.1.1 + yoctocolors: 2.1.2 - yoctocolors-cjs@2.1.2: {} + yoctocolors-cjs@2.1.3: {} - yoctocolors@2.1.1: {} + yoctocolors@2.1.2: {} zod-from-json-schema@0.0.5: dependencies: @@ -6970,7 +7008,7 @@ snapshots: zod-from-json-schema@0.5.0: dependencies: - zod: 4.1.5 + zod: 4.1.8 zod-to-json-schema@3.24.6(zod@3.25.76): dependencies: @@ -6978,4 +7016,4 @@ snapshots: zod@3.25.76: {} - zod@4.1.5: {} + zod@4.1.8: {} From 014552dd5c76e42ae3c4056d0f6c8fbb7d8d5a25 Mon Sep 17 00:00:00 2001 From: fg-nava <189638926+fg-nava@users.noreply.github.com> Date: Tue, 16 Sep 2025 09:03:04 -0700 Subject: [PATCH 27/31] fix: upgraded mastra version to resolve memory thread id issue --- package.json | 4 +-- pnpm-lock.yaml | 97 ++++++-------------------------------------------- 2 files changed, 13 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index fa0d1e2..da882ec 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,8 @@ "@mastra/evals": "^0.12.1", "@mastra/libsql": "^0.13.8", "@mastra/loggers": "^0.10.11", - "@mastra/mcp": "^0.11.4", - "@mastra/memory": "^0.13.1", + "@mastra/mcp": "^0.12.0", + "@mastra/memory": "^0.15.1", "@mastra/pg": "^0.14.6", "@types/jsonwebtoken": "^9.0.10", "@types/ws": "^8.18.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e4dcf9..e380818 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,11 +36,11 @@ importers: specifier: ^0.10.11 version: 0.10.11(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76)) '@mastra/mcp': - specifier: ^0.11.4 - version: 0.11.4(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76) + specifier: ^0.12.0 + version: 0.12.0(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76) '@mastra/memory': - specifier: ^0.13.1 - version: 0.13.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1) + specifier: ^0.15.1 + version: 0.15.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)(zod@3.25.76) '@mastra/pg': specifier: ^0.14.6 version: 0.14.6(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(pg-query-stream@4.10.3(pg@8.16.3)) @@ -130,12 +130,6 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/gateway@1.0.7': - resolution: {integrity: sha512-Athrq7OARuNc0iHZJP6InhSQ53tImCc990vMWyR1UHaZgPZJbXjKhIMiOj54F0I0Nlemx48V4fHYUTfLkJotnQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4 - '@ai-sdk/google-vertex@3.0.27': resolution: {integrity: sha512-qR4+gLBNJPbnqaSBhvWktK0h3MfQryTLpKj9OWTYVhesNPqpkcchmbHmWBBXhI9kGN5niIknzHmCYdrtMqzF5w==} engines: {node: '>=18'} @@ -166,12 +160,6 @@ packages: peerDependencies: zod: ^3.23.8 - '@ai-sdk/provider-utils@3.0.3': - resolution: {integrity: sha512-kAxIw1nYmFW1g5TvE54ZB3eNtgZna0RnLjPUp1ltz1+t9xkXJIuDT4atrwfau9IbS0BOef38wqrI8CjFfQrxhw==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4 - '@ai-sdk/provider-utils@3.0.5': resolution: {integrity: sha512-HliwB/yzufw3iwczbFVE2Fiwf1XqROB/I6ng8EKUsPM5+2wnIa8f4VbljZcDx+grhFrPV+PnRZH7zBqi8WZM7Q==} engines: {node: '>=18'} @@ -769,34 +757,23 @@ packages: peerDependencies: '@mastra/core': '>=0.15.3-0 <0.17.0-0' - '@mastra/mcp@0.11.4': - resolution: {integrity: sha512-s9PntELzEF/EEJq4LOMlCbJpYrd5nIbow58Z+TydQzj3tVj0FFsMtzJrNxNA8zx6hEWSVW6F8xidzrry6pe/vw==} - peerDependencies: - '@mastra/core': '>=0.15.3-0 <0.17.0-0' - zod: ^3.25.0 || ^4.0.0 - '@mastra/mcp@0.12.0': resolution: {integrity: sha512-KODbJ/ztABQrWeIRyDDYM031hMY91gOZZ42wiJQo9JbtX38nXlpcoVSz5Pqm+4WIIDMfz32gcT1V4ie8979C3Q==} peerDependencies: '@mastra/core': '>=0.16.1-0 <0.17.0-0' zod: ^3.25.0 || ^4.0.0 - '@mastra/memory@0.13.1': - resolution: {integrity: sha512-nYkr2+es8Xw0W35HAekPFyvOjclX886ZC91Sc7R4V3nFBQsIjTfA7149QERXciPTWI7HgdKS+v+95sN5pBNp1w==} + '@mastra/memory@0.15.1': + resolution: {integrity: sha512-q6Pu8bXUh6LPsA3eCibT80E1LJq204piGoK3pt4FUgRkh8HKAJXZpPg3B/nOQSyeBKatj6v0zXdf+sV2KR6DEA==} peerDependencies: - '@mastra/core': '>=0.14.0-0 <0.15.0-0' + '@mastra/core': '>=0.16.1-0 <0.17.0-0' + zod: ^3.25.0 || ^4.0.0 '@mastra/pg@0.14.6': resolution: {integrity: sha512-qEu59gA2LijL/VILa93xNO+KqjrOqPsbBcrmeXUGUbCOBgQGJxeM0DSNw1twGUZFknsdjyTtpIXBoTmroY2AVw==} peerDependencies: '@mastra/core': '>=0.15.3-0 <0.16.0-0' - '@mastra/schema-compat@0.10.7': - resolution: {integrity: sha512-lY1V57fHfCRVafNuwmDEmQJNncVZI+wdOdvL/WbgYWLQmL3YjBl3CrM+7yTOM/gG/GPKm8BRxmqnHLhS1rD1zg==} - peerDependencies: - ai: ^4.0.0 - zod: ^3.0.0 - '@mastra/schema-compat@0.11.3': resolution: {integrity: sha512-P50JETxpEFilgp3WIpSidr3Jt+JyZzIwzU9EoYZF+JyeTee/QLXVC4cMTCEU+Uj+4GVDV+L2g+qTHEVWcqxsSA==} peerDependencies: @@ -1693,12 +1670,6 @@ packages: react: optional: true - ai@5.0.15: - resolution: {integrity: sha512-EX5hF+NVFm6R11mvdZRbg6eJEjyMlniI4/xOnyTh4VtDQ457lhIgi3kDGrHW3/qw9ELon9m2e7AK3g5z5sLwsQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4 - ai@5.0.28: resolution: {integrity: sha512-tnybAqoDFzuK6O1NOMHX1d/wH7Eug8y0H4l/Gl6swi8BYGtlTPDjniKnGYzgTpLTdpj7SI3qjZuomz7evph9+w==} engines: {node: '>=18'} @@ -3417,12 +3388,6 @@ snapshots: '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/gateway@1.0.7(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.3(zod@3.25.76) - zod: 3.25.76 - '@ai-sdk/google-vertex@3.0.27(zod@3.25.76)': dependencies: '@ai-sdk/anthropic': 2.0.17(zod@3.25.76) @@ -3460,14 +3425,6 @@ snapshots: secure-json-parse: 2.7.0 zod: 3.25.76 - '@ai-sdk/provider-utils@3.0.3(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.6 - zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) - '@ai-sdk/provider-utils@3.0.5(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 @@ -4141,22 +4098,6 @@ snapshots: pino: 9.9.5 pino-pretty: 13.1.1 - '@mastra/mcp@0.11.4(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76)': - dependencies: - '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) - '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@modelcontextprotocol/sdk': 1.18.0 - date-fns: 4.1.0 - exit-hook: 4.0.0 - fast-deep-equal: 3.1.3 - uuid: 11.1.0 - zod: 3.25.76 - zod-from-json-schema: 0.5.0 - zod-from-json-schema-v3: zod-from-json-schema@0.0.5 - transitivePeerDependencies: - - '@types/json-schema' - - supports-color - '@mastra/mcp@0.12.0(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(@types/json-schema@7.0.15)(zod@3.25.76)': dependencies: '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) @@ -4173,13 +4114,13 @@ snapshots: - '@types/json-schema' - supports-color - '@mastra/memory@0.13.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)': + '@mastra/memory@0.15.1(@mastra/core@0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76))(react@19.1.1)(zod@3.25.76)': dependencies: '@mastra/core': 0.16.3(effect@3.16.12)(openapi-types@12.1.3)(react@19.1.1)(zod@3.25.76) - '@mastra/schema-compat': 0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) + '@mastra/schema-compat': 0.11.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76) '@upstash/redis': 1.35.3 ai: 4.3.19(react@19.1.1)(zod@3.25.76) - ai-v5: ai@5.0.15(zod@3.25.76) + ai-v5: ai@5.0.28(zod@3.25.76) async-mutex: 0.5.0 js-tiktoken: 1.0.21 json-schema: 0.4.0 @@ -4205,14 +4146,6 @@ snapshots: - pg-native - pg-query-stream - '@mastra/schema-compat@0.10.7(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': - dependencies: - ai: 4.3.19(react@19.1.1)(zod@3.25.76) - json-schema: 0.4.0 - zod: 3.25.76 - zod-from-json-schema: 0.0.5 - zod-to-json-schema: 3.24.6(zod@3.25.76) - '@mastra/schema-compat@0.11.3(ai@4.3.19(react@19.1.1)(zod@3.25.76))(zod@3.25.76)': dependencies: ai: 4.3.19(react@19.1.1)(zod@3.25.76) @@ -5286,14 +5219,6 @@ snapshots: optionalDependencies: react: 19.1.1 - ai@5.0.15(zod@3.25.76): - dependencies: - '@ai-sdk/gateway': 1.0.7(zod@3.25.76) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.3(zod@3.25.76) - '@opentelemetry/api': 1.9.0 - zod: 3.25.76 - ai@5.0.28(zod@3.25.76): dependencies: '@ai-sdk/gateway': 1.0.15(zod@3.25.76) From b3fe9cbbb3510b47c77fe5bc5fcd48d63a46fa08 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:16:02 -0400 Subject: [PATCH 28/31] feat: decision log guidelines and start --- docs/decisions/template.md | 0 .../000-custom-built-ui-vs-template-chat.md | 99 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 docs/decisions/template.md create mode 100644 docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md diff --git a/docs/decisions/template.md b/docs/decisions/template.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md new file mode 100644 index 0000000..1899b75 --- /dev/null +++ b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md @@ -0,0 +1,99 @@ +# Frontend UI Framework Implementation: Custom vs Template Approaches + +- Status: proposed +- Deciders: KayTV, fg-nava +- Date: 2025-08-27 + +Technical Story: [PR #4](https://github.com/navapbc/labs-asp/pull/4) vs [PR #13](https://github.com/navapbc/labs-asp/pull/13) + +## Context and Problem Statement + +The project needed a frontend user interface to provide a chat experience for users to interact with the Mastra bot for application assistance. The existing codebase had backend functionality but lacked a user-facing interface for end users to access the web automation agent capabilities. + +## Decision Drivers + +- Need for user-friendly interface to access AI chat functionality +- Integration with existing Mastra web automation agent +- Modern, responsive UI requirements +- Chat-based interaction model for application assistance + +## Considered Options + +- Custom-built UI with Vercel AI SDK (PR #4) +- Vercel AI SDK chatbot template (PR #13) +- Third-party chat widget integration +- Minimal HTML/CSS interface +- Full-stack framework like Next.js + +## Decision Outcome + +**Status: Under Evaluation** - Comparing two Vercel AI SDK approaches: + +1. **Custom-built UI (PR #4)**: Full custom implementation with login, dashboard, and client management +2. **Vercel chatbot template (PR #13)**: Template-based approach using [Vercel's Next.js AI chatbot template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) + +Both approaches use Vercel AI SDK but differ in implementation strategy and scope. + +### Positive Consequences + +- Modern, responsive chat interface +- Seamless integration with existing Mastra bot +- Professional user experience with login, dashboard, and client management +- Full control over UI/UX design and functionality +- Leverages Vercel AI SDK's proven chat components + +### Negative Consequences + +- Additional frontend code to maintain +- Requires frontend development expertise +- Potential for UI/UX inconsistencies if not properly maintained + +## Pros and Cons of the Options + +### Custom-built UI with Vercel AI SDK (PR #4) + +- Good, because provides full control over user experience +- Good, because integrates seamlessly with existing backend +- Good, because leverages proven AI chat components +- Good, because includes complete user management (login, dashboard, client profiles) +- Bad, because requires additional frontend development effort +- Bad, because increases codebase complexity +- Bad, because more code to maintain and test + +### Vercel chatbot template (PR #13) + +- Good, because faster implementation using proven template +- Good, because maintained by Vercel team +- Good, because includes model selection dropdowns for testing +- Good, because lighter weight and focused on chat functionality +- Bad, because limited to chat interface only (no user management) +- Bad, because requires integration with existing Mastra backend +- Bad, because template may have limitations for custom requirements + +### Third-party chat widget integration + +- Good, because faster implementation +- Good, because maintained by third party +- Bad, because limited customization options +- Bad, because potential vendor lock-in + +### Minimal HTML/CSS interface + +- Good, because simple and lightweight +- Good, because easy to maintain +- Bad, because poor user experience +- Bad, because limited functionality + +### Full-stack framework like Next.js + +- Good, because comprehensive solution +- Good, because modern development experience +- Bad, because overkill for simple chat interface +- Bad, because increases complexity and dependencies + +## Links + +- [PR #4](https://github.com/navapbc/labs-asp/pull/4) - Custom-built UI implementation +- [PR #13](https://github.com/navapbc/labs-asp/pull/13) - Vercel chatbot template implementation +- [Vercel AI SDK](https://sdk.vercel.ai/) - Framework documentation +- [Vercel Next.js AI Chatbot Template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) - Template used in PR #13 From cc89837bfc5689a38a0efaff027477361178249f Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:19:52 -0400 Subject: [PATCH 29/31] template --- docs/decisions/template.md | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/docs/decisions/template.md b/docs/decisions/template.md index e69de29..0f106fc 100644 --- a/docs/decisions/template.md +++ b/docs/decisions/template.md @@ -0,0 +1,72 @@ +# [short title of solved problem and solution] + +- Status: [proposed | rejected | accepted | deprecated | … | superseded by [ADR-YYYY-MM-DD](2025-01-21-example.md)] +- Deciders: [list everyone involved in the decision] +- Date: [YYYY-MM-DD when the decision was last updated] + +Technical Story: [description | ticket/issue URL] + +## Context and Problem Statement + +[Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in the form of a question.] + +## Decision Drivers + +- [driver 1, e.g., a force, facing concern, …] +- [driver 2, e.g., a force, facing concern, …] +- … + +## Considered Options + +- [option 1] +- [option 2] +- [option 3] +- … + +## Decision Outcome + +Chosen option: "[option 1]", because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)]. + +### Positive Consequences + +- [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …] +- … + +### Negative Consequences + +- [e.g., compromising quality attribute, follow-up decisions required, …] +- … + +## Pros and Cons of the Options + +### [option 1] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +### [option 2] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +### [option 3] + +[example | description | pointer to more information | …] + +- Good, because [argument a] +- Good, because [argument b] +- Bad, because [argument c] +- … + +## Links + +- [Link type] [Link to ADR] +- … \ No newline at end of file From 9d0f5d77282aa99ed0e4c086ab4589a14bc86d43 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Wed, 27 Aug 2025 15:46:18 -0400 Subject: [PATCH 30/31] edits --- .../000-custom-built-ui-vs-template-chat.md | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md index 1899b75..24c8d6c 100644 --- a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md +++ b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md @@ -21,9 +21,6 @@ The project needed a frontend user interface to provide a chat experience for us - Custom-built UI with Vercel AI SDK (PR #4) - Vercel AI SDK chatbot template (PR #13) -- Third-party chat widget integration -- Minimal HTML/CSS interface -- Full-stack framework like Next.js ## Decision Outcome @@ -55,7 +52,7 @@ Both approaches use Vercel AI SDK but differ in implementation strategy and scop - Good, because provides full control over user experience - Good, because integrates seamlessly with existing backend - Good, because leverages proven AI chat components -- Good, because includes complete user management (login, dashboard, client profiles) +- Good, because includes complete user management (login, dashboard, client profiles) (all non-working at the moment) - Bad, because requires additional frontend development effort - Bad, because increases codebase complexity - Bad, because more code to maintain and test @@ -66,31 +63,10 @@ Both approaches use Vercel AI SDK but differ in implementation strategy and scop - Good, because maintained by Vercel team - Good, because includes model selection dropdowns for testing - Good, because lighter weight and focused on chat functionality -- Bad, because limited to chat interface only (no user management) -- Bad, because requires integration with existing Mastra backend +- Bad, because limited to chat interface only (no user management) (could put back in, original template had some of this, removed because we didn't need the DB interaction) +- Bad, because requires integration with existing Mastra backend (learning curve - both needed to be up to date with versioning and had to remove existing pattern) - Bad, because template may have limitations for custom requirements -### Third-party chat widget integration - -- Good, because faster implementation -- Good, because maintained by third party -- Bad, because limited customization options -- Bad, because potential vendor lock-in - -### Minimal HTML/CSS interface - -- Good, because simple and lightweight -- Good, because easy to maintain -- Bad, because poor user experience -- Bad, because limited functionality - -### Full-stack framework like Next.js - -- Good, because comprehensive solution -- Good, because modern development experience -- Bad, because overkill for simple chat interface -- Bad, because increases complexity and dependencies - ## Links - [PR #4](https://github.com/navapbc/labs-asp/pull/4) - Custom-built UI implementation From c983801d9075c5e53ac90477602daceaec358c16 Mon Sep 17 00:00:00 2001 From: KaylynTV39 Date: Tue, 16 Sep 2025 13:56:22 -0400 Subject: [PATCH 31/31] docs --- .../000-custom-built-ui-vs-template-chat.md | 84 +++++++++++++++---- 1 file changed, 68 insertions(+), 16 deletions(-) diff --git a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md index 24c8d6c..3d32249 100644 --- a/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md +++ b/docs/decisions/ui-framework/000-custom-built-ui-vs-template-chat.md @@ -21,15 +21,17 @@ The project needed a frontend user interface to provide a chat experience for us - Custom-built UI with Vercel AI SDK (PR #4) - Vercel AI SDK chatbot template (PR #13) +- Hybrid approach: Start with template, gradually customize ## Decision Outcome -**Status: Under Evaluation** - Comparing two Vercel AI SDK approaches: +**Status: Under Evaluation** - Comparing three Vercel AI SDK approaches: 1. **Custom-built UI (PR #4)**: Full custom implementation with login, dashboard, and client management 2. **Vercel chatbot template (PR #13)**: Template-based approach using [Vercel's Next.js AI chatbot template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) +3. **Hybrid approach**: Start with template foundation, gradually add custom features and user management -Both approaches use Vercel AI SDK but differ in implementation strategy and scope. +All approaches use Vercel AI SDK but differ in implementation strategy and scope. ### Positive Consequences @@ -49,27 +51,77 @@ Both approaches use Vercel AI SDK but differ in implementation strategy and scop ### Custom-built UI with Vercel AI SDK (PR #4) -- Good, because provides full control over user experience -- Good, because integrates seamlessly with existing backend -- Good, because leverages proven AI chat components -- Good, because includes complete user management (login, dashboard, client profiles) (all non-working at the moment) -- Bad, because requires additional frontend development effort -- Bad, because increases codebase complexity -- Bad, because more code to maintain and test +**Development Speed vs. Maintenance Burden:** +- Bad, because requires significant upfront development effort and time investment +- Good, because once built, provides predictable maintenance patterns aligned with existing codebase +- Bad, because increases long-term maintenance burden with more custom code to debug and update + +**Customization Flexibility vs. Out-of-the-box Functionality:** +- Good, because provides complete control over user experience and feature implementation +- Good, because can be tailored precisely to project requirements and existing backend patterns +- Bad, because must build all functionality from scratch rather than leveraging existing solutions + +**Short-term Demo Needs vs. Long-term Project Architecture:** +- Bad, because slower to get initial demo working due to development complexity +- Good, because creates a solid foundation for long-term project architecture and scalability +- Good, because includes complete user management (login, dashboard, client profiles) for production readiness + +**Quality of Existing Templates vs. Building from Scratch:** +- Good, because leverages proven Vercel AI SDK components as building blocks +- Bad, because must implement custom patterns rather than using battle-tested template approaches +- Good, because ensures code quality standards match existing project architecture ### Vercel chatbot template (PR #13) -- Good, because faster implementation using proven template -- Good, because maintained by Vercel team -- Good, because includes model selection dropdowns for testing -- Good, because lighter weight and focused on chat functionality -- Bad, because limited to chat interface only (no user management) (could put back in, original template had some of this, removed because we didn't need the DB interaction) +**Development Speed vs. Maintenance Burden:** +- Good, because dramatically faster implementation using proven template +- Good, because reduced maintenance burden with Vercel team maintaining core template +- Bad, because may require ongoing integration work as template evolves + +**Customization Flexibility vs. Out-of-the-box Functionality:** +- Good, because provides immediate out-of-the-box chat functionality +- Bad, because limited to chat interface only (no user management) - though could be added back +- Bad, because template may have limitations for custom requirements and integration patterns + +**Short-term Demo Needs vs. Long-term Project Architecture:** +- Good, because enables rapid demo deployment and testing +- Bad, because may require significant refactoring for long-term production architecture +- Good, because includes model selection dropdowns for immediate testing capabilities + +**Quality of Existing Templates vs. Building from Scratch:** +- Good, because leverages high-quality, battle-tested Vercel template - Bad, because requires integration with existing Mastra backend (learning curve - both needed to be up to date with versioning and had to remove existing pattern) -- Bad, because template may have limitations for custom requirements +- Good, because lighter weight and focused on chat functionality reduces complexity + +### Hybrid approach: Start with template, gradually customize + +**Development Speed vs. Maintenance Burden:** +- Good, because enables rapid initial deployment using proven template foundation +- Good, because allows incremental development reducing upfront complexity +- Bad, because may create technical debt if customizations aren't planned carefully +- Good, because maintenance burden grows gradually as features are added + +**Customization Flexibility vs. Out-of-the-box Functionality:** +- Good, because starts with working out-of-the-box functionality for immediate demos +- Good, because provides flexibility to add custom features incrementally +- Bad, because may require refactoring template code as customizations grow +- Good, because can adapt to changing requirements without starting over + +**Short-term Demo Needs vs. Long-term Project Architecture:** +- Good, because enables quick demo deployment while planning long-term architecture +- Good, because allows validation of core functionality before major custom development +- Bad, because may lead to architectural compromises if not carefully planned +- Good, because provides clear migration path from template to custom solution + +**Quality of Existing Templates vs. Building from Scratch:** +- Good, because leverages proven template as solid foundation +- Good, because can selectively replace template components with custom implementations +- Bad, because may inherit template limitations that are hard to remove later +- Good, because allows learning from template patterns before building custom equivalents ## Links - [PR #4](https://github.com/navapbc/labs-asp/pull/4) - Custom-built UI implementation - [PR #13](https://github.com/navapbc/labs-asp/pull/13) - Vercel chatbot template implementation - [Vercel AI SDK](https://sdk.vercel.ai/) - Framework documentation -- [Vercel Next.js AI Chatbot Template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) - Template used in PR #13 +- [Vercel Next.js AI Chatbot Template](https://vercel.com/templates/next.js/nextjs-ai-chatbot) - Template used in PR #13 \ No newline at end of file