The batteries-included agent harness.
This report presents the forensic synthetic code analysis of langchain-ai/deepagents, a Python project with 26,215 GitHub stars. SynthScan v2.0 examined 463,697 lines of code across 1124 source files, recording 13981 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 31.9 places this repository in the Strong AI signal 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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 13981 distinct pattern matches across 21 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 |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/media.py | 189 | def resolve_bounded_media_path( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 419 | async def _cancel_conversation_tasks(self, conversation_id: str) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 504 | async def _handle_tool_approval_reply( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 532 | def _handle_tool_approval_reaction( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 616 | def _complete_conversation_task( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 684 | def _outbound_media_from_refs( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 706 | def _with_failed_attachment_text(text: str, failed: list[str]) -> str: | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 736 | def _media_with_fallback_caption( | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 767 | def _format_tool_approval_prompt(approval: ToolApprovalRequest) -> str: | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 789 | def _parse_tool_approval_reply(text: str) -> ToolApprovalDecision | None: | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 804 | def _parse_tool_approval_reaction(emoji: str) -> ToolApprovalDecision | None: | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 813 | def _normalize_reaction_emoji(emoji: str) -> str: | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 821 | def _reaction_mismatch_resolution( | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 846 | def _log_tool_approval_reaction( | CODE |
| LOW | libs/talon/deepagents_talon/observability.py | 43 | def langsmith_tracing_enabled(env: Mapping[str, str]) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 387 | async def _invoke_payload_with_retries(self, payload: object, conversation_id: str) -> object: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 536 | def _action_requests_from_interrupt(interrupt: object) -> tuple[Mapping[str, object], ...]: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 654 | def _approval_handler_from_request(request: AgentRequest) -> ToolApprovalHandler | None: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 671 | def interrupt_on_with_env_overlay( | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 696 | def _interrupt_on_tools_from_env(env: Mapping[str, str]) -> dict[str, bool]: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 703 | def _interrupt_on_with_async_subagents( | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 748 | def _is_allowed_backend_env_key(key: str) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 752 | def _is_scrubbed_backend_env_key(key: str) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 784 | def _recursion_limit_from_env(env: Mapping[str, str], fallback: int) -> int: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 810 | def _has_summarization_tool_middleware( | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 842 | def _cron_origin_from_request(request: AgentRequest) -> CronOrigin: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 947 | def _valid_local_subagent_name(name: str) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 951 | def _parse_local_subagent_prompt(text: str, name: str) -> tuple[str, str, str | None]: | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 971 | def _default_subagent_description(name: str) -> str: | CODE |
| LOW | libs/talon/deepagents_talon/mcp.py | 50 | def discover_mcp_config_paths(config: TalonConfig) -> list[Path]: | CODE |
| LOW | libs/talon/deepagents_talon/mcp.py | 137 | def _resolve_discovery_display_path(display: str, project_root: Path) -> Path: | CODE |
| LOW | libs/talon/deepagents_talon/__main__.py | 150 | def _run_import_fleet_command(args: argparse.Namespace, config: TalonConfig) -> int: | CODE |
| LOW | libs/talon/deepagents_talon/__main__.py | 187 | def _has_configured_assistant_id(env: Mapping[str, str]) -> bool: | CODE |
| LOW | libs/talon/deepagents_talon/fleet_import.py | 498 | def _suggested_config_fragment(summary: _ServerSummary, tools: Sequence[str]) -> dict[str, Any]: | CODE |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 509 | async def _stop_bridge_output_tasks(self) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 643 | def _enforce_inbound_media_cap(message: ChannelMessage, *, max_bytes: int) -> ChannelMessage: | CODE |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 783 | def _allows_telegram_reaction( | CODE |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 888 | def _extract_telegram_message_id(payload: object) -> str | None: | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 133 | def format_markdown_for_channel(text: str) -> str: | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 177 | def channel_exposure_from_env( | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 222 | def outbound_media_root_from_env(env: Mapping[str, str]) -> Path: | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 461 | def _require_open_acknowledgement( | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 19 | def test_import_fleet_zip_materializes_agent_files_and_mcp_config(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 69 | def test_import_fleet_cli_resolves_target_assistant( | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 103 | def test_import_fleet_cli_defaults_assistant_to_export_stem( | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 130 | def test_import_fleet_cli_explicit_target_keeps_subagents_under_target( | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 162 | def test_import_fleet_zip_rejects_missing_root_prompt(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 170 | def test_import_fleet_zip_rejects_malformed_tools_json(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 182 | def test_import_fleet_zip_rejects_unsafe_paths(tmp_path: Path, path: str) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 190 | def test_import_fleet_zip_rejects_symlink_entries_before_writing_target( | CODE |
| LOW⚡ | libs/talon/tests/test_fleet_import.py | 212 | def test_import_fleet_zip_rejects_unsafe_subagent_names(tmp_path: Path) -> None: | CODE |
| LOW⚡ | libs/talon/tests/test_fleet_import.py | 220 | def test_import_fleet_zip_rejects_high_compression_ratio(tmp_path: Path) -> None: | CODE |
| LOW⚡ | libs/talon/tests/test_fleet_import.py | 230 | def test_import_fleet_zip_rejects_too_many_entries(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 241 | def test_import_fleet_zip_stdout_recommends_interrupt_env(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 265 | def test_import_fleet_zip_sanitizes_secret_bearing_mcp_urls(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_fleet_import.py | 323 | def test_import_fleet_zip_repeated_imports_refresh_generated_files(tmp_path: Path) -> None: | CODE |
| LOW | libs/talon/tests/test_data_lifecycle.py | 11 | def test_cleanup_sensitive_state_prunes_cron_and_inbound_media(tmp_path) -> None: | CODE |
| LOW⚡ | libs/talon/tests/test_speech.py | 18 | def test_build_voice_transcriber_uses_default_local_model(tmp_path: Path) -> None: | CODE |
| LOW⚡ | libs/talon/tests/test_speech.py | 28 | def test_build_voice_transcriber_supports_legacy_speech_env(tmp_path: Path) -> None: | CODE |
| LOW⚡ | libs/talon/tests/test_speech.py | 38 | def test_build_voice_transcriber_uses_explicit_local_model(tmp_path: Path) -> None: | CODE |
| 10807 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | libs/evals/tests/evals/external_benchmarks.py | 191 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/external_benchmarks.py | 193 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_followup_quality.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_followup_quality.py | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 33 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 35 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 206 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 208 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 249 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 251 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 406 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 408 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 432 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_usage_relational.py | 434 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 100 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 102 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_memory_multiturn.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory_multiturn.py | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory_multiturn.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_external_benchmarks.py | 29 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_external_benchmarks.py | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_external_benchmarks.py | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_external_benchmarks.py | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_selection.py | 35 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/test_tool_selection.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 193 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 195 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 277 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_tool_selection.py | 279 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/utils.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/utils.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 144 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 146 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 214 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 216 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 557 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 559 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 752 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 754 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 933 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 935 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 997 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 999 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 1130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/utils.py | 1132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/evals/tests/evals/llm_judge.py | 121 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | libs/evals/tests/evals/llm_judge.py | 123 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/llm_judge.py | 227 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/llm_judge.py | 229 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory.py | 350 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory.py | 352 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory.py | 469 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/evals/tests/evals/test_memory.py | 471 | # --------------------------------------------------------------------------- | COMMENT |
| 506 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AGENTS.md | 218 | Send an email to a recipient with specified priority. Any additional context about the function can go here. A | STRING |
| HIGH | libs/talon/deepagents_talon/media.py | 162 | Build an outbound channel media payload for a markdown media ref. Args: ref: Markdown media reference. | STRING |
| HIGH | libs/talon/deepagents_talon/media.py | 195 | Resolve a local media path and enforce containment under a trusted root. Args: path: Candidate media path. | STRING |
| HIGH | libs/talon/deepagents_talon/config.py | 50 | Build runtime configuration from environment variables. Args: env: Environment mapping to read. Def | STRING |
| HIGH | libs/talon/deepagents_talon/runtime.py | 316 | Invoke the Deep Agents graph for one Talon request. Args: request: Agent request supplied by the Ta | STRING |
| HIGH | libs/talon/deepagents_talon/mcp.py | 63 | Load configured MCP tools for a Talon runtime. Args: config: Talon runtime configuration. Returns: | STRING |
| HIGH | libs/talon/deepagents_talon/fleet_import.py | 123 | Materialize a Fleet zip export into a Talon local agent directory. Args: zip_path: Fleet export zip file to | STRING |
| HIGH | libs/talon/deepagents_talon/cron/jobs.py | 133 | Parse a supported schedule string. Args: value: Schedule text such as `in 30m` or `every 15m`. | STRING |
| HIGH | libs/talon/deepagents_talon/cron/jobs.py | 440 | Edit a job within the current conversation scope. Args: job_id: Job identifier. origin: | STRING |
| HIGH | libs/talon/deepagents_talon/cron/jobs.py | 491 | Remove a job within the current conversation scope. Args: job_id: Job identifier. origi | STRING |
| HIGH | libs/talon/deepagents_talon/cron/jobs.py | 587 | Delete completed jobs older than the retention window. Args: retain_for: Duration to keep disabled | STRING |
| HIGH | libs/talon/deepagents_talon/channels/whatsapp.py | 121 | Build WhatsApp channel configuration from Talon environment values. Args: config: Talon process con | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 123 | Build Telegram channel configuration from Talon environment values. Args: config: Talon process con | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 208 | Call a Bot API method and return the decoded response. Args: method: Bot API method name (e.g. `get | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 230 | Call a Bot API method with one local file as multipart form data. Args: method: Bot API method name | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 387 | Send validated image, video, or document media to a Telegram chat. Args: conversation_id: Telegram | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 846 | Validate a Bot API response envelope and return the raw ``result`` value. Args: payload: Full Bot API respo | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 871 | Extract a dict result from a validated Bot API response. Args: result: Validated ``result`` field from a Bo | STRING |
| HIGH | libs/talon/deepagents_talon/channels/telegram.py | 898 | Extract the list of updates from a getUpdates response result. Args: result: Validated ``result`` field fro | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 149 | Split outbound text into channel-sized chunks. Args: text: Text to split. limit: Maximum characters | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 181 | Build shared channel exposure policy from provider-specific env prefix. Args: env: Environment variable map | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 243 | Validate outbound media path, type, and size. Args: media: Media payload to validate. root: Optiona | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 330 | Return the configured global media cap. Args: env: Environment variable mapping. Returns: Maxi | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 355 | Parse an optional float value with a default. Args: value: Raw environment value. default: Value re | STRING |
| HIGH | libs/talon/deepagents_talon/channels/base.py | 371 | Parse an optional integer value with a default. Args: value: Raw environment value. default: Value | STRING |
| HIGH | libs/evals/harbor_adapters/contextbench/adapter.py | 27 | Parse a `cb-<suite>-<i>` task id. Args: task_id: Identifier of the form `cb-<suite>-<i>`, where `<i>` is th | STRING |
| HIGH | libs/evals/harbor_adapters/contextbench/adapter.py | 47 | Look up the Context-Bench record identified by a `cb-<suite>-<i>` task id. Args: task_id: Identifier of the | STRING |
| HIGH | libs/evals/harbor_adapters/contextbench/adapter.py | 76 | Generate one self-contained Harbor task from a Context-Bench record. Args: source_jsonl: JSONL file contain | STRING |
| HIGH | libs/evals/harbor_adapters/contextbench/adapter.py | 125 | Copy the vendored corpus into each Context-Bench task's build context. The corpus is identical for every cloud task | STRING |
| HIGH | libs/evals/harbor_adapters/contextbench/adapter.py | 168 | Overwrite each frozen task's `difficulty` with its calibrated tier. The adapter writes `difficulty = source_difficu | STRING |
| HIGH | libs/evals/deepagents_evals/radar.py | 460 | Load model results from an `evals_summary.json` file. The summary file is a JSON array of objects. Each object must | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 83 | Return `True` when the assertion holds. Args: trajectory: The agent trajectory to check. R | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 97 | Return a human-readable explanation of why the check failed. Args: trajectory: The agent trajectory | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 116 | Return `True` when the assertion holds. Args: trajectory: The agent trajectory to check. R | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 130 | Return a human-readable explanation of why the check failed. Args: trajectory: The agent trajectory | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 177 | Coerce the `files` value from an agent result into `dict[str, str]`. Args: raw_files: The raw files object | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 1003 | Build an `AgentTrajectory` from a raw agent invoke result. Args: result: The mapping returned by `agent.inv | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 1197 | Run agent eval against the given query. Args: agent: The compiled state graph to invoke. query: A s | STRING |
| HIGH | libs/evals/tests/evals/utils.py | 1248 | Run agent eval asynchronously against the given query. Args: agent: The compiled state graph to invoke. | STRING |
| HIGH | libs/evals/tests/evals/llm_judge.py | 237 | Create an `LLMJudge` success assertion. Wraps `openevals.llm.create_llm_as_judge` to evaluate each criterion in | STRING |
| HIGH | libs/evals/tests/evals/tau2_airline/domain.py | 224 | Load a single task by ID from tasks.json. Args: task_id: The string task ID (e.g. "2", "14"). Returns: | STRING |
| HIGH | libs/evals/tests/evals/memory_agent_bench/data_utils.py | 55 | Load MemoryAgentBench data from HuggingFace. Args: split: Dataset split name (e.g. `Conflict_Resolution`). | STRING |
| HIGH | libs/evals/deepagents_harbor/langsmith.py | 391 | Get a LangSmith dataset by name. Args: dataset_name: Name of the dataset to retrieve. session: aioh | STRING |
| HIGH | libs/evals/deepagents_harbor/langsmith.py | 426 | Create a LangSmith experiment session for the given dataset. Args: dataset_name: Name of the LangSmith data | STRING |
| HIGH | libs/evals/deepagents_harbor/langsmith.py | 518 | Extract reward from trial's `result.json`. Falls back to `0.0` when the verifier did not produce a usable reward | STRING |
| HIGH | …deepagents_harbor/langgraph_project/langgraph_agent.py | 114 | Create the Deep Agents Code CLI harness graph Harbor should run. Harbor's installed `langgraph` agent loads this fa | STRING |
| HIGH | …deepagents_harbor/langgraph_project/langgraph_agent.py | 153 | Create a Deep Agents SDK graph Harbor should run directly. This path avoids the Deep Agents Code CLI harness while | STRING |
| HIGH | …deepagents_harbor/langgraph_project/langgraph_agent.py | 204 | Build langchain-mcp-adapters connections from Harbor-forwarded servers. Harbor's LangGraph agent forwards the task | STRING |
| HIGH | …deepagents_harbor/langgraph_project/langgraph_agent.py | 272 | Create a conversational Deep Agents graph for tau3-bench (and tau2) tasks. Unlike the terminal-bench graphs, this a | STRING |
| HIGH | libs/evals/scripts/generate_radar.py | 35 | Load per-category results from a JSON file. Expected format: [ { "model": "ant | STRING |
| HIGH | libs/evals/scripts/composite_radar.py | 47 | Download `evals-summary` from a single GHA run via `gh run download`. Args: run_id: GitHub Actions run ID. | STRING |
| HIGH | libs/evals/scripts/composite_radar.py | 76 | Flatten a list of per-run summary arrays into a single array. Args: summaries: Paths to per-run `evals_summ | STRING |
| HIGH | libs/evals/scripts/run_trials.py | 174 | Aggregate per-trial eval reports into a single summary dict. Args: reports: Per-trial report dicts as writt | STRING |
| HIGH | libs/code/deepagents_code/_testing_models.py | 151 | Extract the file path that follows a prompt marker on the same line. Args: prompt: The flattened prompt tex | STRING |
| HIGH | libs/code/deepagents_code/sessions.py | 372 | List threads from checkpoints table. Args: agent_name: Optional filter by agent name. limit: Maximu | STRING |
| HIGH | libs/code/deepagents_code/approval_mode.py | 106 | Persist approval mode through an agent's remote store client. Args: agent: Agent object. Remote agents expo | STRING |
| HIGH | libs/code/deepagents_code/config.py | 1760 | Parse shell allow-list from string. Args: allow_list_str: Comma-separated list of commands, `'recommended'` | STRING |
| HIGH | libs/code/deepagents_code/config.py | 1846 | Coerce a raw `interpreter_ptc` value into the canonical shape. Args: raw: Value loaded from TOML or supplie | STRING |
| HIGH | libs/code/deepagents_code/config.py | 2687 | Get the global agent directory path. Args: agent_name: Name of the agent Returns: | STRING |
| HIGH | libs/code/deepagents_code/config.py | 2707 | Ensure the global agent directory exists and return its path. Args: agent_name: Name of the agent | STRING |
| 121 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/interfaces.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/media.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/config.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/host.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 7 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 8 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 17 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 18 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 35 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 35 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 36 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 36 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 36 | CODE | |
| LOW | libs/talon/deepagents_talon/__init__.py | 36 | CODE | |
| LOW | libs/talon/deepagents_talon/observability.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/runtime.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/mcp.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/async_subagents.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/speech.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/data_lifecycle.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/__main__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/fleet_import.py | 3 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/tools.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 14 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 15 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/jobs.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/cron/scheduler.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/__init__.py | 6 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/__init__.py | 6 | CODE | |
| 677 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | libs/evals/tests/evals/test_followup_quality.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | …bs/evals/tests/evals/tau2_airline/test_tau2_airline.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | libs/evals/tests/evals/test_tool_usage_relational.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | libs/evals/tests/evals/test_tool_selection.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | libs/evals/tests/evals/test_todos.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | libs/evals/tests/evals/test_summarization.py | 0 | apply summarization category to all tests in this module. tier is set per-test. | STRING |
| HIGH | libs/evals/tests/evals/test_memory_multiturn.py | 0 | apply memory category and baseline tier to all tests in this module. | STRING |
| HIGH | libs/evals/tests/evals/test_memory.py | 0 | apply memory category and baseline tier to all tests in this module. | STRING |
| HIGH | …ts/evals/memory_agent_bench/test_memory_agent_bench.py | 0 | apply memory category and baseline tier to all tests in this module. | STRING |
| HIGH | libs/evals/tests/evals/test_system_prompt.py | 0 | apply unit_test category and baseline tier to all tests in this module. | STRING |
| HIGH | libs/evals/tests/evals/test_subagents.py | 0 | apply unit_test category and baseline tier to all tests in this module. | STRING |
| HIGH | libs/evals/tests/evals/test_skills.py | 0 | apply unit_test category and baseline tier to all tests in this module. | STRING |
| HIGH | libs/code/tests/unit_tests/test_config.py | 0 | redirect the credential store into a temp directory. | STRING |
| HIGH | libs/code/tests/unit_tests/test_model_config.py | 0 | redirect the credential store into a temp directory. | STRING |
| HIGH | …code/tests/unit_tests/tui/widgets/test_auth_widgets.py | 0 | redirect the credential store into a temp directory. | STRING |
| HIGH | libs/code/tests/unit_tests/test_config.py | 0 | [models.providers.fireworks] models = ["llama-v3p1-70b"] api_key_env = "fireworks_api_key" | STRING |
| HIGH | libs/code/tests/unit_tests/test_model_switch.py | 0 | [models.providers.fireworks] models = ["llama-v3p1-70b"] api_key_env = "fireworks_api_key" | STRING |
| HIGH | libs/code/tests/unit_tests/test_model_config.py | 0 | [models.providers.fireworks] models = ["llama-v3p1-70b"] api_key_env = "fireworks_api_key" | STRING |
| HIGH | …e/tests/unit_tests/tui/widgets/test_thread_selector.py | 0 | pressing esc should dismiss the modal with none result. | STRING |
| HIGH | …de/tests/unit_tests/tui/widgets/test_model_selector.py | 0 | pressing esc should dismiss the modal with none result. | STRING |
| HIGH | …de/tests/unit_tests/tui/widgets/test_agent_selector.py | 0 | pressing esc should dismiss the modal with none result. | STRING |
| HIGH | …s/code/tests/integration_tests/test_sandbox_factory.py | 0 | test async upload followed by download for data integrity. | STRING |
| HIGH | …s/tests/unit_tests/backends/test_filesystem_backend.py | 0 | test async upload followed by download for data integrity. | STRING |
| HIGH | …s/unit_tests/backends/test_filesystem_backend_async.py | 0 | test async upload followed by download for data integrity. | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | skill initializer - creates a new skill from template. usage: init_skill.py <skill-name> --path <path> examples: init_sk | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | skill initializer - creates a new skill from template. usage: init_skill.py <skill-name> --path <path> examples: init_sk | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | skill initializer - creates a new skill from template. usage: init_skill.py <skill-name> --path <path> examples: init_sk | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | --- name: {skill_name} description: [todo: complete and informative explanation of what the skill does and when to use i | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | --- name: {skill_name} description: [todo: complete and informative explanation of what the skill does and when to use i | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | --- name: {skill_name} description: [todo: complete and informative explanation of what the skill does and when to use i | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | def main(): print("this is an example script for {skill_name}") # todo: add actual script logic here # this could be dat | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | def main(): print("this is an example script for {skill_name}") # todo: add actual script logic here # this could be dat | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | def main(): print("this is an example script for {skill_name}") # todo: add actual script logic here # this could be dat | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | # reference documentation for {skill_title} this is a placeholder for detailed reference documentation. replace with act | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | # reference documentation for {skill_title} this is a placeholder for detailed reference documentation. replace with act | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | # reference documentation for {skill_title} this is a placeholder for detailed reference documentation. replace with act | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | # example asset file this placeholder represents where asset files would be stored. replace with actual asset files (tem | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | # example asset file this placeholder represents where asset files would be stored. replace with actual asset files (tem | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | # example asset file this placeholder represents where asset files would be stored. replace with actual asset files (tem | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | convert hyphenated skill name to title case for display. returns: skill name with each word capitalized. | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | convert hyphenated skill name to title case for display. returns: skill name with each word capitalized. | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | convert hyphenated skill name to title case for display. returns: skill name with each word capitalized. | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | initialize a new skill directory with template skill.md. args: skill_name: name of the skill path: path where the skill | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | initialize a new skill directory with template skill.md. args: skill_name: name of the skill path: path where the skill | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | initialize a new skill directory with template skill.md. args: skill_name: name of the skill path: path where the skill | STRING |
| HIGH | …de/examples/skills/skill-creator/scripts/init_skill.py | 0 | main entry point for the skill initialization script. | STRING |
| HIGH | …de/built_in_skills/skill-creator/scripts/init_skill.py | 0 | main entry point for the skill initialization script. | STRING |
| HIGH | …li/examples/skills/skill-creator/scripts/init_skill.py | 0 | main entry point for the skill initialization script. | STRING |
| HIGH | …xamples/skills/skill-creator/scripts/quick_validate.py | 0 | quick validation script for skills - minimal version. for deepagents cli, skills are located at: ~/.deepagents/<agent>/s | STRING |
| HIGH | …uilt_in_skills/skill-creator/scripts/quick_validate.py | 0 | quick validation script for skills - minimal version. for deepagents cli, skills are located at: ~/.deepagents/<agent>/s | STRING |
| HIGH | …xamples/skills/skill-creator/scripts/quick_validate.py | 0 | quick validation script for skills - minimal version. for deepagents cli, skills are located at: ~/.deepagents/<agent>/s | STRING |
| HIGH | …xamples/skills/skill-creator/scripts/quick_validate.py | 0 | basic validation of a skill. returns: tuple of (is_valid, message) where is_valid is bool and message describes result. | STRING |
| HIGH | …uilt_in_skills/skill-creator/scripts/quick_validate.py | 0 | basic validation of a skill. returns: tuple of (is_valid, message) where is_valid is bool and message describes result. | STRING |
| HIGH | …xamples/skills/skill-creator/scripts/quick_validate.py | 0 | basic validation of a skill. returns: tuple of (is_valid, message) where is_valid is bool and message describes result. | STRING |
| HIGH | libs/code/deepagents_code/subagents.py | 0 | what this subagent does. the main agent uses this to decide when to delegate. | STRING |
| HIGH | libs/deepagents/deepagents/middleware/subagents.py | 0 | what this subagent does. the main agent uses this to decide when to delegate. | STRING |
| HIGH | …bs/deepagents/deepagents/middleware/async_subagents.py | 0 | what this subagent does. the main agent uses this to decide when to delegate. | STRING |
| HIGH | …bs/code/deepagents_code/tui/widgets/install_confirm.py | 0 | compose the force-reconnect confirmation dialog. yields: title, body, and help-row widgets parented inside a `vertical`. | STRING |
| HIGH | libs/code/deepagents_code/tui/widgets/auth.py | 0 | compose the force-reconnect confirmation dialog. yields: title, body, and help-row widgets parented inside a `vertical`. | STRING |
| HIGH | libs/code/deepagents_code/tui/widgets/restart_prompt.py | 0 | compose the force-reconnect confirmation dialog. yields: title, body, and help-row widgets parented inside a `vertical`. | STRING |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | libs/code/tests/unit_tests/test_extras_info.py | 424 | '{"dir_info": null}', # valid JSON, dir_info not an object | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 159 | ("ls && cat file", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 160 | ("ls && rm file", False), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 161 | ("ls -la && grep pattern file && cat output.txt", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 162 | ("ls && cat file && grep test", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 163 | ("cat a.txt && cat b.txt && cat c.txt", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 164 | ("ls && rm -rf /", False), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 177 | ("ls || cat file", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 178 | ("ls || rm file", False), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 549 | ("ls && cat file", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 550 | ("ls && grep test file", True), | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 639 | assert not contains_dangerous_patterns("ls && cat file") | CODE |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 170 | """Test commands with && operator (commonly used by Claude for chaining).""" | STRING |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 184 | """Test commands with || operator.""" | STRING |
| HIGH⚡ | libs/code/tests/unit_tests/test_shell_allow_list.py | 638 | """Double && should not be flagged as dangerous (it's a safe operator).""" | STRING |
| HIGH | libs/code/tests/unit_tests/test_update_check.py | 1772 | == f"export PATH={quoted_bin_dir}:$PATH\nhash -r 2>/dev/null || true" | CODE |
| HIGH | …ode/tests/integration_tests/test_sandbox_operations.py | 41 | "rm -rf /tmp/test_sandbox_ops && mkdir -p /tmp/test_sandbox_ops" | CODE |
| HIGH | libs/code/deepagents_code/update_check.py | 1552 | return f"export PATH={quoted}:$PATH\nhash -r 2>/dev/null || true" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 297 | $IN_GIT && ROOT="$(git rev-parse --show-toplevel 2>/dev/null)" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 297 | $IN_GIT && ROOT="$(git rev-parse --show-toplevel 2>/dev/null)" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 311 | $MONOREPO && echo "- Monorepo: yes" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 329 | if grep -q '\[tool\.uv\]' pyproject.toml 2>/dev/null; then PKG="Python: uv" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 330 | elif grep -q '\[tool\.poetry\]' pyproject.toml 2>/dev/null; then PKG="Python: poetry" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 375 | BRANCH="$(git rev-parse --abbrev-ref HEAD 2>/dev/null)" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 377 | COMMIT="$(git rev-parse --short HEAD 2>/dev/null)" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 449 | if [ -f Makefile ] && grep -qE '^tests?:' Makefile 2>/dev/null; then TC="make test" | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 456 | && grep -q '"test"' package.json 2>/dev/null; then | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 474 | { ls -1 2>/dev/null; [ -e .deepagents ] && echo .deepagents; } | | CODE |
| HIGH | libs/code/deepagents_code/local_context.py | 523 | $TREE_TRUNCATED && echo "... (more lines truncated)" | CODE |
| HIGH | libs/partners/quickjs/tests/unit_tests/test_ptc.py | 394 | undefined = await repl.eval_async("await tools.myTool({ name: undefined })") | CODE |
| HIGH | …tners/quickjs/tests/unit_tests/test_repl_middleware.py | 1037 | "mustThrow('assign', () => { globalThis.task = null; });" | CODE |
| HIGH | …tners/quickjs/tests/unit_tests/test_repl_middleware.py | 1040 | "if (!Object.isFrozen(task) || task.extra !== undefined) {" | CODE |
| HIGH | …tners/quickjs/tests/unit_tests/test_repl_middleware.py | 1292 | " calls.push(task({" | CODE |
| HIGH⚡ | …s/partners/quickjs/tests/unit_tests/test_end_to_end.py | 241 | code = "const r = await tools.getUserEmailOrNone({user_id: -1});\n`${r === null}`;" | CODE |
| HIGH | libs/partners/quickjs/tests/benchmarks/_common.py | 26 | " values.push(await tools.echoPayload({value: `value-${i}`}));" | CODE |
| HIGH | libs/partners/quickjs/tests/benchmarks/_common.py | 35 | " values.push(value);" | CODE |
| HIGH | libs/partners/quickjs/langchain_quickjs/_prompt.py | 115 | reviewed.push(...(await Promise.all(batch.map(async (file) => { | CODE |
| HIGH | libs/partners/quickjs/langchain_quickjs/middleware.py | 261 | # eval runs on another (and sees `tools` undefined). | COMMENT |
| HIGH | …ents/tests/unit_tests/test_local_sandbox_operations.py | 260 | sandbox.execute("rm -rf /tmp/test_sandbox_ops && mkdir -p /tmp/test_sandbox_ops") | CODE |
| HIGH | …ents/tests/unit_tests/test_local_sandbox_operations.py | 1629 | sandbox.execute("rm -rf /tmp/test_sandbox_ops && mkdir -p /tmp/test_sandbox_ops") | CODE |
| HIGH | …ents/tests/unit_tests/test_local_sandbox_operations.py | 1722 | assert sandbox.execute(f"test -e {off_path} && echo Y || echo N").output.strip() == "N" | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/subagents.py | 364 | if (n <= 1) return false | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/subagents.py | 366 | if (n % i === 0) return false | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/subagents.py | 368 | return true | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/filesystem.py | 1080 | - Use '&&' when commands depend on each other (e.g., "mkdir dir && cd dir") | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/filesystem.py | 1088 | - execute(command="npm install && npm test") | CODE |
| HIGH⚡ | libs/deepagents/deepagents/middleware/filesystem.py | 1092 | - execute(command="cd /foo/bar && pytest tests") # Use absolute path instead | CODE |
| HIGH | libs/deepagents/deepagents/backends/sandbox.py | 826 | { ( eval "$__da_cmd" ); echo "$?" > "$__da_ecf"; } 2>&1 | { head -c __MAXBYTES__ > "$__da_f"; cat > /dev/null; } | CODE |
| HIGH | libs/deepagents/deepagents/backends/sandbox.py | 827 | __da_ec=$(cat "$__da_ecf" 2>/dev/null) | CODE |
| HIGH | libs/deepagents/deepagents/backends/sandbox.py | 1343 | Runs `test -e || test -L` first: a path that does not exist (and is not | STRING |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 65 | assert not contains_dangerous_patterns("cd dir && ls") | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 66 | assert not contains_dangerous_patterns("make && make test") | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 76 | assert extract_command_types("test -f foo || echo missing") == ["test", "echo"] | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 79 | result = extract_command_types("cd dir && ls ; echo done || cat file") | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 79 | result = extract_command_types("cd dir && ls ; echo done || cat file") | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 84 | assert extract_command_types("cd /path && npm install") == ["cd", "npm install"] | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 88 | cmd = "cd /Users/test/project && python -m pytest tests/test_agent.py -v" | CODE |
| HIGH⚡ | libs/acp/tests/test_dangerous_patterns.py | 83 | """Ensure existing && and | splitting still works.""" | STRING |
| HIGH⚡ | libs/acp/tests/test_command_allowlist.py | 79 | assert extract_command_types("cd /path && npm install") == ["cd", "npm install"] | CODE |
| HIGH⚡ | libs/acp/tests/test_command_allowlist.py | 80 | assert extract_command_types("cd /path && python -m pytest tests/") == [ | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/host.py | 375 | except Exception: | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 750 | except Exception: # noqa: BLE001 # typing indicators are best-effort adapter calls. | CODE |
| LOW⚡ | libs/talon/deepagents_talon/host.py | 758 | except Exception: # noqa: BLE001 | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 399 | except Exception as exc: | CODE |
| LOW | libs/talon/deepagents_talon/speech.py | 173 | except Exception: | CODE |
| LOW | libs/talon/deepagents_talon/cron/tools.py | 159 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/talon/deepagents_talon/cron/tools.py | 171 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/talon/deepagents_talon/cron/tools.py | 206 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/talon/deepagents_talon/cron/tools.py | 221 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/talon/deepagents_talon/cron/scheduler.py | 107 | except Exception as exc: | CODE |
| LOW | libs/talon/deepagents_talon/cron/scheduler.py | 144 | except Exception as exc: | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 578 | except Exception as exc: # noqa: BLE001 # transport errors must not crash the host loop | CODE |
| LOW | libs/evals/deepagents_evals/cli.py | 210 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/deepagents_evals/cli.py | 229 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/deepagents_evals/cli.py | 298 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 116 | except Exception: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 158 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 171 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 202 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 287 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 333 | except Exception as exc: # noqa: BLE001 # private API; best-effort | CODE |
| LOW | libs/evals/tests/evals/external_benchmarks.py | 338 | except Exception: | CODE |
| LOW | libs/evals/tests/evals/llm_judge.py | 185 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/llm_judge.py | 191 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | libs/evals/tests/evals/llm_judge.py | 218 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/tests/evals/memory_agent_bench/data_utils.py | 182 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | libs/evals/deepagents_harbor/langsmith.py | 691 | except Exception as exc: # noqa: BLE001 # surface unexpected errors per-trial | CODE |
| LOW | libs/evals/scripts/generate_radar.py | 242 | except Exception as exc: # noqa: BLE001 # top-level script should surface chart backend failures cleanly | CODE |
| LOW | libs/evals/scripts/generate_radar.py | 260 | except Exception as exc: # noqa: BLE001 # top-level script should surface chart backend failures cleanly | CODE |
| MEDIUM | libs/evals/scripts/harbor_langsmith.py | 155 | print(f"Error: --metadata must be valid JSON: {exc}", file=sys.stderr) | CODE |
| MEDIUM | libs/evals/scripts/harbor_langsmith.py | 158 | print("Error: --metadata must be a JSON object.", file=sys.stderr) | CODE |
| MEDIUM⚡ | libs/evals/scripts/harbor_langsmith.py | 170 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| MEDIUM⚡ | libs/evals/scripts/harbor_langsmith.py | 173 | print(f"Error: failed to create experiment: {exc}", file=sys.stderr) | CODE |
| LOW⚡ | libs/evals/scripts/harbor_langsmith.py | 175 | except Exception as exc: # noqa: BLE001 # unexpected; distinct exit code | CODE |
| MEDIUM⚡ | libs/evals/scripts/harbor_langsmith.py | 176 | print(f"Error: unexpected failure creating experiment: {exc!r}", file=sys.stderr) | CODE |
| MEDIUM⚡ | libs/evals/scripts/harbor_langsmith.py | 183 | print(f"Error: Job folder does not exist: {args.job_folder}") | CODE |
| LOW | libs/evals/scripts/analyze.py | 317 | except Exception: | CODE |
| MEDIUM | libs/evals/scripts/analyze.py | 369 | print(f"Error: Directory {jobs_dir} does not exist") | CODE |
| LOW | libs/evals/scripts/analyze.py | 509 | except Exception: | CODE |
| LOW | libs/evals/scripts/analyze.py | 880 | except Exception as e: | CODE |
| LOW | …e/tests/unit_tests/tui/widgets/test_mcp_login_modal.py | 38 | except Exception: # noqa: BLE001 # screen may still be mounting | CODE |
| LOW | libs/code/examples/skills/arxiv-search/arxiv_search.py | 40 | except Exception as e: | CODE |
| MEDIUM⚡ | …de/examples/skills/skill-creator/scripts/init_skill.py | 214 | print(f"Error: Skill directory already exists: {skill_dir}") | STRING |
| LOW⚡ | …de/examples/skills/skill-creator/scripts/init_skill.py | 221 | except Exception as e: | STRING |
| MEDIUM⚡ | …de/examples/skills/skill-creator/scripts/init_skill.py | 222 | print(f"Error creating directory: {e}") | STRING |
| LOW | …de/examples/skills/skill-creator/scripts/init_skill.py | 235 | except Exception as e: | STRING |
| MEDIUM | …de/examples/skills/skill-creator/scripts/init_skill.py | 236 | print(f"Error creating SKILL.md: {e}") | STRING |
| LOW | …de/examples/skills/skill-creator/scripts/init_skill.py | 262 | except Exception as e: | STRING |
| MEDIUM | …de/examples/skills/skill-creator/scripts/init_skill.py | 263 | print(f"Error creating resource directories: {e}") | STRING |
| LOW | libs/code/deepagents_code/goal_rubric.py | 304 | except Exception: | CODE |
| LOW | libs/code/deepagents_code/reliable_rubric.py | 78 | except Exception as exc: | CODE |
| LOW | libs/code/deepagents_code/reliable_rubric.py | 90 | except Exception as exc: | CODE |
| LOW | libs/code/deepagents_code/sessions.py | 355 | except Exception: | CODE |
| LOW | libs/code/deepagents_code/sessions.py | 525 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 879 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 945 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 1059 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 1073 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 1132 | except Exception: | STRING |
| LOW | libs/code/deepagents_code/sessions.py | 1163 | except Exception: | STRING |
| 467 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | libs/evals/tests/evals/data/bfcl_apis/trading_bot.py | 200 | # Define the start and end dates for the range | COMMENT |
| MEDIUM | libs/evals/scripts/analyze.py | 632 | # Create the deep agent for trajectory analysis | STRING |
| MEDIUM | libs/evals/scripts/analyze.py | 658 | # Create the user message with the trajectory and explicit status | STRING |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_media_utils.py | 828 | # Create a file that reports > 20 MB via stat | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_media_utils.py | 292 | # Create a small PNG in memory | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_media_utils.py | 617 | # Create a small valid PNG | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_media_utils.py | 788 | # Create a minimal valid MP4 file (ftyp box) | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_agent.py | 1186 | # Create the default agent directory with AGENTS.md | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_agent.py | 1191 | # Create a non-default agent | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 122 | # Create a fake model that returns predefined messages | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 144 | # Create a CLI agent with the fake model | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 183 | # Create a CLI agent with the fake model | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 244 | # Create a fake model that calls sample_tool | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 266 | # Create a CLI agent with the fake model and sample_tool | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_end_to_end.py | 297 | # Create a test file to list | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_end_to_end.py | 301 | # Create a fake model that uses filesystem tools | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 323 | # Create a CLI agent with the fake model | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 351 | # Create a fake model that makes multiple tool calls | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_end_to_end.py | 384 | # Create a CLI agent with the fake model and sample_tool | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_end_to_end.py | 417 | # Create a simple fake model | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_end_to_end.py | 426 | # Create a CLI agent | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_config.py | 169 | # Create a mock project structure | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_config.py | 175 | # Create a subdirectory to search from | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_config.py | 721 | # Create a mock project with .git | COMMENT |
| MEDIUM⚡ | libs/code/tests/unit_tests/test_config.py | 732 | # Create a directory without .git | COMMENT |
| MEDIUM | …ode/tests/unit_tests/tui/widgets/test_message_store.py | 702 | # Create a tool message with various states | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/skills/test_load.py | 686 | # Create a healthy user skills directory | COMMENT |
| MEDIUM | …ode/tests/integration_tests/test_sandbox_operations.py | 287 | # Create a line with 3000 characters | COMMENT |
| MEDIUM | …s/code/tests/integration_tests/test_sandbox_factory.py | 214 | # Create a directory | COMMENT |
| MEDIUM | …s/code/tests/integration_tests/test_sandbox_factory.py | 284 | # Create a directory | COMMENT |
| MEDIUM | libs/code/deepagents_code/media_utils.py | 457 | # Create a temp file for the image | COMMENT |
| MEDIUM | libs/code/deepagents_code/agent.py | 1959 | # Create the agent | COMMENT |
| MEDIUM | libs/code/deepagents_code/app.py | 11883 | # Create the stats object up-front and store on the app so | COMMENT |
| MEDIUM | libs/code/scripts/install.sh | 1618 | # Create the profile file if it doesn't exist. | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3253 | # Create a list that exceeds the token limit (20000 tokens * 4 chars = 80000 chars) | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3287 | # Create a large tool result | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3295 | # Create a request for a tool in TOOLS_EXCLUDED_FROM_EVICTION | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3317 | # Create a large tool result | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3325 | # Create a request for a tool NOT in TOOLS_EXCLUDED_FROM_EVICTION | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3351 | # Create a ToolMessage with the large execute output | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_middleware.py | 3358 | # Create a request for the execute tool | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_middleware.py | 546 | # Create a large number of files that will exceed TOOL_RESULT_TOKEN_LIMIT | COMMENT |
| MEDIUM | …/deepagents/tests/unit_tests/test_file_system_tools.py | 55 | # Create a deep agent with the fake model and a memory saver | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 987 | # Create a file with content that exceeds the truncation threshold | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 996 | # Create a fake model that calls read_file | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1045 | # Create a small file that doesn't exceed the truncation threshold | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1053 | # Create a fake model that calls read_file | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1099 | # Create a large file with many lines (each line is 500 chars + newline) | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1109 | # Create a fake model that calls read_file with a non-zero offset | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1155 | # Create a large file | COMMENT |
| MEDIUM⚡ | libs/deepagents/tests/unit_tests/test_end_to_end.py | 1163 | # Create a fake model that calls read_file | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 131 | # Create a fake model that returns predefined messages | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 153 | # Create a deep agent with the fake model | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 263 | # Create a fake model that calls sample_tool | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 285 | # Create a deep agent with the fake model and sample_tool | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 307 | # Create a fake model that uses filesystem tools | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 329 | # Create a deep agent with the fake model | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 348 | # Create a fake model that makes multiple tool calls | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 381 | # Create a deep agent with the fake model and sample_tool | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 497 | # Create a fake model that calls read_file | COMMENT |
| 61 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/interfaces.py | 172 | def set_message_handler(self, handler: MessageHandler) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/interfaces.py | 228 | def set_reaction_handler(self, handler: ReactionHandler) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/host.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/__init__.py | 43 | __all__ = [ | CODE |
| LOW | libs/talon/deepagents_talon/runtime.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/mcp.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/async_subagents.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/speech.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/data_lifecycle.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/__main__.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/cron/__init__.py | 17 | __all__ = [ | CODE |
| LOW | libs/talon/deepagents_talon/cron/scheduler.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 278 | def set_message_handler(self, handler: MessageHandler) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 331 | def set_message_handler(self, handler: MessageHandler) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 339 | def set_reaction_handler(self, handler: ReactionHandler) -> None: | CODE |
| LOW | libs/talon/deepagents_talon/channels/__init__.py | 18 | __all__ = [ | CODE |
| LOW | libs/talon/deepagents_talon/channels/base.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/talon/tests/conftest.py | 41 | def set_message_handler(self, handler: Callable[[ChannelMessage], Awaitable[None]]) -> None: | CODE |
| LOW | libs/talon/tests/test_observability.py | 40 | def set_message_handler(self, handler: Callable[[ChannelMessage], Awaitable[None]]) -> None: | CODE |
| LOW | libs/talon/tests/integration_tests/test_core_flows.py | 34 | def set_message_handler(self, handler: Callable[[ChannelMessage], Awaitable[None]]) -> None: | CODE |
| LOW | libs/evals/deepagents_clbench/system/__init__.py | 5 | __all__ = ["DeepAgentsSystem"] | CODE |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | libs/evals/tests/evals/utils.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/evals/tests/evals/tau2_airline/runner.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | libs/evals/tests/evals/tau2_airline/evaluation.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | …bs/evals/tests/evals/tau2_airline/test_tau2_airline.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/evals/tests/evals/memory_agent_bench/data_utils.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ts/evals/memory_agent_bench/test_memory_agent_bench.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/evals/tests/evals/data/bfcl_apis/travel_booking.py | 221 | def _set_card_balance(self, card_id: str, balance: float) -> None: | CODE |
| LOW | libs/evals/deepagents_harbor/__init__.py | 12 | __all__ = [ | CODE |
| LOW | libs/evals/deepagents_harbor/failure.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/tests/unit_tests/test_mcp_auth.py | 463 | async def set_tokens(self, tokens: OAuthToken) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/test_mcp_auth.py | 469 | async def set_client_info(self, client_info) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/test_resume_state.py | 236 | def _update_tokens(self, count: int) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/test_resume_state.py | 256 | def _update_tokens(self, count: int) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/test_resume_state.py | 271 | def update_tokens(count: int, *, approximate: bool = False) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/test_resume_state.py | 292 | def _update_tokens(self, count: int) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/tui/test_textual_adapter.py | 160 | def update_cb(count: int, *, approximate: bool = False) -> None: | CODE |
| LOW | libs/code/tests/unit_tests/tui/test_textual_adapter.py | 458 | def update_state(_config: object, _values: dict[str, Any]) -> None: | CODE |
| LOW | …e/tests/unit_tests/tui/widgets/test_thread_selector.py | 3752 | def _set_content_side_effect(content: str) -> None: | CODE |
| LOW | …s/code/tests/unit_tests/tui/widgets/test_chat_input.py | 241 | def set_cwd(self, cwd: Path) -> None: | CODE |
| LOW | …de/tests/integration_tests/test_auto_approve_remote.py | 110 | def update_status(_: str) -> None: | CODE |
| LOW | libs/code/deepagents_code/reasoning_effort.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/goal_rubric.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/reliable_rubric.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/config_manifest.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/mcp_trust.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/sessions.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/hooks.py | 82 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/approval_mode.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/subagents.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | libs/code/deepagents_code/config.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/mcp_login_service.py | 273 | __all__ = [ | CODE |
| LOW | libs/code/deepagents_code/terminal_escape.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | libs/code/deepagents_code/theme.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/model_config.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/update_check.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/code/deepagents_code/update_check.py | 2938 | def set_auto_update(enabled: bool) -> None: | CODE |
| 227 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/media.py | 63 | CODE | |
| LOW | libs/talon/deepagents_talon/fleet_import.py | 268 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/whatsapp.py | 441 | CODE | |
| LOW | libs/talon/deepagents_talon/channels/telegram.py | 1205 | CODE | |
| LOW | libs/talon/tests/channels/test_telegram.py | 59 | CODE | |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 120 | CODE | |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 293 | CODE | |
| LOW | libs/evals/tests/evals/pytest_reporter.py | 342 | CODE | |
| LOW | libs/evals/tests/evals/utils.py | 1002 | CODE | |
| LOW | libs/evals/tests/evals/llm_judge.py | 141 | CODE | |
| LOW | …/tests/evals/test_iterative_constraint_satisfaction.py | 84 | CODE | |
| LOW | libs/evals/tests/evals/tau2_airline/domain.py | 427 | CODE | |
| LOW | libs/evals/tests/evals/tau2_airline/domain.py | 512 | CODE | |
| LOW | libs/evals/tests/evals/tau2_airline/evaluation.py | 156 | CODE | |
| LOW | libs/evals/tests/evals/tau2_airline/evaluation.py | 162 | CODE | |
| LOW | …bs/evals/tests/evals/data/bfcl_apis/vehicle_control.py | 331 | CODE | |
| LOW | …bs/evals/tests/evals/data/bfcl_apis/vehicle_control.py | 553 | CODE | |
| LOW | …bs/evals/tests/evals/data/bfcl_apis/vehicle_control.py | 618 | CODE | |
| LOW | libs/evals/tests/unit_tests/test_category_tagging.py | 90 | CODE | |
| LOW | libs/evals/deepagents_harbor/langsmith.py | 647 | CODE | |
| LOW | libs/evals/deepagents_harbor/failure.py | 95 | CODE | |
| LOW | libs/evals/scripts/generate_radar.py | 119 | CODE | |
| LOW | libs/evals/scripts/generate_eval_catalog.py | 58 | CODE | |
| LOW | libs/evals/scripts/harbor_langsmith.py | 26 | CODE | |
| LOW | libs/evals/scripts/analyze.py | 254 | CODE | |
| LOW | libs/evals/scripts/analyze.py | 779 | CODE | |
| LOW | libs/code/tests/unit_tests/test_startup_fast_paths.py | 242 | CODE | |
| LOW | …bs/code/tests/unit_tests/test_coding_agent_metadata.py | 56 | CODE | |
| LOW | libs/code/tests/unit_tests/test_sessions.py | 2888 | CODE | |
| LOW | …ode/tests/unit_tests/smoke_tests/test_system_prompt.py | 145 | CODE | |
| LOW | …e/tests/unit_tests/tui/widgets/test_thread_selector.py | 717 | CODE | |
| LOW | libs/code/deepagents_code/goal_rubric.py | 88 | CODE | |
| LOW | libs/code/deepagents_code/config_manifest.py | 484 | CODE | |
| LOW | libs/code/deepagents_code/config_manifest.py | 609 | CODE | |
| LOW | libs/code/deepagents_code/_testing_models.py | 114 | CODE | |
| LOW | libs/code/deepagents_code/sessions.py | 1084 | CODE | |
| LOW | libs/code/deepagents_code/sessions.py | 1210 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 894 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 1245 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 2001 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 2968 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 4028 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 4177 | CODE | |
| LOW | libs/code/deepagents_code/config.py | 4380 | CODE | |
| LOW | libs/code/deepagents_code/mcp_login_service.py | 124 | CODE | |
| LOW | libs/code/deepagents_code/model_config.py | 948 | CODE | |
| LOW | libs/code/deepagents_code/model_config.py | 1152 | CODE | |
| LOW | libs/code/deepagents_code/model_config.py | 3271 | CODE | |
| LOW | libs/code/deepagents_code/model_config.py | 3416 | CODE | |
| LOW | libs/code/deepagents_code/model_config.py | 3491 | CODE | |
| LOW | libs/code/deepagents_code/update_check.py | 405 | CODE | |
| LOW | libs/code/deepagents_code/update_check.py | 518 | CODE | |
| LOW | libs/code/deepagents_code/update_check.py | 647 | CODE | |
| LOW | libs/code/deepagents_code/update_check.py | 775 | CODE | |
| LOW | libs/code/deepagents_code/media_utils.py | 392 | CODE | |
| LOW | libs/code/deepagents_code/mcp_auth.py | 1475 | CODE | |
| LOW | libs/code/deepagents_code/mcp_auth.py | 1807 | CODE | |
| LOW | libs/code/deepagents_code/mcp_auth.py | 1334 | CODE | |
| LOW | libs/code/deepagents_code/file_ops.py | 379 | CODE | |
| LOW | libs/code/deepagents_code/file_ops.py | 543 | CODE | |
| 137 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 54 | # Step 1: read_file to get the skill content. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 55 | # Step 2: answer with the magic number. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 97 | # Step 1: read_file for code-review only. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 98 | # Step 2: answer with the code. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 143 | # Step 1: read_file for both skills in parallel. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 144 | # Step 2: answer combining both ports. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 230 | # Step 1: read_file to discover the typo. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 231 | # Step 2: edit_file to fix it. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 232 | # Step 3: confirm. | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2208 | # Step 1: Save model to config (simulating /model anthropic:claude-opus-4-5) | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2216 | # Step 2: Patch DEFAULT_CONFIG_PATH and call _get_default_model_spec | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2226 | # Step 3: Get default model spec - should use saved recent model | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 225 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 242 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 266 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 317 | ### Step 4: Edit the Skill | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 358 | ### Step 5: Validate the Skill | COMMENT |
| LOW | libs/code/examples/skills/skill-creator/SKILL.md | 376 | ### Step 6: Iterate | COMMENT |
| LOW | libs/code/examples/skills/web-research/SKILL.md | 10 | ### Step 1: Create and Save Research Plan | COMMENT |
| LOW | libs/code/examples/skills/web-research/SKILL.md | 33 | ### Step 2: Delegate to Research Subagents | COMMENT |
| LOW | libs/code/examples/skills/web-research/SKILL.md | 52 | ### Step 3: Synthesize Findings | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 228 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 245 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 269 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 320 | ### Step 4: Edit the Skill | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 356 | ### Step 5: Validate the Skill | COMMENT |
| LOW | …deepagents_code/built_in_skills/skill-creator/SKILL.md | 374 | ### Step 6: Iterate | COMMENT |
| LOW | …code/deepagents_code/built_in_skills/remember/SKILL.md | 10 | ## Step 1: Identify Best Practices and Key Learnings | COMMENT |
| LOW | …code/deepagents_code/built_in_skills/remember/SKILL.md | 27 | ## Step 2: Decide Where to Store Each Learning | COMMENT |
| LOW | …code/deepagents_code/built_in_skills/remember/SKILL.md | 49 | ## Step 3: Create Skills for Significant Best Practices | COMMENT |
| LOW | …code/deepagents_code/built_in_skills/remember/SKILL.md | 102 | ## Step 4: Update Memory for Simpler Learnings | COMMENT |
| LOW | …code/deepagents_code/built_in_skills/remember/SKILL.md | 114 | ## Step 5: Summarize Changes | COMMENT |
| LOW⚡ | libs/code/scripts/install.sh | 1545 | # Step 1: try symlinking into a dir already in PATH (no profile change). | COMMENT |
| LOW⚡ | libs/code/scripts/install.sh | 1553 | # Step 2: create ~/.local/bin, symlink there, then add to shell profile. | COMMENT |
| LOW | libs/code/scripts/install.sh | 1571 | # Step 3: detect shell and add ~/.local/bin to profile if needed. | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 225 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 242 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 266 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 317 | ### Step 4: Edit the Skill | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 358 | ### Step 5: Validate the Skill | COMMENT |
| LOW | libs/cli/examples/skills/skill-creator/SKILL.md | 376 | ### Step 6: Iterate | COMMENT |
| LOW | libs/cli/examples/skills/web-research/SKILL.md | 10 | ### Step 1: Create and Save Research Plan | COMMENT |
| LOW | libs/cli/examples/skills/web-research/SKILL.md | 33 | ### Step 2: Delegate to Research Subagents | COMMENT |
| LOW | libs/cli/examples/skills/web-research/SKILL.md | 52 | ### Step 3: Synthesize Findings | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 358 | # Step 2: V2 backend reads v1 data | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 367 | # Step 3: Edit v1 data (result upgrades to v2) | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 373 | # Step 4: Write a brand new file in v2 | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 377 | # Step 5: Verify everything via reads | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1419 | # Step 1: Truncate args if configured | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1425 | # Step 2: Check if summarization should happen | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1553 | # Step 1: Truncate args if configured | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1559 | # Step 2: Check if summarization should happen | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/summarization.py | 1439 | # Step 3: Perform summarization | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/summarization.py | 1573 | # Step 3: Perform summarization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | action.yml | 481 | set +e | COMMENT |
| LOW | libs/code/tests/unit_tests/tui/widgets/test_status.py | 1061 | # Derive the forbidden separator from the Unicode glyph itself so the | COMMENT |
| LOW | libs/code/deepagents_code/sessions.py | 761 | batch_results = await _load_latest_checkpoint_summaries_batch( | COMMENT |
| LOW | libs/code/deepagents_code/theme.py | 161 | """Incognito shell accent (darkened for light bg contrast).""" | COMMENT |
| LOW | libs/code/deepagents_code/model_config.py | 661 | # BASETEN_API_BASE. | COMMENT |
| LOW | libs/code/deepagents_code/model_config.py | 681 | # PERPLEXITY_BASE_URL is what takes effect. | COMMENT |
| LOW | libs/code/deepagents_code/update_check.py | 1441 | # PATH-visible one. Take the parent of the un-followed `which` | COMMENT |
| LOW | libs/code/deepagents_code/media_utils.py | 581 | """ | COMMENT |
| LOW | libs/code/deepagents_code/mcp_auth.py | 1421 | # lock; reload so a now-valid token skips the refresh. | COMMENT |
| LOW | libs/code/deepagents_code/mcp_auth.py | 1441 | # token while another process may still be using it. | COMMENT |
| LOW | libs/code/deepagents_code/agent.py | 1801 | shell_env.pop("LANGSMITH_PROJECT", None) | COMMENT |
| LOW | libs/code/deepagents_code/local_context.py | 241 | COMMENT | |
| LOW | libs/code/deepagents_code/app.py | 3241 | # starts. Python 3.14 replaced the global import lock with per-module | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 4061 | if self._resume_thread_intent: | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 4261 | # No local `suppress` — the `_log_task_exception` done | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 11981 | # Merge turn stats before cleanup — _cleanup_agent_task may raise | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 12521 | # make natural collisions vanishingly unlikely, but a re-entrant | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 14401 | finally: | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 15301 | # Surface the failure visibly — silent logger.warnings | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 17401 | "LangGraph server (no owned subprocess). Configuration " | COMMENT |
| LOW | libs/code/deepagents_code/main.py | 2401 | COMMENT | |
| LOW | libs/code/deepagents_code/_tool_stream.py | 401 | tool_id: The tool-call id from this chunk, if present. | COMMENT |
| LOW | libs/code/deepagents_code/_tool_stream.py | 441 | if name: | COMMENT |
| LOW | libs/code/deepagents_code/_tool_stream.py | 501 | if self.args is not None: | COMMENT |
| LOW | libs/code/deepagents_code/_tool_stream.py | 541 | # mid-stream — surface them rather than silently dropping the | COMMENT |
| LOW | libs/code/deepagents_code/mcp_tools.py | 2301 | # Surface the read failure as a visible config error (a bare | COMMENT |
| LOW | libs/code/deepagents_code/_textual_patches.py | 101 | # sub-fields that follow, which iTerm2 and other terminals encode in | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 921 | "ask_user", | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 941 | # tool.result independently of | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1061 | # the next assistant text is a fresh response and | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1121 | ) | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1261 | # Get or create assistant message for this namespace | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1361 | # pinned at the bottom as the new row mounts | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1881 | # Model call already completed (HITL interrupt fires after | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1941 | # propagating to the caller: without this drain those buffered tokens are | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 2121 | # | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/auth.py | 1881 | COMMENT | |
| LOW | …bs/code/deepagents_code/tui/widgets/thread_selector.py | 121 | _SORT_SELECT_ID = "thread-sort-select" | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/messages.py | 1741 | return False | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/messages.py | 2601 | total_lines > self._PREVIEW_LINES or total_chars > self._PREVIEW_CHARS | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 1121 | COMMENT | |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 1741 | # area instead. At submission the placeholder is expanded back. | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 1961 | """Detect input mode and update completions.""" | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 2021 | # Absolute dropped paths stay normal input, not slash-command mode. | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/model_selector.py | 421 | # Standard /model defaults to the curated recommended subset so users | COMMENT |
| LOW | libs/code/deepagents_code/client/non_interactive.py | 641 | ) | COMMENT |
| LOW | libs/code/deepagents_code/client/non_interactive.py | 661 | tool_output = str(tool_content) if tool_content else "" | COMMENT |
| LOW | libs/code/deepagents_code/client/non_interactive.py | 1141 | # Close out any `tool.use` with no matching `ToolMessage` — e.g. a stream | COMMENT |
| LOW | libs/code/scripts/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | libs/code/scripts/install.sh | 21 | # DEEPAGENTS_CODE_VERSION and an explicit DEEPAGENTS_CODE_PRERELEASE are mutually | COMMENT |
| LOW | libs/code/scripts/install.sh | 41 | # Optionally clear uv's shared tool cache (~/.cache/uv on Linux, | COMMENT |
| LOW | libs/code/scripts/install.sh | 61 | # DEEPAGENTS_CODE_PYTHON — Python version to use (default: 3.13) | COMMENT |
| LOW | libs/code/scripts/install.sh | 1121 | log_info "deepagents-code ${pre_label} found (editable install from local source)." | COMMENT |
| LOW | libs/code/scripts/install.sh | 1161 | # ask, and an installer's job is to make the current version present, so | COMMENT |
| LOW | libs/code/scripts/install.sh | 1181 | # "pkg X → Y" table under a single header. | COMMENT |
| LOW | libs/code/scripts/install.sh | 1341 | # already in the user's PATH (via ~/.local/bin/env or a shell profile), dcode | COMMENT |
| LOW | libs/cli/scripts/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | libs/partners/quickjs/langchain_quickjs/_repl.py | 401 | # for sync evals. Async evals pass `timeout=` per call so each | COMMENT |
| LOW | libs/partners/quickjs/langchain_quickjs/_repl.py | 421 | # once. Distinct from `_active_tool_names` so the first call | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/filesystem.py | 321 | # matching descendants — block. | COMMENT |
| 53 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 54 | # Step 1: read_file to get the skill content. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 55 | # Step 2: answer with the magic number. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 97 | # Step 1: read_file for code-review only. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 98 | # Step 2: answer with the code. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 143 | # Step 1: read_file for both skills in parallel. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 144 | # Step 2: answer combining both ports. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 230 | # Step 1: read_file to discover the typo. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 231 | # Step 2: edit_file to fix it. | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_skills.py | 232 | # Step 3: confirm. | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2208 | # Step 1: Save model to config (simulating /model anthropic:claude-opus-4-5) | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2216 | # Step 2: Patch DEFAULT_CONFIG_PATH and call _get_default_model_spec | COMMENT |
| LOW⚡ | libs/code/tests/unit_tests/test_model_config.py | 2226 | # Step 3: Get default model spec - should use saved recent model | COMMENT |
| LOW⚡ | libs/code/deepagents_code/skills/commands.py | 363 | ### Step 1: [First Action] | COMMENT |
| LOW⚡ | libs/code/deepagents_code/skills/commands.py | 366 | ### Step 2: [Second Action] | COMMENT |
| LOW⚡ | libs/code/deepagents_code/skills/commands.py | 369 | ### Step 3: [Final Action] | COMMENT |
| LOW⚡ | libs/code/scripts/install.sh | 1545 | # Step 1: try symlinking into a dir already in PATH (no profile change). | COMMENT |
| LOW⚡ | libs/code/scripts/install.sh | 1553 | # Step 2: create ~/.local/bin, symlink there, then add to shell profile. | COMMENT |
| LOW | libs/code/scripts/install.sh | 1571 | # Step 3: detect shell and add ~/.local/bin to profile if needed. | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 350 | # Step 1: "Restore" v1 checkpoint data | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 358 | # Step 2: V2 backend reads v1 data | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 367 | # Step 3: Edit v1 data (result upgrades to v2) | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 373 | # Step 4: Write a brand new file in v2 | COMMENT |
| LOW⚡ | …nts/tests/unit_tests/backends/test_backwards_compat.py | 377 | # Step 5: Verify everything via reads | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1419 | # Step 1: Truncate args if configured | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1425 | # Step 2: Check if summarization should happen | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1553 | # Step 1: Truncate args if configured | COMMENT |
| LOW⚡ | libs/deepagents/deepagents/middleware/summarization.py | 1559 | # Step 2: Check if summarization should happen | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/summarization.py | 1439 | # Step 3: Perform summarization | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/summarization.py | 1573 | # Step 3: Perform summarization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/evals/tests/evals/data/bfcl_apis/message_api.py | 181 | # Check if there is a current user logged in | COMMENT |
| LOW | libs/evals/tests/evals/data/bfcl_apis/travel_booking.py | 783 | # Check if the traveler is at least 18 years old | COMMENT |
| LOW | libs/evals/tests/evals/data/bfcl_apis/travel_booking.py | 790 | # Check if the passport number starts with 'US' (assuming this indicates a US passport) | COMMENT |
| LOW | libs/evals/scripts/analyze.py | 52 | # Check if this is a valid task directory (has solution/solve.sh) | COMMENT |
| LOW | …s/code/tests/unit_tests/tui/widgets/test_chat_input.py | 3704 | # Set gap to 0 so any real delay exceeds it. | COMMENT |
| LOW⚡ | …de/examples/skills/skill-creator/scripts/init_skill.py | 212 | # Check if directory already exists | STRING |
| LOW | libs/code/deepagents_code/config.py | 3025 | # Check if this command is in the allow set | COMMENT |
| LOW | libs/code/deepagents_code/config.py | 4562 | # Check if this provider uses a custom BaseChatModel class | COMMENT |
| LOW | libs/code/deepagents_code/media_utils.py | 510 | # Check if file was created and has content | STRING |
| LOW | libs/code/deepagents_code/app.py | 6560 | # Check if ALL actions in the batch are auto-approvable shell commands | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 11586 | # Check if agent is available | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 14159 | # Check if focused widget is the text area inside chat input | COMMENT |
| LOW | libs/code/deepagents_code/app.py | 18608 | # Check if already using this exact model | COMMENT |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 1234 | # Check if this is an AIMessageChunk with content | COMMENT |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 2664 | # Check if it looked like media but failed validation | COMMENT |
| LOW | libs/code/deepagents_code/skills/commands.py | 94 | # Check if skill_dir is within base_dir | COMMENT |
| LOW | libs/code/deepagents_code/skills/commands.py | 594 | # Check if this project skill shadows a user skill with the same name. | STRING |
| LOW⚡ | …de/built_in_skills/skill-creator/scripts/init_skill.py | 256 | # Check if directory already exists | STRING |
| LOW | libs/code/scripts/install.sh | 1355 | # Check if a directory is in PATH. | COMMENT |
| LOW | libs/code/scripts/install.sh | 1442 | # Check if ~/.local/bin is already referenced in the shell profile's PATH | COMMENT |
| LOW⚡ | …li/examples/skills/skill-creator/scripts/init_skill.py | 212 | # Check if directory already exists | STRING |
| LOW | …ts/unit_tests/backends/test_composite_backend_async.py | 458 | # Write files to both backends | COMMENT |
| LOW | …ts/unit_tests/backends/test_composite_backend_async.py | 861 | # Write files to memories | COMMENT |
| LOW | …ts/unit_tests/backends/test_composite_backend_async.py | 1097 | # Write files to memories | COMMENT |
| LOW | …ts/tests/unit_tests/backends/test_composite_backend.py | 703 | # Write files to both backends | COMMENT |
| LOW | …ts/tests/unit_tests/backends/test_composite_backend.py | 1113 | # Write files to memories | COMMENT |
| LOW | …ts/tests/unit_tests/backends/test_composite_backend.py | 1294 | # Write files to memories | COMMENT |
| LOW | …/tests/unit_tests/backends/test_store_backend_async.py | 155 | # Write file with multiple occurrences | COMMENT |
| LOW | …/tests/unit_tests/backends/test_store_backend_async.py | 188 | # Write file with multiple lines | COMMENT |
| LOW | …/tests/unit_tests/backends/test_store_backend_async.py | 232 | # Write files in nested directories | COMMENT |
| LOW | …/tests/unit_tests/backends/test_local_shell_backend.py | 114 | # Read the file | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/filesystem.py | 2930 | # Check if content exceeds eviction threshold | COMMENT |
| LOW | libs/deepagents/deepagents/middleware/summarization.py | 1064 | # Check if this AIMessage has tool calls we need to truncate | COMMENT |
| LOW | libs/deepagents/deepagents/backends/store.py | 480 | # Check if file is in the specified directory or a subdirectory | COMMENT |
| LOW | libs/deepagents/deepagents/backends/utils.py | 739 | # Check if path matches an exact file | STRING |
| LOW | libs/deepagents/deepagents/backends/state.py | 177 | # Check if file is in the specified directory or a subdirectory | COMMENT |
| LOW | libs/acp/deepagents_acp/server.py | 863 | # Check if this is write_todos - auto-approve updates to existing plan | COMMENT |
| LOW | libs/acp/deepagents_acp/server.py | 892 | # Check if ALL command types are already allowed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …ts/evals/memory_agent_bench/test_memory_agent_bench.py | 433 | # CI-friendly subset — file-seeded (agentic retrieval) strategy | COMMENT |
| MEDIUM | …ts/evals/memory_agent_bench/test_memory_agent_bench.py | 103 | # -- File-seeded (agentic retrieval) configuration --------------------------- | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_server_manager.py | 191 | # The graph is imported as a package module, so the scaffold must not | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_server.py | 837 | # Config present on boot: the scaffold hook must not have fired yet. | COMMENT |
| MEDIUM | libs/code/deepagents_code/config.py | 4706 | if max_input_tokens and max_input_tokens < 8000: # noqa: PLR2004 # Model context window default | CODE |
| MEDIUM⚡ | libs/code/deepagents_code/local_context.py | 253 | # see build_detect_script() for the orchestration logic. | COMMENT |
| MEDIUM | libs/code/deepagents_code/client/launch/server.py | 660 | # The scaffold hook ran but produced no langgraph.json (a silent | COMMENT |
| MEDIUM | libs/code/deepagents_code/client/launch/server.py | 663 | # since the scaffold is exactly that call run internally. | COMMENT |
| MEDIUM⚡ | …s/code/deepagents_code/client/launch/server_manager.py | 85 | # Workspace scaffolding | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 4013 | # through FilesystemMiddleware so multi-agent handoffs reach the sibling node. | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_graph.py | 1394 | # and the loop variable is a specific scaffolding class — the | COMMENT |
| MEDIUM | libs/deepagents/deepagents/graph.py | 714 | # Validate profile-level invariants (required scaffolding, private names) | STRING |
| MEDIUM | libs/deepagents/deepagents/middleware/summarization.py | 561 | # Truncate when 50% of context window reached, ignoring messages in last 10% of window | STRING |
| MEDIUM | …eepagents/profiles/harness/_nvidia_nemotron_3_ultra.py | 349 | # not treat framework scaffolding as application/domain tools. | COMMENT |
| MEDIUM⚡ | libs/acp/examples/local_context.py | 60 | # see build_detect_script() for the orchestration logic. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | libs/code/tests/unit_tests/test_install_script.py | 2029 | # implementations so the harness exercises shipped code without emitting | COMMENT |
| MEDIUM | libs/code/tests/unit_tests/test_install_script.py | 2064 | # The harness must define every helper cleanup_on_signal calls; a missing | COMMENT |
| LOW | libs/partners/quickjs/langchain_quickjs/_format.py | 210 | # stdout path -- we've already truncated the result, so we just add the marker | COMMENT |
| MEDIUM | libs/deepagents/tests/unit_tests/test_graph.py | 1868 | # A harness profile is registered under bare "openai". | COMMENT |
| MEDIUM | …pshots/system_prompt_with_memory_and_skills_tools.json | 265 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …smoke_tests/snapshots/custom_system_message_tools.json | 265 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …ts/snapshots/system_prompt_with_media_extra_tools.json | 296 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …sts/snapshots/system_prompt_without_execute_tools.json | 265 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …snapshots/system_prompt_with_routed_backend_tools.json | 296 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …system_prompt_with_sync_and_async_subagents_tools.json | 265 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | …_tests/snapshots/system_prompt_with_execute_tools.json | 296 | "description": "Launch an ephemeral subagent to handle complex, multi-step independent tasks with isolated context | CODE |
| MEDIUM | libs/deepagents/deepagents/graph.py | 727 | # Copy of `tools` with any harness-specific description rewrites. | STRING |
| MEDIUM | libs/deepagents/deepagents/graph.py | 842 | # Auto-add the default general-purpose subagent unless the harness profile | STRING |
| MEDIUM | libs/deepagents/deepagents/graph.py | 862 | # Add harness-profile middleware, if any | STRING |
| MEDIUM | libs/deepagents/deepagents/backends/utils.py | 243 | # (profiles/harness/_nvidia_nemotron_3_ultra.py) counts source rows to | STRING |
| MEDIUM | libs/deepagents/deepagents/profiles/__init__.py | 51 | # Built-in provider/harness profiles are registered lazily on first | COMMENT |
| LOW | libs/acp/deepagents_acp/utils.py | 312 | # Use specific handler if available, otherwise just use base command | COMMENT |
| LOW | libs/acp/deepagents_acp/utils.py | 317 | # Non-sensitive commands - just use the base command | COMMENT |
| MEDIUM | examples/nvidia_deep_agent/src/prompts.py | 12 | RESEARCHER_INSTRUCTIONS = """Gather and synthesize comprehensive information on the provided query, carefully addressing | STRING |
| MEDIUM | examples/better-harness/tests/__init__.py | 1 | # Tests package for better-harness. | COMMENT |
| MEDIUM | …amples/better-harness/examples/deepagents_example.toml | 1 | # Worked example for optimizing a Deep Agents-based harness. | COMMENT |
| MEDIUM | examples/better-harness/better_harness/core.py | 345 | "# better-harness report", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/talon/deepagents_talon/runtime.py | 228 | CODE | |
| LOW | libs/talon/tests/channels/test_telegram.py | 119 | CODE | |
| LOW | libs/talon/tests/channels/test_telegram.py | 169 | CODE | |
| LOW | libs/code/tests/unit_tests/test_main_args.py | 2062 | CODE | |
| LOW | libs/code/tests/unit_tests/test_offload.py | 74 | CODE | |
| LOW | libs/code/tests/unit_tests/tui/widgets/test_welcome.py | 80 | CODE | |
| LOW | libs/code/deepagents_code/sessions.py | 1486 | CODE | |
| LOW | libs/code/deepagents_code/agent.py | 1409 | CODE | |
| LOW | libs/code/deepagents_code/app.py | 18901 | CODE | |
| LOW | libs/code/deepagents_code/app.py | 2164 | CODE | |
| LOW | libs/code/deepagents_code/_server_config.py | 437 | CODE | |
| LOW | libs/code/deepagents_code/main.py | 1955 | CODE | |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 542 | CODE | |
| LOW | libs/code/deepagents_code/tui/textual_adapter.py | 332 | CODE | |
| LOW | libs/code/deepagents_code/tui/widgets/welcome.py | 172 | CODE | |
| LOW | libs/code/deepagents_code/client/non_interactive.py | 1337 | CODE | |
| LOW | …s/code/deepagents_code/client/launch/server_manager.py | 290 | CODE | |
| LOW | …s/code/deepagents_code/client/launch/server_manager.py | 440 | CODE | |
| LOW | libs/partners/quickjs/langchain_quickjs/middleware.py | 211 | CODE | |
| LOW | …bs/deepagents/tests/unit_tests/test_async_subagents.py | 44 | CODE | |
| LOW | libs/deepagents/deepagents/graph.py | 376 | CODE | |
| LOW | libs/deepagents/deepagents/middleware/filesystem.py | 1419 | CODE | |
| LOW | libs/deepagents/deepagents/_api/deprecation.py | 39 | CODE | |
| LOW | examples/nvidia_deep_agent/src/tools.py | 84 | CODE | |
| LOW | examples/deep_research/research_agent/tools.py | 88 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1038 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1443 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1582 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1615 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1651 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 1692 | CODE | |
| MEDIUM | libs/code/tests/unit_tests/test_mcp_tools.py | 2303 | CODE | |
| MEDIUM | libs/deepagents/tests/unit_tests/test_end_to_end.py | 4550 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | libs/evals/tests/evals/test_tool_usage_relational.py | 598 | # 2nd step: call get_user_email(user_id=42) -> "eve@example.org". | COMMENT |
| LOW⚡ | libs/evals/tests/evals/test_tool_usage_relational.py | 603 | final_text_contains("eve@example.org"), | CODE |
| LOW | libs/evals/tests/evals/test_tool_usage_relational.py | 112 | "email": "eve@example.org", | CODE |
| LOW | libs/evals/tests/evals/test_tool_usage_relational.py | 1156 | final_text_contains("eve@example.org"), | CODE |
| LOW | libs/code/deepagents_code/tui/widgets/chat_input.py | 594 | kwargs.pop("placeholder", None) | CODE |
| LOW | …agents/tests/unit_tests/backends/test_store_backend.py | 485 | ("user@example.com",), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …code/tests/unit_tests/test_openai_codex_integration.py | 514 | def handle_request(self) -> None: | CODE |
| LOW | …/deepagents/tests/unit_tests/test_file_system_tools.py | 320 | "content": "def helper():\n return 42", | CODE |
| LOW⚡ | …/tests/unit_tests/middleware/test_skills_middleware.py | 830 | helper_content = "def helper(): pass" | CODE |
| LOW | …nts/tests/unit_tests/backends/test_backwards_compat.py | 77 | write_res = be.write("/src/utils.py", "import sys\ndef helper():\n pass\nimport os\n") | CODE |
| LOW | …nts/tests/unit_tests/backends/test_backwards_compat.py | 189 | be.write("/src/utils.py", "import sys\ndef helper():\n pass\nimport os\n") | CODE |
| LOW | …s/deepagents/tests/unit_tests/_api/test_deprecation.py | 45 | def helper() -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/code/scripts/install.sh | 4 | # Usage: | COMMENT |
| LOW | libs/cli/scripts/install.sh | 4 | # Usage: | COMMENT |