AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework
This report summarizes scanner evidence for VoltAgent/voltagent, a TypeScript project with 10,905 GitHub stars. SynthScan examined 481,831 lines of code across 2531 source files, recording 611 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 2.4 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 508 finding(s).
Are imports declared and package/API names verified? 100 finding(s).
Are wrappers, guards, and repeated structures necessary? 184 finding(s).
Which changes need focused human review? 611 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 611 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| 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 | 184 | // Step 1: Validate expense and check if approval needed | COMMENT |
| LOW | README.md | 221 | // 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 | 343 | ### 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 | 62 | - [#1347](https://github.com/VoltAgent/voltagent/pull/1347) [`e108ba7`](https://github.com/VoltAgent/voltagent/commit/e1 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 62 | - [#1347](https://github.com/VoltAgent/voltagent/pull/1347) [`e108ba7`](https://github.com/VoltAgent/voltagent/commit/e1 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4125 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4125 | - [#757](https://github.com/VoltAgent/voltagent/pull/757) [`a0509c4`](https://github.com/VoltAgent/voltagent/commit/a050 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4588 | - [#688](https://github.com/VoltAgent/voltagent/pull/688) [`5b9484f`](https://github.com/VoltAgent/voltagent/commit/5b94 | CODE |
| MEDIUM | packages/core/CHANGELOG.md | 4588 | - [#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 | // type: "text" | COMMENT |
| LOW | packages/core/CHANGELOG.md | 7261 | const messages = await memory.getMessages({ conversationId: "123" }); | COMMENT |
| LOW | packages/core/CHANGELOG.md | 7561 | ]); | 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 | COMMENT | |
| LOW | packages/postgres/CHANGELOG.md | 701 | 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 |