AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework
This report presents the forensic synthetic code analysis of VoltAgent/voltagent, a TypeScript project with 10,044 GitHub stars. SynthScan v2.0 examined 480,752 lines of code across 2525 source files, recording 610 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 2.4 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 610 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONSOLE.md | 108 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | CONSOLE.md | 285 | -H "Authorization: Bearer your-api-key" \ | CODE |
| HIGH⚡ | archive/deprecated-providers/google-ai/CHANGELOG.md | 69 | GOOGLE_AI_API_KEY=your-api-key | CODE |
| HIGH⚡ | archive/deprecated-providers/google-ai/CHANGELOG.md | 72 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key | CODE |
| HIGH | archive/deprecated-providers/google-ai/README.md | 74 | const googleProvider = new GoogleAIProvider({ apiKey: "YOUR_API_KEY" }); | CODE |
| HIGH | website/docs/agents/mcp/mcp.md | 39 | url: "https://mcp.composio.dev/reddit/your-api-key-here", | CODE |
| HIGH | website/docs/observability/mlflow.md | 63 | OPENAI_API_KEY=your-api-key | CODE |
| HIGH | website/docs/rag/pinecone.md | 541 | curl -H "Api-Key: YOUR_API_KEY" https://api.pinecone.io/indexes | CODE |
| HIGH⚡ | website/docs/getting-started/quick-start.md | 75 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/quick-start.md | 84 | ANTHROPIC_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/quick-start.md | 93 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/quick-start.md | 102 | GROQ_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/quick-start.md | 111 | MISTRAL_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/manual-setup.md | 167 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/manual-setup.md | 176 | ANTHROPIC_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/manual-setup.md | 185 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/manual-setup.md | 194 | GROQ_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/docs/getting-started/manual-setup.md | 203 | MISTRAL_API_KEY=your-api-key-here | CODE |
| HIGH | website/recipes/anthropic.md | 53 | ANTHROPIC_API_KEY=your-api-key | CODE |
| HIGH | website/recipes/mcp.md | 25 | args: ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=YOUR_API_KEY"], | CODE |
| HIGH⚡ | website/recipes/slack-agent.md | 54 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/slack-agent.md | 63 | ANTHROPIC_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/slack-agent.md | 72 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/slack-agent.md | 81 | GROQ_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/slack-agent.md | 90 | MISTRAL_API_KEY=your-api-key-here | CODE |
| HIGH | website/recipes/google-ai.md | 53 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key | CODE |
| HIGH | website/recipes/recipe-creator.md | 80 | args: ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=<YOUR-API-KEY>"], | CODE |
| HIGH | website/recipes/recipe-creator.md | 80 | args: ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=<YOUR-API-KEY>"], | CODE |
| HIGH⚡ | website/recipes/airtable-agent.md | 54 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/airtable-agent.md | 63 | ANTHROPIC_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/airtable-agent.md | 72 | GOOGLE_GENERATIVE_AI_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/airtable-agent.md | 81 | GROQ_API_KEY=your-api-key-here | CODE |
| HIGH⚡ | website/recipes/airtable-agent.md | 90 | MISTRAL_API_KEY=your-api-key-here | CODE |
| HIGH | website/examples/recipe-creator.md | 80 | args: ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=<YOUR-API-KEY>"], | CODE |
| HIGH | website/examples/recipe-creator.md | 80 | args: ["-y", "mcp-remote", "https://mcp.exa.ai/mcp?exaApiKey=<YOUR-API-KEY>"], | CODE |
| HIGH | …rc/components/mcp-list/mcp-page/serverConfigContent.ts | 145 | url: "https://mcp.composio.dev/{mcpName}/your-api-key-here", // URL of the MCP endpoint | CODE |
| HIGH | website/src/pages/tutorial/introduction.tsx | 258 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | examples/with-planagents/README.md | 28 | OPENAI_API_KEY=your-api-key | CODE |
| HIGH | examples/with-hooks/README.md | 41 | export OPENAI_API_KEY="your-api-key" | CODE |
| HIGH | examples/with-client-side-tools/README.md | 18 | export OPENAI_API_KEY="your-api-key" | CODE |
| HIGH | examples/with-summarization/README.md | 27 | OPENAI_API_KEY=your-api-key | CODE |
| HIGH | …ples/next-js-chatbot-starter-template/lib/ai/config.ts | 112 | "sk-your-api-key-here", | CODE |
| HIGH | …ples/next-js-chatbot-starter-template/lib/ai/config.ts | 113 | "your-api-key-here", | CODE |
| HIGH | …kages/create-voltagent-app/src/cli.integration.spec.ts | 305 | expect(envContent).toContain(`${envVar}=your-api-key-here`); | CODE |
| HIGH | packages/create-voltagent-app/src/utils/templates.ts | 55 | envConfig = `${config.envVar}=your-api-key-here`; | CODE |
| HIGH | packages/create-voltagent-app/src/utils/templates.ts | 110 | envExample = `# ${config.name} API Key\n# Get your key at: ${config.apiKeyUrl}\n${config.envVar}=your-api-key- | CODE |
| HIGH | packages/create-voltagent-app/src/utils/env-manager.ts | 67 | content += `# ${config.envVar}=your-api-key-here\n`; | CODE |
| HIGH | packages/anthropic-ai/DEPRECATED.md | 28 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH | packages/groq-ai/DEPRECATED.md | 28 | apiKey: "YOUR_API_KEY", | CODE |
| HIGH | packages/google-ai/DEPRECATED.md | 31 | apiKey: "YOUR_API_KEY", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 185 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | README.md | 222 | // Step 2: Process the final decision | COMMENT |
| LOW | archive/deprecated-providers/anthropic-ai/CHANGELOG.md | 21 | ### Step 1: Install New Packages | COMMENT |
| LOW | archive/deprecated-providers/anthropic-ai/CHANGELOG.md | 28 | ### Step 2: Update Your Code | COMMENT |
| LOW | archive/deprecated-providers/anthropic-ai/CHANGELOG.md | 59 | ### Step 3: Environment Variables | COMMENT |
| LOW | archive/deprecated-providers/groq-ai/CHANGELOG.md | 21 | ### Step 1: Install New Packages | COMMENT |
| LOW | archive/deprecated-providers/groq-ai/CHANGELOG.md | 28 | ### Step 2: Update Your Code | COMMENT |
| LOW | archive/deprecated-providers/groq-ai/CHANGELOG.md | 59 | ### Step 3: Environment Variables | COMMENT |
| LOW | archive/deprecated-providers/google-ai/CHANGELOG.md | 21 | ### Step 1: Install New Packages | COMMENT |
| LOW | archive/deprecated-providers/google-ai/CHANGELOG.md | 28 | ### Step 2: Update Your Code | COMMENT |
| LOW⚡ | archive/deprecated-providers/google-ai/CHANGELOG.md | 59 | ### Step 3: Environment Variables | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 18 | ### Step 1: Prepare (Optional) | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 32 | ### Step 2: Analyze (Optional) | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 46 | ### Step 3: Score (Required) | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 62 | ### Step 4: Reason (Optional) | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 89 | // Step 1: Clean and prepare the text | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 98 | // Step 2: Analyze sentiment indicators | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 122 | // Step 3: Calculate score based on sentiment match | COMMENT |
| LOW | website/evaluation-docs/building-custom-scorers.md | 141 | // Step 4: Explain the scoring decision | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 16 | ## Step 1: Create a Basic Experiment | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 59 | ## Step 2: Add a Scorer | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 102 | ## Step 3: Set a Threshold | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 160 | ## Step 4: Add Pass Criteria | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 225 | ## Step 5: Run Your Experiment | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 309 | ## Step 6: Use a Custom Dataset Resolver | COMMENT |
| LOW | website/evaluation-docs/offline-evaluations.md | 365 | ## Step 7: Use Named Datasets from VoltOps | COMMENT |
| LOW⚡ | website/docs/workflows/execute-api.md | 366 | // Step 1: Check if we're resuming | COMMENT |
| LOW⚡ | website/docs/workflows/execute-api.md | 372 | // Step 2: Check if we need to suspend | COMMENT |
| LOW⚡ | website/docs/workflows/execute-api.md | 382 | // Step 3: Continue if no suspension needed | COMMENT |
| LOW⚡ | website/docs/workflows/overview.md | 192 | .andThen(...) // Step 1: Run some code | CODE |
| LOW⚡ | website/docs/workflows/overview.md | 193 | .andAgent(...) // Step 2: Call an AI | CODE |
| LOW⚡ | website/docs/workflows/overview.md | 194 | .andWhen(...) // Step 3: Maybe run another step | CODE |
| LOW⚡ | website/docs/workflows/overview.md | 412 | // Step 1: User user-alex-789 is on the premium plan. | COMMENT |
| LOW⚡ | website/docs/workflows/overview.md | 413 | // Step 1: Granted 'unlimited' permissions. | COMMENT |
| LOW⚡ | website/docs/workflows/overview.md | 414 | // Step 2: User now has 'unlimited' permissions. | COMMENT |
| LOW | website/docs/workflows/steps/and-agent.md | 270 | // Step 1: Classify with AI | COMMENT |
| LOW | website/docs/workflows/steps/and-agent.md | 282 | // Step 2: Route based on classification | COMMENT |
| LOW | website/docs/agents/mcp/authorization.md | 343 | ### Step 1: Start Cerbos PDP | COMMENT |
| LOW | website/docs/agents/mcp/authorization.md | 375 | ### Step 2: Define Policies | COMMENT |
| LOW | website/docs/agents/mcp/authorization.md | 413 | ### Step 3: Connect to Cerbos | COMMENT |
| LOW | website/docs/agents/mcp/authorization.md | 459 | ### Step 4: Create the Agent | COMMENT |
| LOW⚡ | website/docs/getting-started/overview.md | 148 | // Step 1: Prepare the data | COMMENT |
| LOW⚡ | website/docs/getting-started/overview.md | 155 | // Step 2: Call the AI agent for analysis | COMMENT |
| LOW⚡ | website/docs/getting-started/overview.md | 163 | // Step 3: Process the AI's output | COMMENT |
| LOW | website/docs/getting-started/quick-start.md | 254 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | website/docs/getting-started/quick-start.md | 292 | // Step 2: Process the final decision | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 25 | ## Step 1: Create Your VoltAgent Project | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 51 | ## Step 2: Understanding the Goal | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 62 | ## Step 3: Setting Up the Tools (Conceptual) | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 73 | ## Step 4: Defining the Agents | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 183 | ## Step 5: Run Your Agent System | COMMENT |
| LOW | …025-04-21-first-ai-agent-github-repo-analyzer/index.md | 223 | ## Step 6: Interact with Your Agent | COMMENT |
| LOW | website/blog/2025-07-23-llm-testing/index.md | 307 | #### Step 1: Initial Processing | COMMENT |
| LOW | website/blog/2025-07-23-llm-testing/index.md | 319 | #### Step 2: Decision Analysis | COMMENT |
| LOW | website/blog/2025-07-23-llm-testing/index.md | 331 | #### Step 3: Customer Lookup | COMMENT |
| LOW⚡ | website/recipes/workflows.md | 41 | // Step 1: Validate order | COMMENT |
| LOW⚡ | website/recipes/workflows.md | 51 | // Step 2: AI analysis | COMMENT |
| LOW⚡ | website/recipes/workflows.md | 57 | // Step 3: Final decision | COMMENT |
| LOW | website/recipes/ad-creator.md | 1052 | #### Step 1: Connect to VoltOps | COMMENT |
| LOW | website/recipes/ad-creator.md | 1059 | #### Step 2: Generate an Ad | COMMENT |
| 88 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 2033 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | CHANGELOG.md | 2033 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | CHANGELOG.md | 2496 | - [#688](https://github.com/VoltAgent/voltagent/pull/688) [`5b9484f`](https://github.com/VoltAgent/voltagent/commit/5b94 | CODE |
| MEDIUM | CHANGELOG.md | 2496 | - [#688](https://github.com/VoltAgent/voltagent/pull/688) [`5b9484f`](https://github.com/VoltAgent/voltagent/commit/5b94 | CODE |
| MEDIUM | README.md | 41 | - **[Open-Source TypeScript Framework](#core-framework)** – Memory, RAG, Guardrails, Tools, MCP, Voice, Workflow, and mo | CODE |
| MEDIUM | README.md | 60 | - **[Guardrails](https://voltagent.dev/docs/guardrails/overview/)**: Intercept and validate agent input or output at run | CODE |
| MEDIUM | README.md | 344 | ### RAG (Knowledge Base) | COMMENT |
| MEDIUM | website/evaluation-docs/offline-evaluations.md | 984 | ### RAG Evaluation | COMMENT |
| MEDIUM | website/evaluation-docs/prebuilt-scorers.md | 213 | ## RAG Scorers (LLM Required) | COMMENT |
| MEDIUM | website/docs/agents/overview.md | 736 | ### Retriever (RAG) | COMMENT |
| MEDIUM | website/docs/rag/overview.md | 6 | # RAG: Give Your AI Agent a Memory | COMMENT |
| MEDIUM | website/blog/2025-05-30-rag-vs-finetuning/index.md | 35 | ## RAG: Retrieval-Augmented Generation | COMMENT |
| MEDIUM | website/blog/2025-05-30-rag-vs-finetuning/index.md | 37 | ### How Does RAG Work? | COMMENT |
| MEDIUM⚡ | website/blog/2025-05-30-rag-vs-finetuning/index.md | 69 | ### RAG's Super Powers | COMMENT |
| MEDIUM⚡ | website/blog/2025-05-30-rag-vs-finetuning/index.md | 79 | ### RAG's Advanced Capabilities | COMMENT |
| MEDIUM⚡ | website/blog/2025-05-30-rag-vs-finetuning/index.md | 83 | ### RAG's Challenges | COMMENT |
| MEDIUM | website/blog/2025-05-30-rag-vs-finetuning/index.md | 165 | ### Best Applications for RAG | COMMENT |
| MEDIUM | website/blog/2025-05-30-rag-vs-finetuning/index.md | 185 | ### RAG Success Stories | COMMENT |
| MEDIUM | website/blog/2025-05-30-rag-vs-finetuning/index.md | 213 | ### Implementing RAG | COMMENT |
| MEDIUM | website/blog/2025-05-19-llm-orchestration/index.md | 181 | ### Data Ingestion & Retrieval (RAG): Feed LLMs Your Own Information | COMMENT |
| MEDIUM | website/blog/2025-05-19-llm-orchestration/index.md | 234 | VoltAgent is an open-source TypeScript framework specifically designed for building and orchestrating AI agents and LLM | CODE |
| MEDIUM | website/blog/2025-08-07-llm-guardrails/index.md | 7 | image: https://cdn.voltagent.dev/2025-08-07-llm-guardrails/1.png | CODE |
| MEDIUM | website/blog/2025-08-07-llm-guardrails/index.md | 69 |  | CODE |
| MEDIUM | website/blog/2025-08-07-llm-guardrails/index.md | 256 | // The guardrails will block this harmful request | COMMENT |
| MEDIUM | website/blog/2025-08-07-llm-guardrails/index.md | 496 |  | CODE |
| MEDIUM⚡ | website/blog/2025-04-23-multi-agent-llm/index.md | 16 | - [What Are Multi-Agent LLM Systems?](#what-are-multi-agent-llm-systems) | CODE |
| MEDIUM⚡ | website/blog/2025-04-23-multi-agent-llm/index.md | 17 | - [Why I Started Using Multi-Agent Systems and Their Benefits](#why-i-started-using-multi-agent-systems-and-their-benefi | CODE |
| MEDIUM⚡ | website/blog/2025-04-23-multi-agent-llm/index.md | 20 | - [How I Use VoltAgent for Multi-Agent Systems](#how-i-use-voltagent-for-multi-agent-systems) | CODE |
| MEDIUM | website/blog/2025-10-21-ai-agent-examples/index.md | 115 | #### → [RAG Chatbot](https://github.com/VoltAgent/voltagent/tree/main/examples/with-rag-chatbot) | COMMENT |
| MEDIUM | website/blog/2025-10-21-ai-agent-examples/index.md | 123 | ### Vector Database & RAG | COMMENT |
| MEDIUM | website/blog/2025-10-21-ai-agent-examples/index.md | 327 | #### → [Output Guardrails](https://github.com/VoltAgent/voltagent/tree/main/examples/with-guardrails) | COMMENT |
| MEDIUM | website/blog/2025-10-21-ai-agent-examples/index.md | 327 | #### → [Output Guardrails](https://github.com/VoltAgent/voltagent/tree/main/examples/with-guardrails) | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 15 | ## Let's Start from Scratch: What's This RAG Thing Anyway? | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 43 | ## Okay, But Is Text-Enough? What's With Old-School RAG? | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 49 | ## And Stage Left Enters: Multimodal RAG | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 81 | ### Multimodal RAG Explorer | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 85 | ## Why Should I Care About Multimodal RAG? | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 117 | ## What Do We Need if We're Building a Multimodal RAG? | COMMENT |
| MEDIUM | website/blog/2025-05-16-multimodal-rag/index.md | 127 | ## Let's Get Practical: Step-by-Step, How Does Multimodal RAG Work? | COMMENT |
| MEDIUM | website/blog/2025-10-20-guardrails/index.md | 6 | image: https://cdn.voltagent.dev/2025-10-20-guardrails/social.png | CODE |
| MEDIUM | website/blog/2025-10-20-guardrails/index.md | 36 |  | CODE |
| MEDIUM | website/blog/2025-04-24-rag-chatbot/index.md | 39 | ## What is RAG, and Why Use It? | COMMENT |
| MEDIUM | website/blog/2025-04-24-rag-chatbot/index.md | 73 | ## Let's Build a Simple RAG Chatbot | COMMENT |
| MEDIUM | website/recipes/calling-agents.md | 354 | - [with-guardrails](https://github.com/VoltAgent/voltagent/tree/main/examples/with-guardrails) - Programmatic usage with | CODE |
| MEDIUM | website/recipes/guardrails.md | 30 | // Input guardrails - block harmful prompts | COMMENT |
| MEDIUM | website/recipes/guardrails.md | 33 | // Output guardrails - sanitize responses | COMMENT |
| MEDIUM | website/recipes/guardrails.md | 56 | // Or specific guardrails | COMMENT |
| MEDIUM | website/recipes/guardrails.md | 178 | See the complete example: [with-guardrails on GitHub](https://github.com/VoltAgent/voltagent/tree/main/examples/with-gua | CODE |
| MEDIUM | website/static/llms.txt | 626 | ## 12. RAG (Retrieval-Augmented Generation) | COMMENT |
| MEDIUM | website/src/components/feature-showcase/mock-data.ts | 265 | image: "https://cdn.voltagent.dev/website/feature-showcase/guardrails.png", | CODE |
| MEDIUM | examples/with-voltops-retrieval/README.md | 45 | ## VoltAgent: VoltOps Knowledge Base Retrieval (RAG) | COMMENT |
| MEDIUM | examples/with-workflow/src/index.ts | 549 | // Concepts: Workflow-level guardrails, step-level guardrails | COMMENT |
| MEDIUM | examples/with-workflow-chain/src/index.ts | 525 | // Concepts: Workflow-level guardrails, step-level guardrails | COMMENT |
| MEDIUM | packages/core/CHANGELOG.md | 40 | - [#1347](https://github.com/VoltAgent/voltagent/pull/1347) [`e108ba7`](https://github.com/VoltAgent/voltagent/commit/e1 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 40 | - [#1347](https://github.com/VoltAgent/voltagent/pull/1347) [`e108ba7`](https://github.com/VoltAgent/voltagent/commit/e1 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4103 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4103 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4566 | - [#688](https://github.com/VoltAgent/voltagent/pull/688) [`5b9484f`](https://github.com/VoltAgent/voltagent/commit/5b94 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4566 | - [#688](https://github.com/VoltAgent/voltagent/pull/688) [`5b9484f`](https://github.com/VoltAgent/voltagent/commit/5b94 | CODE |
| MEDIUM | packages/core/README.md | 35 | - **[Open-Source TypeScript Framework](#core-framework)** – Memory, RAG, Guardrails, Tools, MCP, Voice, Workflow, and mo | CODE |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …recated-providers/google-ai/src/utils/schema_helper.ts | 225 | export function responseSchemaFromZodType(vertexai: boolean, zodSchema: z.ZodType): Schema { | CODE |
| LOW | …recated-providers/google-ai/src/utils/schema_helper.ts | 356 | function processListOfSchemasField( | CODE |
| LOW | …recated-providers/google-ai/src/utils/schema_helper.ts | 379 | function processDictOfSchemasField( | CODE |
| LOW | …recated-providers/google-ai/src/utils/schema_helper.ts | 491 | export function functionDeclarationFromZodFunction( | CODE |
| LOW | archive/deprecated-providers/vercel-ai/src/utils.ts | 99 | export function createVoltagentErrorFromSdkError( | CODE |
| LOW | website/docs/agents/resumable-streaming.md | 270 | export function getResumableStreamAdapter() { | CODE |
| LOW | website/docs/agents/cancellation.md | 329 | async function processWithGracefulShutdown(agent: Agent, input: string) { | CODE |
| LOW | website/blog/2025-08-07-llm-guardrails/index.md | 550 | def _analyze_feedback_patterns(self): | CODE |
| LOW | website/recipes/whatsapp-order.md | 762 | export async function handleWhatsAppVerification(c: Context) { | CODE |
| LOW | website/examples/whatsapp-order.md | 762 | export async function handleWhatsAppVerification(c: Context) { | CODE |
| LOW | …omponents/blog-widgets/EvaluationMetricsComparison.tsx | 150 | export default function EvaluationMetricsComparison(): JSX.Element { | CODE |
| LOW | …omponents/blog-widgets/IntegrationScenarioSelector.tsx | 32 | export default function IntegrationScenarioSelector(): JSX.Element { | CODE |
| LOW | …omponents/blog-widgets/ObservabilityMaturityWidget.tsx | 146 | export default function ObservabilityMaturityWidget(): JSX.Element { | CODE |
| LOW | …components/blog-widgets/ModelPerformanceComparator.tsx | 93 | export default function ModelPerformanceComparator(): JSX.Element { | CODE |
| LOW | …/components/blog-widgets/VercelAiSdkFeatureMatcher.tsx | 50 | export default function VercelAiSdkFeatureMatcher(): JSX.Element { | CODE |
| LOW | …omponents/blog-widgets/EvaluationMethodRecommender.tsx | 62 | export default function EvaluationMethodRecommender(): JSX.Element { | CODE |
| LOW | …components/blog-widgets/CostOptimizationCalculator.tsx | 142 | export default function CostOptimizationCalculator(): JSX.Element { | CODE |
| LOW | website/src/theme/Navbar/MobileSidebar/Layout/index.js | 4 | export default function NavbarMobileSidebarLayout({ header, primaryMenu, secondaryMenu }) { | CODE |
| LOW | …/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.js | 19 | export default function NavbarMobileSidebarSecondaryMenu() { | CODE |
| LOW | website/src/theme/Navbar/MobileSidebar/Header/index.js | 24 | export default function NavbarMobileSidebarHeader() { | CODE |
| LOW | website/src/theme/DocSidebarItem/Category/index.tsx | 32 | function useAutoExpandActiveCategory({ | CODE |
| LOW | website/src/theme/DocSidebarItem/Category/index.tsx | 58 | function useCategoryHrefWithSSRFallback(item: Props["item"]): string | undefined { | CODE |
| LOW | website/src/theme/BlogTagsPostsPage/index.js | 38 | function useBlogTagsPostsPageTitle(tag) { | CODE |
| LOW | website/src/theme/BlogTagsPostsPage/index.js | 50 | function BlogTagsPostsPageMetadata({ tag }) { | CODE |
| LOW | …te/src/theme/BlogPostItem/Footer/ReadMoreLink/index.js | 16 | export default function BlogPostItemFooterReadMoreLink(props) { | CODE |
| LOW | website/src/theme/BlogPostItem/Header/Authors/index.js | 7 | export default function BlogPostItemHeaderAuthors({ className }) { | CODE |
| LOW | …s/with-nextjs-resumable-stream/lib/resumable-stream.ts | 10 | export function getResumableStreamAdapter() { | CODE |
| LOW | examples/with-offline-evals/src/experiments/scorers.ts | 75 | function createHelpfulnessJudgeScorer(judgeModel: AgentModelReference) { | CODE |
| LOW | examples/with-offline-evals/src/experiments/scorers.ts | 119 | export function createSupportExperimentScorers({ | CODE |
| LOW | examples/with-whatsapp/README.md | 694 | export async function handleWhatsAppVerification(c: Context) { | CODE |
| LOW | examples/with-whatsapp/src/webhooks/whatsapp.ts | 45 | export async function handleWhatsAppVerification(c: Context) { | CODE |
| LOW | scripts/archive-deprecated.js | 24 | async function archiveDeprecatedPackages() { | CODE |
| LOW | packages/evals/src/voltops/dataset.ts | 73 | async function resolveDatasetIdentifiers( | CODE |
| LOW | packages/evals/src/voltops/run.ts | 364 | function extractDatasetInfoFromItem( | CODE |
| LOW | packages/evals/src/experiment/run-experiment.ts | 626 | function extractVoltOpsClientOptions( | CODE |
| LOW | packages/evals/src/experiment/run-experiment.ts | 653 | function coerceVoltOpsDatasetClient(value: unknown): VoltOpsDatasetClient | undefined { | CODE |
| LOW | packages/evals/src/experiment/dataset.ts | 234 | export function getExperimentDatasetRegistry(): ExperimentDatasetRegistry { | CODE |
| LOW | packages/server-hono/src/routes/observability.ts | 29 | export function registerObservabilityRoutes( | CODE |
| LOW | packages/core/src/memory/manager/memory-manager.spec.ts | 20 | function createMockOperationContext(): OperationContext { | CODE |
| LOW | packages/core/src/triggers/catalog.ts | 122 | export function getVoltOpsTriggerDefinition(name: VoltOpsTriggerName): VoltOpsTriggerDefinition { | CODE |
| LOW | packages/core/src/workspace/filesystem/utils.ts | 36 | export function formatContentWithLineNumbers(content: string | string[], startLine = 1): string { | CODE |
| LOW | packages/core/src/utils/message-converter.ts | 52 | export async function convertResponseMessagesToUIMessages( | CODE |
| LOW | packages/core/src/utils/message-converter.ts | 285 | function applyApprovalRequestToToolPart(toolPart: ToolUIPart, approvalId: string) { | CODE |
| LOW | packages/core/src/utils/message-converter.ts | 297 | function applyApprovalResponseToToolPart( | CODE |
| LOW | packages/core/src/utils/message-converter.ts | 318 | export function convertModelMessagesToUIMessages(messages: ModelMessage[]): UIMessage[] { | CODE |
| LOW | packages/core/src/agent/middleware.ts | 126 | export function normalizeInputMiddlewareList( | CODE |
| LOW | packages/core/src/agent/eval.ts | 125 | function createScorerSpanAttributes( | CODE |
| LOW | packages/core/src/agent/eval.ts | 566 | async function resolveEvalScorersDefinition( | CODE |
| LOW | packages/core/src/agent/eval.ts | 610 | function adaptScorerDefinitionForAgent( | CODE |
| LOW | packages/core/src/agent/eval.ts | 786 | function normalizeMessageChainSource(source: unknown): StepWithContent[] { | CODE |
| LOW | packages/core/src/agent/eval.ts | 872 | function normalizeConversationSteps(steps: unknown): StepWithContent[] { | CODE |
| LOW | packages/core/src/agent/eval.ts | 947 | function extractToolCallsFromMessages( | CODE |
| LOW | packages/core/src/agent/eval.ts | 976 | function extractToolResultsFromMessages( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1137 | function collectVoltAgentMetadataFromSources( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1159 | function collectDatasetMetadataFromSources( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1327 | function resolveThresholdFromMetadata( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1348 | function resolveThresholdPassedFromMetadata( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1369 | function extractDatasetMetadataFromCombinedMetadata( | CODE |
| LOW | packages/core/src/agent/eval.ts | 1561 | function resolveEvalFeedbackClient(host: AgentEvalHost): VoltOpsClient | undefined { | CODE |
| LOW | packages/core/src/agent/guardrail.ts | 164 | export function normalizeInputGuardrailList( | CODE |
| 121 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …bsite/src/components/supervisor-agent/flow-version.tsx | 379 | // Step 1: User to Supervisor (Request) + Memory connection | COMMENT |
| LOW⚡ | …bsite/src/components/supervisor-agent/flow-version.tsx | 388 | // Step 2: Clear request connection | COMMENT |
| LOW⚡ | …bsite/src/components/supervisor-agent/flow-version.tsx | 393 | // Step 3: Supervisor to Agent A (Request + Response) | COMMENT |
| LOW | …bsite/src/components/supervisor-agent/flow-version.tsx | 404 | // Step 4: Supervisor to Agent B (Request + Response) | COMMENT |
| LOW | …bsite/src/components/supervisor-agent/flow-version.tsx | 415 | // Step 5: Supervisor to Agent C (Request + Response) | COMMENT |
| LOW⚡ | …bsite/src/components/supervisor-agent/flow-version.tsx | 426 | // Step 6: Supervisor thinking after all agent responses | COMMENT |
| LOW⚡ | …bsite/src/components/supervisor-agent/flow-version.tsx | 436 | // Step 7: Final response back to User | COMMENT |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 124 | 2000, // Step 1: User to Supervisor | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 125 | 2000, // Step 2: Supervisor to Agent A | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 126 | 2000, // Step 3: Agent A to Supervisor | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 127 | 2000, // Step 4: Supervisor to Agent B | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 128 | 2000, // Step 5: Agent B to Supervisor | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 129 | 2000, // Step 6: Supervisor to Agent C | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 130 | 2000, // Step 7: Agent C to Supervisor | CODE |
| LOW⚡ | …/components/supervisor-agent/workflow-code-example.tsx | 131 | 2000, // Step 8: Supervisor thinking (2s) + final beam to User (2s) | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 72 | 2000, // Step 1: Input activation | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 73 | 2500, // Step 2: Embed phase - Knowledge Base and Embedding Models | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 74 | 2500, // Step 3: Retrieval phase - Embedding Models and Vector Store | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 75 | 2500, // Step 4: Retrieval to LLM | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 76 | 2500, // Step 5: LLM to Output | CODE |
| LOW⚡ | website/src/components/rag/rag-animation.tsx | 77 | 2000, // Step 6: Final completion - all nodes flash | CODE |
| LOW⚡ | …bsite/src/components/usecase-supervisor-flow/index.tsx | 515 | // Step 1: User -> Supervisor | COMMENT |
| LOW⚡ | …bsite/src/components/usecase-supervisor-flow/index.tsx | 520 | // Step 2: Supervisor -> All Agents simultaneously | COMMENT |
| LOW | …bsite/src/components/usecase-supervisor-flow/index.tsx | 533 | // Step 3: All Agents -> Tools (forward) | COMMENT |
| LOW | …bsite/src/components/usecase-supervisor-flow/index.tsx | 545 | // Step 4: Return path - Tools -> middle agent -> Supervisor | COMMENT |
| LOW | …bsite/src/components/usecase-supervisor-flow/index.tsx | 559 | // Step 5: Supervisor -> User (final response) | COMMENT |
| LOW | …src/components/usecase-supervisor-flow/mobile-flow.tsx | 375 | // Step 1: User -> Supervisor (right side of user to left side of supervisor) | COMMENT |
| LOW | …src/components/usecase-supervisor-flow/mobile-flow.tsx | 391 | // Step 2: Supervisor -> Middle Agent (account) only | COMMENT |
| LOW⚡ | …src/components/usecase-supervisor-flow/mobile-flow.tsx | 406 | // Step 3: Account -> Tools midpoint (single path only) | COMMENT |
| LOW⚡ | …src/components/usecase-supervisor-flow/mobile-flow.tsx | 413 | // Step 4: Tools -> Account -> Supervisor (return path) | COMMENT |
| LOW | …src/components/usecase-supervisor-flow/mobile-flow.tsx | 429 | // Step 5: Supervisor -> User (final, left side of supervisor to right side of user) | COMMENT |
| LOW⚡ | examples/with-workflow/src/index.ts | 268 | // Step 1: Log start and prepare content | COMMENT |
| LOW⚡ | examples/with-workflow/src/index.ts | 277 | // Step 2: Basic text analysis | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 59 | // Step 1: Validate order and calculate totals | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 83 | // Step 2: Use AI to analyze order for fraud risk | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 103 | // Step 3: Calculate discount for VIP customers | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 130 | // Step 4: Final decision based on validation and risk | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 183 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 228 | // Step 2: Process the final decision | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 294 | // Step 3: AI-powered sentiment and keyword analysis | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 316 | // Step 4: Transform data using only inputSchema | COMMENT |
| LOW | examples/with-workflow/src/index.ts | 340 | // Step 5: Log metrics using inputSchema | COMMENT |
| LOW | examples/with-mcp-server/src/index.ts | 127 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | examples/with-mcp-server/src/index.ts | 172 | // Step 2: Process the final decision | COMMENT |
| LOW⚡ | examples/with-workflow-chain/src/index.ts | 254 | // Step 1: Log start and prepare content | COMMENT |
| LOW⚡ | examples/with-workflow-chain/src/index.ts | 263 | // Step 2: Basic text analysis | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 49 | // Step 1: Validate order and calculate totals | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 73 | // Step 2: Use AI to analyze order for fraud risk | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 93 | // Step 3: Calculate discount for VIP customers | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 120 | // Step 4: Final decision based on validation and risk | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 171 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 216 | // Step 2: Process the final decision | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 280 | // Step 3: AI-powered sentiment and keyword analysis | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 302 | // Step 4: Transform data using only inputSchema | COMMENT |
| LOW | examples/with-workflow-chain/src/index.ts | 326 | // Step 5: Log metrics using inputSchema | COMMENT |
| LOW | packages/cli/src/commands/login.ts | 52 | // Step 1: Request device code | COMMENT |
| LOW | packages/cli/src/commands/login.ts | 69 | // Step 2: Open browser | COMMENT |
| LOW | packages/cli/src/commands/login.ts | 85 | // Step 3: Poll for authorization | COMMENT |
| LOW | packages/cli/src/commands/login.ts | 142 | // Step 4: Get user profile | COMMENT |
| LOW | packages/cli/src/commands/login.ts | 160 | // Step 5: Save token | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 239 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 296 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 394 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 457 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 487 | text: '\n "name": "John Doe",', | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 544 | text: '{\n "name": "John Doe",\n "age": 30,\n "hobbies": ["reading", "gaming"]\n}', | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 648 | expect(accumulatedObject.name).toBe("John Doe"); | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 656 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/anthropic-ai/src/index.spec.ts | 675 | delta: { type: "text_delta", text: '"name": "John Doe",' }, | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 280 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 293 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 309 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 325 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 363 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 377 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 391 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 411 | name: "John Doe", | CODE |
| LOW⚡ | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 425 | { name: "John Doe" }, | CODE |
| LOW⚡ | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 427 | name: "John Doe", | CODE |
| LOW⚡ | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 431 | name: "John Doe", | CODE |
| LOW⚡ | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 436 | name: "John Doe", | CODE |
| LOW⚡ | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 441 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 457 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 496 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 502 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 513 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 519 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 553 | name: "John Doe", | CODE |
| LOW | …ve/deprecated-providers/vercel-ai/src/provider.spec.ts | 586 | name: "John Doe", | CODE |
| LOW | website/docs/workflows/suspend-resume.md | 214 | email: "user@example.com", | CODE |
| LOW | website/docs/workflows/overview.md | 724 | "email": "user@example.com", | CODE |
| LOW | website/docs/workflows/overview.md | 725 | "name": "John Doe" | CODE |
| LOW | website/docs/agents/context.md | 106 | context.set("user.name", "John Doe"); | CODE |
| LOW | website/docs/agents/context.md | 127 | "name": "John Doe", | CODE |
| LOW | website/docs/agents/context.md | 143 | "user.name": "John Doe", | CODE |
| LOW | website/docs/api/endpoints/agents.md | 628 | "name": "John Doe", | CODE |
| LOW | website/blog/2025-07-23-llm-testing/index.md | 343 | "name": "John Doe", | CODE |
| LOW | …ith-workspace/workspace/skills/playwright-cli/SKILL.md | 38 | playwright-cli fill e5 "user@example.com" | CODE |
| LOW | …ith-workspace/workspace/skills/playwright-cli/SKILL.md | 214 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ce/skills/playwright-cli/references/test-generation.md | 21 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ce/skills/playwright-cli/references/test-generation.md | 23 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …ce/skills/playwright-cli/references/test-generation.md | 44 | await page.getByRole("textbox", { name: "Email" }).fill("user@example.com"); | CODE |
| LOW | …space/skills/playwright-cli/references/running-code.md | 214 | await page.fill('input[name=email]', 'user@example.com'); | CODE |
| LOW⚡ | …pace/skills/playwright-cli/references/storage-state.md | 238 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …skills/playwright-cli/references/session-management.md | 17 | playwright-cli -s=auth fill e1 "user@example.com" | CODE |
| LOW | examples/with-jwt-auth/src/index.ts | 106 | email: "admin@example.com", | CODE |
| LOW | examples/with-jwt-auth/src/index.ts | 114 | email: "user@example.com", | CODE |
| LOW | packages/core/src/voltops/template-engine.spec.ts | 32 | const variables = { name: "John", company: "Acme Corp" }; | CODE |
| LOW | packages/core/src/voltops/template-engine.spec.ts | 40 | const variables = { name: "John", company: "Acme Corp" }; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | website/src/pages/tutorial/memory.tsx | 586 | Don't forget to handle memory errors | CODE |
| MEDIUM | examples/with-cloudflare-workers/src/tools/index.ts | 14 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-langfuse/src/tools/search.ts | 15 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-langfuse/src/tools/weather.ts | 15 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-auth/src/tools/weather.ts | 29 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-voltagent-exporter/src/tools/search.ts | 15 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-voltagent-exporter/src/tools/weather.ts | 15 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-tools/src/tools/search.ts | 29 | // This is a mock implementation for demonstration purposes | COMMENT |
| MEDIUM | examples/with-tools/src/tools/weather.ts | 45 | // This is a mock implementation for demonstration purposes | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CHANGELOG.md | 3241 | // Before: Incorrect hierarchy and filtering | COMMENT |
| LOW | CHANGELOG.md | 5141 | ```typescript | COMMENT |
| LOW | CHANGELOG.md | 5161 | // Tool calls were also JSON strings: | COMMENT |
| LOW | CHANGELOG.md | 12301 | // What you got from memory: | COMMENT |
| LOW | CHANGELOG.md | 12321 | COMMENT | |
| LOW | CHANGELOG.md | 17941 | // { | COMMENT |
| LOW | …ed-providers/google-ai/src/utils/schema_helper.spec.ts | 61 | // { | COMMENT |
| LOW | …ed-providers/google-ai/src/utils/schema_helper.spec.ts | 81 | // "message": "Expected object, received array" | COMMENT |
| LOW | website/docs/rag/chunkers/json-chunker.md | 21 | const chunks = new JsonChunker().chunk(json, { maxTokens: 120 }); | COMMENT |
| LOW | examples/with-client-side-tools/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | examples/with-vector-search/src/index.ts | 41 | // const userId = "user-vec-1"; | COMMENT |
| LOW | examples/with-vector-search/src/index.ts | 61 | // userId, | COMMENT |
| LOW | examples/with-vector-search/src/index.ts | 81 | // console.log("\nTop vector hits:", results); | COMMENT |
| LOW | examples/next-js-chatbot-starter-template/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | examples/with-chat-sdk/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | packages/core/CHANGELOG.md | 7241 | // What you get from memory NOW: | COMMENT |
| LOW | packages/core/CHANGELOG.md | 7541 | await agent.generateText("Hello", { userContext }); | COMMENT |
| LOW | packages/core/src/registries/agent-registry.ts | 181 | // /** | COMMENT |
| LOW | packages/supabase/CHANGELOG.md | 701 | // role: "user", | COMMENT |
| LOW | packages/postgres/CHANGELOG.md | 681 | console.log(messages[0]); | COMMENT |
| LOW | packages/postgres/CHANGELOG.md | 701 | ## After - You Get Parsed Objects Automatically | COMMENT |
| LOW | packages/server-core/src/auth/defaults.ts | 121 | "POST /workflows/:id/executions/:executionId/resume", // Resume execution | COMMENT |
| LOW | packages/server-elysia/src/app-factory.spec.ts | 281 | ); | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | website/package-lock.json | 15645 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| MEDIUM | website/src/components/ZoomableMermaid.tsx | 23 | // Use a more robust way to generate a unique ID or pass it as a prop if needed for SSR | COMMENT |
| MEDIUM | website/src/components/testimonials/Testimonials.tsx | 344 | // Create mixed content for seamless scrolling | COMMENT |
| MEDIUM | website/src/components/testimonials/Testimonials.tsx | 388 | // Minimal duplication - just one copy for seamless effect | COMMENT |
| MEDIUM | website/src/components/agents-detail/code-example.tsx | 5 | // isVisible: boolean; // TODO: Prop 'isVisible' is declared but never used. Remove or utilize it. | COMMENT |
| MEDIUM | packages/core/src/utils/serialization/index.ts | 56 | // Attempt to stringify/parse to handle simple cases, could use a more robust method | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | website/blog/2025-05-23-llm-agent-framework/index.md | 338 | # ══════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | website/blog/2025-05-23-llm-agent-framework/index.md | 340 | # ══════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | website/blog/2025-05-23-llm-agent-framework/index.md | 343 | # ══════════════════════════════════════════════════ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/src/components/docs-widgets/SessionExplorer.tsx | 21 | print(f"Trace created: {trace.id}")`, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | archive/deprecated-providers/xsai/src/index.spec.ts | 250 | // TODO: Add tests for onStepFinish callback handling within generateText if needed | COMMENT |
| LOW | archive/deprecated-providers/xsai/src/index.spec.ts | 282 | // TODO: Add tests for onStepFinish and onFinish callback wrapping within streamText | COMMENT |
| LOW | packages/core/src/index.spec.ts | 7 | // TODO: Add tests to make sure our main exports are ALWAYS available, and that we don't break them | COMMENT |