Skip to content

feat: Update agent configurations and dependencies#38

Merged
ssdeanx merged 1 commit intomainfrom
develop
Dec 11, 2025
Merged

feat: Update agent configurations and dependencies#38
ssdeanx merged 1 commit intomainfrom
develop

Conversation

@ssdeanx
Copy link
Owner

@ssdeanx ssdeanx commented Dec 11, 2025

  • Added new zod version (3.25.76) to multiple agent modules for improved validation.
  • Removed 'thinkingLevel' from agent configurations to simplify response modalities.
  • Updated response modalities from ['TEXT', 'IMAGE'] to ['TEXT'] in various agents for consistency.
  • Refactored memory initialization in pg-storage and upstash configurations.
  • Adjusted sampling rates in stock analysis agent for better performance.
  • Commented out unused langfuse configurations in mastra index.

- Added new zod version (3.25.76) to multiple agent modules for improved validation.
- Removed 'thinkingLevel' from agent configurations to simplify response modalities.
- Updated response modalities from ['TEXT', 'IMAGE'] to ['TEXT'] in various agents for consistency.
- Refactored memory initialization in pg-storage and upstash configurations.
- Adjusted sampling rates in stock analysis agent for better performance.
- Commented out unused langfuse configurations in mastra index.
Copilot AI review requested due to automatic review settings December 11, 2025 18:00
@continue
Copy link

continue bot commented Dec 11, 2025

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @ssdeanx, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@github-actions
Copy link

🤖 Hi @ssdeanx, I've received your request, and I'm working on it now! You can track my progress in the logs for more details.

@coderabbitai
Copy link

coderabbitai bot commented Dec 11, 2025

Summary by CodeRabbit

Release Notes

  • Chores

    • Removed zod dependency
    • Disabled Langfuse observability integration
  • Refactor

    • Simplified agent response configurations to support text-only output across multiple agents
    • Adjusted data evaluation sampling rates for enhanced performance
    • Removed rigid output format specifications from stock analysis feature
    • Streamlined agent thinking configurations

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

This PR removes the zod dependency from package.json and standardizes Google provider configurations across 20+ agent files by removing thinkingLevel settings and restricting responseModalities to TEXT-only. Configuration adjustments include disabling Langfuse observability, removing memory processors, and adjusting sampling rates in specific agents.

Changes

Cohort / File(s) Summary
Dependency removal
package.json
Removed zod from dependencies and overrides
Agent provider standardization
src/mastra/agents/acpAgent.ts, src/mastra/agents/businessLegalAgents.ts, src/mastra/agents/calendarAgent.ts, src/mastra/agents/codingAgents.ts, src/mastra/agents/contentStrategistAgent.ts, src/mastra/agents/copywriterAgent.ts, src/mastra/agents/csv_to_excalidraw.ts, src/mastra/agents/dane.ts, src/mastra/agents/editorAgent.ts, src/mastra/agents/evaluationAgent.ts, src/mastra/agents/excalidraw_validator.ts, src/mastra/agents/image_to_csv.ts, src/mastra/agents/learningExtractionAgent.ts, src/mastra/agents/reportAgent.ts, src/mastra/agents/researchAgent.ts, src/mastra/agents/scriptWriterAgent.ts, src/mastra/agents/weather-agent.ts
Removed thinkingLevel from Google provider configurations; narrowed responseModalities from ['TEXT', 'IMAGE'] to ['TEXT']
Agent-specific adjustments
src/mastra/agents/businessLegalAgents.ts
Removed google_search dynamic tool from complianceMonitoringAgent
Thinking configuration refactor
src/mastra/agents/codingAgents.ts
Replaced thinkingLevel conditionals with thinkingBudget: -1 in providerOptions
Stock analysis prompt simplification
src/mastra/agents/stockAnalysisAgent.ts
Removed timestamp from system role and removed entire \<output_format\> JSON schema block; removed thinkingLevel from Google provider
Scorer sampling adjustments
src/mastra/agents/package-publisher.ts, src/mastra/agents/recharts.ts
Adjusted taskCompletion and financialData scorer sampling rates; removed responseQuality scorer block from recharts
Memory configuration cleanup
src/mastra/config/pg-storage.ts
Removed empty processors array and generateTitle option from Memory configuration
Upstash storage cleanup
src/mastra/config/upstash.ts
Removed empty processors array from upstashMemory configuration
Observability configuration
src/mastra/index.ts
Disabled Langfuse integration by commenting out the entire langfuse block under observability.configs

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Areas requiring extra attention:

  • Verify that all 17+ agent files have consistent and complete standardization of Google provider configurations
  • Confirm the removal of google_search tool from complianceMonitoringAgent does not break downstream dependencies
  • Review stockAnalysisAgent prompt changes to ensure output structure expectations are updated elsewhere if needed
  • Validate that disabling Langfuse observability does not impact monitoring/debugging workflows

Possibly related PRs

Suggested reviewers

  • sourcery-ai

Poem

🐰 With whiskers twitching, I hop through the code,
Zod's gone, configs lean on the road!
Thinking levels trimmed, images bid adieu,
TEXT-only responses—a simpler brew! 🌙

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is related to the changeset but contains a significant inaccuracy: it claims zod was 'added' with version 3.25.76, when the actual change was removing zod from dependencies. Correct the description to accurately reflect that zod was removed from dependencies, not added. Verify all listed changes match the actual modifications made.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes in the pull request, which involve updating agent configurations and removing/modifying dependencies like zod.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8906b30 and cabab94.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (24)
  • package.json (0 hunks)
  • src/mastra/agents/acpAgent.ts (1 hunks)
  • src/mastra/agents/businessLegalAgents.ts (4 hunks)
  • src/mastra/agents/calendarAgent.ts (1 hunks)
  • src/mastra/agents/codingAgents.ts (4 hunks)
  • src/mastra/agents/contentStrategistAgent.ts (1 hunks)
  • src/mastra/agents/copywriterAgent.ts (1 hunks)
  • src/mastra/agents/csv_to_excalidraw.ts (1 hunks)
  • src/mastra/agents/dane.ts (5 hunks)
  • src/mastra/agents/editorAgent.ts (1 hunks)
  • src/mastra/agents/evaluationAgent.ts (1 hunks)
  • src/mastra/agents/excalidraw_validator.ts (1 hunks)
  • src/mastra/agents/image_to_csv.ts (1 hunks)
  • src/mastra/agents/learningExtractionAgent.ts (0 hunks)
  • src/mastra/agents/package-publisher.ts (1 hunks)
  • src/mastra/agents/recharts.ts (2 hunks)
  • src/mastra/agents/reportAgent.ts (1 hunks)
  • src/mastra/agents/researchAgent.ts (1 hunks)
  • src/mastra/agents/scriptWriterAgent.ts (1 hunks)
  • src/mastra/agents/stockAnalysisAgent.ts (0 hunks)
  • src/mastra/agents/weather-agent.ts (0 hunks)
  • src/mastra/config/pg-storage.ts (2 hunks)
  • src/mastra/config/upstash.ts (1 hunks)
  • src/mastra/index.ts (1 hunks)
💤 Files with no reviewable changes (4)
  • src/mastra/agents/weather-agent.ts
  • src/mastra/agents/learningExtractionAgent.ts
  • package.json
  • src/mastra/agents/stockAnalysisAgent.ts
🧰 Additional context used
📓 Path-based instructions (14)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (.github/instructions/next-js.instructions.md)

**/*.{js,jsx,ts,tsx}: Use next/dynamic for dynamic imports to load components only when needed, improving initial load time.
Use next/image component for automatic image optimization, including lazy loading and responsive images.
Use React.memo to prevent unnecessary re-renders of components.
Use the <Link prefetch> tag to prefetch pages that are likely to be visited.
Use getServerSideProps, getStaticProps, or server components for fetching data on the server-side.
Use SWR or React Query for client-side data fetching and caching.
Use CSS Modules, Styled Components, or Tailwind CSS for component-level styling. Prefer Tailwind CSS for rapid development.
Use React Context, Zustand, Jotai, or Recoil for managing global state. Avoid Redux unless necessary.
Use react-hook-form for managing forms and validation.
Only fetch the data that is needed by the component to avoid over-fetching.
Avoid long-running synchronous operations in the main thread to prevent blocking.
Always use setState or hooks to update state instead of mutating state directly.
Include a complete dependency array in useEffect hooks to prevent unexpected behavior.
Avoid writing server-side code in client components to prevent exposing secrets or causing unexpected behavior.
Use try...catch blocks for handling errors in asynchronous operations.
Implement error boundary components using getDerivedStateFromError or componentDidCatch lifecycle methods.
Sanitize user input to prevent Cross-Site Scripting (XSS) attacks. Be especially careful when rendering HTML directly from user input.
Store authentication tokens in HTTP-only cookies or local storage securely.
Implement role-based access control to restrict access to sensitive resources.
Clean up event listeners and timers in useEffect hooks to avoid memory leaks.
Only update state when necessary to reduce the number of re-renders and improve performance.
Use immutable data structures and avoid mutating data directly to prevent unexpected...

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
**/*.{js,ts}

📄 CodeRabbit inference engine (.github/instructions/next-js.instructions.md)

Use parameterized queries or an ORM to prevent SQL injection attacks.

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
src/mastra/agents/**/*.ts

📄 CodeRabbit inference engine (src/mastra/AGENTS.md)

Add new agent definitions under src/mastra/agents that wire tools together into higher-level behaviors

Agents must compose tools into specialized behaviors and be located in src/mastra/agents

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/agents/recharts.ts
src/mastra/agents/*.ts

📄 CodeRabbit inference engine (src/mastra/agents/AGENTS.md)

src/mastra/agents/*.ts: Agent file naming convention: Create agent files using kebab-case with .ts extension in /src/mastra/agents/ directory (e.g., your-agent-name.ts)
Each agent must follow the pattern: export agent as const yourAgent = new Agent({ id: 'your-agent-id', name: 'Your Agent Name', description: '...' })

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/agents/recharts.ts
**/*.{ts,tsx,js,jsx,py,java,cs,rb,go,rs,cpp,c,h,hpp,swift,kotlin,php,scala,clj,groovy,lua,sh,bash}

📄 CodeRabbit inference engine (.github/instructions/self-explanatory-code-commenting.instructions.md)

**/*.{ts,tsx,js,jsx,py,java,cs,rb,go,rs,cpp,c,h,hpp,swift,kotlin,php,scala,clj,groovy,lua,sh,bash}: Write code that speaks for itself. Comment only when necessary to explain WHY, not WHAT. Avoid obvious comments that state what the code literally does.
Avoid redundant comments that simply repeat what the code is doing
Keep comments accurate and up-to-date with code changes. Remove or update outdated comments that no longer match the implementation.
Write comments for complex business logic that explain the WHY behind specific calculations or business rules
Document non-obvious algorithms with comments explaining the algorithm choice and its reasoning
Add comments explaining what regex patterns match, especially for complex patterns
Document API constraints, rate limits, gotchas, and external dependencies with explanatory comments
Avoid commenting out dead code. Use version control instead of maintaining commented code blocks.
Do not maintain code change history or modification logs as comments. Rely on git history and commit messages instead.
Avoid decorative divider comments (e.g., lines of equals signs or asterisks) for section separation
Ensure comments are placed appropriately above or adjacent to the code they describe
Write comments using proper grammar, spelling, and professional language
Prefer self-documenting code with clear variable/function names over adding comments to explain unclear code

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/instructions/self-explanatory-code-commenting.instructions.md)

**/*.{ts,tsx,js,jsx}: Document public APIs with TSDoc/JSDoc comments including parameter descriptions, return types, examples, and thrown exceptions
Add TSDoc comments to configuration constants and environment variables explaining their source, reasoning, or constraints
Use TSDoc annotation tags (TODO, FIXME, HACK, NOTE, WARNING, PERF, SECURITY, BUG, REFACTOR, DEPRECATED) to mark special comments
Include file headers with @fileoverview, @author, @copyright, and @license tags to document file purpose and ownership
Document function parameters with @param tags, return values with @returns tags, and exceptions with @throws tags in TSDoc comments
Use @see tags in TSDoc comments to reference related functions, methods, or documentation
Include @example tags in public API documentation with code examples showing typical usage

**/*.{ts,tsx,js,jsx}: Use Mastra mcp tools (#mastradocs, #mastraChanges, #mastraexamples, #mastraBlog) for Mastra framework development to stay updated with latest features and best practices
When working with Next.js projects, always utilize the next-devtools-mcp server for all Next.js related queries

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.github/instructions/self-explanatory-code-commenting.instructions.md)

**/*.{ts,tsx}: Document interface and type definitions with TSDoc comments explaining their purpose and usage context
Document interface properties with /** */ comments explaining each field's purpose and constraints
Document generic type parameters with @template tags explaining what each type parameter represents
Use type guards with comments explaining the runtime validation logic being performed
Document advanced/complex TypeScript types with explanatory comments about their purpose and use cases

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
src/mastra/**/*

📄 CodeRabbit inference engine (src/AGENTS.md)

mastra modules can import from utils, but must not import from app or cli (except types)

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
**/*.{css,tsx,ts}

📄 CodeRabbit inference engine (AGENTS.md)

Use Tailwind CSS 4 with oklch color variables for styling

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/config/pg-storage.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/config/upstash.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/index.ts
  • src/mastra/agents/recharts.ts
src/mastra/{tools,agents,workflows}/**/*.ts

📄 CodeRabbit inference engine (AGENTS.md)

Use Zod schemas for strict input/output validation in tools, agents, and workflows

Files:

  • src/mastra/agents/copywriterAgent.ts
  • src/mastra/agents/researchAgent.ts
  • src/mastra/agents/editorAgent.ts
  • src/mastra/agents/scriptWriterAgent.ts
  • src/mastra/agents/package-publisher.ts
  • src/mastra/agents/businessLegalAgents.ts
  • src/mastra/agents/reportAgent.ts
  • src/mastra/agents/dane.ts
  • src/mastra/agents/excalidraw_validator.ts
  • src/mastra/agents/calendarAgent.ts
  • src/mastra/agents/image_to_csv.ts
  • src/mastra/agents/acpAgent.ts
  • src/mastra/agents/evaluationAgent.ts
  • src/mastra/agents/contentStrategistAgent.ts
  • src/mastra/agents/csv_to_excalidraw.ts
  • src/mastra/agents/codingAgents.ts
  • src/mastra/agents/recharts.ts
src/mastra/config/pg-storage.ts

📄 CodeRabbit inference engine (src/mastra/config/AGENTS.md)

src/mastra/config/pg-storage.ts: PostgreSQL storage configuration must include PgVector support for embeddings, memory, and thread persistence
Database connection must use the SUPABASE environment variable with optional performance tuning via DB_MAX_CONNECTIONS, DB_IDLE_TIMEOUT, and DB_CONNECTION_TIMEOUT
Memory configuration must support MEMORY_LAST_MESSAGES, SEMANTIC_TOP_K, SEMANTIC_RANGE_BEFORE, SEMANTIC_RANGE_AFTER, and LISTS environment variables
RAG configuration must support GRAPH_THRESHOLD, GRAPH_RANDOM_WALK_STEPS, GRAPH_RESTART_PROB, PG_MIN_SCORE, and PG_EF environment variables

Files:

  • src/mastra/config/pg-storage.ts
src/mastra/config/**/*.ts

📄 CodeRabbit inference engine (AGENTS.md)

src/mastra/config/**/*.ts: Use maskSensitiveMessageData() helper from src/mastra/config/pg-storage.ts to mask secrets in logs
Centralize provider clients (Google, OpenAI, Anthropic, OpenRouter) and storage configuration in src/mastra/config
Use PostgreSQL + PgVector for vector search and persistence via pg-storage

Files:

  • src/mastra/config/pg-storage.ts
  • src/mastra/config/upstash.ts
src/mastra/config/upstash.ts

📄 CodeRabbit inference engine (src/mastra/config/AGENTS.md)

Upstash Redis configuration must support caching and session storage functionality

Files:

  • src/mastra/config/upstash.ts
src/mastra/index.ts

📄 CodeRabbit inference engine (src/AGENTS.md)

Enforce registration pattern in mastra/index.ts for AI orchestration modules composition

Files:

  • src/mastra/index.ts
🧬 Code graph analysis (1)
src/mastra/config/pg-storage.ts (1)
src/mastra/config/logger.ts (1)
  • log (14-18)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Agent
  • GitHub Check: Codacy Security Scan
🔇 Additional comments (30)
src/mastra/agents/reportAgent.ts (1)

82-91: TEXT-only modality for reportAgent looks consistent but confirm no IMAGE consumers remain

Switching providerOptions.google.responseModalities to ['TEXT'] is consistent with making this a pure Markdown report agent and matches the PR goals. Please double-check that:

  • No downstream code/UI still expects IMAGE responses from reportAgent.
  • Any tests or fixtures that assumed mixed ['TEXT', 'IMAGE'] outputs are updated accordingly.
src/mastra/agents/package-publisher.ts (1)

197-201: Reduced taskCompletion sampling rate – verify intended coverage

Lowering taskCompletion sampling from full coverage to rate: 0.4 will significantly reduce evaluation frequency (cheaper, but fewer quality signals). If this is a cost-control move, the change is reasonable; otherwise, consider:

  • Making this ratio configurable per environment.
  • Keeping a higher rate in staging/pre-prod for better signal.
src/mastra/agents/editorAgent.ts (1)

98-106: Editor agent constrained to TEXT responses – ensure no IMAGE handling paths depend on it

Updating providerOptions.google.responseModalities to ['TEXT'] aligns with a text-only editor and simplifies provider usage. Please verify:

  • Any UI or orchestration layers that previously rendered or routed IMAGE outputs from editorAgent are cleaned up.
  • Tests around multimodal responses are adjusted or removed.
src/mastra/agents/excalidraw_validator.ts (1)

95-104: Excalidraw validator now TEXT-only – consistent with JSON contract

Confining responseModalities to ['TEXT'] matches the agent’s contract of returning Excalidraw JSON and should be safe. Just confirm:

  • No caller expects this agent to emit IMAGE content (e.g., previews or rendered diagrams).
  • Any multimodal handling around this agent has been removed or gated.
src/mastra/agents/evaluationAgent.ts (1)

116-125: Evaluation agent restricted to TEXT responses – matches usage

Changing providerOptions.google.responseModalities to ['TEXT'] is aligned with this agent’s purely textual evaluation output. Please ensure:

  • Any logging/telemetry or UI components that assumed possible IMAGE responses from evaluationAgent are updated.
  • Upstream callers don’t rely on multimodal response typing here.
src/mastra/agents/calendarAgent.ts (1)

38-45: Calendar agent TEXT-only modality aligns with assistant behavior

responseModalities: ['TEXT'] fits this agent’s role (summaries, scheduling guidance). Confirm that:

  • No client code still expects IMAGE-based visualizations directly from calendarAgent.
  • Any multimodal tests/configs were adjusted as part of this PR-wide standardization.
src/mastra/agents/contentStrategistAgent.ts (1)

81-90: Content strategist agent now TEXT-only – consistent with structured output

The switch to responseModalities: ['TEXT'] for the Google provider matches this agent’s structured/JSON/text-heavy output. Please double-check that:

  • No downstream pipeline stage was parsing or displaying IMAGE responses from this agent.
  • Any multimodal assumptions in tests or docs have been updated.
src/mastra/agents/copywriterAgent.ts (1)

115-124: Copywriter agent constrained to TEXT – appropriate for content-generation

Restricting responseModalities to ['TEXT'] aligns with the copywriter agent’s role and simplifies Google provider usage. Please verify:

  • Any previous flows that might have experimented with IMAGE outputs from this agent are removed or migrated.
  • Type expectations for responses (e.g., in tools/workflows consuming copywriterAgent) are strictly text-based.
src/mastra/config/pg-storage.ts (1)

149-149: LGTM: Minor formatting cleanup.

The whitespace adjustments improve readability. According to the AI summary, empty configuration blocks (processors: []) were also removed from the memory initialization, which is a sensible cleanup that reduces boilerplate without affecting functionality.

Also applies to: 155-155, 175-176

src/mastra/config/upstash.ts (1)

110-110: LGTM: Consistent cleanup with pg-storage.ts.

The removal of empty configuration blocks (like processors: []) from memory initialization aligns with the broader cleanup pattern in this PR and reduces unnecessary boilerplate.

src/mastra/agents/scriptWriterAgent.ts (1)

64-64: LGTM: Appropriate modality restriction for script writing.

Limiting responseModalities to TEXT-only is well-aligned with the scriptWriterAgent's purpose, as the agent focuses on generating written scripts rather than visual content.

src/mastra/agents/image_to_csv.ts (1)

139-139: LGTM: Correct output modality for image-to-CSV conversion.

The TEXT-only responseModalities is appropriate since this agent analyzes images as input and produces CSV text as output. It doesn't generate images, so restricting to TEXT output is functionally correct.

src/mastra/agents/acpAgent.ts (1)

93-93: LGTM: Aligned with agent's data-processing focus.

The TEXT-only restriction is appropriate for the ACP agent, which is focused on task management and data operations without any image generation requirements as per the instructions.

src/mastra/agents/csv_to_excalidraw.ts (1)

170-170: LGTM: Appropriate for JSON output format.

TEXT-only responseModalities is correct since this agent outputs Excalidraw JSON schemas (text-based format) rather than generating actual image files.

src/mastra/agents/researchAgent.ts (1)

148-152: LGTM: Appropriate for research analysis output.

The TEXT-only responseModalities is well-suited for the research agent's purpose of conducting analysis and producing research reports. The thinkingConfig is appropriately retained with includeThoughts and thinkingBudget settings.

src/mastra/index.ts (1)

205-229: Verify: Langfuse observability disabled.

The entire Langfuse observability configuration has been commented out, including the SensitiveDataFilter that was masking sensitive fields. This is a significant change that impacts:

  1. Observability: Loss of Langfuse tracing/monitoring (though Otel/MLflow remains active)
  2. PII Protection: The SensitiveDataFilter that masked sensitive fields like 'api-key', 'password', 'email', etc., is now disabled
  3. Unused Import: Line 12 still imports LangfuseExporter which is no longer used

Please confirm:

  • Is removal of Langfuse intentional for this deployment?
  • Is sensitive data filtering handled elsewhere, or is the PII exposure risk acceptable?
  • Should the unused import on line 12 be removed?
#!/bin/bash
# Verify if any code still references Langfuse or expects it to be active

echo "=== Checking for Langfuse usage in codebase ==="
rg -n "langfuse|Langfuse" --type ts --type tsx -g '!node_modules' -g '!*.lock' -C2

echo -e "\n=== Checking for SensitiveDataFilter usage ==="
rg -n "SensitiveDataFilter" --type ts --type tsx -g '!node_modules' -C2

echo -e "\n=== Checking environment variables for Langfuse ==="
rg -n "LANGFUSE" --type env --type sh --type bash -g '!node_modules'
src/mastra/agents/businessLegalAgents.ts (4)

106-106: Consistent with PR-wide modality standardization.

The change to ['TEXT'] aligns with the PR objective to standardize response modalities across agents. Since this agent focuses on legal research and document analysis, TEXT-only output is appropriate.


207-207: LGTM - TEXT-only modality is suitable for contract analysis.

Contract analysis outputs are textual (JSON summaries, risk assessments), so removing IMAGE modality has no functional impact.


292-292: LGTM - Compliance monitoring outputs are textual.

The modality change is appropriate for this agent's compliance status and regulatory mapping outputs.


378-378: LGTM - Business strategy outputs are JSON/text-based.

Strategic analysis, legal risks, and implementation plans are all text-based outputs, making TEXT-only modality correct.

src/mastra/agents/codingAgents.ts (4)

97-97: LGTM - TEXT-only modality appropriate for code architecture outputs.

Code architecture recommendations, design decisions, and implementation steps are text/JSON-based outputs.


200-206: LGTM - thinkingBudget configuration standardized.

The thinkingBudget: -1 setting enables unlimited thinking for thorough code review analysis.


310-316: LGTM - Consistent thinkingConfig for test engineer agent.

Configuration aligns with other agents in this file.


414-422: LGTM - Consistent thinkingConfig for refactoring agent.

The property order differs slightly (thinkingBudget before includeThoughts), but this is functionally equivalent and does not affect behavior.

src/mastra/agents/dane.ts (4)

35-35: LGTM - TEXT-only appropriate for commit message generation.

Commit messages are purely textual output.


63-63: LGTM - TEXT-only appropriate for issue labeling.

Issue labels and responses are text-based.


96-96: LGTM - TEXT-only appropriate for link checking.

Link status reports are textual.


131-131: LGTM - TEXT-only appropriate for changelog generation.

Changelogs are markdown/text documents.

src/mastra/agents/recharts.ts (2)

62-62: Whitespace-only change in template literal.

This appears to be a formatting adjustment with no functional impact.


521-524: Sampling rate reduced from 1.0 to 0.6 for financialData scorer.

This reduces the percentage of responses evaluated by the financialDataScorer from 100% to 60%. While this may improve performance/reduce costs, it also means 40% of responses won't be scored for financial data quality.

Verify this reduction is acceptable for your quality assurance requirements, especially for a financial data agent where accuracy is critical.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ssdeanx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a series of updates aimed at streamlining agent configurations and optimizing system performance. Key changes include simplifying agent response modalities, removing redundant configuration parameters, and cleaning up unused dependencies and integrations. The refactoring also touches upon memory initialization and prompt structures to enhance overall efficiency and maintainability.

Highlights

  • Agent Configuration Streamlining: The 'thinkingLevel' property has been removed from the 'thinkingConfig' in numerous agent configurations, simplifying their operational parameters across various agent files.
  • Response Modality Standardization: Agent response modalities have been standardized to 'TEXT' across many agents, removing 'IMAGE' as an option for consistency in output.
  • Dependency and Configuration Cleanup: The 'zod' dependency has been removed from 'package.json', and the entire 'langfuse' configuration block has been commented out in 'src/mastra/index.ts', indicating a cleanup of unused or unnecessary components.
  • Memory Initialization Refinement: Memory initialization in 'pg-storage' and 'upstash' configurations has been streamlined by removing 'processors' and the 'generateTitle' option from 'memoryOptions'.
  • Performance Tuning and Prompt Optimization: Sampling rates for 'taskCompletion' and 'financialData' scorers were adjusted in 'package-publisher' and 'recharts' agents, and the 'responseQuality' scorer was removed from 'recharts'. Additionally, dynamic date generation and a verbose output format block were removed from prompts in 'recharts' and 'stockAnalysisAgent' for improved efficiency.
  • Tool Removal: The 'google_search' tool configuration has been removed from the 'businessLegalAgents' file.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link

🤖 I'm sorry @ssdeanx, but I was unable to process your request. Please see the logs for more details.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR streamlines agent configurations and refactors memory initialization logic. The changes remove the thinkingLevel parameter from Google AI provider configurations across all agents, standardize response modalities to text-only output, and clean up memory initialization code. Additionally, the PR comments out Langfuse observability configuration and adjusts sampling rates for certain scorers.

Key Changes:

  • Removed thinkingLevel from all agent thinkingConfig objects (20+ agents affected)
  • Changed responseModalities from ['TEXT', 'IMAGE'] to ['TEXT'] across multiple agents for consistency
  • Refactored memory initialization by removing empty processors arrays in pg-storage and upstash configurations

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/mastra/index.ts Commented out Langfuse observability configuration including exporters and sensitive data filtering
src/mastra/config/upstash.ts Removed empty processors array from memory configuration
src/mastra/config/pg-storage.ts Removed empty processors array and generateTitle config from memory initialization
src/mastra/agents/weather-agent.ts Removed thinkingLevel from Google provider config
src/mastra/agents/stockAnalysisAgent.ts Removed thinkingLevel, date template string, and detailed output format documentation
src/mastra/agents/scriptWriterAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/researchAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/reportAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/recharts.ts Removed thinkingLevel from 4 chart-related agents, removed date template, removed responseQualityScorer, adjusted financialData scorer sampling rate
src/mastra/agents/package-publisher.ts Removed thinkingLevel and adjusted taskCompletion scorer sampling rate
src/mastra/agents/learningExtractionAgent.ts Removed thinkingLevel from Google provider config
src/mastra/agents/image_to_csv.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/excalidraw_validator.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/evaluationAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/editorAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/dane.ts Removed thinkingLevel from 5 dane-related agents and changed responseModalities to TEXT only
src/mastra/agents/csv_to_excalidraw.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/copywriterAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/contentStrategistAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/codingAgents.ts Removed thinkingLevel conditionals from 4 coding agents, added missing thinkingBudget to some configs
src/mastra/agents/calendarAgent.ts Removed thinkingLevel and changed responseModalities to TEXT only
src/mastra/agents/businessLegalAgents.ts Removed thinkingLevel from 4 business/legal agents, changed responseModalities to TEXT only, removed google_search tool
src/mastra/agents/acpAgent.ts Changed responseModalities to TEXT only
package.json Removed zod override from overrides section
package-lock.json Added zod 3.25.76 to multiple nested node_modules, adjusted peer dependency flags

],
},
// spanOutputProcessors: [new SensitiveDataFilter(
/// {
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent comment syntax detected. Line 207 uses // followed by spaces, while line 210 uses /// (triple slash). This creates an uneven commenting style that may confuse readers. Standardize to use // consistently for all commented lines.

Suggested change
/// {
// {

Copilot uses AI. Check for mistakes.
version: 'vnext',
},
generateTitle: process.env.THREAD_GENERATE_TITLE !== 'true',
}
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing comma after the closing brace. The object structure is incomplete - there should be a comma after line 175's closing brace since memoryOptions is followed by additional properties in the log info object. This will cause a syntax error.

Suggested change
}
},

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a series of updates to agent configurations, primarily removing the thinkingLevel property and standardizing responseModalities to simplify agent definitions. It also includes dependency cleanups, refactoring of memory initialization, and commenting out an unused langfuse configuration. The changes are generally positive, promoting consistency and simplification across the agent definitions. However, I've identified a couple of areas that warrant attention. In the stockAnalysisAgent, removing the explicit output format from the prompt without enabling structuredOutput could impact the reliability of its JSON output. Additionally, a change in the pg-storage configuration might have an unintended side effect on thread title generation. Please see the detailed comments for more information.

I am having trouble creating individual review comments. Click here to see my feedback.

src/mastra/agents/stockAnalysisAgent.ts (177-209)

high

The explicit <output_format> block has been removed from the prompt. While this cleans up the prompt, it also removes the explicit instructions for the model on how to structure its JSON output. Since structuredOutput is not enabled in the providerOptions for this agent, there's a risk that the model may not consistently produce valid JSON matching the expected schema (stockAnalysisOutputSchema). This could lead to parsing errors downstream. Please consider either re-adding a concise version of the output format to the prompt or enabling structuredOutput in the providerOptions to ensure reliable JSON generation.

src/mastra/config/pg-storage.ts (176)

medium

The generateTitle option has been removed from the memory configuration. Previously, its value was determined by process.env.THREAD_GENERATE_TITLE !== 'true', which disabled title generation if the environment variable was set to 'true'. By removing this line, the behavior will now fall back to the default setting in the Memory class. This might be an unintended side effect of the refactoring. If the intention was to always enable title generation, this change is fine, but it removes the ability to disable it via the environment variable. Please confirm if this change in behavior is intended.

@ssdeanx ssdeanx merged commit b95a2e9 into main Dec 11, 2025
39 of 41 checks passed
@greptile-apps
Copy link

greptile-apps bot commented Dec 11, 2025

Greptile Overview

Greptile Summary

Standardized agent configurations by removing thinkingLevel and updating responseModalities to TEXT-only across 20+ agents, updated zod dependency management, and refactored memory initialization. However, a critical syntax error was introduced in pg-storage.ts.

Key Changes:

  • Removed thinkingLevel property from Google AI provider configs across all agents
  • Changed responseModalities from ['TEXT', 'IMAGE'] to ['TEXT'] for consistency
  • Removed top-level zod dependency in favor of nested zod 3.25.76 from sub-packages
  • Cleaned up Memory constructor syntax by removing empty processors arrays
  • Commented out entire langfuse observability configuration
  • Removed verbose output format examples and date references from stockAnalysisAgent

Critical Issue:

  • pg-storage.ts:175 has a missing comma after workingMemory object, causing a syntax error that will prevent the application from starting

Observability Impact:
The langfuse telemetry configuration has been completely disabled without explanation in the PR description, removing monitoring and tracing capabilities.

Confidence Score: 2/5

  • This PR contains a syntax error that will cause runtime failure and removes observability without justification
  • Score reflects a critical syntax error in pg-storage.ts (missing comma on line 175) that will prevent the application from compiling/running. While the agent standardization changes are consistent and well-executed across 20+ files, the syntax error is a blocking issue. Additionally, commenting out the entire langfuse observability configuration removes important monitoring capabilities without explanation in the PR description.
  • Pay close attention to src/mastra/config/pg-storage.ts (syntax error on line 175 must be fixed before merge)

Important Files Changed

File Analysis

Filename Score Overview
src/mastra/config/pg-storage.ts 2/5 Fixed syntax issue in Memory constructor but introduced new syntax error in log.info - missing comma after workingMemory object
src/mastra/config/upstash.ts 4/5 Cleaned up Memory constructor by removing empty processors array - minor formatting improvement
package.json 3/5 Removed top-level zod dependency - now relying on nested dependencies which may cause version conflicts
src/mastra/agents/stockAnalysisAgent.ts 4/5 Removed thinkingLevel config and verbose output_format template - simplified agent configuration
src/mastra/index.ts 4/5 Commented out entire langfuse telemetry configuration - disables observability without explanation

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant Config as Agent Config
    participant Memory as Memory System
    participant Provider as Google AI Provider
    participant Telemetry as Langfuse Telemetry
    
    Note over Dev,Telemetry: PR #38: Configuration Standardization
    
    Dev->>Config: Remove thinkingLevel from all agents
    Note right of Config: Simplifies agent configuration<br/>across 20+ agents
    
    Dev->>Config: Update responseModalities: ['TEXT']
    Note right of Config: Removes IMAGE support<br/>for consistency
    
    Dev->>Provider: Apply standardized thinkingConfig
    Provider-->>Config: Uses includeThoughts + thinkingBudget only
    
    Dev->>Memory: Remove empty processors array
    Note right of Memory: Fixes syntax in pg-storage.ts<br/>and upstash.ts
    
    Dev->>Memory: Remove generateTitle from log.info
    Note right of Memory: ⚠️ Missing comma after workingMemory<br/>causes syntax error
    
    Dev->>Telemetry: Comment out langfuse config
    Note right of Telemetry: Disables observability<br/>and monitoring
    
    Dev->>Config: Remove top-level zod dependency
    Note right of Config: Now relies on nested<br/>zod 3.25.76 from sub-packages
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

24 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

version: 'vnext',
},
generateTitle: process.env.THREAD_GENERATE_TITLE !== 'true',
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

syntax: missing comma after closing brace - this will cause a syntax error

Suggested change
}
},
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/mastra/config/pg-storage.ts
Line: 175:175

Comment:
**syntax:** missing comma after closing brace - this will cause a syntax error

```suggestion
        },
```

How can I resolve this? If you propose a fix, please make it concise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant