Build and run agents you can see, understand and trust.
This report summarizes scanner evidence for agentscope-ai/agentscope, a Python project with 33,040 GitHub stars. SynthScan examined 303,798 lines of code across 1153 source files, recording 6334 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 38.3 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3128 finding(s).
Are imports declared and package/API names verified? 1114 finding(s).
Are wrappers, guards, and repeated structures necessary? 4691 finding(s).
Which changes need focused human review? 6334 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 6334 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/mem0_middleware_test.py | 199 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 201 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 276 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 278 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 844 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 846 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 38 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 40 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 128 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 130 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 533 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 535 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 206 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 349 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 351 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 210 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 212 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 264 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 266 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 376 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 378 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 456 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 458 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 961 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 963 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 1055 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 1057 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 1327 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 1329 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 587 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 589 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 1354 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 1356 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 1448 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 1450 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 46 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 49 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 110 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 115 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 205 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 211 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 283 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 285 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/formatter_openai_chat_test.py | 622 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/formatter_openai_chat_test.py | 624 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/permission_engine_test.py | 722 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/permission_engine_test.py | 724 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/backend_opensandbox_test.py | 32 | # ── OpenSandbox availability check ───────────────────────────────── | COMMENT |
| MEDIUM | tests/backend_opensandbox_test.py | 62 | # ── exec ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/backend_opensandbox_test.py | 93 | # ── file I/O ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/backend_opensandbox_test.py | 113 | # ── derived filesystem helpers (shell-based) ─────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 266 | # ── browse ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 332 | # ── install: MCP ────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 576 | # ── workspace <-> library ───────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 700 | # ── install: skill ──────────────────────────────────────────── | COMMENT |
| 1168 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/embedding_file_cache_test.py | 77 | async def test_zero_limit_evicts_existing_entries_on_overwrite( | CODE |
| LOW | tests/embedding_file_cache_test.py | 93 | async def test_rejected_write_still_enforces_file_count(self) -> None: | CODE |
| LOW | tests/embedding_file_cache_test.py | 135 | async def test_oversized_entry_is_not_cached_and_keeps_the_cache( | CODE |
| LOW | tests/embedding_file_cache_test.py | 152 | async def test_later_entries_are_still_cached_after_an_oversized_one( | CODE |
| LOW | tests/embedding_file_cache_test.py | 163 | async def test_size_limit_still_evicts_the_oldest_entries(self) -> None: | CODE |
| LOW | tests/embedding_openai_test.py | 236 | async def test_retry_on_transient_error( | CODE |
| LOW | tests/classifier_jev_test.py | 30 | async def test_call_translates_all_question_types( | CODE |
| LOW | tests/classifier_jev_test.py | 172 | async def test_provider_error_is_raised(self, client_cls: Any) -> None: | CODE |
| LOW | tests/classifier_jev_test.py | 196 | async def test_incompatible_sdk_has_clear_error(self) -> None: | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 207 | def test_missing_user_id_raises(self) -> None: | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 260 | def test_client_alone_does_not_warn(self) -> None: | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 266 | def test_only_one_of_chat_or_embedding_without_config_raises( | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 852 | async def test_memory_msg_and_tool_hint_both_present(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 146 | def test_list_of_user_msgs_joined(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 151 | def test_resumption_events_return_none(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 186 | def test_plain_list_of_strings(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 223 | def test_neither_client_nor_models_nor_config_raises(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 231 | def test_client_wins_over_other_backend_kwargs_with_warning( | CODE |
| LOW | tests/mem0_middleware_test.py | 304 | async def test_retrieve_inject_write(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 380 | async def test_memory_message_lands_after_user_message(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 415 | async def test_no_memories_no_injection(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 434 | async def test_search_failure_does_not_break_reply(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 451 | async def test_scope_search_by_agent_false_drops_agent_id( | CODE |
| LOW | tests/mem0_middleware_test.py | 470 | async def test_sync_client_rejected(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 490 | async def test_async_method_wrapped_by_sync_decorator_accepted( | CODE |
| LOW | tests/mem0_middleware_test.py | 567 | async def test_tools_listed_and_hint_in_prompt(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 607 | async def test_middleware_does_not_mutate_toolkit(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 675 | async def test_async_search_accepts_per_call_top_k(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 695 | async def test_tools_auto_allow_permission(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 714 | async def test_search_memory_dedupes_across_keywords(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 736 | async def test_search_memory_failure_returns_error_chunk(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 757 | async def test_add_memory_two_tier_fallback(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 811 | async def test_add_memory_does_not_persist_thinking(self) -> None: | CODE |
| LOW⚡ | tests/tui_test.py | 418 | def test_diff_stats_counts_lines_starting_with_a_marker(self) -> None: | CODE |
| LOW⚡ | tests/tui_test.py | 425 | async def test_submission_does_not_append_history(self) -> None: | CODE |
| LOW⚡ | tests/tui_test.py | 432 | async def test_visual_layout_at_supported_terminal_sizes(self) -> None: | CODE |
| LOW | tests/tui_test.py | 112 | async def test_update_message_only_compares_the_target(self) -> None: | CODE |
| LOW | tests/tui_test.py | 145 | async def test_streaming_delta_does_not_reorder_blocks(self) -> None: | CODE |
| LOW | tests/tui_test.py | 177 | async def test_rebuilt_tool_group_keeps_its_place(self) -> None: | CODE |
| LOW | tests/tui_test.py | 222 | async def test_mutated_snapshot_preserves_existing_widgets(self) -> None: | CODE |
| LOW | tests/tui_test.py | 251 | async def test_snapshot_keeps_expanded_thinking_when_text_changes( | CODE |
| LOW | tests/tui_test.py | 276 | async def test_running_thinking_updates_elapsed_title(self) -> None: | CODE |
| LOW | tests/tui_test.py | 297 | async def test_hint_uses_shared_disclosure_arrows(self) -> None: | CODE |
| LOW | tests/tui_test.py | 312 | async def test_full_snapshot_keeps_unchanged_message_widget(self) -> None: | CODE |
| LOW | tests/tui_test.py | 330 | async def test_interleaved_reply_events_are_isolated_by_reply_id( | CODE |
| LOW | tests/tui_test.py | 382 | async def test_streaming_text_updates_only_its_block(self) -> None: | CODE |
| LOW | tests/tui_test.py | 561 | async def test_running_reply_keeps_composer_available(self) -> None: | CODE |
| LOW | tests/tui_test.py | 593 | async def test_ctrl_c_interrupts_running_reply(self) -> None: | CODE |
| LOW | tests/tui_test.py | 622 | async def test_explicit_input_disable(self) -> None: | CODE |
| LOW | tests/tui_test.py | 631 | async def test_shift_enter_inserts_newline_before_submit(self) -> None: | CODE |
| LOW | tests/tui_test.py | 650 | async def test_composer_growth_stops_at_hidden_scroll_cap(self) -> None: | CODE |
| LOW | tests/tui_test.py | 667 | async def test_hitl_uses_keyboard_selection_and_restores_draft( | CODE |
| LOW | tests/tui_test.py | 762 | async def test_next_hitl_request_keeps_keyboard_focus(self) -> None: | CODE |
| LOW | tests/tui_test.py | 805 | async def test_permission_rules_are_embedded_in_always_option( | CODE |
| LOW | tests/tui_test.py | 841 | async def test_external_execution_waiting_replaces_composer(self) -> None: | CODE |
| LOW | tests/tui_test.py | 888 | async def test_ask_user_collects_schema_valid_answers(self) -> None: | CODE |
| LOW | tests/tui_test.py | 994 | async def test_ask_user_accepts_other_text(self) -> None: | CODE |
| LOW | tests/tui_test.py | 1043 | async def test_invalid_ask_user_input_returns_error_result(self) -> None: | CODE |
| LOW | tests/tui_test.py | 1079 | async def test_edit_tool_uses_authoritative_diff_stats(self) -> None: | CODE |
| LOW | tests/tui_test.py | 1132 | async def test_edit_shows_diff_and_read_shows_only_result(self) -> None: | CODE |
| 2510 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/service_cancel_dispatcher_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/service_index_task_consumer_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/service_wakeup_dispatcher_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/model_ollama_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_anthropic_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_gemini_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_dashscope_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_volcengine_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_deepseek_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_openai_response_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_moonshot_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_openai_chat_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_xai_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_volcengine_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_volcengine_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_xai_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_volcengine_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_xai_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_volcengine_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| 323 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/tool_lazy_annotations_test.py | 9 | CODE | |
| LOW | tests/rag_vdb_elasticsearch_test.py | 4 | CODE | |
| LOW | tests/workspace_bubblewrap_test.py | 5 | CODE | |
| LOW | tests/tts_gemini_test.py | 79 | CODE | |
| LOW | tests/service_workspace_files_test.py | 9 | CODE | |
| LOW | tests/a2a_agent_e2e_test.py | 5 | CODE | |
| LOW | tests/rag_vdb_mongodb_test.py | 4 | CODE | |
| LOW | src/agentscope/__init__.py | 5 | CODE | |
| LOW | src/agentscope/__init__.py | 5 | CODE | |
| LOW | src/agentscope/__init__.py | 9 | CODE | |
| LOW | src/agentscope/__init__.py | 9 | CODE | |
| LOW | src/agentscope/__init__.py | 10 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 8 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 9 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 10 | CODE | |
| LOW | src/agentscope/middleware/_tts_middleware.py | 18 | CODE | |
| LOW | src/agentscope/middleware/_model_router.py | 15 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 4 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 5 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 6 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 12 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 13 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 14 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 14 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 67 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 68 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 69 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 69 | CODE | |
| LOW | src/agentscope/middleware/_budget.py | 12 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 4 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 5 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 6 | CODE | |
| LOW | …iddleware/_longterm_memory/_agentic_memory/__init__.py | 4 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 8 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 25 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 32 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 55 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 19 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 29 | CODE | |
| LOW | …entscope/middleware/_longterm_memory/_mem0/__init__.py | 4 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 13 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 40 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 41 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 42 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 43 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_utils.py | 8 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 16 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 25 | CODE | |
| LOW | …entscope/middleware/_longterm_memory/_reme/__init__.py | 12 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 33 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 56 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 57 | CODE | |
| LOW | …gentscope/middleware/_longterm_memory/_reme/_config.py | 15 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_utils.py | 8 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 15 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 22 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 23 | CODE | |
| 939 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/agentscope/_utils/_mixin.py | 11 | Get a dictionary item through attribute-style access. Args: key (`str`): The reques | STRING |
| HIGH | src/agentscope/_utils/_common.py | 99 | The given json_str maybe incomplete, e.g. '{"key', or carry arguments whose types don't match the schema, e.g. '{"n" | STRING |
| HIGH | src/agentscope/app/deps.py | 41 | Return the caller's user ID from the ``X-User-ID`` request header. Args: x_user_id (`str`): Value of the `` | STRING |
| HIGH | src/agentscope/app/deps.py | 251 | Return the application-wide knowledge base service. Args: request (`Request`): The incoming Fas | STRING |
| HIGH | src/agentscope/app/deps.py | 282 | Return the application-wide knowledge base manager. Args: request (`Request`): The incoming Fas | STRING |
| HIGH | src/agentscope/app/deps.py | 310 | Return the application-wide blob store. Args: request (`Request`): The incoming FastAPI request | STRING |
| HIGH | src/agentscope/app/deps.py | 341 | Return the parser registry configured on the app. Args: request (`Request`): The incoming FastA | STRING |
| HIGH | src/agentscope/app/deps.py | 372 | Return the chunker classes configured on the app. Args: request (`Request`): The incoming FastA | STRING |
| HIGH | src/agentscope/app/_app.py | 62 | Key the hubs by id, rejecting duplicates. Args: hubs (`list | None`): The hubs passed to :func: | STRING |
| HIGH | src/agentscope/app/middleware/_protocol/_base.py | 201 | Deserialize event dictionary to AgentEvent object. Args: event_dict: Dictionary containing event da | STRING |
| HIGH | src/agentscope/app/_router/_channel.py | 97 | Load a channel and assert the caller owns it. Args: channel_id (`str`): The channel to load. user_i | STRING |
| HIGH | src/agentscope/app/_router/_chat.py | 61 | Trigger a chat run for the specified session. Events produced during the run are published to the message bus and | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 201 | Return all sessions for an agent as enriched :class:`SessionView` entries. Each entry bundles what the chat UI | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 301 | Create (or resume) a session for a given agent and workspace. At most one session exists per ``(user_id, agent_id, | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 432 | Request interruption of an in-progress reply for a session. Thin HTTP wrapper around :meth:`ChatService.interrupt`; | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 475 | Update the configuration of an existing session. Rejected while a chat run holds the session: the agent snapshots | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 701 | Return the unified :class:`SessionStatus` for a session. Ownership validation, cluster-liveness probing, and parked | STRING |
| HIGH | src/agentscope/app/_router/_credential.py | 120 | Replace the payload of an existing credential. Args: credential_id (`str`): The credential to update. | STRING |
| HIGH | src/agentscope/app/_router/_hub.py | 40 | Return the hub under ``hub_id`` or raise 404. Args: hubs (`dict[str, HubT]`): The registered hu | STRING |
| HIGH | src/agentscope/app/_router/_agent.py | 180 | Create and persist a new agent configuration. Args: body (`CreateAgentRequest`): Agent configur | STRING |
| HIGH | src/agentscope/app/_router/_agent.py | 226 | Partially update an existing agent configuration. Only the fields present in the request body are updated; all othe | STRING |
| HIGH | src/agentscope/app/_router/_sop.py | 126 | Store a new procedure. Args: body (`CreateSOPRequest`): The procedure to store. user_id | STRING |
| HIGH | src/agentscope/app/_router/_sop.py | 255 | Answer a step that was waiting on a person. Returns once the verdict is recorded; the run carries on in the bac | STRING |
| HIGH | src/agentscope/app/_router/_sop.py | 339 | Rewrite a procedure; runs keep the copy they started with. Args: sop_id (`str`): The procedure | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 74 | Create a new schedule and hand it to the scheduler. The referenced agent may be either the viewer's own or one shar | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 153 | Partially update a schedule. Fields omitted from the request body keep their current values. Changing ``cron_ex | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 248 | Return all sessions triggered by a given schedule. Args: schedule_id (`str`): ID of the schedule. u | STRING |
| HIGH | src/agentscope/app/_service/_download_token.py | 62 | Return the user a token was granted to, for this path. The path is not read out of the token but re-derived from th | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 128 | Delegate creation to the manager, mapping policy errors. Args: user_id (`str`): The | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 370 | Persist an uploaded document and enqueue it for indexing. Streams ``stream`` into the blob store (so the bytes | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 459 | List documents of a knowledge base, filtered and paginated. Service-mode source of truth: reads from storage, N | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 530 | Batch-fetch documents for status polling. The endpoint backing this method accepts a comma-separated list | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 577 | Fetch one document record, or 404. Args: user_id (`str`): The viewer user id — owne | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 621 | List one page of a document's chunks in ``chunk_index`` order. ``page`` / ``page_size`` translate to the dense- | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 682 | Open the original uploaded file of a document for streaming. The bytes come straight from the blob store — the | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 814 | Search a knowledge base by text query. Args: user_id (`str`): The viewer user id — | STRING |
| HIGH | src/agentscope/app/_service/_embedding.py | 29 | Construct an embedding model from an already-resolved credential. This is the record-in variant used by owner-inter | STRING |
| HIGH | src/agentscope/app/_service/_embedding.py | 100 | Resolve a credential through :class:`ResourceAccessService` and build the corresponding embedding model. Args: | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 200 | Return the workspace backing a session. Args: user_id (`str`): The authenticated user ID. | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 226 | Report where a session sits and the git state of that place. Args: user_id (`str`): The authenticat | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 261 | Load a session and open the workspace it is bound to. Args: user_id (`str`): The authenticated user | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 325 | Return the user a token was granted to, for this path. The path is not read out of the token but re-derived fro | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 352 | Check a manifest and return the skill's root directory name. Args: manifest (`UploadManifest`): The | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 448 | Emit a tar of the uploaded files, chunk by chunk. Args: manifest (`UploadManifest`): The validated | STRING |
| HIGH | src/agentscope/app/_service/_mcp_render.py | 108 | Turn a card plus the user's answers into a connectable client. Args: card (`MCPCard`): The hub | STRING |
| HIGH | src/agentscope/app/_service/_credential_binding.py | 93 | Open a session and return where the operator must go. Args: user_id (`str`): The operator; only the | STRING |
| HIGH | src/agentscope/app/_service/_credential_binding.py | 131 | Report the session, advancing it by one step when due. Args: user_id (`str`): Must own the session. | STRING |
| HIGH | src/agentscope/app/_service/_credential_binding.py | 244 | Take the credentials, consuming the session. Args: user_id (`str`): Must own the session. | STRING |
| HIGH | src/agentscope/app/_service/_credential_binding.py | 286 | Resolve a channel type's binding provider. Args: channel_type (`str`): The platform type. | STRING |
| HIGH | src/agentscope/app/_service/_credential_binding.py | 317 | Read a session, returning the raw value for compare-and-set. Args: user_id (`str`): The caller. | STRING |
| HIGH | src/agentscope/app/_service/_sop.py | 308 | Open a run with all of its sessions created up front. Args: user_id (`str`): The ow | STRING |
| HIGH | src/agentscope/app/_service/_sop.py | 522 | File a person's verdict on a step waiting for one. Under the run's lock, so an advance cannot overwrite it. | STRING |
| HIGH | src/agentscope/app/_service/_sop.py | 585 | Carry a run on until it finishes, fails, or waits on someone. Args: user_id (`str`): | STRING |
| HIGH | src/agentscope/app/_service/_model.py | 16 | Build a chat model instance from a stored credential and config. Credentials are resolved through :class:`ResourceA | STRING |
| HIGH | src/agentscope/app/_service/_model.py | 84 | Build a realtime model from a stored credential and config. Args: user_id (`str`): The viewer's user id. | STRING |
| HIGH | src/agentscope/app/_manager/_chat_run_registry.py | 43 | Create and register an asyncio task that runs ``coro``. The task auto-removes from the registry when it finishe | STRING |
| HIGH | …entscope/app/_manager/_scheduler/_scheduler_manager.py | 333 | Build the record's cron trigger, rejecting a bad schedule. Writers call this before persisting so an invalid sc | STRING |
| HIGH | src/agentscope/app/rag/__init__.py | 51 | Lazy-load attributes that would cause an import cycle. ``run_worker`` is lazy-imported because :mod:`.index_worker` | STRING |
| HIGH | src/agentscope/app/rag/index_worker/__main__.py | 54 | Import ``module:attribute`` and return the attribute. Args: dotted (`str`): A ``module:attribut | STRING |
| HIGH | src/agentscope/app/rag/knowledge_base_manager/_base.py | 133 | Create a new knowledge base for the given user. Implementations must: 1. validate ``embedding_model_co | STRING |
| 59 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/builtin_bash_test.py | 584 | "ls && rm -rf /", | CODE |
| HIGH⚡ | tests/builtin_bash_test.py | 585 | "cd /tmp && rm -rf /usr", | CODE |
| HIGH | tests/builtin_bash_test.py | 245 | cmd = "(cd /tmp && ls)" | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 599 | {"command": "ls -la && rm ~/.bashrc"}, | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 611 | {"command": "ls -la && cat file.txt"}, | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 622 | {"command": "ls -la && git commit -m 'test'"}, | CODE |
| HIGH | tests/mcp_streamable_http_client_test.py | 144 | "meta": null, | STRING |
| HIGH | tests/model_gemini_test.py | 841 | """additionalProperties removed; anyOf[X, null] inlined to X.""" | STRING |
| HIGH⚡ | tests/workspace_local_test.py | 1302 | '"finished_at":null},' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1305 | '"created_at":"2026-01-01T00:00:00","finished_at":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1308 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1310 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1311 | '"error":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1362 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1363 | '"finished_at":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1364 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1365 | '"error":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1371 | '"created_at":"2026-01-02T00:00:00","finished_at":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1374 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1376 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1377 | '"error":null}' | CODE |
| HIGH | tests/backend_local_test.py | 434 | ["/bin/sh", "-c", "true && echo chained"], | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 182 | resp = await model.push("ignored") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 728 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 729 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 755 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 765 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 766 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 770 | await model.push(" friend!") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 780 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 783 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 794 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 795 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 839 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 870 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 871 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1137 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1138 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1163 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1176 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1177 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1181 | await model.push(" friend!") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1194 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1199 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1215 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1216 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1228 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1273 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1330 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1331 | await model.push(" there") | CODE |
| HIGH | tests/tts_dashscope_test.py | 821 | await model.push("Hello") | CODE |
| HIGH | tests/tts_dashscope_test.py | 1254 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/backend_applecontainer_test.py | 95 | ["sh", "-c", "echo hello && echo world"], | CODE |
| HIGH⚡ | tests/backend_applecontainer_test.py | 98 | self.assertEqual(argv[-3:], ["sh", "-c", "echo hello && echo world"]) | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 86 | "npm install && npm run build && npm test", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 100 | ("npm run build || echo failed", ["npm run"]), | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 101 | ("git commit || git status", ["git commit", "git status"]), | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 363 | "ls -la && cat file.txt", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 364 | "git status && git log", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 365 | "pwd && ls", | CODE |
| 28 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/channel_credential_binding_test.py | 81 | except (TimeoutError, asyncio.BrokenBarrierError): | CODE |
| HIGH | tests/test_e2e_api.py | 90 | except Exception: | CODE |
| HIGH | tests/_daytona_live_utils.py | 46 | except Exception: | CODE |
| HIGH | tests/agent_interrupt_test.py | 267 | except asyncio.CancelledError: | CODE |
| HIGH | examples/long_term_memory/mem0/oss_demo.py | 172 | except FileNotFoundError: | CODE |
| HIGH | src/agentscope/_utils/_common.py | 183 | except Exception: | CODE |
| HIGH | …leware/_longterm_memory/_agentic_memory/_middleware.py | 630 | except (asyncio.CancelledError, Exception): # noqa: BLE001 | CODE |
| HIGH | …scope/middleware/_longterm_memory/_reme/_middleware.py | 362 | except (asyncio.CancelledError, Exception): # noqa: BLE001 | CODE |
| HIGH | src/agentscope/app/message_bus/_redis_message_bus.py | 690 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/message_bus/_redis_message_bus.py | 700 | except Exception: # pylint: disable=broad-except | CODE |
| HIGH | src/agentscope/app/_router/_session.py | 882 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_router/_session.py | 968 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_service/_index_sweeper.py | 93 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_service/_channel.py | 237 | except Exception: # pylint: disable=broad-except | CODE |
| HIGH | src/agentscope/app/_service/_webrtc_audio_transport.py | 313 | except MediaStreamError: | CODE |
| HIGH | src/agentscope/app/_service/_chat.py | 257 | except (TypeError, ValueError): | CODE |
| HIGH | src/agentscope/app/_service/_index_task_consumer.py | 109 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_manager/_cancel_dispatcher.py | 123 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_manager/_background_task_manager.py | 324 | except RuntimeError: | CODE |
| HIGH | src/agentscope/app/_manager/_wakeup_dispatcher.py | 149 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_manager/_wakeup_dispatcher.py | 141 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/_manager/_wakeup_dispatcher.py | 399 | except asyncio.CancelledError: | CODE |
| HIGH | …ope/app/_manager/_scheduler/_tools/_schedule_delete.py | 121 | except JobLookupError: | CODE |
| HIGH | src/agentscope/app/rag/index_worker/__init__.py | 195 | except NotImplementedError: | CODE |
| HIGH | src/agentscope/app/channel/_dispatcher.py | 170 | except ( | CODE |
| HIGH | src/agentscope/app/channel/_stream.py | 58 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/app/channel/_stream.py | 121 | except ( | CODE |
| HIGH | src/agentscope/app/channel/_dingtalk/_channel.py | 864 | except TimeoutError: | CODE |
| HIGH | src/agentscope/app/channel/_dingtalk/_openapi.py | 892 | except ValueError: | CODE |
| HIGH | src/agentscope/app/channel/worker/__init__.py | 129 | except NotImplementedError: | CODE |
| HIGH | src/agentscope/app/channel/_feishu/_channel.py | 268 | except RuntimeError: | CODE |
| HIGH | …ope/app/workspace_manager/_docker_workspace_manager.py | 421 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …app/workspace_manager/_bubblewrap_workspace_manager.py | 229 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …workspace_manager/_applecontainer_workspace_manager.py | 247 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …pp/workspace_manager/_opensandbox_workspace_manager.py | 308 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …tscope/app/workspace_manager/_k8s_workspace_manager.py | 304 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …pe/app/workspace_manager/_daytona_workspace_manager.py | 288 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …tscope/app/workspace_manager/_e2b_workspace_manager.py | 428 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 197 | except ValueError: | CODE |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 206 | except ValueError: | CODE |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 215 | except ValueError: | CODE |
| HIGH | src/agentscope/app/hub/_mcp/_github_hub.py | 350 | except ValueError: | CODE |
| HIGH | src/agentscope/workspace/_base.py | 1061 | except (FileNotFoundError, OSError): | CODE |
| HIGH | src/agentscope/workspace/_gateway_client.py | 752 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_gateway_client.py | 723 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_sandboxed_base.py | 225 | except Exception: | CODE |
| HIGH | …e/workspace/_applecontainer/_applecontainer_backend.py | 214 | except OSError: | CODE |
| HIGH | src/agentscope/workspace/_k8s/_k8s_workspace.py | 231 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_k8s/_k8s_workspace.py | 396 | except ApiException: | CODE |
| HIGH | src/agentscope/workspace/_k8s/_k8s_workspace.py | 412 | except ApiException: | CODE |
| HIGH | src/agentscope/workspace/_docker/_docker_workspace.py | 178 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_docker/_docker_workspace.py | 182 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_docker/_docker_workspace.py | 189 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_docker/_docker_workspace.py | 228 | except Exception: | CODE |
| HIGH | src/agentscope/workspace/_docker/_docker_workspace.py | 174 | except Exception: | CODE |
| HIGH | src/agentscope/agent/_agent.py | 2291 | except asyncio.CancelledError: | CODE |
| HIGH | src/agentscope/tts/_dashscope/_cosyvoice_model.py | 204 | except Exception: | CODE |
| HIGH | src/agentscope/tts/_dashscope/_cosyvoice_model.py | 212 | except Exception: | CODE |
| HIGH | src/agentscope/tts/_dashscope/_realtime_model.py | 292 | except Exception: | CODE |
| HIGH | src/agentscope/tts/_dashscope/_realtime_model.py | 299 | except Exception: | CODE |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_e2e_api.py | 51 | except Exception: | CODE |
| LOW | tests/test_e2e_api.py | 90 | except Exception: | CODE |
| LOW | tests/_daytona_live_utils.py | 46 | except Exception: | CODE |
| LOW | scripts/model_examples/run_tests.py | 87 | except Exception: | CODE |
| LOW | src/agentscope/_utils/_common.py | 183 | except Exception: | CODE |
| LOW | src/agentscope/_utils/_common.py | 291 | except Exception as e: | CODE |
| LOW | src/agentscope/middleware/_model_router.py | 135 | except Exception as error: | CODE |
| LOW | src/agentscope/middleware/_rag.py | 323 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/middleware/_rag.py | 439 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/middleware/_rag.py | 980 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 776 | except Exception: | CODE |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 910 | except Exception: | CODE |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 951 | except Exception: | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 135 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 230 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 715 | def _bg() -> None: | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 343 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 707 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 734 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 146 | except Exception as e: # noqa: BLE001 | CODE |
| LOW⚡ | …scope/middleware/_longterm_memory/_reme/_middleware.py | 518 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 167 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 310 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 434 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 455 | except Exception: | CODE |
| LOW | src/agentscope/app/message_bus/_redis_message_bus.py | 700 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …c/agentscope/app/middleware/_team_member_middleware.py | 91 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | …/agentscope/app/middleware/_tool_offload_middleware.py | 174 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | …/agentscope/app/middleware/_tool_offload_middleware.py | 257 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_router/_realtime.py | 291 | except Exception as exc: | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 87 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 187 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 373 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_knowledge_base.py | 432 | except Exception: | CODE |
| LOW | src/agentscope/app/_service/_knowledge_base.py | 898 | except Exception: # noqa: BLE001 — cleanup only | CODE |
| LOW | src/agentscope/app/_service/_index_sweeper.py | 109 | except Exception: # noqa: BLE001 — keep the loop alive | CODE |
| LOW | src/agentscope/app/_service/_index_sweeper.py | 143 | except Exception: # noqa: BLE001 — keep iterating | CODE |
| LOW | src/agentscope/app/_service/_webrtc_session.py | 190 | except Exception as exc: | CODE |
| LOW | src/agentscope/app/_service/_webrtc_session.py | 214 | except Exception as exc: | CODE |
| LOW | src/agentscope/app/_service/_webrtc_session.py | 220 | except Exception as exc: | CODE |
| LOW | src/agentscope/app/_service/_channel.py | 173 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_channel.py | 237 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 335 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 405 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 429 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 573 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 664 | except Exception: | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1064 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1194 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1397 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1650 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_session.py | 412 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_session.py | 559 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_session.py | 729 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_workspace.py | 525 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_workspace.py | 552 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_index_worker.py | 310 | except Exception as exc: # noqa: BLE001 — terminal error sink | CODE |
| LOW⚡ | src/agentscope/app/_service/_index_worker.py | 601 | except Exception: # noqa: BLE001 — last-resort log | CODE |
| LOW | src/agentscope/app/_service/_sop.py | 390 | except Exception: | CODE |
| LOW | src/agentscope/app/_service/_sop.py | 425 | except Exception: # pylint: disable=broad-except | CODE |
| 220 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/embedding_file_cache_test.py | 30 | CODE | |
| LOW | tests/embedding_file_cache_test.py | 93 | CODE | |
| LOW | tests/builtin_grep_test.py | 99 | CODE | |
| LOW | tests/model_gemini_test.py | 1088 | CODE | |
| LOW | tests/realtime_agent_test.py | 482 | CODE | |
| LOW | tests/rag_parser_test.py | 1245 | CODE | |
| LOW | tests/rag_parser_test.py | 1391 | CODE | |
| LOW | tests/rag_parser_test.py | 1661 | CODE | |
| LOW | tests/rag_parser_test.py | 2171 | CODE | |
| LOW | tests/builtin_edit_test.py | 88 | CODE | |
| LOW | tests/workspace_bubblewrap_test.py | 606 | CODE | |
| LOW | tests/pipeline_team_cleanup_test.py | 51 | CODE | |
| LOW | tests/compress_tool_result_test.py | 325 | CODE | |
| LOW | tests/compress_tool_result_test.py | 481 | CODE | |
| LOW | tests/compress_tool_result_test.py | 340 | CODE | |
| LOW | tests/compress_tool_result_test.py | 496 | CODE | |
| LOW | tests/backend_local_test.py | 372 | CODE | |
| LOW | tests/tts_dashscope_test.py | 236 | CODE | |
| LOW | tests/tts_dashscope_test.py | 1570 | CODE | |
| LOW | tests/tts_openai_test.py | 173 | CODE | |
| LOW | examples/long_term_memory/agentic_memory/main.py | 115 | CODE | |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 93 | CODE | |
| LOW | examples/long_term_memory/reme/reme_demo.py | 127 | CODE | |
| LOW | scripts/model_examples/run_tests.py | 312 | CODE | |
| LOW | scripts/model_examples/_utils.py | 15 | CODE | |
| LOW | src/agentscope/middleware/_tts_middleware.py | 51 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 236 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 929 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 709 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 172 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 191 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_utils.py | 55 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_utils.py | 51 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 70 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 397 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 459 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 548 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_converter.py | 63 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_trace.py | 137 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_utils.py | 15 | CODE | |
| LOW | src/agentscope/pipeline/_goal_pipeline.py | 93 | CODE | |
| LOW | src/agentscope/app/_router/_session.py | 815 | CODE | |
| LOW | src/agentscope/app/_router/_session.py | 865 | CODE | |
| LOW | src/agentscope/app/_service/_webrtc_session.py | 124 | CODE | |
| LOW | src/agentscope/app/_service/_webrtc_audio_transport.py | 292 | CODE | |
| LOW | src/agentscope/app/_service/_webrtc_audio_transport.py | 319 | CODE | |
| LOW | src/agentscope/app/_service/_chat.py | 786 | CODE | |
| LOW | src/agentscope/app/_service/_session.py | 478 | CODE | |
| LOW | src/agentscope/app/_service/_workspace.py | 567 | CODE | |
| LOW | src/agentscope/app/channel/_base.py | 429 | CODE | |
| LOW | src/agentscope/app/channel/_stream.py | 74 | CODE | |
| LOW | src/agentscope/app/channel/_dingtalk/_channel.py | 208 | CODE | |
| LOW | src/agentscope/app/channel/_dingtalk/_channel.py | 301 | CODE | |
| LOW | src/agentscope/app/channel/_discord/_channel.py | 159 | CODE | |
| LOW | src/agentscope/app/channel/_discord/_channel.py | 306 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 183 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 378 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 557 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 654 | CODE | |
| LOW | src/agentscope/app/hub/_skill/_claw_hub.py | 277 | CODE | |
| 114 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_e2e_api.py | 57 | def _setup_module() -> None: | CODE |
| LOW | tests/service_team_failure_report_test.py | 78 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/webrtc_audio_transport_test.py | 239 | async def update_session_state(self, **kwargs: object) -> None: | CODE |
| LOW | tests/webrtc_audio_transport_test.py | 252 | async def update_session_state(self, **kwargs: object) -> None: | CODE |
| LOW | tests/service_chat_channel_delivery_test.py | 147 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/service_chat_run_context_test.py | 65 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/backend_applecontainer_test.py | 303 | async def _setup_container(cls) -> None: | CODE |
| LOW | src/agentscope/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/agentscope/_utils/_common.py | 32 | def set_id_factory(factory: Callable[[], str]) -> None: | CODE |
| LOW | src/agentscope/_utils/_common.py | 61 | def set_timestamp_factory(factory: Callable[[], str]) -> None: | CODE |
| LOW | src/agentscope/middleware/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …iddleware/_longterm_memory/_agentic_memory/__init__.py | 6 | __all__ = ["AgenticMemoryMiddleware"] | CODE |
| LOW | …entscope/middleware/_longterm_memory/_mem0/__init__.py | 6 | __all__ = ["Mem0Middleware"] | CODE |
| LOW | …entscope/middleware/_longterm_memory/_reme/__init__.py | 14 | __all__ = [ | CODE |
| LOW | src/agentscope/middleware/_tracing/__init__.py | 6 | __all__ = [ | CODE |
| LOW⚡ | src/agentscope/middleware/_tracing/_trace.py | 73 | def _set_span_success_status(span: "Span") -> None: | CODE |
| LOW⚡ | src/agentscope/middleware/_tracing/_trace.py | 79 | def _set_span_error_status(span: "Span", e: BaseException) -> None: | CODE |
| LOW | src/agentscope/pipeline/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/credential/__init__.py | 19 | __all__ = [ | CODE |
| LOW | src/agentscope/types/__init__.py | 19 | __all__ = [ | CODE |
| LOW | src/agentscope/app/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/message_bus/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/middleware/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/agentscope/app/middleware/_protocol/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_router/__init__.py | 21 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_router/_schema/__init__.py | 109 | __all__ = [ | CODE |
| LOW | src/agentscope/app/access/__init__.py | 24 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_service/_webrtc_session.py | 248 | async def _set_checkpoint_cursor(self, entry_id: str) -> None: | CODE |
| LOW | src/agentscope/app/_service/_webrtc_audio_transport.py | 184 | def set_input_track(self, track: MediaStreamTrack) -> None: | CODE |
| LOW | src/agentscope/app/_service/_webrtc_audio_transport.py | 193 | def set_data_channel(self, channel: RTCDataChannel) -> None: | CODE |
| LOW | src/agentscope/app/_service/_webrtc_audio_transport.py | 392 | def _update_playout(self, payload: dict) -> None: | CODE |
| LOW | src/agentscope/app/_service/__init__.py | 33 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_service/_projectors/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_manager/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_manager/_scheduler/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …/agentscope/app/_manager/_scheduler/_tools/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/rag/__init__.py | 79 | __all__ = [ | CODE |
| LOW | …/agentscope/app/rag/knowledge_base_manager/__init__.py | 25 | __all__ = [ | CODE |
| LOW | src/agentscope/app/rag/blob_store/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/app/storage/__init__.py | 86 | __all__ = [ | CODE |
| LOW | src/agentscope/app/storage/_redis_storage.py | 207 | async def _set_with_ttl(self, key: str, value: str) -> None: | CODE |
| LOW | src/agentscope/app/storage/_sql/__init__.py | 12 | __all__ = ["AsyncSQLAlchemyStorage"] | CODE |
| LOW | src/agentscope/app/storage/_model/__init__.py | 57 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/__init__.py | 34 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/_dingtalk/__init__.py | 6 | __all__ = ["DingTalkChannel"] | CODE |
| LOW | src/agentscope/app/channel/_dingtalk/_tools/__init__.py | 10 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/_tools/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/_discord/__init__.py | 5 | __all__ = ["DiscordChannel"] | CODE |
| LOW | src/agentscope/app/channel/_feishu/__init__.py | 5 | __all__ = ["FeishuChannel"] | CODE |
| LOW | src/agentscope/app/channel/_feishu/_tools/__init__.py | 15 | __all__ = [ | CODE |
| LOW | src/agentscope/app/workspace_manager/__init__.py | 18 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_tool/__init__.py | 41 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/__init__.py | 21 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/_skill/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/_mcp/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/skill/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/tui/_ask_user.py | 358 | def _update_preview(self) -> None: | CODE |
| LOW | src/agentscope/tui/__init__.py | 15 | __all__ = [ | CODE |
| LOW⚡ | src/agentscope/tui/_chat.py | 109 | def set_enabled(self, enabled: bool) -> None: | CODE |
| 67 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/skill_loader_test.py | 22 | # Create a temporary directory for testing | COMMENT |
| MEDIUM | tests/skill_loader_test.py | 83 | # Create a directory without SKILL.md | COMMENT |
| MEDIUM | tests/rag_vdb_milvus_lite_test.py | 79 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_grep_test.py | 24 | # Create a temporary directory with test files | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 148 | # Create a file | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 191 | # Create a file | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 411 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 26 | # Create a temporary directory | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 39 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 57 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 93 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 121 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 390 | # Create a file | COMMENT |
| MEDIUM | tests/rag_vdb_qdrant_test.py | 90 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_edit_test.py | 21 | # Create a temporary file for testing | COMMENT |
| MEDIUM | tests/task_tool_test.py | 312 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 388 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 443 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 498 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 627 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 682 | # Create a task with initial metadata | COMMENT |
| MEDIUM⚡ | tests/workspace_local_test.py | 855 | # Create a valid skill | COMMENT |
| MEDIUM⚡ | tests/workspace_local_test.py | 861 | # Create an invalid skill without SKILL.md | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 280 | # Create a test image data (1x1 red pixel PNG) | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 811 | # Create a test skill | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 874 | # Create an invalid skill with malformed frontmatter | COMMENT |
| MEDIUM | tests/toolkit_skill_test.py | 49 | # Create a minimal SKILL.md so LocalSkillLoader can load it | COMMENT |
| MEDIUM | tests/builtin_read_test.py | 27 | # Create a temporary file for testing | COMMENT |
| MEDIUM | tests/rag_vdb_mongodb_test.py | 364 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_glob_test.py | 23 | # Create a temporary directory with test files | COMMENT |
| MEDIUM | examples/pipeline/goal/goal_pipeline.py | 26 | # Create the executor agent | COMMENT |
| MEDIUM | examples/pipeline/goal/goal_pipeline.py | 45 | # Create the verifier agent | COMMENT |
| MEDIUM | src/agentscope/app/middleware/_protocol/_base.py | 75 | # Create a new StreamingResponse with the converted stream | COMMENT |
| MEDIUM | src/agentscope/workspace/_docker/_docker_workspace.py | 319 | # Create the backend now that the container is running. All | COMMENT |
| MEDIUM | src/agentscope/agent/_agent.py | 2244 | # Create a queue to collect events from all concurrent workers. | COMMENT |
| MEDIUM | src/agentscope/state/_state.py | 318 | # Create a new assistant message with the current reply ID | COMMENT |
| MEDIUM | src/agentscope/tool/_utils.py | 111 | # Create a dynamic model with the function signature | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 133 | # ------------ RAG ------------ | COMMENT |
| MEDIUM | pyproject.toml | 213 | # RAG parser tests — used to generate PDF fixtures in-memory | COMMENT |
| MEDIUM | pyproject.toml | 239 | # The Alembic scaffolding for the SQL storage backend lives in the | COMMENT |
| MEDIUM | tests/middleware_rag_test.py | 604 | # embedding model isn't multimodal — the model only saw text. | COMMENT |
| MEDIUM | docs/changelog.md | 89 | ## RAG | COMMENT |
| MEDIUM | examples/rag/README.md | 1 | # RAG Examples | COMMENT |
| MEDIUM | examples/rag/integrate_with_agent.py | 177 | # ---- Mode 2: agentic ---- | COMMENT |
| MEDIUM | examples/long_term_memory/mem0/README.md | 45 | # chat + embedding model. mem0 defaults for everything else. | COMMENT |
| MEDIUM | scripts/model_examples/README.md | 17 | ├── openai_chat_multiagent.py # OpenAI Chat Completions – multi-agent conversation | CODE |
| MEDIUM⚡ | scripts/model_examples/deepseek_call.py | 30 | # Example 1: Simple user message (streaming, with chain-of-thought) | COMMENT |
| MEDIUM⚡ | src/agentscope/middleware/_rag.py | 346 | # Shared helpers — used by both the tool (agentic mode) and the | COMMENT |
| MEDIUM | src/agentscope/middleware/_rag.py | 642 | # Agent-driven search (agentic mode, the default) | STRING |
| MEDIUM⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 766 | # Cap each file to avoid flooding the context window. | COMMENT |
| MEDIUM⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 779 | # Truncate large files to avoid flooding the context window. | COMMENT |
| MEDIUM⚡ | src/agentscope/app/_service/_chat.py | 1035 | # (own embedding model + vector store), so the middleware can | COMMENT |
| MEDIUM | src/agentscope/rag/_parser/_excel.py | 120 | # Local import: openpyxl is an optional RAG dependency. | COMMENT |
| MEDIUM | …cope/model/_dashscope/_models/deepseek-v4.1-flash.yaml | 23 | # Max chain-of-thought is 393216 tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.6-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | src/agentscope/model/_dashscope/_models/glm-5.3.yaml | 17 | # Max chain-of-thought is 131072 tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.7-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.5-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.8-flash.yaml | 25 | # Max chain-of-thought is 262144 tokens, independent of max_tokens. | COMMENT |
| MEDIUM | …c/agentscope/model/_dashscope/_models/qwen3.8-max.yaml | 25 | # Max chain-of-thought is 262144 tokens, independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_moonshot/_models/kimi-k2.7-code.yaml | 24 | # which shares the same context window. | COMMENT |
| MEDIUM | …/model/_moonshot/_models/kimi-k2.7-code-highspeed.yaml | 24 | # which shares the same context window. | COMMENT |
| MEDIUM | …/_volcengine/_models/doubao-seed-2-1-turbo-260628.yaml | 16 | # The official model list specifies a 256k context window and a 256k | COMMENT |
| MEDIUM | …el/_volcengine/_models/doubao-seed-2-1-pro-260628.yaml | 16 | # The official model list specifies a 256k context window and a 256k | COMMENT |
| MEDIUM | …el/_volcengine/_models/doubao-seed-2-1-pro-260915.yaml | 16 | # The official model list specifies a 1024k context window and a 256k | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-4.6.yaml | 16 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | …ope/model/_xai/_models/grok-4.20-multi-agent-0309.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | …e/model/_xai/_models/grok-4.20-0309-non-reasoning.yaml | 13 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | …scope/model/_xai/_models/grok-4.20-0309-reasoning.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-build-0.1.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-4.3.yaml | 16 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-4.5.yaml | 16 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/middleware_budget_test.py | 481 | # Step 1: model produces a tool call that requires confirmation | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 224 | # Step 1: Publish interrupt (simulating API endpoint) | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 233 | # Step 2: Verify agent was interrupted | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 240 | # Step 3: Verify chat-run task is done | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1094 | # Step 1: Checking agent input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1101 | # Step 2: Handling agent event if applicable | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1135 | # Step 3: Enter the reasoning-acting loop until reaching max_iters | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1429 | # Step 1: Analyze the current context | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1486 | # Step 2: Check Time Injection | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1544 | # Step 3: Check Plan Tasks | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1557 | # Step 4: Context Length | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1600 | # Step 5: Check Repeated Tool Errors | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2477 | # Step 1: Check and parse the tool call input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2519 | # Step 2: Check permission by toolkit and permission engine | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2528 | # Step 3: Handle the permission and execute the tool call if allowed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2621 | # Step 4: Delegate raw execution to _acting (middleware hook point) | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2637 | # Step 5: Truncate the tool result if exceed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3508 | # Step 1: Check executable and awaiting tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3551 | # Step 2: Check structured output if no blocked tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3656 | # Step 3: Exit with the final message, or continue reasoning | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 150 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 157 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 168 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 175 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 194 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 201 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 248 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 255 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 266 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 273 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 280 | # Step 5: Allow rules | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 286 | # Step 6: Mode fallback → DENY (invocation is not read-only) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 330 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 337 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 348 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 355 | # Step 4: Tool's own check_permissions (working-directory auto-allow | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 375 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 382 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 439 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 446 | # Step 2: Ask rules → ASK (honor explicit user intent to be prompted) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 457 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 464 | # Step 4: Tool's own check_permissions — ALLOW / DENY returned; | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 476 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 483 | # Step 6: Mode fallback → ALLOW everything else (BYPASS) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 530 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 537 | # Step 2: Ask rules → DENY (converted; no user available to answer) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 548 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 555 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 574 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 581 | # Step 6: Mode fallback → DENY (no user available to confirm) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/middleware_budget_test.py | 481 | # Step 1: model produces a tool call that requires confirmation | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 224 | # Step 1: Publish interrupt (simulating API endpoint) | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 233 | # Step 2: Verify agent was interrupted | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 240 | # Step 3: Verify chat-run task is done | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1094 | # Step 1: Checking agent input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1101 | # Step 2: Handling agent event if applicable | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1135 | # Step 3: Enter the reasoning-acting loop until reaching max_iters | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1429 | # Step 1: Analyze the current context | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1486 | # Step 2: Check Time Injection | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1544 | # Step 3: Check Plan Tasks | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1557 | # Step 4: Context Length | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1600 | # Step 5: Check Repeated Tool Errors | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2477 | # Step 1: Check and parse the tool call input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2519 | # Step 2: Check permission by toolkit and permission engine | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2528 | # Step 3: Handle the permission and execute the tool call if allowed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2621 | # Step 4: Delegate raw execution to _acting (middleware hook point) | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2637 | # Step 5: Truncate the tool result if exceed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3508 | # Step 1: Check executable and awaiting tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3551 | # Step 2: Check structured output if no blocked tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3656 | # Step 3: Exit with the final message, or continue reasoning | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 150 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 157 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 168 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 175 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 194 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 201 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 248 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 255 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 266 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 273 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 280 | # Step 5: Allow rules | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 286 | # Step 6: Mode fallback → DENY (invocation is not read-only) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 330 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 337 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 348 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 355 | # Step 4: Tool's own check_permissions (working-directory auto-allow | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 375 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 382 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 439 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 446 | # Step 2: Ask rules → ASK (honor explicit user intent to be prompted) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 457 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 464 | # Step 4: Tool's own check_permissions — ALLOW / DENY returned; | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 476 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 483 | # Step 6: Mode fallback → ALLOW everything else (BYPASS) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 530 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 537 | # Step 2: Ask rules → DENY (converted; no user available to answer) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 548 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 555 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 574 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 581 | # Step 6: Mode fallback → DENY (no user available to confirm) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/builtin_file_cache_test.py | 152 | # Read the file to cache it | COMMENT |
| LOW⚡ | tests/builtin_file_cache_test.py | 195 | # Read the file to cache it | COMMENT |
| LOW⚡ | tests/builtin_file_cache_test.py | 415 | # Read the file | COMMENT |
| LOW | tests/builtin_file_cache_test.py | 97 | # Read the file first | COMMENT |
| LOW | tests/builtin_file_cache_test.py | 125 | # Read the file first | COMMENT |
| LOW | tests/builtin_edit_test.py | 144 | # Write file with duplicate content | COMMENT |
| LOW | tests/builtin_edit_test.py | 159 | # Write file with duplicate content | COMMENT |
| LOW | src/agentscope/skill/_local_loader.py | 45 | # Check if SKILL.md exists | COMMENT |
| LOW | src/agentscope/skill/_local_loader.py | 115 | # Check if directory exists | COMMENT |
| LOW | src/agentscope/workspace/_local_workspace.py | 351 | # Check if SKILL.md exists | COMMENT |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 312 | # Check if the image is already available locally. | COMMENT |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 395 | # Check if the container is already running. | COMMENT |
| LOW | src/agentscope/embedding/_dashscope/_model.py | 269 | # Check if adding this item would exceed any limit. | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2482 | # Check if the tool is available | COMMENT |
| LOW | src/agentscope/agent/_agent.py | 1744 | # Check if res is an async generator (streaming response) | COMMENT |
| LOW | src/agentscope/agent/_agent.py | 2978 | # Check if the reserved part has tool results that don't have the | COMMENT |
| LOW | src/agentscope/formatter/_gemini_formatter.py | 49 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/formatter/_anthropic_formatter.py | 293 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/formatter/_ollama_formatter.py | 49 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/tool/_base.py | 477 | # Check if filename matches dangerous files (case-insensitive) | COMMENT |
| LOW | src/agentscope/tool/_base.py | 484 | # Check if any path segment matches dangerous directories | COMMENT |
| LOW | src/agentscope/tool/_types.py | 131 | # Check if the two definitions are from the same BaseModel | COMMENT |
| LOW | src/agentscope/tool/_response.py | 156 | # Check if the last block is also a TextBlock | COMMENT |
| LOW | src/agentscope/tool/_builtin/_read.py | 502 | # Read file content via backend | COMMENT |
| LOW | src/agentscope/tool/_builtin/_write.py | 251 | # Check if file exists, it must be read first if it exists | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 242 | # Check if base command is in safe commands | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 621 | # Check if environment variables are safe | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 625 | # Check if the command is a safe command that doesn't need permission | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 175 | # Check if it's a compound command | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 226 | # Check if it starts with a read-only prefix | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 341 | # Check if this is a file-manipulating command | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 956 | # Check if this node is a dangerous type | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash.py | 425 | # Check if pattern is a prefix pattern (ends with :*) | STRING |
| LOW | src/agentscope/tool/_builtin/_bash.py | 430 | # Check if pattern has unescaped wildcards | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/embedding_gemini_test.py | 123 | model.client.aio.models.embed_content.assert_awaited_once() | CODE |
| CRITICAL⚡ | tests/tts_gemini_test.py | 139 | self.mock_client.aio.models.generate_content.assert_not_called() | CODE |
| CRITICAL⚡ | tests/tts_gemini_test.py | 149 | self.mock_client.aio.models.generate_content.assert_not_called() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 143 | CODE | |
| LOW | src/agentscope/app/_app.py | 113 | CODE | |
| LOW | src/agentscope/app/_router/_knowledge_base.py | 312 | CODE | |
| LOW | src/agentscope/app/_router/_knowledge_base.py | 465 | CODE | |
| LOW | …ope/app/_manager/_scheduler/_tools/_schedule_create.py | 164 | CODE | |
| LOW | src/agentscope/app/storage/_base.py | 369 | CODE | |
| LOW | src/agentscope/app/storage/_redis_storage.py | 884 | CODE | |
| LOW | src/agentscope/app/storage/_sql/_storage.py | 1213 | CODE | |
| LOW | …ope/app/workspace_manager/_docker_workspace_manager.py | 65 | CODE | |
| LOW | …app/workspace_manager/_bubblewrap_workspace_manager.py | 40 | CODE | |
| LOW | …workspace_manager/_applecontainer_workspace_manager.py | 50 | CODE | |
| LOW | …pp/workspace_manager/_opensandbox_workspace_manager.py | 57 | CODE | |
| LOW | …tscope/app/workspace_manager/_k8s_workspace_manager.py | 43 | CODE | |
| LOW | …pe/app/workspace_manager/_daytona_workspace_manager.py | 48 | CODE | |
| LOW | …tscope/app/workspace_manager/_e2b_workspace_manager.py | 66 | CODE | |
| LOW | src/agentscope/app/hub/_skill/_claw_hub.py | 86 | CODE | |
| LOW | src/agentscope/tui/_chat.py | 458 | CODE | |
| LOW | src/agentscope/workspace/_e2b/_e2b_workspace.py | 75 | CODE | |
| LOW | src/agentscope/workspace/_daytona/_daytona_workspace.py | 79 | CODE | |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 89 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_workspace.py | 60 | CODE | |
| LOW | …ntscope/workspace/_bubblewrap/_bubblewrap_workspace.py | 77 | CODE | |
| LOW | …scope/workspace/_opensandbox/_opensandbox_workspace.py | 49 | CODE | |
| LOW | src/agentscope/workspace/_docker/_docker_workspace.py | 52 | CODE | |
| LOW | src/agentscope/agent/_agent.py | 120 | CODE | |
| LOW | src/agentscope/model/_ollama/_model.py | 56 | CODE | |
| LOW | src/agentscope/model/_openai_chat/_model.py | 114 | CODE | |
| LOW | src/agentscope/tool/_adapters.py | 54 | CODE | |
| LOW | src/agentscope/tool/_builtin/_grep.py | 320 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 141 | "pandas", | COMMENT |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 201 | ) | COMMENT |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 221 | # | COMMENT |
| LOW | examples/long_term_memory/reme/reme_demo.py | 261 | # One middleware, shared across both sessions. ReMe is embedded | COMMENT |
| LOW | examples/web_ui/frontend/src/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | …ntend/src/components/dialog/WorkingDirectoryDialog.tsx | 101 | // The answer, and the single source of truth: whatever the input | COMMENT |
| LOW | …amples/web_ui/frontend/src/pages/chat/ChatViewport.tsx | 201 | // panels stacked top→bottom. Open order determines placement. | COMMENT |
| LOW | …amples/web_ui/frontend/src/pages/chat/ChatViewport.tsx | 581 | model: modelName, | COMMENT |
| LOW | .github/workflows/claim-expiry.yml | 41 | core.notice(`${issues.length} assigned issue(s) to check.`); | COMMENT |
| LOW | .github/workflows/github-monitor.yml | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 301 | COMMENT | |
| LOW | src/agentscope/app/_bus_ops.py | 141 | # Three helpers implementing one protocol, whose only job is to make | COMMENT |
| LOW | src/agentscope/app/_lifespan.py | 221 | # ---------------- Knowledge-base wiring ---------------- | COMMENT |
| LOW | src/agentscope/app/_router/_chat.py | 101 | # ------------------------------------------------------------------ | COMMENT |
| LOW | src/agentscope/app/_service/_chat.py | 821 | COMMENT | |
| LOW | src/agentscope/app/_service/_chat.py | 1021 | # ------------------------------------------------------------- | COMMENT |
| LOW | src/agentscope/app/_service/_index_worker.py | 421 | user_id, | COMMENT |
| LOW | src/agentscope/app/storage/_sql/_alembic/alembic.ini | 1 | # Alembic configuration for the AgentScope SQL storage backend. | COMMENT |
| LOW | src/agentscope/app/_tool/_agent_invite.py | 381 | # rules are anchored to the leader's workspace, which the | COMMENT |
| LOW | src/agentscope/workspace/_gateway_shim.py | 21 | """ | COMMENT |
| LOW | src/agentscope/workspace/_opensandbox/_constants.py | 21 | #: Per-command timeout for first-time bootstrap shell commands. | COMMENT |
| LOW | src/agentscope/agent/_agent.py | 1541 | injections["timezone"] = self.injection_config.timezone | COMMENT |
| LOW | src/agentscope/agent/_realtime/_agent.py | 241 | # TODO(realtime): tools and instructions are sent once, here. | COMMENT |
| LOW | src/agentscope/permission/_engine.py | 261 | tool_input, | COMMENT |
| LOW | src/agentscope/tool/_constants.py | 61 | "fdisk", | COMMENT |
| LOW | src/agentscope/tool/_constants.py | 101 | # | COMMENT |
| LOW | src/agentscope/tool/_builtin/_backend.py | 141 | Subclasses must implement three abstract primitives — ``exec_shell``, | COMMENT |
| LOW | src/agentscope/tool/_builtin/_backend.py | 161 | #: .. important:: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 176 | "placeholder": "我的智能体" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 234 | "placeholder": "简要描述此智能体的专长;允许被邀请时必填。" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 254 | "placeholder": "会话名称" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 275 | "placeholder": "我的知识库" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 279 | "placeholder": "描述知识库用途" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 309 | "placeholder": "我的知识库" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 313 | "placeholder": "描述知识库用途" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 437 | "placeholder": "选择模型", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 457 | "placeholder": "选择 Embedding 模型", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 466 | "placeholder": "选择分块策略", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 486 | "placeholder": "选择维度", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 490 | "placeholder": "选择权限模式", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 176 | "placeholder": "My agent" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 234 | "placeholder": "Briefly describe this agent's expertise; required when invitable is on." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 254 | "placeholder": "Session name" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 275 | "placeholder": "My knowledge base" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 279 | "placeholder": "Describe what this knowledge base is for." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 309 | "placeholder": "My knowledge base" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 313 | "placeholder": "Describe what this knowledge base is for." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 437 | "placeholder": "Select a model", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 457 | "placeholder": "Select an embedding model", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 466 | "placeholder": "Select a chunker", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 486 | "placeholder": "Select a dimension", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 490 | "placeholder": "Select permission mode", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/realtime_agent_test.py | 1499 | CODE | |
| MEDIUM | tests/tool_middleware_test.py | 331 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 222 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 114 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 125 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 99 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 122 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 168 | CODE | |
| MEDIUM | src/agentscope/realtime/_base.py | 179 | CODE | |
| MEDIUM | src/agentscope/realtime/_transport/_base.py | 85 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 296 | # tools — so just pass through. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/workspace_local_test.py | 609 | {"helper.py": "def helper():\n return 42\n"}, | STRING |