Harness LLMs with Multi-Agent Programming
This report presents the forensic synthetic code analysis of langroid/langroid, a Python project with 4,071 GitHub stars. SynthScan v2.0 examined 120,787 lines of code across 626 source files, recording 1727 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 22.3 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1727 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 0 | you will be given a number n. if it is odd, return (n*3+1), say nothing else. if it is even, say -10 | STRING |
| HIGH | tests/main/test_recipient_tool_async.py | 0 | you will be given a number n. if it is odd, return (n*3+1), say nothing else. if it is even, say -10 | STRING |
| HIGH | examples/quick-start/three-agent-chat-num-router.py | 0 | you will be given a number n. if it is odd, return (n*3+1), say nothing else. if it is even, say -10 | STRING |
| HIGH | README.md | 0 | to find how many numbers in my list are less than or equal to the <number> you specify. | STRING |
| HIGH | examples/langdb/langdb_chat_agent_tool.py | 0 | to find how many numbers in my list are less than or equal to the <number> you specify. | STRING |
| HIGH | examples/quick-start/chat-agent-tool.py | 0 | to find how many numbers in my list are less than or equal to the <number> you specify. | STRING |
| HIGH | README.md | 0 | done! successfully extracted lease info: {message.terms} | STRING |
| HIGH | examples/chainlit/multi-extract.py | 0 | done! successfully extracted lease info: {message.terms} | STRING |
| HIGH | examples/docqa/chat_multi_extract.py | 0 | done! successfully extracted lease info: {message.terms} | STRING |
| HIGH | tests/main/test_doc_chat_relevance.py | 0 | test window retrieval of relevant doc-chunks. check that we are retrieving 2 neighbors around each match. | STRING |
| HIGH | tests/main/test_doc_chat_agent.py | 0 | test window retrieval of relevant doc-chunks. check that we are retrieving 2 neighbors around each match. | STRING |
| HIGH | tests/extras/test_doc_chat_agent_llamacpp.py | 0 | test window retrieval of relevant doc-chunks. check that we are retrieving 2 neighbors around each match. | STRING |
| HIGH | tests/main/test_multi_agent_complex_async.py | 0 | you are a calculator. you will be given a multiplication problem. you simply reply with the answer, say nothing else. | STRING |
| HIGH | tests/main/test_multi_agent.py | 0 | you are a calculator. you will be given a multiplication problem. you simply reply with the answer, say nothing else. | STRING |
| HIGH | tests/main/test_multi_agent_complex.py | 0 | you are a calculator. you will be given a multiplication problem. you simply reply with the answer, say nothing else. | STRING |
| HIGH | tests/main/test_doc_chat_agent.py | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | tests/extras/test_doc_chat_agent_llamacpp.py | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | docs/notes/weaviate.md | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | docs/notes/pgvector.md | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | docs/quick-start/chat-agent-docs.md | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | examples/langdb/langdb_chat_agent_docs.py | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | examples/quick-start/chat-agent-docs.py | 0 | in the year 2050, gpt10 was released. in 2057, paperclips were seen all over the world. global warming was solved in 206 | STRING |
| HIGH | tests/main/test_doc_chat_agent.py | 0 | check we can ingest from a dataframe and run queries. | STRING |
| HIGH | tests/main/test_retriever_agent.py | 0 | check we can ingest from a dataframe and run queries. | STRING |
| HIGH | tests/extras/test_doc_chat_agent_llamacpp.py | 0 | check we can ingest from a dataframe and run queries. | STRING |
| HIGH | tests/main/test_tool_messages_async.py | 0 | test whether llm is able to generate message (tool) in required format, and the agent handles the message correctly. arg | STRING |
| HIGH | tests/main/test_stateless_tool_messages.py | 0 | test whether llm is able to generate message (tool) in required format, and the agent handles the message correctly. arg | STRING |
| HIGH | tests/main/test_tool_messages.py | 0 | test whether llm is able to generate message (tool) in required format, and the agent handles the message correctly. arg | STRING |
| HIGH | tests/main/test_tool_messages_azure.py | 0 | test whether llm is able to generate message (tool) in required format, and the agent handles the message correctly. arg | STRING |
| HIGH | docs/FAQ.md | 0 | important: you must include an actual query in the `query` field, | STRING |
| HIGH | examples/chainlit/chat-search-rag.py | 0 | important: you must include an actual query in the `query` field, | STRING |
| HIGH | examples/docqa/chat_search.py | 0 | important: you must include an actual query in the `query` field, | STRING |
| HIGH | examples/docqa/chat-search-filter.py | 0 | important: you must include an actual query in the `query` field, | STRING |
| HIGH | docs/FAQ.md | 0 | ------------------------------ ask me questions one by one, to fill in the fields of the `lease_info` function/tool. fir | STRING |
| HIGH | examples/chainlit/multi-extract-3.py | 0 | ------------------------------ ask me questions one by one, to fill in the fields of the `lease_info` function/tool. fir | STRING |
| HIGH | examples/docqa/chat-multi-extract-3.py | 0 | ------------------------------ ask me questions one by one, to fill in the fields of the `lease_info` function/tool. fir | STRING |
| HIGH | docs/notes/weaviate.md | 0 | we are living in an alternate universe where germany has occupied the usa, and the capital of usa is berlin. charlie cha | STRING |
| HIGH | docs/notes/pgvector.md | 0 | we are living in an alternate universe where germany has occupied the usa, and the capital of usa is berlin. charlie cha | STRING |
| HIGH | docs/quick-start/chat-agent-docs.md | 0 | we are living in an alternate universe where germany has occupied the usa, and the capital of usa is berlin. charlie cha | STRING |
| HIGH | examples/langdb/langdb_chat_agent_docs.py | 0 | we are living in an alternate universe where germany has occupied the usa, and the capital of usa is berlin. charlie cha | STRING |
| HIGH | examples/quick-start/chat-agent-docs.py | 0 | we are living in an alternate universe where germany has occupied the usa, and the capital of usa is berlin. charlie cha | STRING |
| HIGH | docs/examples/agent-tree.md | 0 | this is a stateless tool (i.e. does not use any agent member vars), so we can define the handler right here, instead of | STRING |
| HIGH | examples/basic/chat-tree-structured.py | 0 | this is a stateless tool (i.e. does not use any agent member vars), so we can define the handler right here, instead of | STRING |
| HIGH | examples/basic/chat-tree.py | 0 | this is a stateless tool (i.e. does not use any agent member vars), so we can define the handler right here, instead of | STRING |
| HIGH | examples/chainlit/chat-tree-chainlit.py | 0 | this is a stateless tool (i.e. does not use any agent member vars), so we can define the handler right here, instead of | STRING |
| HIGH | docs/quick-start/chat-agent-tool.md | 0 | i have a list of numbers between 1 and 20. your job is to find the smallest of them. to help with this, you can give me | STRING |
| HIGH | examples/langdb/langdb_chat_agent_tool.py | 0 | i have a list of numbers between 1 and 20. your job is to find the smallest of them. to help with this, you can give me | STRING |
| HIGH | examples/quick-start/chat-agent-tool.py | 0 | i have a list of numbers between 1 and 20. your job is to find the smallest of them. to help with this, you can give me | STRING |
| HIGH | examples/portkey/portkey_multi_provider.py | 0 | check if environment variable is set and return its value. | STRING |
| HIGH | examples/portkey/portkey_advanced_features.py | 0 | check if environment variable is set and return its value. | STRING |
| HIGH | examples/portkey/portkey_basic_chat.py | 0 | check if environment variable is set and return its value. | STRING |
| HIGH | examples/chainlit/chat-search-rag.py | 0 | get docs/extracts relevant to the query, from vecdb | STRING |
| HIGH | examples/docqa/chat_search.py | 0 | get docs/extracts relevant to the query, from vecdb | STRING |
| HIGH | examples/docqa/chat-search-filter.py | 0 | get docs/extracts relevant to the query, from vecdb | STRING |
| HIGH | examples/chainlit/chat-search-rag.py | 0 | no extracts found! you can try doing a web search with the `relevant_search_extracts` tool/function-call. | STRING |
| HIGH | examples/docqa/chat_search.py | 0 | no extracts found! you can try doing a web search with the `relevant_search_extracts` tool/function-call. | STRING |
| HIGH | examples/docqa/chat-search-filter.py | 0 | no extracts found! you can try doing a web search with the `relevant_search_extracts` tool/function-call. | STRING |
| HIGH | examples/chainlit/chat-search-rag.py | 0 | get docs/extracts relevant to the query, from a web search | STRING |
| HIGH | examples/docqa/chat_search.py | 0 | get docs/extracts relevant to the query, from a web search | STRING |
| HIGH | examples/docqa/chat-search-filter.py | 0 | get docs/extracts relevant to the query, from a web search | STRING |
| 78 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ugins/langroid/skills/patterns/mcp-tool-integration.md | 32 | async def setup_agent_with_all_tools(): | CODE |
| LOW | tests/conftest.py | 83 | def pytest_runtest_makereport(item, call): | STRING |
| LOW | tests/conftest.py | 147 | def pytest_collection_modifyitems(config, items): | STRING |
| LOW | tests/main/test_qdrant_lock_release.py | 13 | def test_qdrant_explicit_close(): | CODE |
| LOW | tests/main/test_qdrant_lock_release.py | 43 | def test_qdrant_context_manager(): | CODE |
| LOW | tests/main/test_qdrant_lock_release.py | 67 | def test_qdrant_context_manager_with_exception(): | CODE |
| LOW | tests/main/test_qdrant_lock_release.py | 94 | def test_qdrant_multiple_sequential_operations(): | CODE |
| LOW | tests/main/test_qdrant_lock_release.py | 115 | def test_qdrant_no_close_creates_new_directory(): | CODE |
| LOW | tests/main/test_docx_parser.py | 40 | def test_markitdown_docx_parser(): | CODE |
| LOW | tests/main/test_string_search.py | 46 | def test_return_correct_number_of_matches( | STRING |
| LOW | tests/main/test_string_search.py | 65 | def test_find_match_with_surrounding_words( | STRING |
| LOW⚡ | tests/main/test_string_search.py | 93 | def test_preprocess_lowercase(): | STRING |
| LOW⚡ | tests/main/test_string_search.py | 98 | def test_preprocess_remove_punctuation(): | STRING |
| LOW⚡ | tests/main/test_string_search.py | 104 | def test_preprocess_remove_stopwords(): | STRING |
| LOW⚡ | tests/main/test_string_search.py | 113 | def test_preprocess_lemmatization(): | STRING |
| LOW | tests/main/test_doc_chat_relevance.py | 175 | def test_doc_chat_rerank_diversity(test_settings: Settings, vecdb): | CODE |
| LOW | tests/main/test_doc_chat_relevance.py | 213 | def test_doc_chat_rerank_periphery(test_settings: Settings, vecdb): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 56 | def test_to_chatdocument_user_string_is_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 62 | def test_agent_authored_string_not_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 68 | def test_agent_response_not_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 73 | def test_create_user_response_is_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 78 | def test_interactive_user_response_is_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 86 | def test_system_user_response_not_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 95 | def test_task_init_user_string_is_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 104 | def test_root_task_user_chatdocument_input_is_tainted(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 124 | def test_deepcopy_propagates_taint(): | CODE |
| LOW⚡ | tests/main/test_tool_origin_taint.py | 132 | def test_donepass_repackage_propagates_taint(): | CODE |
| LOW | tests/main/test_tool_origin_taint.py | 146 | def test_donepass_repackage_of_llm_message_not_tainted(): | CODE |
| LOW | tests/main/test_tool_origin_taint.py | 177 | def test_filter_vetoes_tainted_handoff(): | CODE |
| LOW | tests/main/test_tool_origin_taint.py | 187 | def test_tainted_handoff_does_not_dispatch_handle_only_tool(): | CODE |
| LOW | tests/main/test_multi_agent_complex_async.py | 40 | async def test_agents_with_recipient( | CODE |
| LOW | tests/main/test_md_parser.py | 74 | def test_parse_markdown_headings(sample_markdown, markdown_sections): | CODE |
| LOW | tests/main/test_md_parser.py | 141 | def test_no_headers_only_paragraphs(): | CODE |
| LOW | tests/main/test_md_parser.py | 152 | def test_headers_with_no_content(): | STRING |
| LOW | tests/main/test_md_parser.py | 167 | def test_header_with_inline_formatting(): | STRING |
| LOW | tests/main/test_md_parser.py | 176 | def test_lists_and_code_blocks(): | STRING |
| LOW | tests/main/test_md_parser.py | 201 | def test_multiple_same_level_headers(): | STRING |
| LOW | tests/main/test_md_parser.py | 216 | def test_header_skipping_levels(): | STRING |
| LOW⚡ | tests/main/test_md_parser.py | 385 | def test_chunking_word_set_consistency(rollup: bool): | STRING |
| LOW | tests/main/test_md_parser.py | 470 | def test_degenerate_markdown_parsing_and_chunking( | STRING |
| LOW | tests/main/test_md_parser.py | 625 | def test_recursive_chunk_enhanced(): | STRING |
| LOW⚡ | tests/main/test_tool_handler.py | 304 | def test_agent_response_with_chat_document(self): | CODE |
| LOW⚡ | tests/main/test_tool_handler.py | 340 | def test_agent_response_agent_only(self): | CODE |
| LOW⚡ | tests/main/test_tool_handler.py | 355 | def test_agent_response_chat_doc_only(self): | CODE |
| LOW⚡ | tests/main/test_tool_handler.py | 370 | def test_agent_response_class_annotations(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 208 | def test_handle_agent_chat_doc(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 220 | def test_handle_chat_doc_agent(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 230 | def test_handle_no_annotations(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 242 | def test_handle_no_annotations_agent(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 253 | def test_handle_no_annotations_both(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 265 | def test_handle_no_annotations_both_reversed(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 275 | def test_backward_compatibility(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 287 | def test_agent_response_with_tool_message(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 323 | def test_agent_response_no_annotations(self): | CODE |
| LOW | tests/main/test_tool_handler.py | 390 | def test_agent_response_class_annotations_reversed(self): | CODE |
| LOW | tests/main/test_concurrent_doc_chat_qdrant.py | 26 | def test_doc_chat_concurrent_local_qdrant(local_qdrant_config): | CODE |
| LOW | tests/main/test_task_inf_loop.py | 119 | def test_task_alternating_no_answer(): | CODE |
| LOW | tests/main/test_quiet_mode.py | 28 | def test_quiet_mode_with_exception(): | CODE |
| LOW | tests/main/test_parsing_citations.py | 19 | def test_invalid_markdown_citations(input_str: str, expected: list[str]) -> None: | CODE |
| LOW | tests/main/test_multi_agent.py | 185 | def test_multi_agent_directed(test_settings: Settings): | STRING |
| 538 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/main/test_md_parser.py | 325 | # Create a long text consisting of 200 repeated tokens ("word") | STRING |
| MEDIUM⚡ | tests/main/test_md_parser.py | 391 | # Define a header and content. | STRING |
| MEDIUM⚡ | tests/main/test_md_parser.py | 397 | # Create a sample Markdown document with a header and content. | STRING |
| MEDIUM⚡ | tests/main/test_tool_handler.py | 309 | # Create a tool message | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_handler.py | 312 | # Create a ChatDocument with the tool message | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_handler.py | 345 | # Create a tool message | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_handler.py | 360 | # Create a tool message | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_handler.py | 378 | # Create a tool message | COMMENT |
| MEDIUM | tests/main/test_tool_handler.py | 292 | # Create a tool message | COMMENT |
| MEDIUM | tests/main/test_tool_handler.py | 328 | # Create a tool message | COMMENT |
| MEDIUM | tests/main/test_tool_handler.py | 398 | # Create a tool message | COMMENT |
| MEDIUM | tests/main/test_task.py | 1009 | # Create a mock LLM that always responds with a tool in JSON format | COMMENT |
| MEDIUM | tests/main/test_task.py | 1079 | # Create an agent | COMMENT |
| MEDIUM | tests/main/test_llm.py | 631 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM⚡ | tests/main/test_llm.py | 677 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM⚡ | tests/main/test_llm.py | 683 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM | tests/main/test_chat_agent.py | 224 | # Create a FileAttachment from the PDF file | STRING |
| MEDIUM | tests/main/test_mcp_tools.py | 947 | # Create a mock server that returns image content | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 966 | # Create a mock agent | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 995 | # Create a mock CallToolResult with text and text resource | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 1041 | # Create a mock CallToolResult with text and blob resource | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 1169 | # Create a real MCP server | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 1181 | # Create a Tool with the problematic schema | COMMENT |
| MEDIUM | tests/main/test_mcp_tools.py | 1238 | # Create a real MCP server | COMMENT |
| MEDIUM | tests/main/test_openai_params_subclass.py | 39 | # Create an instance - note we can't pass custom fields to constructor | COMMENT |
| MEDIUM | tests/main/test_openai_params_subclass.py | 68 | # Create an instance with custom fields | COMMENT |
| MEDIUM | tests/main/test_tool_messages_async.py | 108 | # Define the range of values each variable can have | COMMENT |
| MEDIUM | tests/main/test_table_chat_agent.py | 36 | # Create a list of states | STRING |
| MEDIUM⚡ | tests/main/test_table_chat_agent.py | 166 | # Create a simple dataframe with data that needs cleaning | STRING |
| MEDIUM | tests/main/test_prep_llm_message.py | 31 | # Create a mock parser that counts tokens as characters for simplicity | COMMENT |
| MEDIUM | tests/main/test_prep_llm_message.py | 44 | # Create a mock LLM that returns a fixed context length | COMMENT |
| MEDIUM | tests/main/test_prep_llm_message.py | 135 | # Create a mock parser that counts tokens as characters for simplicity | COMMENT |
| MEDIUM | tests/main/test_prep_llm_message.py | 148 | # Create a mock LLM that returns a fixed context length | COMMENT |
| MEDIUM | tests/main/test_retriever_agent.py | 23 | # Create a list of states | COMMENT |
| MEDIUM | tests/main/test_stateless_tool_messages.py | 53 | # Define the range of values each variable can have | STRING |
| MEDIUM | tests/main/test_llm_async.py | 184 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM⚡ | tests/main/test_llm_async.py | 232 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM⚡ | tests/main/test_llm_async.py | 238 | # Create a FileAttachment from the PDF file | COMMENT |
| MEDIUM | tests/main/test_llm_async.py | 283 | # Create the LLM instance | STRING |
| MEDIUM | tests/main/test_task_optional_logger.py | 14 | # Create a simple mock agent | COMMENT |
| MEDIUM | tests/main/test_task_optional_logger.py | 46 | # Create a simple mock agent | COMMENT |
| MEDIUM⚡ | tests/main/test_task_optional_logger.py | 65 | # Create a simple mock agent | COMMENT |
| MEDIUM | tests/main/test_task_optional_logger.py | 77 | # Create a test message | COMMENT |
| MEDIUM | tests/main/test_task_tool.py | 56 | # Create main task that stops after handling the task_tool | STRING |
| MEDIUM | tests/main/test_task_tool.py | 186 | # Create a main agent with multiple tools available | STRING |
| MEDIUM | tests/main/test_task_tool.py | 276 | # Create a main agent that delegates with no tools | STRING |
| MEDIUM⚡ | tests/main/test_pydantic_utils.py | 21 | # Create an instance of TestModel with nested DetailsModel | COMMENT |
| MEDIUM | tests/main/test_html_logger.py | 40 | # Create a user message | COMMENT |
| MEDIUM | tests/main/test_tool_messages.py | 157 | # Define the range of values each variable can have | STRING |
| MEDIUM | tests/main/test_tool_messages.py | 2155 | # Create a ChatDocument containing ToolB (which only AgentB knows about) | COMMENT |
| MEDIUM | tests/main/test_file_tools.py | 164 | # Create a test file | STRING |
| MEDIUM | tests/main/test_global_settings.py | 127 | # Define a temporary override that forces quiet=True. | COMMENT |
| MEDIUM | tests/main/test_token_usage.py | 35 | # Define the configurations | COMMENT |
| MEDIUM | tests/main/sql_chat/test_sql_chat_agent.py | 56 | # Create an in-memory SQLite database | COMMENT |
| MEDIUM | tests/extras/test_csv_kg_chat.py | 14 | # Create a dummy DataFrame | COMMENT |
| MEDIUM | tests/extras/test_csv_kg_chat.py | 43 | # Create a mock PandasToKGTool object | COMMENT |
| MEDIUM | examples/langdb/langdb_chat_agent_tool.py | 72 | # Create a LangDB model configuration | STRING |
| MEDIUM | examples/langdb/langdb_custom_headers.py | 23 | # Create a LangDB model configuration | COMMENT |
| MEDIUM | examples/langdb/langdb_custom_headers.py | 34 | # Create the model | COMMENT |
| MEDIUM | examples/langdb/langdb_chat_agent_docs.py | 77 | # Create a LangDB model configuration | STRING |
| 53 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_openai_http_client.py | 16 | CODE | |
| LOW | tests/main/test_rich_file_logger.py | 1 | CODE | |
| LOW | examples/multi-agent-debate/chainlit_utils.py | 6 | CODE | |
| LOW | examples/basic/fn-call-local-simple.py | 28 | CODE | |
| LOW | examples/basic/planner-workflow-spawn.py | 31 | CODE | |
| LOW | examples/mcp/claude-code-mcp-single.py | 23 | CODE | |
| LOW | langroid/__init__.py | 5 | CODE | |
| LOW | langroid/__init__.py | 6 | CODE | |
| LOW | langroid/__init__.py | 8 | CODE | |
| LOW | langroid/__init__.py | 9 | CODE | |
| LOW | langroid/__init__.py | 10 | CODE | |
| LOW | langroid/__init__.py | 12 | CODE | |
| LOW | langroid/__init__.py | 13 | CODE | |
| LOW | langroid/__init__.py | 15 | CODE | |
| LOW | langroid/__init__.py | 16 | CODE | |
| LOW | langroid/__init__.py | 18 | CODE | |
| LOW | langroid/__init__.py | 18 | CODE | |
| LOW | langroid/__init__.py | 23 | CODE | |
| LOW | langroid/__init__.py | 23 | CODE | |
| LOW | langroid/__init__.py | 23 | CODE | |
| LOW | langroid/__init__.py | 29 | CODE | |
| LOW | langroid/__init__.py | 29 | CODE | |
| LOW | langroid/__init__.py | 29 | CODE | |
| LOW | langroid/__init__.py | 35 | CODE | |
| LOW | langroid/__init__.py | 39 | CODE | |
| LOW | langroid/__init__.py | 39 | CODE | |
| LOW | langroid/__init__.py | 44 | CODE | |
| LOW | langroid/__init__.py | 44 | CODE | |
| LOW | langroid/__init__.py | 47 | CODE | |
| LOW | langroid/__init__.py | 47 | CODE | |
| LOW | langroid/__init__.py | 47 | CODE | |
| LOW | langroid/__init__.py | 53 | CODE | |
| LOW | langroid/__init__.py | 54 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 1 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 2 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 3 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 5 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 5 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 9 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 20 | CODE | |
| LOW | langroid/embedding_models/__init__.py | 20 | CODE | |
| LOW | langroid/language_models/__init__.py | 1 | CODE | |
| LOW | langroid/language_models/__init__.py | 2 | CODE | |
| LOW | langroid/language_models/__init__.py | 3 | CODE | |
| LOW | langroid/language_models/__init__.py | 4 | CODE | |
| LOW | langroid/language_models/__init__.py | 5 | CODE | |
| LOW | langroid/language_models/__init__.py | 6 | CODE | |
| LOW | langroid/language_models/__init__.py | 8 | CODE | |
| LOW | langroid/language_models/__init__.py | 8 | CODE | |
| LOW | langroid/language_models/__init__.py | 8 | CODE | |
| LOW | langroid/language_models/__init__.py | 8 | CODE | |
| LOW | langroid/language_models/__init__.py | 8 | CODE | |
| 176 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/langroid/skills/patterns/run-batch-tasks.md | 160 | except Exception as e: | CODE |
| LOW | …groid/skills/patterns/agent-tool-handler-with-state.md | 67 | except Exception as e: | CODE |
| LOW | …groid/skills/patterns/agent-tool-handler-with-state.md | 127 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 190 | except Exception: | CODE |
| LOW | tests/main/test_quiet_mode.py | 35 | except Exception: | CODE |
| LOW | tests/main/test_concurrent_rag_simple.py | 281 | except Exception as e: | CODE |
| LOW | tests/main/test_concurrent_rag_simple.py | 289 | except Exception as e: | CODE |
| LOW | tests/main/test_arangodb_chat_agent.py | 30 | except Exception: | CODE |
| LOW | tests/main/test_arangodb_chat_agent.py | 150 | except Exception as e: | CODE |
| MEDIUM | tests/main/test_arangodb_chat_agent.py | 151 | print(f"Error inserting data: {e}") | CODE |
| LOW | tests/main/test_openai_http_client.py | 265 | except Exception as e: | CODE |
| LOW | tests/main/test_openai_http_client.py | 306 | except Exception as e: | CODE |
| LOW | tests/main/test_openai_http_client.py | 333 | except Exception as e: | CODE |
| LOW | tests/main/test_openai_http_client.py | 354 | except Exception: | CODE |
| LOW | tests/main/test_mcp_tools.py | 1122 | except Exception: | CODE |
| LOW | tests/main/test_mcp_tools.py | 838 | except Exception as e: | STRING |
| LOW | tests/main/test_web_search_tools.py | 78 | except Exception as e: | CODE |
| LOW | tests/main/test_vector_stores.py | 491 | except Exception as exc: | CODE |
| LOW | tests/main/test_openai_gpt_client_cache.py | 284 | except Exception as e: | CODE |
| LOW | tests/main/test_task_tool.py | 261 | except Exception: | STRING |
| LOW | tests/main/test_neo4j_chat_agent.py | 28 | except Exception: | CODE |
| LOW | tests/main/test_neo4j_chat_agent.py | 64 | except Exception as e: | CODE |
| LOW | tests/main/test_neo4j_chat_agent.py | 91 | except Exception as e: | CODE |
| LOW | tests/main/test_global_settings.py | 35 | except Exception as e: | CODE |
| LOW | tests/main/mcp/weather-server-python/weather.py | 22 | except Exception: | CODE |
| LOW | tests/main/mcp/weather-server-python/weather.py | 44 | except Exception: | CODE |
| LOW | docs/notes/portkey.md | 277 | except Exception: | CODE |
| LOW | examples/portkey/portkey_multi_provider.py | 81 | except Exception as e: | CODE |
| LOW | examples/portkey/portkey_multi_provider.py | 144 | except Exception as e: | CODE |
| LOW⚡ | examples/portkey/portkey_multi_provider.py | 174 | except Exception as e: | CODE |
| LOW⚡ | examples/portkey/portkey_multi_provider.py | 184 | except Exception as e: | CODE |
| LOW⚡ | examples/portkey/portkey_multi_provider.py | 194 | except Exception as e: | CODE |
| LOW | examples/portkey/portkey_advanced_features.py | 166 | except Exception as e: | CODE |
| LOW | examples/portkey/portkey_advanced_features.py | 203 | except Exception as e: | CODE |
| LOW | examples/portkey/portkey_basic_chat.py | 58 | except Exception as e: | CODE |
| LOW | examples/portkey/portkey_basic_chat.py | 105 | except Exception as e: | CODE |
| LOW | examples/chainlit/dependency_chatbot.py | 194 | except Exception as e: | STRING |
| MEDIUM⚡ | examples/docqa/crawl4ai_examples.py | 95 | print("Error: Failed to parse the extracted content as JSON.") | CODE |
| MEDIUM | examples/docqa/crawl4ai_examples.py | 281 | print(f"Error parsing LLM output JSON: {e}") | CODE |
| LOW | examples/multi-agent-debate/models.py | 65 | except Exception as e: | CODE |
| LOW | examples/multi-agent-debate/chainlit_utils.py | 173 | except Exception as e: | CODE |
| LOW⚡ | examples/basic/done_sequences_example.py | 47 | except Exception as e: | CODE |
| MEDIUM | examples/basic/done_sequences_example.py | 43 | def handle(self) -> str: | CODE |
| LOW | examples/basic/python-code-exec-tool.py | 47 | except Exception as e: | CODE |
| MEDIUM | examples/basic/python-code-exec-tool.py | 48 | print(f"Error: {str(e)}") | CODE |
| LOW | examples/basic/chat-persist.py | 103 | except Exception: | CODE |
| LOW | examples/mcp/claude-code-mcp-single.py | 102 | except Exception: | CODE |
| LOW | examples/kg-chat/dependency_chatbot.py | 202 | except Exception as e: | STRING |
| LOW | langroid/embedding_models/base.py | 35 | except Exception: | CODE |
| LOW | langroid/language_models/utils.py | 96 | except Exception as e: | CODE |
| LOW | langroid/language_models/utils.py | 178 | except Exception as e: | CODE |
| LOW | langroid/language_models/client_cache.py | 376 | except Exception: | CODE |
| LOW | langroid/language_models/openai_gpt.py | 408 | except Exception: | CODE |
| LOW | langroid/language_models/openai_gpt.py | 1352 | except Exception as e: | CODE |
| LOW | langroid/language_models/openai_gpt.py | 1431 | except Exception as e: | CODE |
| LOW⚡ | langroid/language_models/openai_gpt.py | 2104 | except Exception as e: | STRING |
| LOW | langroid/language_models/openai_gpt.py | 138 | except Exception as e: | STRING |
| LOW | langroid/language_models/openai_gpt.py | 1712 | except Exception as e: | STRING |
| LOW | langroid/language_models/openai_gpt.py | 1732 | except Exception as e: | STRING |
| LOW | langroid/language_models/openai_gpt.py | 1795 | except Exception as e: | STRING |
| 92 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/main/test_tool_origin_taint.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_origin_taint.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_origin_taint.py | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_tool_origin_taint.py | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/test_tool_origin_taint.py | 160 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/test_tool_origin_taint.py | 163 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/test_md_parser.py | 548 | # ---------------------------------------------------------------- | STRING |
| MEDIUM | tests/main/test_md_parser.py | 550 | # ---------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_handle_message_security.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/test_pandas_utils.py | 87 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/test_pandas_utils.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/test_minimax_provider.py | 25 | # ──────────────────────── Unit Tests ──────────────────────── | COMMENT |
| MEDIUM | tests/main/test_minimax_provider.py | 269 | # ──────────────────────── Integration Tests ──────────────────────── | COMMENT |
| MEDIUM⚡ | tests/main/sql_chat/test_sql_chat_security.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/sql_chat/test_sql_chat_security.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/sql_chat/test_sql_chat_security.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/main/sql_chat/test_sql_chat_security.py | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/sql_chat/test_sql_chat_security.py | 235 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/main/sql_chat/test_sql_chat_security.py | 238 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | langroid/agent/batch.py | 337 | # ---------------------------------------- | COMMENT |
| MEDIUM | langroid/agent/tools/mcp/fastmcp_client.py | 926 | # ============================================================================== | COMMENT |
| MEDIUM | langroid/agent/tools/mcp/fastmcp_client.py | 930 | # ============================================================================== | COMMENT |
| MEDIUM | langroid/parsing/md_parser.py | 210 | # ------------------------------------------------- | COMMENT |
| MEDIUM | langroid/parsing/md_parser.py | 212 | # ------------------------------------------------- | COMMENT |
| MEDIUM | langroid/parsing/md_parser.py | 282 | # ------------------------------------------------- | COMMENT |
| MEDIUM | langroid/parsing/md_parser.py | 284 | # ------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/multi-agent-debate/config.py | 51 | Creates an LLM (Language Learning Model) configuration based on the selected model. This function uses the use | STRING |
| HIGH | examples/multi-agent-debate/models.py | 35 | Load and validate system messages from a JSON file. Reads the JSON file containing system messages, maps each entry | STRING |
| HIGH | examples/multi-agent-debate/utils.py | 141 | Prompt the user to select a debate topic and sets up the respective side. This function handles the user interactio | STRING |
| HIGH | examples/multi-agent-debate/chainlit_utils.py | 254 | Prompt the user to select a debate topic and sets up the respective side. Args: system_messages (System | STRING |
| HIGH | examples/basic/drug-outcomes.py | 59 | Extracts an integer from a string that contains a number. Args: x (str): The input string containing t | STRING |
| HIGH | examples/data-qa/sql-chat/sql_chat.py | 55 | Create an empty descriptions JSON file for SQLAlchemy tables. This function inspects the database, generates a | STRING |
| HIGH | issues/issue-919-llamacpp-embeddings.md | 131 | Extract embedding vector from llama.cpp response. Handles multiple response formats: 1. Native /embedding: | STRING |
| HIGH | langroid/embedding_models/models.py | 486 | Extract embedding vector from llama.cpp response. Handles multiple response formats: 1. Native | STRING |
| HIGH | langroid/utils/system.py | 191 | Resolve ``user_path`` relative to ``base_dir`` and ensure the result stays within ``base_dir`` (a path-traversa | STRING |
| HIGH | langroid/utils/system.py | 263 | Read the contents of a file. Args: path (str): The path to the file to be read. line_numbers ( | STRING |
| HIGH | langroid/agent/xml_tool_message.py | 63 | Extracts field values from an XML-formatted string. Args: formatted_string (str): The XML- | STRING |
| HIGH | langroid/agent/done_sequence_parser.py | 22 | Parse a string pattern or return existing DoneSequence unchanged. Args: sequence: Either a DoneSequence obj | STRING |
| HIGH | langroid/agent/done_sequence_parser.py | 48 | Parse a string pattern into a list of AgentEvent objects. Pattern format: - Single letter codes: T, A, L, U | STRING |
| HIGH | langroid/agent/done_sequence_parser.py | 88 | Parse a single event token into an AgentEvent. Args: token: Single event token (e.g., "T", "T[calc]", "C[qu | STRING |
| HIGH | langroid/agent/special/neo4j/neo4j_chat_agent.py | 389 | Retrieves the schema of a Neo4j graph database. Args: msg (GraphSchemaTool): An instance o | STRING |
| HIGH | langroid/vector_store/lancedb.py | 144 | NOTE: NOT USED, but leaving it here as it may be useful. Create a subclass of LanceModel with fields: | STRING |
| HIGH | langroid/parsing/repo_loader.py | 212 | Get the file type of a file name. Args: name: name of file, can be "a", "a.b", or ".b" | STRING |
| HIGH | langroid/parsing/url_loader.py | 182 | Create a crawler instance based on configuration type. Args: config: Configuration for the crawler | STRING |
| HIGH | langroid/parsing/url_loader.py | 396 | Crawl the given URLs using Exa SDK. Args: urls: List of URLs to crawl Returns: | STRING |
| HIGH | langroid/parsing/table_loader.py | 8 | Reads tabular data from a file or URL and returns a pandas DataFrame. The separator is auto-detected if not spe | STRING |
| HIGH | langroid/parsing/urls.py | 20 | Fetch content from the given URL and save it to a temporary local file. Args: url (str): The URL of th | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/extras/test_doc_chat_agent_llamacpp.py | 129 | logger = logging.getLogger(__name__) | STRING |
| LOW | examples/chainlit/chat-search-rag.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/chainlit/chat-search.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/docqa/chat_search.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/multi-agent-debate/chainlit_utils.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/basic/multi-agent-medical.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/basic/chat-persist.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/basic/planner-workflow-spawn.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/basic/planner-workflow.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/basic/planner-workflow-simple.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/kg-chat/chat-arangodb.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/kg-chat/chat-arangodb-igvf.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/extract/pdf-json.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/extract/pdf-json-flex.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/extract/pdf-json-no-parse.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/data-qa/sql-chat/utils.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/data-qa/sql-chat/sql_chat.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/__init__.py | 56 | __all__ = [ | CODE |
| LOW | langroid/embedding_models/__init__.py | 26 | __all__ = [ | CODE |
| LOW | langroid/language_models/__init__.py | 30 | __all__ = [ | CODE |
| LOW | langroid/language_models/azure_openai.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/language_models/utils.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/language_models/model_info.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/language_models/base.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/language_models/prompt_formatter/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …d/language_models/prompt_formatter/llama2_formatter.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …groid/language_models/prompt_formatter/hf_formatter.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/language_models/prompt_formatter/base.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/configuration.py | 70 | def update_global_settings(cfg: BaseSettings, keys: List[str]) -> None: | CODE |
| LOW | langroid/utils/configuration.py | 85 | def set_global(key_vals: Settings) -> None: | CODE |
| LOW | langroid/utils/configuration.py | 131 | def set_env(settings_instance: BaseSettings) -> None: | CODE |
| LOW | langroid/utils/system.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/globals.py | 42 | def set_values(cls: Type[T], **kwargs: Dict[str, Any]) -> None: | CODE |
| LOW | langroid/utils/pydantic_utils.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/__init__.py | 10 | __all__ = [ | CODE |
| LOW | langroid/utils/types.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/git_utils.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/algorithms/__init__.py | 3 | __all__ = ["graph"] | CODE |
| LOW | langroid/utils/output/citations.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/utils/output/__init__.py | 12 | __all__ = [ | CODE |
| LOW | langroid/utils/output/status.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/agent/task.py | 64 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/agent/task.py | 534 | def _set_alive(self) -> None: | CODE |
| LOW | langroid/agent/task.py | 2267 | def set_color_log(self, enable: bool = True) -> None: | CODE |
| LOW | langroid/agent/task.py | 1407 | def _update_no_answer_vars(self, result: ChatDocument) -> None: | STRING |
| LOW | langroid/agent/__init__.py | 22 | __all__ = [ | CODE |
| LOW | langroid/agent/openai_assistant.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/agent/openai_assistant.py | 302 | def _update_messages_hash(self, msg: Message | LLMMessage) -> None: | CODE |
| LOW | langroid/agent/openai_assistant.py | 574 | def set_system_message(self, msg: str) -> None: | CODE |
| LOW | langroid/agent/base.py | 73 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/agent/base.py | 255 | def update_dialog(self, prompt: str, output: str) -> None: | CODE |
| LOW | langroid/agent/chat_agent.py | 63 | logger = logging.getLogger(__name__) | CODE |
| LOW | langroid/agent/chat_agent.py | 149 | def _set_fn_or_tools(self) -> None: | CODE |
| LOW | langroid/agent/chat_agent.py | 381 | def set_system_message(self, msg: str) -> None: | CODE |
| LOW | langroid/agent/chat_agent.py | 387 | def set_user_message(self, msg: str) -> None: | CODE |
| LOW | langroid/agent/chat_agent.py | 445 | def update_history(self, message: str, response: str) -> None: | CODE |
| LOW | langroid/agent/chat_agent.py | 593 | def update_last_message(self, message: str, role: str = Role.USER) -> None: | CODE |
| LOW⚡ | langroid/agent/chat_agent.py | 850 | def _update_tool_instructions(self) -> None: | STRING |
| LOW | langroid/agent/tools/__init__.py | 20 | __all__ = [ | CODE |
| 46 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_task_tool.py | 182 | CODE | |
| LOW | tests/main/test_tool_messages.py | 857 | CODE | |
| LOW | examples/docqa/crawl4ai_examples.py | 405 | CODE | |
| LOW | examples/docqa/chat_search.py | 107 | CODE | |
| LOW | examples/docqa/rag-concurrent.py | 132 | CODE | |
| LOW | …amples/basic/multi-agent-search-critic-no-orch/main.py | 56 | CODE | |
| LOW | …amples/basic/multi-agent-search-critic-no-orch/main.py | 93 | CODE | |
| LOW | examples/kg-chat/csv-chat.py | 48 | CODE | |
| LOW | langroid/embedding_models/remote_embeds.py | 71 | CODE | |
| LOW | langroid/embedding_models/remote_embeds.py | 84 | CODE | |
| LOW | langroid/embedding_models/models.py | 607 | CODE | |
| LOW | langroid/embedding_models/models.py | 118 | CODE | |
| LOW | langroid/embedding_models/models.py | 483 | CODE | |
| LOW | langroid/embedding_models/base.py | 40 | CODE | |
| LOW | langroid/language_models/client_cache.py | 360 | CODE | |
| LOW | langroid/language_models/base.py | 294 | CODE | |
| LOW | langroid/language_models/base.py | 419 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 421 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 974 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 1139 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 1293 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 2121 | CODE | |
| LOW | langroid/utils/logging.py | 200 | CODE | |
| LOW | langroid/utils/system.py | 218 | CODE | |
| LOW | langroid/utils/pydantic_utils.py | 104 | CODE | |
| LOW | langroid/utils/pydantic_utils.py | 165 | CODE | |
| LOW | langroid/utils/types.py | 13 | CODE | |
| LOW | langroid/utils/types.py | 75 | CODE | |
| LOW | langroid/utils/html_logger.py | 516 | CODE | |
| LOW | langroid/utils/git_utils.py | 42 | CODE | |
| LOW | langroid/utils/algorithms/graph.py | 11 | CODE | |
| LOW | langroid/utils/algorithms/graph.py | 53 | CODE | |
| LOW | langroid/utils/output/citations.py | 49 | CODE | |
| LOW | langroid/agent/task.py | 610 | CODE | |
| LOW | langroid/agent/task.py | 692 | CODE | |
| LOW | langroid/agent/task.py | 789 | CODE | |
| LOW | langroid/agent/task.py | 957 | CODE | |
| LOW | langroid/agent/task.py | 1754 | CODE | |
| LOW | langroid/agent/task.py | 2339 | CODE | |
| LOW | langroid/agent/task.py | 2386 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 62 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 190 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 342 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 390 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 91 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 203 | CODE | |
| LOW | langroid/agent/xml_tool_message.py | 353 | CODE | |
| LOW | langroid/agent/batch.py | 71 | CODE | |
| LOW | langroid/agent/batch.py | 184 | CODE | |
| LOW | langroid/agent/batch.py | 214 | CODE | |
| LOW | langroid/agent/chat_document.py | 253 | CODE | |
| LOW | langroid/agent/chat_document.py | 441 | CODE | |
| LOW | langroid/agent/tool_message.py | 35 | CODE | |
| LOW | langroid/agent/tool_message.py | 298 | CODE | |
| LOW | langroid/agent/done_sequence_parser.py | 85 | CODE | |
| LOW | langroid/agent/base.py | 264 | CODE | |
| LOW | langroid/agent/base.py | 325 | CODE | |
| LOW | langroid/agent/base.py | 766 | CODE | |
| LOW | langroid/agent/base.py | 1975 | CODE | |
| LOW | langroid/agent/base.py | 2034 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/main/test_vector_stores.py | 432 | # Test context window retrieval | COMMENT |
| MEDIUM | tests/main/test_vector_stores.py | 570 | # Test context window retrieval | COMMENT |
| MEDIUM | tests/main/test_vector_stores.py | 575 | # single window. The third Giraffe-match context window will not overlap with | COMMENT |
| MEDIUM | docs/FAQ.md | 309 | ## How can I improve `DocChatAgent` (RAG) latency? | STRING |
| MEDIUM | docs/blog/posts/langroid-lancedb.md | 134 | ## Retrieval Augmented Generation (RAG) and Vector Databases | STRING |
| MEDIUM | docs/blog/posts/multi-agent-debate.md | 60 | #### RAG Q&A Agent: | COMMENT |
| MEDIUM | docs/notes/chunking.md | 113 | # Configure context window | COMMENT |
| MEDIUM | docs/notes/llama-cpp-embeddings.md | 44 | dims=768, # Match the dimensions of your embedding model | CODE |
| MEDIUM | docs/examples/guide.md | 55 | ### Document-chat examples, or RAG (Retrieval Augmented Generation) | COMMENT |
| MEDIUM | docs/quick-start/two-agent-chat-num.md | 114 | ## Logs of multi-agent interactions | STRING |
| MEDIUM | docs/quick-start/chat-agent-tool.md | 83 | # Compiled to few-shot examples sent along with the tool instructions. | STRING |
| MEDIUM | docs/tutorials/langroid-tour.md | 125 | ## Chat with a document (RAG) | STRING |
| MEDIUM | examples/langdb/README.md | 16 | ### 1. LangDB Chat Agent with Document RAG (`langdb_chat_agent_docs.py`) | COMMENT |
| MEDIUM | examples/chainlit/.chainlit/config.toml | 65 | # Hide the chain of thought details from the user in the UI. | COMMENT |
| MEDIUM | examples/docqa/rag-local-simple.py | 60 | # using SentenceTransformers/BAAI/bge-large-en-v1.5 embedding model | COMMENT |
| MEDIUM | examples/docqa/chat.py | 128 | dims=768, # Change this to match the dimensions of your embedding model | CODE |
| MEDIUM | examples/docqa/chat-multi-extract-local.py | 245 | # (2) RAG AGENT: try to answer a given question based on documents | STRING |
| MEDIUM | examples/docqa/chat-multi-extract-local.py | 277 | # from the RAG agent | STRING |
| MEDIUM | examples/docqa/chat-multi-extract-local.py | 329 | # Questions -> Answers using RAG | STRING |
| MEDIUM | examples/basic/fn-call-local-numerical.py | 83 | # Used to provide few-shot examples in the system prompt | COMMENT |
| MEDIUM | examples/basic/fn-call-local-numerical.py | 207 | # and few-shot examples into the system message | STRING |
| MEDIUM | examples/basic/fn-call-local-simple.py | 73 | # Used to provide few-shot examples in the system prompt | COMMENT |
| MEDIUM | examples/basic/fn-call-local-simple.py | 138 | # and few-shot examples (specified in the tool defn above) into the system message | STRING |
| MEDIUM | examples/basic/1-agent-3-tools.py | 27 | # Examples that will be compiled into few-shot examples for the LLM. | COMMENT |
| MEDIUM | examples/basic/text-to-structured.py | 85 | # Used to provide few-shot examples in the system prompt | STRING |
| MEDIUM | examples/basic/text-to-structured.py | 133 | # and few-shot examples (specified in the tool defn above) into the system message | STRING |
| MEDIUM | examples/basic/1-agent-3-tools-address-user.py | 30 | # Examples that will be compiled into few-shot examples for the LLM. | COMMENT |
| MEDIUM | .chainlit/config.toml | 65 | # Hide the chain of thought details from the user in the UI. | COMMENT |
| MEDIUM | issues/issue-919-llamacpp-embeddings.md | 223 | dims=768, # Match your embedding model dimensions | CODE |
| MEDIUM | issues/issue-919-llamacpp-embeddings.md | 238 | # For dedicated embedding model (RECOMMENDED) | COMMENT |
| MEDIUM | issues/20251010-concurrent-rag-status.md | 1 | # Concurrent DocChat RAG – Current Status (2025-10-10) | COMMENT |
| MEDIUM | langroid/mytypes.py | 52 | window_ids: List[str] = [] # for RAG: ids of chunks around this one | CODE |
| MEDIUM | langroid/language_models/model_info.py | 163 | max_cot_tokens: int = 0 # max chain of thought (thinking) tokens where applicable | CODE |
| MEDIUM | langroid/agent/chat_document.py | 61 | # multi-agent handoff (a Task then relabels sender -> USER). Lets handle-only | COMMENT |
| MEDIUM | langroid/agent/base.py | 1364 | # across a multi-agent handoff), not raw user input -- safe to | STRING |
| MEDIUM | langroid/agent/base.py | 1651 | # check whether there are multiple orchestration-tools (e.g. DoneTool etc), | STRING |
| MEDIUM | langroid/agent/base.py | 1706 | # Cannot support multi-tool results containing orchestration strings! | STRING |
| MEDIUM | langroid/agent/base.py | 1752 | # agent's or, in multi-agent setups, another agent's), not by raw user | STRING |
| MEDIUM | langroid/agent/special/doc_chat_agent.py | 230 | rerank_after_adding_context: bool = True # rerank after adding context window? | STRING |
| MEDIUM | langroid/agent/special/doc_chat_agent.py | 1301 | # Do not add context window when there are other fields besides just | STRING |
| MEDIUM | langroid/agent/special/lance_rag/query_planner_agent.py | 195 | # since this Agent seeks feedback only after receiving RAG answer. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_task.py | 1118 | # Set caller to simulate subtask scenario | COMMENT |
| LOW | tests/main/test_openai_http_client.py | 14 | # Check if httpx is available | COMMENT |
| LOW | tests/main/test_git_utils.py | 92 | # Check if the file was actually committed | COMMENT |
| LOW | tests/main/test_task_optional_logger.py | 26 | # Check if loggers were created | COMMENT |
| LOW⚡ | tests/main/test_task_optional_logger.py | 58 | # Check if loggers were NOT created | COMMENT |
| LOW | tests/main/test_task_tool.py | 248 | # Check if current message is from TaskTool | STRING |
| LOW | tests/main/test_pdf_utils.py | 9 | # Check if the pages are split correctly | COMMENT |
| LOW⚡ | tests/main/test_file_tools.py | 71 | # Check if the file was created | STRING |
| LOW⚡ | tests/main/test_file_tools.py | 75 | # Check if the content was written correctly | STRING |
| LOW⚡ | tests/main/test_file_tools.py | 79 | # Check if the file was committed to the git repo | STRING |
| LOW | tests/main/test_file_tools.py | 118 | # Check if all files are in the repo | STRING |
| LOW | tests/main/test_file_tools.py | 213 | # Check if each line of content is in the result, ignoring line numbers | STRING |
| LOW | examples/chainlit/dependency_chatbot.py | 133 | # Check if node has been added before | STRING |
| LOW | examples/docqa/rag-concurrent.py | 377 | # Display results | COMMENT |
| LOW | examples/kg-chat/dependency_chatbot.py | 141 | # Check if node has been added before | STRING |
| LOW | langroid/embedding_models/models.py | 187 | # Check if using LangDB | COMMENT |
| LOW | langroid/embedding_models/models.py | 510 | # Check if it's [floats] | COMMENT |
| LOW | langroid/embedding_models/models.py | 534 | # Check if it's [floats] | COMMENT |
| LOW | langroid/embedding_models/models.py | 538 | # Check if it's [[floats]] | COMMENT |
| LOW | langroid/language_models/utils.py | 75 | # Increment retries | COMMENT |
| LOW | langroid/language_models/utils.py | 78 | # Check if max retries has been reached | COMMENT |
| LOW | langroid/language_models/utils.py | 158 | # Increment retries | COMMENT |
| LOW | langroid/language_models/utils.py | 161 | # Check if max retries has been reached | COMMENT |
| LOW | langroid/language_models/client_cache.py | 368 | # Check if close is a coroutine function (async) | COMMENT |
| LOW | langroid/utils/pydantic_utils.py | 461 | # Check if metadata_cols is empty | COMMENT |
| LOW | langroid/utils/git_utils.py | 103 | # Check if we're on the master branch | COMMENT |
| LOW | langroid/agent/task.py | 2009 | # Check if task should be done if message contains a tool | COMMENT |
| LOW | langroid/agent/xml_tool_message.py | 128 | # Check if this corresponds to a nested Pydantic model | COMMENT |
| LOW | langroid/agent/batch.py | 464 | # Check if the method is async | COMMENT |
| LOW | langroid/agent/chat_agent.py | 1184 | # Check if tool class was attached to the exception | STRING |
| LOW | langroid/agent/chat_agent.py | 2124 | # Check if callback accepts 'reasoning' param or **kwargs | STRING |
| LOW | langroid/agent/special/doc_chat_agent.py | 158 | # Check if module exists in sys.path | STRING |
| LOW | langroid/agent/special/table_chat_agent.py | 262 | # Return the result | STRING |
| LOW | langroid/agent/special/neo4j/neo4j_chat_agent.py | 259 | # Check if query contains database/collection creation patterns | STRING |
| LOW | langroid/agent/special/arangodb/arangodb_agent.py | 231 | # Check if any non-system collection has data | STRING |
| LOW | langroid/vector_store/weaviatedb.py | 292 | # Check if the name now meets the criteria | STRING |
| LOW | langroid/parsing/md_parser.py | 75 | # Check if we're toggling in/out of a fenced code block | COMMENT |
| LOW | langroid/parsing/md_parser.py | 95 | # Check if the line is a heading | COMMENT |
| LOW | langroid/parsing/md_parser.py | 369 | # Check if this is a header-only node. | COMMENT |
| LOW | langroid/parsing/md_parser.py | 437 | # Check if this is a header node (content matches last item in path) | COMMENT |
| LOW | langroid/parsing/md_parser.py | 471 | # Check if the node is "heading-only" and has children | COMMENT |
| LOW | langroid/parsing/md_parser.py | 494 | # Check if we can roll up everything (node + children) in a single chunk | COMMENT |
| LOW | langroid/parsing/urls.py | 77 | # Check if the user wants to exit the loop. | COMMENT |
| LOW | langroid/parsing/document_parser.py | 89 | # Check if the MIME type is not a text type | COMMENT |
| LOW | langroid/parsing/file_attachment.py | 112 | # Check if it's a URL | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/main/test_mcp_tools.py | 1831 | # Optional[int] (anyOf including null) -> Union[int, None] | COMMENT |
| HIGH | tests/main/test_json.py | 101 | ('{"key": null}', {"key": None}), | CODE |
| HIGH | tests/main/test_json.py | 120 | "null": null, | STRING |
| HIGH⚡ | tests/main/test_json.py | 184 | '{"key": undefined}', # JavaScript-style undefined (gets repaired) | CODE |
| HIGH⚡ | tests/main/test_json.py | 188 | '{"key": null, "key2": }', # Trailing comma with no value | CODE |
| HIGH | tests/extras/test_csv_kg_chat.py | 64 | assert nodes_query_df.equals(df) | CODE |
| HIGH | langroid/utils/html_logger.py | 434 | if (savedState !== null) {{ | CODE |
| HIGH | langroid/utils/html_logger.py | 453 | if (contentElement && toggleElement) {{ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_md_parser.py | 681 | COMMENT | |
| LOW | tests/main/test_task_lineage_rewind.py | 161 | COMMENT | |
| LOW | tests/main/test_task_lineage_rewind.py | 321 | ) | COMMENT |
| LOW | tests/main/test_tool_messages.py | 1481 | # Strict fallback disables the default arguments, but the LLM | COMMENT |
| LOW | tests/main/test_pandas_utils.py | 81 | def test_block(expr, msg): | COMMENT |
| LOW | examples/portkey/requirements.txt | 1 | # Requirements for Portkey examples | COMMENT |
| LOW | examples/chainlit/.chainlit/config.toml | 61 | COMMENT | |
| LOW | examples/chainlit/.chainlit/config.toml | 81 | COMMENT | |
| LOW | examples/docqa/rag-local-simple.py | 41 | ) | COMMENT |
| LOW | examples/summarize/summ.py | 41 | # Create the llm config object. | COMMENT |
| LOW | examples/basic/chat-local.py | 21 | # Notes: | COMMENT |
| LOW | examples/basic/fn-call-local-simple.py | 101 | timeout=45, | COMMENT |
| LOW | examples/kg-chat/chat-arangodb.py | 181 | COMMENT | |
| LOW | examples/kg-chat/chat-arangodb-igvf.py | 141 | # You can have this in a loop with the user, like so: | COMMENT |
| LOW | scripts/fix-pydantic-imports.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/workflows/pytest.yml | 141 | # - name: Restore uv cache | COMMENT |
| LOW | .github/workflows/pytest-subset.yml | 1 | name: Pytest subset (manual) | COMMENT |
| LOW | .chainlit/config.toml | 61 | COMMENT | |
| LOW | .chainlit/config.toml | 81 | COMMENT | |
| LOW | langroid/language_models/openai_gpt.py | 481 | # set the actual model name by stripping the "litellm/" prefix | COMMENT |
| LOW | langroid/language_models/openai_gpt.py | 2081 | result = completion_call(**kwargs) | COMMENT |
| LOW | langroid/agent/task.py | 1161 | COMMENT | |
| LOW | langroid/agent/chat_document.py | 61 | # multi-agent handoff (a Task then relabels sender -> USER). Lets handle-only | COMMENT |
| LOW | langroid/agent/chat_document.py | 81 | cached: bool = False | COMMENT |
| LOW | langroid/agent/tool_message.py | 101 | id: str = "" # placeholder for OpenAI-API tool_call_id | COMMENT |
| LOW | langroid/agent/base.py | 821 | ) | COMMENT |
| LOW | langroid/agent/base.py | 901 | source=e, | COMMENT |
| LOW | langroid/agent/base.py | 1741 | return str(xe) | COMMENT |
| LOW | langroid/agent/base.py | 1881 | try: | COMMENT |
| LOW | langroid/agent/special/doc_chat_agent.py | 201 | # and those will already be in stand-alone form, so in this mode | COMMENT |
| LOW | langroid/agent/special/doc_chat_agent.py | 1441 | COMMENT | |
| LOW | langroid/agent/special/sql/sql_chat_agent.py | 121 | # query text (case-insensitive) as a defense-in-depth layer in addition to the | COMMENT |
| LOW | langroid/agent/special/sql/sql_chat_agent.py | 241 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_mcp_tools.py | 411 | recipient__="John Doe", | CODE |
| LOW | tests/main/test_mcp_tools.py | 418 | assert msg.recipient__ == "John Doe" | CODE |
| LOW⚡ | tests/main/test_neo4j_chat_agent.py | 170 | CREATE (p:Person {name: 'John Doe', age: 30}) | CODE |
| LOW⚡ | tests/main/test_neo4j_chat_agent.py | 176 | MATCH (p:Person {name: 'John Doe'}) | CODE |
| LOW⚡ | tests/main/test_neo4j_chat_agent.py | 183 | MATCH (p:Person {name: 'John Doe'}) | CODE |
| LOW⚡ | tests/main/test_pydantic_utils.py | 23 | name="John Doe", age=30, details=DetailsModel(height=180.5, weight=75.0) | CODE |
| LOW⚡ | tests/main/test_pydantic_utils.py | 28 | assert result == {"name": "John Doe"} | CODE |
| LOW⚡ | tests/main/test_pydantic_utils.py | 32 | assert result == {"name": "John Doe", "age": 30, "weight": 75.0} | CODE |
| LOW⚡ | tests/main/test_object_registry.py | 102 | ObjectRegistry.registry["dummy_id"] = None | CODE |
| LOW⚡ | tests/main/test_object_registry.py | 103 | # Ensure "dummy_id" is in the registry before cleanup | COMMENT |
| LOW⚡ | tests/main/test_object_registry.py | 104 | assert "dummy_id" in ObjectRegistry.registry | CODE |
| LOW⚡ | tests/main/test_object_registry.py | 107 | # "dummy_id" should be removed post cleanup | COMMENT |
| LOW⚡ | tests/main/test_object_registry.py | 108 | assert "dummy_id" not in ObjectRegistry.registry | CODE |
| LOW⚡ | tests/main/test_xml_tool_message.py | 361 | name="John Doe", | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 364 | street="123 Main St", city="Anytown", country="USA" | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 371 | name="Jane Doe", | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 402 | name="Jane Doe", | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 410 | name="John Doe", | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 412 | address=Address(street="123 Main St", city="Anytown", country="USA"), | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 491 | assert parsed.person.name == "John Doe" | STRING |
| LOW⚡ | tests/main/test_xml_tool_message.py | 494 | assert parsed.person.address.street == "123 Main St" | STRING |
| LOW | tests/main/test_xml_tool_message.py | 562 | name="Jane Doe", | STRING |
| LOW | examples/chainlit/.chainlit/translations/pt-BR.json | 53 | "placeholder": "Digite sua mensagem aqui..." | CODE |
| LOW | examples/chainlit/.chainlit/translations/en-US.json | 53 | "placeholder": "Ask, respond, give feedback, or just 'c' for continue..." | CODE |
| LOW | .chainlit/translations/pt-BR.json | 53 | "placeholder": "Digite sua mensagem aqui..." | CODE |
| LOW | .chainlit/translations/en-US.json | 53 | "placeholder": "Ask, respond, give feedback, or just 'c' for continue..." | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_table_chat_agent.py | 60 | CODE | |
| LOW | tests/main/test_seltz_search.py | 30 | CODE | |
| LOW | examples/chainlit/multi-agent-nested-tool.py | 47 | CODE | |
| LOW | …mples/chainlit/non-callback/chat-search-no-callback.py | 31 | CODE | |
| LOW | …mples/chainlit/non-callback/chat-search-no-callback.py | 38 | CODE | |
| LOW | examples/chainlit/non-callback/chat-tool-no-callback.py | 38 | CODE | |
| LOW | examples/docqa/chat.py | 53 | CODE | |
| LOW | examples/docqa/rag-concurrent.py | 132 | CODE | |
| LOW | examples/docqa/doc-chunk-enrich.py | 263 | CODE | |
| LOW | examples/basic/fn-call-local-numerical.py | 106 | CODE | |
| LOW | …amples/basic/multi-agent-search-critic/search_agent.py | 130 | CODE | |
| LOW | …asic/multi-agent-search-critic-no-orch/search_agent.py | 130 | CODE | |
| LOW | langroid/embedding_models/protoc/embeddings_pb2_grpc.py | 53 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 974 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 1139 | CODE | |
| LOW | langroid/language_models/openai_gpt.py | 1582 | CODE | |
| LOW | langroid/agent/task.py | 209 | CODE | |
| LOW | langroid/agent/task.py | 789 | CODE | |
| LOW | langroid/agent/task.py | 957 | CODE | |
| LOW | langroid/agent/task.py | 1539 | CODE | |
| LOW | langroid/agent/batch.py | 268 | CODE | |
| LOW | langroid/agent/batch.py | 367 | CODE | |
| LOW | langroid/agent/batch.py | 484 | CODE | |
| LOW | langroid/agent/base.py | 618 | CODE | |
| LOW | langroid/agent/base.py | 876 | CODE | |
| LOW | langroid/agent/base.py | 929 | CODE | |
| LOW | langroid/agent/base.py | 1122 | CODE | |
| LOW | langroid/agent/tools/task_tool.py | 218 | CODE | |
| LOW | langroid/agent/tools/task_tool.py | 255 | CODE | |
| LOW | langroid/agent/tools/mcp/fastmcp_client.py | 85 | CODE | |
| LOW | langroid/agent/special/relevance_extractor_agent.py | 87 | CODE | |
| LOW | langroid/agent/special/relevance_extractor_agent.py | 118 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/blog/posts/malade.md | 111 | ### Step 2: Identifying Drug-Outcome Associations (`DrugOutcomeInfoAgent`) | COMMENT |
| LOW | docs/blog/posts/malade.md | 129 | ### Step 3: Labeling Drug Category-Outcome Associations (`CategoryOutcomeRiskAgent`) | COMMENT |
| LOW⚡ | docs/notes/portkey.md | 433 | # Step 1: Basic Portkey | COMMENT |
| LOW⚡ | docs/notes/portkey.md | 438 | # Step 2: Add caching | COMMENT |
| LOW⚡ | docs/notes/portkey.md | 446 | # Step 3: Add observability | COMMENT |
| LOW⚡ | issues/html-logger-implementation.md | 43 | #### Step 1: Create HTML Logger Foundation | COMMENT |
| LOW⚡ | issues/html-logger-implementation.md | 48 | #### Step 2: Integrate with Task System | COMMENT |
| LOW⚡ | issues/html-logger-implementation.md | 53 | #### Step 3: Implement HTML Generation | COMMENT |
| LOW⚡ | issues/html-logger-implementation.md | 58 | #### Step 4: Add JavaScript Functionality | COMMENT |
| LOW⚡ | langroid/parsing/url_loader.py | 490 | # Step 1: Separate URLs into documents and web pages | COMMENT |
| LOW⚡ | langroid/parsing/url_loader.py | 498 | # Step 2: Process web page URLs asynchronously | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/main/test_doc_chat_agent.py | 277 | # to just use ChatAgent's LLM response - this ensures that the system msg | STRING |
| MEDIUM | tests/main/test_mcp_tools.py | 736 | # Add timeout and robust skipping similar to npx test | STRING |
| LOW⚡ | tests/main/test_json.py | 179 | # Test cases that should not crash, just return "" | COMMENT |
| LOW⚡ | tests/main/test_json.py | 193 | # Should never crash, just return empty string or found value | COMMENT |
| LOW | tests/extras/test_doc_chat_agent_llamacpp.py | 335 | # to just use ChatAgent's LLM response - this ensures that the system msg | STRING |
| MEDIUM | examples/docqa/rag-concurrent.py | 34 | # Use Langroid's built-in run_batch_tasks harness instead of the custom one | STRING |
| LOW | examples/basic/schedule-extract.py | 112 | # from the input text. For this example, we'll just return a placeholder. | STRING |
| LOW | langroid/mytypes.py | 96 | # If parsing fails, just use the original date | COMMENT |
| LOW | langroid/language_models/openai_gpt.py | 495 | # so we can just use `openai.*` methods directly, | STRING |
| LOW | langroid/agent/chat_agent.py | 691 | # Otherwise just return `no_tool_option` as is: | COMMENT |
| LOW | langroid/agent/tools/mcp/fastmcp_client.py | 660 | # Otherwise, just return the text content | COMMENT |
| LOW | langroid/agent/special/doc_chat_agent.py | 728 | # no filter, so just use the docs passed in | STRING |
| LOW | langroid/agent/special/doc_chat_agent.py | 1642 | # no relevance extraction: simply return passages | STRING |
| LOW | langroid/parsing/utils.py | 189 | # just add them to the last sentence and break | COMMENT |
| LOW | langroid/parsing/md_parser.py | 316 | # we just add it anyway to avoid creating a tiny final chunk. | COMMENT |
| LOW | langroid/parsing/md_parser.py | 546 | # Pure text, no hierarchy, so just use recursive_chunk | COMMENT |
| LOW | langroid/parsing/urls.py | 156 | # no need to crawl, just return the original list | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/chainlit/dependency_chatbot.py | 232 | DON'T forget to include the package name in your questions. | CODE |
| MEDIUM | examples/docqa/rag-local-simple.py | 44 | # Once this works, then you can try the DocChatAgent | COMMENT |
| MEDIUM | examples/summarize/summ-batch.py | 56 | # Once this works, then you can try the DocChatAgent | COMMENT |
| MEDIUM | examples/summarize/summ.py | 54 | # Once this works, then you can try the DocChatAgent | COMMENT |
| MEDIUM | examples/basic/fn-call-local-numerical.py | 152 | # Once this works, then you can try the rest of the example. | STRING |
| MEDIUM | examples/basic/fn-call-local-simple.py | 105 | # Once this works, then you can try the rest of the example. | COMMENT |
| LOW | examples/kg-chat/dependency_chatbot.py | 255 | DON'T forget to include the package name in your questions. | CODE |
| LOW | langroid/agent/xml_tool_message.py | 336 | Make sure to replace the placeholders with actual values | CODE |
| MEDIUM | langroid/parsing/md_parser.py | 566 | # (you can adjust chunk_size, overlap_tokens, variation_percent) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/notes/weaviate.md | 28 | WEAVIATE_API_KEY=<your_api_key> | CODE |
| HIGH | docs/notes/tavily_search.md | 22 | TAVILY_API_KEY=<your_api_key> | CODE |
| HIGH | docs/notes/seltz_search.md | 22 | SELTZ_API_KEY=<your_api_key> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | langroid/language_models/base.py | 168 | Represents a single tool call in a list of tool calls generated by OpenAI LLM API. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | langroid/parsing/url_loader.py | 490 | # Step 1: Separate URLs into documents and web pages | COMMENT |
| LOW⚡ | langroid/parsing/url_loader.py | 498 | # Step 2: Process web page URLs asynchronously | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | langroid/parsing/md_parser.py | 557 | # Example usage: | COMMENT |
| LOW | langroid/parsing/urls.py | 277 | # Example usage | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | langroid/embedding_models/models.py | 43 | # TODO: Add auth support for Azure OpenAI via AzureADTokenProvider | COMMENT |