Repository Analysis

andrewyng/aisuite

Simple, unified interface to multiple Generative AI providers

20.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of andrewyng/aisuite, a Python project with 14,928 GitHub stars. SynthScan v2.0 examined 116,781 lines of code across 594 source files, recording 1930 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 20.5 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).

20.5
Adjusted Score
20.5
Raw Score
100%
Time Factor
2026-07-13
Last Push
14.9K
Stars
Python
Language
116.8K
Lines of Code
594
Files
1.9K
Pattern Hits
2026-07-14
Scan Date
0.15
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

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.

CRITICAL 2HIGH 85MEDIUM 30LOW 1813

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1930 distinct pattern matches across 20 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.

Hyper-Verbose Identifiers1043 hits · 1079 pts
SeverityFileLineSnippetContext
LOWaisuite/client.py209 def _extract_thinking_content(self, response):CODE
LOWaisuite/client.py280 def _finalize_runner_response(CODE
LOWaisuite/tracing/viewer.py546def prepare_viewer_run_summaries(runs: list[dict[str, Any]]) -> list[dict[str, Any]]:STRING
LOWaisuite/providers/huggingface_provider.py239 def _parse_huggingface_response(CODE
LOWaisuite/providers/anthropic_provider.py73 def _create_tool_result_message(self, tool_call_id, content):CODE
LOWaisuite/providers/anthropic_provider.py86 def _create_assistant_tool_message(self, content, tool_calls):CODE
LOWaisuite/providers/anthropic_provider.py164 def convert_response_with_tool_use(self, response):CODE
LOWaisuite/providers/google_provider.py38 def convert_user_role_message(message: Dict[str, Any]) -> Content:CODE
LOWaisuite/providers/google_provider.py44 def convert_assistant_role_message(message: Dict[str, Any]) -> Content:CODE
LOWaisuite/providers/google_provider.py73 def convert_tool_role_message(message: Dict[str, Any]) -> Part:CODE
LOWaisuite/providers/google_provider.py462 def _build_recognition_config(CODE
LOWaisuite/providers/google_provider.py489 def _create_streaming_requests(CODE
LOWaisuite/providers/aws_provider.py80 def convert_response_tool_call(CODE
LOWaisuite/agents/postgres_state_store.py543def _state_payload_without_messages(state: RunState) -> dict[str, Any]:CODE
LOWaisuite/agents/postgres_state_store.py585def _replace_ordered_subsequence(CODE
LOWaisuite/agents/postgres_state_store.py598def _shared_message_prefix_length(CODE
LOWaisuite/agents/utils.py70def extract_response_messages(CODE
LOWaisuite/agents/artifacts.py86def collect_artifactized_fields(value: Any) -> list[dict[str, Any]]:CODE
LOWaisuite/agents/artifacts.py208def _collect_artifactized_fields(value: Any, refs: list[dict[str, Any]]) -> None:CODE
LOWaisuite/toolkits/shell.py123 def _validate_no_shell_syntax(self, command: str) -> None:CODE
LOWaisuite/toolkits/shell.py141 def _looks_like_shell_operator(self, token: str) -> bool:CODE
LOWaisuite/utils/tools.py75 def _artifactized_trace_value(self, value: Any) -> tuple[Any, list[dict[str, Any]]]:CODE
LOWaisuite/utils/tools.py150 def _resolve_local_json_schema_ref(ref: str, definitions: Dict[str, Any]):CODE
LOWaisuite/utils/tools.py157 def _flatten_nullable_json_schema(schema: Dict[str, Any]) -> Dict[str, Any]:CODE
LOWaisuite/utils/tools.py199 def __extract_param_descriptions(self, func: Callable) -> dict[str, str]:CODE
LOWaisuite/utils/tools.py217 def _convert_mcp_schema_to_tool_spec(self, func: Callable) -> Dict[str, Any]:CODE
LOWaisuite/utils/tools.py238 def _create_pydantic_model_from_mcp_schema(self, func: Callable) -> Type[BaseModel]:CODE
LOWaisuite/utils/tools.py323 def __convert_to_openai_format(self) -> list:CODE
LOWaisuite/mcp/schema_converter.py12def json_schema_to_python_type(schema: Dict[str, Any]) -> type:CODE
LOWaisuite/mcp/schema_converter.py60def mcp_schema_to_annotations(input_schema: Dict[str, Any]) -> Dict[str, type]:CODE
LOWaisuite/mcp/schema_converter.py107def create_function_signature(CODE
LOWaisuite/mcp/schema_converter.py158def extract_parameter_descriptions(input_schema: Dict[str, Any]) -> Dict[str, str]:CODE
LOWplatform/tests/test_hubspot_portals.py48def test_legacy_private_app_default_migrates_to_one_portal(secrets):CODE
LOWplatform/tests/test_hubspot_portals.py60def test_managed_portals_list_with_access_and_sandbox(secrets):CODE
LOWplatform/tests/test_hubspot_portals.py75def test_default_repoints_on_disconnect(secrets):CODE
LOWplatform/tests/test_hubspot_portals.py107def test_tools_pick_the_requested_portal_by_id_or_name(secrets, monkeypatch):CODE
LOWplatform/tests/test_hubspot_portals.py126def test_hidden_fields_stripped_from_search_and_get(secrets, monkeypatch):CODE
LOWplatform/tests/test_hubspot_portals.py157def test_no_delete_tool_exists(secrets):CODE
LOWplatform/tests/test_hubspot_portals.py167def test_write_tools_carry_portal_and_no_stripping_needed(secrets, monkeypatch):CODE
LOWplatform/tests/test_hubspot_portals.py191def test_managed_callback_lands_in_portal_profile(client):CODE
LOWplatform/tests/test_hubspot_portals.py219def test_portal_routes_default_and_disconnect(client, monkeypatch):CODE
LOWplatform/tests/test_web_search.py40def test_tool_returns_results():CODE
LOWplatform/tests/test_web_search.py52def test_tool_clamps_max_results():CODE
LOWplatform/tests/test_web_search.py60def test_tool_reports_search_errors():CODE
LOWplatform/tests/test_web_search.py71def test_build_provider_default_is_keyless_duckduckgo():CODE
LOWplatform/tests/test_web_search.py77def test_build_provider_third_party_requires_key():CODE
LOWplatform/tests/test_web_search.py84def test_tool_surfaces_missing_key_error(tmp_path):CODE
LOWplatform/tests/test_web_search.py93def test_resolve_provider_from_secretstore(tmp_path):CODE
LOWplatform/tests/test_web_search.py128def test_engine_registers_web_search(tmp_path):CODE
LOWplatform/tests/test_automation_create.py19def test_create_automation_success(tmp_path, monkeypatch):CODE
LOWplatform/tests/test_automation_create.py39def test_create_automation_invalid_cron(tmp_path, monkeypatch):CODE
LOWplatform/tests/test_automation_create.py53def test_create_automation_missing_instructions(tmp_path, monkeypatch):CODE
LOWplatform/tests/test_automation_create.py67def test_create_automation_requires_schedule(tmp_path, monkeypatch):CODE
LOWplatform/tests/test_connectors_allowlist.py40def test_connectors_carry_allowlist_and_recent(tmp_path):CODE
LOWplatform/tests/test_connectors_allowlist.py59def test_allow_then_disallow_mutates_list(tmp_path):CODE
LOWplatform/tests/test_connectors_allowlist.py72def test_recent_absent_when_no_gateway(tmp_path):CODE
LOWplatform/tests/test_engine.py92def test_tool_turn_order_and_execution(tmp_path):CODE
LOWplatform/tests/test_engine.py117def test_write_requires_approval_then_approved(tmp_path):CODE
LOWplatform/tests/test_engine.py134def test_denied_tool_yields_error_and_continues(tmp_path):CODE
LOWplatform/tests/test_engine.py168def test_interrupt_between_iterations(tmp_path):CODE
983 more matches not shown…
Unused Imports449 hits · 424 pts
SeverityFileLineSnippetContext
LOWaisuite/provider.py5CODE
LOWaisuite/client.py2CODE
LOWaisuite/__init__.py1CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py2CODE
LOWaisuite/__init__.py32CODE
LOWaisuite/__init__.py33CODE
LOWaisuite/__init__.py34CODE
LOWaisuite/__init__.py35CODE
LOWaisuite/tracing/store.py1CODE
LOWaisuite/tracing/viewer.py1CODE
LOWaisuite/tracing/normalize.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py1CODE
LOWaisuite/tracing/__init__.py12CODE
LOWaisuite/tracing/__init__.py12CODE
LOWaisuite/tracing/__init__.py12CODE
LOWaisuite/tracing/__init__.py13CODE
LOWaisuite/tracing/__init__.py13CODE
LOWaisuite/tracing/__init__.py13CODE
LOWaisuite/tracing/sinks.py1CODE
LOWaisuite/framework/__init__.py1CODE
LOWaisuite/framework/__init__.py2CODE
LOWaisuite/framework/__init__.py3CODE
LOWaisuite/framework/parameter_mapper.py6CODE
LOWaisuite/framework/parameter_mapper.py9CODE
LOWaisuite/providers/azure_provider.py7CODE
389 more matches not shown…
Cross-Language Confusion43 hits · 235 pts
SeverityFileLineSnippetContext
HIGHaisuite/tracing/viewer.py128 if (value === null || value === undefined) return "";CODE
HIGHaisuite/tracing/viewer.py128 if (value === null || value === undefined) return "";CODE
HIGHaisuite/tracing/viewer.py130 return JSON.stringify(value, null, 2);CODE
HIGHaisuite/tracing/viewer.py189 if (event.agent_name || run.agent_name) bits.push(event.agent_name || run.agent_name);CODE
HIGHaisuite/tracing/viewer.py189 if (event.agent_name || run.agent_name) bits.push(event.agent_name || run.agent_name);CODE
HIGHaisuite/tracing/viewer.py190 if (event.run_name) bits.push(event.run_name);CODE
HIGHaisuite/tracing/viewer.py191 if (data.message_count !== undefined) bits.push(`${data.message_count} messages`);CODE
HIGHaisuite/tracing/viewer.py191 if (data.message_count !== undefined) bits.push(`${data.message_count} messages`);CODE
HIGHaisuite/tracing/viewer.py196 return (run.display && run.display.latest_activity) || "";CODE
HIGHaisuite/tracing/viewer.py200 if (!message || message.content === undefined) return displayValue(message);CODE
HIGHaisuite/tracing/viewer.py200 if (!message || message.content === undefined) return displayValue(message);CODE
HIGHaisuite/tracing/viewer.py268 if (!value || typeof value !== "object") return "";CODE
HIGHaisuite/tracing/viewer.py276 if (result && typeof result === "object" && ("command" in result || "exit_code" in result || "stdout" in result ||CODE
HIGHaisuite/tracing/viewer.py285 if (result && typeof result === "object" && ("path" in result || "content" in result)) {CODE
HIGHaisuite/tracing/viewer.py343 if (data.allowed !== undefined) bits.push(`allowed=${data.allowed}`);CODE
HIGHaisuite/tracing/viewer.py343 if (data.allowed !== undefined) bits.push(`allowed=${data.allowed}`);CODE
HIGHaisuite/tracing/viewer.py344 if (data.status) bits.push(`status=${data.status}`);CODE
HIGHaisuite/tracing/viewer.py345 if (data.reason) bits.push(`reason=${data.reason}`);CODE
HIGHaisuite/tracing/viewer.py346 if (data.arguments) bits.push(`args=${compactValue(data.arguments)}`);CODE
HIGHaisuite/tracing/viewer.py347 if (data.result_preview) bits.push(`result=${compactValue(data.result_preview)}`);CODE
HIGHaisuite/tracing/viewer.py354 const detail = event.data ? JSON.stringify(event.data, null, 2) : "";CODE
HIGHaisuite/tracing/viewer.py116 let selectedTraceId = null;CODE
HIGHaisuite/tracing/viewer.py165 const name = data.tool_name || event.name || event.agent_name || run.agent_name || "";CODE
HIGHaisuite/tracing/viewer.py235 const title = display.title || run.run_name || run.trace_id || "run";CODE
HIGHaisuite/tracing/viewer.py241 <div class="meta">${escapeHtml(display.subtitle || run.agent_name || "")}</div>CODE
HIGHaisuite/tracing/viewer.py303 <div class="timeline-title">${escapeHtml(item.title || item.event_type)}</div>CODE
HIGHaisuite/tracing/viewer.py310 <details><summary>Details</summary><pre>${escapeHtml(JSON.stringify(item.raw || {}, null, 2))}</pre></details>CODE
HIGHaisuite/tracing/viewer.py365 const finalOutput = run.final_output === undefined || run.final_output === nullCODE
HIGHaisuite/tracing/viewer.py373 <div class="title">${escapeHtml(display.title || run.run_name || run.trace_id)}</div>CODE
HIGHaisuite/tracing/viewer.py412 <div class="tab-panel${active("raw")}"><pre>${escapeHtml(JSON.stringify(run, null, 2))}</pre></div>CODE
HIGHaisuite/tracing/viewer.py428 if (!selectedTraceId && runs.length) selectedTraceId = runs[0].trace_id;CODE
HIGHaisuite/agents/postgres_state_store.py21 revision bigint not null,STRING
HIGHaisuite/agents/postgres_state_store.py30 thread_id text not null,STRING
HIGHaisuite/agents/postgres_state_store.py32 message jsonb not null,STRING
HIGHaisuite/agents/postgres_state_store.py44 thread_id text not null,STRING
HIGHaisuite/agents/postgres_state_store.py45 source_message_ids text[] not null,STRING
HIGHaisuite/agents/postgres_state_store.py46 summary_message_id text not null,STRING
HIGHaisuite/agents/postgres_state_store.py47 summary_text text not null,STRING
HIGHaisuite/mcp/tool_wrapper.py124 # (e.g., a tool expecting number won't accept null, it wants the param omitted)COMMENT
HIGHplatform/coworker/connectors/browser_automation.py270 return style && style.visibility !== 'hidden' && style.display !== 'none' && rect.width > 0 && rect.height > 0;CODE
HIGHplatform/coworker/connectors/browser_automation.py273 if (el.labels && el.labels.length) return Array.from(el.labels).map(l => l.innerText.trim()).filter(Boolean).join(' CODE
HIGHplatform/coworker/connectors/browser_automation.py291 text: (el.innerText || el.value || '').trim().slice(0, 200),CODE
HIGHtests/toolkits/test_shell.py54 run_shell("python3 -m pytest && npm test")CODE
Excessive Try-Catch Wrapping159 hits · 170 pts
SeverityFileLineSnippetContext
LOWaisuite/client.py198 except Exception as e:CODE
LOWaisuite/client.py336 except Exception as exc:CODE
LOWaisuite/client.py405 except Exception as exc:CODE
LOWaisuite/providers/cohere_provider.py162 except Exception as e:CODE
LOWaisuite/providers/cerebras_provider.py43 except Exception as e:CODE
LOWaisuite/providers/deepseek_provider.py48 except Exception as e:CODE
LOWaisuite/providers/fireworks_provider.py130 except Exception as e:CODE
LOWaisuite/providers/mistral_provider.py73 except Exception as e:CODE
LOWaisuite/providers/openai_provider.py52 except Exception as e:CODE
LOWaisuite/providers/openai_provider.py65 except Exception as e:CODE
LOWaisuite/providers/openai_provider.py123 except Exception as e:CODE
LOWaisuite/providers/openai_provider.py202 except Exception as stream_error:CODE
LOWaisuite/providers/openai_provider.py207 except Exception as e:CODE
LOWaisuite/providers/inception_provider.py33 except Exception as e:CODE
LOWaisuite/providers/deepgram_provider.py108 except Exception as e:CODE
LOWaisuite/providers/deepgram_provider.py241 except Exception as e:CODE
LOWaisuite/providers/deepgram_provider.py314 except Exception as e:CODE
LOWaisuite/providers/huggingface_provider.py83 except Exception as e:CODE
LOWaisuite/providers/huggingface_provider.py224 except Exception as e:CODE
LOWaisuite/providers/sambanova_provider.py52 except Exception as e:CODE
LOWaisuite/providers/openrouter_provider.py48 except Exception as e:CODE
LOWaisuite/providers/together_provider.py64 except Exception as e:CODE
LOWaisuite/providers/groq_provider.py61 except Exception as e:CODE
LOWaisuite/providers/xai_provider.py65 except Exception as e:CODE
LOWaisuite/providers/google_provider.py380 except Exception as e:CODE
LOWaisuite/providers/google_provider.py432 except Exception as e:CODE
LOWaisuite/agents/runner.py269 except Exception as exc:CODE
LOWaisuite/agents/postgres_state_store.py118 except Exception:CODE
LOWaisuite/agents/postgres_state_store.py214 except Exception:CODE
LOWaisuite/agents/postgres_state_store.py264 except Exception:CODE
LOWaisuite/agents/postgres_state_store.py363 except Exception:CODE
LOWaisuite/utils/tools.py568 except Exception as exc:CODE
LOWaisuite/utils/tools.py579 except Exception as exc:CODE
LOWaisuite/utils/utils.py32 except Exception:CODE
LOWaisuite/utils/utils.py58 except Exception:CODE
LOWaisuite/mcp/client.py750 except Exception:CODE
LOWaisuite/mcp/client.py761 except Exception:CODE
LOWaisuite/mcp/client.py768 except Exception:CODE
LOWplatform/coworker/cloud.py606 except Exception as exc: # malformed manifest: surface, don't crashCODE
LOWplatform/coworker/engine.py175 except Exception:CODE
LOWplatform/coworker/engine.py203 except Exception as exc: # provider failureCODE
LOWplatform/coworker/engine.py259 except Exception as exc: # surfaced to the awaiting consumerCODE
LOWplatform/coworker/engine.py430 except Exception as exc:CODE
LOWplatform/coworker/engine.py490 except Exception:CODE
MEDIUMplatform/coworker/engine.py253def produce():CODE
LOWplatform/coworker/interactions.py38 except Exception:CODE
LOWplatform/coworker/connectors/integration_tools.py309 except Exception as exc:CODE
LOWplatform/coworker/connectors/integration_tools.py340 except Exception:CODE
LOWplatform/coworker/connectors/slack_directory.py131 except Exception as exc:CODE
LOWplatform/coworker/connectors/slack_directory.py171 except Exception as exc:CODE
LOWplatform/coworker/connectors/gateway.py84 except Exception:CODE
LOWplatform/coworker/connectors/gateway.py94 except Exception:CODE
LOWplatform/coworker/connectors/gateway.py135 except Exception: # bad token / network — skip, don't break the serverCODE
LOWplatform/coworker/connectors/gateway.py143 except Exception:CODE
LOWplatform/coworker/connectors/relay_client.py115 except Exception as exc:CODE
LOWplatform/coworker/connectors/relay_client.py131 except Exception:CODE
LOWplatform/coworker/connectors/relay_client.py139 except Exception:CODE
LOWplatform/coworker/connectors/relay_client.py164 except Exception as exc:CODE
LOWplatform/coworker/connectors/relay_client.py174 except Exception:CODE
LOWplatform/coworker/connectors/relay_client.py363 except Exception:CODE
99 more matches not shown…
Cross-File Repetition34 hits · 170 pts
SeverityFileLineSnippetContext
HIGHaisuite/providers/cohere_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/deepseek_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/mistral_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/openai_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/sambanova_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/openrouter_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/groq_provider.py0initialize the openrouter provider with the given configuration. pass the entire configuration dictionary to the openai STRING
HIGHaisuite/providers/fireworks_provider.py0initialize the xai provider with the given configuration. the api key is fetched from the config or environment variableSTRING
HIGHaisuite/providers/together_provider.py0initialize the xai provider with the given configuration. the api key is fetched from the config or environment variableSTRING
HIGHaisuite/providers/xai_provider.py0initialize the xai provider with the given configuration. the api key is fetched from the config or environment variableSTRING
HIGHplatform/tests/test_message_source.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHplatform/tests/test_subscriptions.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHplatform/tests/test_dm_routing.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHplatform/coworker/connectors/accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
HIGHplatform/coworker/connectors/gmail_accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
HIGHplatform/coworker/connectors/gcal_accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
HIGHtests/providers/test_deepgram_provider.py0test audio transcription with transcriptionoptions.STRING
HIGHtests/providers/test_openai_provider.py0test audio transcription with transcriptionoptions.STRING
HIGHtests/providers/test_google_provider.py0test audio transcription with transcriptionoptions.STRING
HIGHtests/providers/test_nebius_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_inception_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_sambanova_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_watsonx_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_cohere_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_mistral_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_google_provider.py0high-level test that the interface is initialized and chat completions are requested successfully.STRING
HIGHtests/providers/test_sambanova_provider.py0tests that usage data is correctly parsed when present in the response.STRING
HIGHtests/providers/test_groq_provider.py0tests that usage data is correctly parsed when present in the response.STRING
HIGHtests/providers/test_cerebras_provider.py0tests that usage data is correctly parsed when present in the response.STRING
HIGHtests/providers/test_deepseek_provider.py0tests that usage data is correctly parsed when present in the response.STRING
HIGHtests/providers/test_mistral_provider.py0tests that usage data is correctly parsed when present in the response.STRING
HIGHtests/providers/test_groq_provider.py0test that the provider is initialized and chat completions are requested.STRING
HIGHtests/providers/test_cerebras_provider.py0test that the provider is initialized and chat completions are requested.STRING
HIGHtests/providers/test_deepseek_provider.py0test that the provider is initialized and chat completions are requested.STRING
Deep Nesting66 hits · 62 pts
SeverityFileLineSnippetContext
LOWaisuite/tracing/store.py162CODE
LOWaisuite/tracing/viewer.py944CODE
LOWaisuite/tracing/normalize.py104CODE
LOWaisuite/framework/parameter_mapper.py131CODE
LOWaisuite/providers/cohere_provider.py14CODE
LOWaisuite/providers/openai_provider.py83CODE
LOWaisuite/providers/openai_provider.py126CODE
LOWaisuite/providers/openai_provider.py210CODE
LOWaisuite/providers/deepgram_provider.py68CODE
LOWaisuite/providers/deepgram_provider.py111CODE
LOWaisuite/providers/huggingface_provider.py113CODE
LOWaisuite/providers/huggingface_provider.py239CODE
LOWaisuite/providers/message_converter.py20CODE
LOWaisuite/providers/google_provider.py383CODE
LOWaisuite/providers/google_provider.py443CODE
LOWaisuite/providers/aws_provider.py39CODE
LOWaisuite/providers/aws_provider.py136CODE
LOWaisuite/toolkits/files.py385CODE
LOWaisuite/toolkits/files.py460CODE
LOWaisuite/toolkits/files.py643CODE
LOWaisuite/toolkits/files.py731CODE
LOWaisuite/mcp/client.py307CODE
LOWaisuite/mcp/client.py651CODE
LOWaisuite/mcp/client.py680CODE
LOWplatform/tests/test_ui_refresh_e2e.py92CODE
LOWplatform/tests/test_email_tools.py49CODE
LOWplatform/coworker/audit.py123CODE
LOWplatform/coworker/subscriptions.py137CODE
LOWplatform/coworker/attachments.py25CODE
LOWplatform/coworker/attachments.py66CODE
LOWplatform/coworker/engine.py157CODE
LOWplatform/coworker/engine.py343CODE
LOWplatform/coworker/conversations.py108CODE
LOWplatform/coworker/conversations.py142CODE
LOWplatform/coworker/roots.py33CODE
LOWplatform/coworker/connectors/relay_client.py125CODE
LOWplatform/coworker/connectors/email_tools.py352CODE
LOWplatform/coworker/connectors/email_tools.py389CODE
LOWplatform/coworker/connectors/email_tools.py418CODE
LOWplatform/coworker/connectors/email_tools.py529CODE
LOWplatform/coworker/tools/files.py50CODE
LOWplatform/coworker/tools/files.py53CODE
LOWplatform/coworker/tools/search.py150CODE
LOWplatform/coworker/tui/app.py173CODE
LOWplatform/coworker/tui/app.py203CODE
LOWplatform/coworker/providers/registry.py375CODE
LOWplatform/coworker/providers/openai_provider.py283CODE
LOWplatform/coworker/providers/openai_provider.py354CODE
LOWplatform/coworker/providers/openai_provider.py110CODE
LOWplatform/coworker/providers/anthropic_provider.py127CODE
LOWplatform/coworker/providers/anthropic_provider.py319CODE
LOWplatform/coworker/providers/gemini_provider.py144CODE
LOWplatform/coworker/providers/gemini_provider.py230CODE
LOWplatform/coworker/server/app.py61CODE
LOWplatform/coworker/server/app.py272CODE
LOWplatform/coworker/server/app.py799CODE
LOWplatform/coworker/server/app.py1096CODE
LOWplatform/coworker/server/manager.py1071CODE
LOWplatform/coworker/server/manager.py1640CODE
LOWplatform/coworker/server/manager.py2118CODE
6 more matches not shown…
Self-Referential Comments16 hits · 50 pts
SeverityFileLineSnippetContext
MEDIUMaisuite/providers/anthropic_provider.py17# Define a constant for the default max_tokens valueCOMMENT
MEDIUMaisuite/providers/google_provider.py53 # Create a Part from the function callCOMMENT
MEDIUMaisuite/providers/google_provider.py287 # Create the GenerativeModelCOMMENT
MEDIUMaisuite/mcp/tool_wrapper.py68 # Create a proper signature for inspect.signature() to readCOMMENT
MEDIUMtests/utils/test_tools_mcp_schema.py329 # Create a copy to verify immutabilityCOMMENT
MEDIUMtests/utils/test_tool_manager.py8# Define a sample tool function and Pydantic model for testingCOMMENT
MEDIUMtests/mcp/conftest.py52 # Create a subdirectoryCOMMENT
MEDIUMtests/mcp/test_http_llm_e2e.py134 # Define a Python functionCOMMENT
MEDIUMtests/mcp/test_llm_e2e.py145 # Define a Python functionCOMMENT
MEDIUMtests/mcp/test_e2e.py24 # Create a simple mock object that mimics the response structureCOMMENT
MEDIUMtests/mcp/test_e2e.py155 # Define a Python functionCOMMENT
MEDIUMtests/mcp/test_e2e.py208 # Create a second temp directoryCOMMENT
MEDIUMtests/client/test_manual_tool_calling.py98 # Create a callable tool functionCOMMENT
MEDIUMtests/client/test_client.py296 # Create a mock provider with audio supportCOMMENT
MEDIUMtests/client/test_client.py325 # Create a mock provider with audio supportCOMMENT
MEDIUMexamples/mcp_http_example.py154 # Define a custom Python functionCOMMENT
Modern Structural Boilerplate36 hits · 38 pts
SeverityFileLineSnippetContext
LOWaisuite/__init__.py37__all__ = [CODE
LOWaisuite/tracing/__init__.py15__all__ = [CODE
LOWaisuite/framework/asr_params.py14logger = logging.getLogger(__name__)CODE
LOWaisuite/agents/__init__.py35__all__ = [CODE
LOWaisuite/toolkits/__init__.py5__all__ = ["files", "git", "shell"]CODE
LOWaisuite/mcp/__init__.py33__all__ = ["MCPClient"]CODE
LOWplatform/coworker/overrides.py65 def set_rule(self, pattern: str, risk: RiskClass | str) -> None:CODE
LOWplatform/coworker/inbox_routing.py67 def set_binding(self, name: str, *, channel: Optional[str] = None, target: str = "") -> None:CODE
LOWplatform/coworker/inbox_routing.py75 def set_persona_default(self, persona_id: str, inbox_name: str) -> None:CODE
LOWplatform/coworker/inbox_routing.py80 def set_session_override(self, session_id: str, inbox_name: str) -> None:CODE
LOWplatform/coworker/conversations.py221 def set_extra_roots(self, session_id: str, extra_roots: list[dict]) -> None:CODE
LOWplatform/coworker/connectors/gateway.py58 def set_handler(self, handler: MessageHandler) -> None:CODE
LOWplatform/coworker/connectors/gateway.py162 async def update_message(self, platform: str, chat_id: str, message_id: str, text: str) -> None:CODE
LOWplatform/coworker/connectors/relay_client.py284 def set_team(self, team_id: str, bot_token: str, bot_user_id: Optional[str] = None) -> None:CODE
LOWplatform/coworker/connectors/github_relay.py97 def set_install(self, installation_id: str, info: dict[str, Any]) -> None:CODE
LOWplatform/coworker/connectors/__init__.py41__all__ = [CODE
LOWplatform/coworker/connectors/base.py142 def set_message_handler(self, handler: MessageHandler) -> None:CODE
LOWplatform/coworker/connectors/base.py145 def set_interaction_handler(self, handler: InteractionHandler) -> None:CODE
LOWplatform/coworker/connectors/adapters.py369 async def update_message(self, chat_id: str, message_id: str, text: str) -> None:CODE
LOWplatform/coworker/tools/__init__.py3__all__ = ["ToolRegistry", "ToolSpec"]CODE
LOWplatform/coworker/memory/__init__.py5__all__ = [CODE
LOWplatform/coworker/tui/__init__.py3__all__ = ["CoworkerApp"]CODE
LOWplatform/coworker/web/__init__.py17__all__ = [CODE
LOWplatform/coworker/providers/__init__.py24__all__ = [CODE
LOWplatform/coworker/agents/__init__.py8__all__ = [CODE
LOWplatform/coworker/server/__init__.py4__all__ = ["create_app", "SessionManager"]CODE
LOWplatform/coworker/mcp/__init__.py19__all__ = [CODE
LOWplatform/coworker/personas/registry.py295 def set_enabled(self, persona_id: str, enabled: bool) -> None:CODE
LOWplatform/coworker/personas/registry.py306 def set_surfaced(self, persona_id: str, surfaced: bool) -> None:CODE
LOWplatform/coworker/personas/registry.py312 def set_default(self, persona_id: str) -> None:CODE
LOWplatform/coworker/personas/registry.py411def set_registry(registry: PersonaRegistry) -> None:CODE
LOWplatform/coworker/personas/__init__.py14__all__ = [CODE
LOWplatform/coworker/testing/fake_slack/__init__.py10__all__ = ["FakeSlack"]CODE
LOWplatform/coworker/skills/__init__.py3__all__ = ["Skill", "SkillLoader", "skill_catalog_text", "skill_tools"]CODE
LOWplatform/coworker/automation/__init__.py10__all__ = [CODE
LOWcli/py/aisuite-code-cli/aisuite_code_cli/__init__.py6__all__ = ["CliConfig", "CodeCli", "DEFAULT_ALLOWED_COMMANDS"]CODE
Docstring Block Structure7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHaisuite/client.py605 Create audio transcription with parameter validation. This method uses a pass-through approach with vaSTRING
HIGHaisuite/framework/asr_params.py183 Validate and map parameters for the given provider. This method: 1. Maps common parameters to STRING
HIGHaisuite/mcp/config.py50 Validate and normalize an MCP tool configuration. This function: 1. Validates required fields are present STRING
HIGHaisuite/mcp/client.py138 Create an MCPClient from a configuration dictionary. This method validates the config and creates an MSTRING
HIGHaisuite/mcp/client.py310 Parse SSE stream and extract JSON-RPC response. SSE format per spec: data: {"jsonrpc": "2.STRING
HIGHaisuite/mcp/client.py377 Send JSON-RPC request to MCP server via HTTP. Args: method: JSON-RPC method name STRING
HIGHaisuite/mcp/client.py617 Execute an MCP tool call. This method is called by MCPToolWrapper when the LLM requests a tool. STRING
Redundant / Tautological Comments14 hits · 21 pts
SeverityFileLineSnippetContext
LOWaisuite/client.py684 # Check if provider supports audio transcriptionCOMMENT
LOWaisuite/client.py696 # Check if provider supports output streamingCOMMENT
LOWaisuite/framework/asr_params.py206 # Check if it's a common param that needs mappingCOMMENT
LOWaisuite/framework/asr_params.py221 # Check if it's a valid provider-specific paramCOMMENT
LOWaisuite/providers/anthropic_provider.py143 # Check if response contains any tool use blocks (regardless of stop_reason)COMMENT
LOWaisuite/providers/message_converter.py31 # Check if tmsg is a dict, otherwise get role attributeCOMMENT
LOWaisuite/providers/google_provider.py151 # Check if the response contains function callsCOMMENT
LOWaisuite/providers/aws_provider.py171 # Check if the model is requesting tool useCOMMENT
LOWaisuite/utils/tools.py89 # Check if this is an MCP tool with original schemaCOMMENT
LOWaisuite/utils/tools.py293 # Check if a type annotation is missingCOMMENT
LOWaisuite/mcp/schema_converter.py124 # Check if it's an Optional typeCOMMENT
LOWaisuite/mcp/client.py348 # Check if this is the response to our requestCOMMENT
LOWaisuite/mcp/client.py731 # Check if we need to cleanup (either stdio or HTTP)COMMENT
LOWtests/client/test_prerelease.py60 # Check if either version of the required phrase is presentCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALaisuite/providers/deepgram_provider.py92 response = self.client.listen.v1.media.transcribe_file(CODE
CRITICALtests/providers/test_async_provider.py53 provider.aclient.chat.completions.create.assert_awaited_once()CODE
Structural Annotation Overuse12 hits · 18 pts
SeverityFileLineSnippetContext
LOWaisuite-js/examples/tool-calling.ts50 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/tool-calling.ts65 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/tool-calling.ts90 // Step 3: Get final response with tool resultsCOMMENT
LOWaisuite-js/examples/tool-calling.ts108 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/tool-calling.ts123 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/tool-calling.ts148 // Step 3: Get final response with tool resultsCOMMENT
LOWaisuite-js/examples/groq.ts159 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/groq.ts174 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/groq.ts199 // Step 3: Get final response with tool resultsCOMMENT
LOWguides/watsonx.md7### Step 1: Create a Watsonx AccountCOMMENT
LOWguides/watsonx.md15### Step 2: Obtain API CredentialsCOMMENT
LOWguides/watsonx.md34### Step 3: Set Environment VariablesCOMMENT
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippetContext
LOWaisuite/providers/azure_provider.py1import urllib.requestCOMMENT
LOWaisuite/providers/azure_provider.py21# Cohere Embed V3 family of modelsCOMMENT
LOWaisuite/providers/mistral_provider.py21 def convert_response(self, response_data) -> ChatCompletionResponse:COMMENT
LOWaisuite/providers/groq_provider.py1import osCOMMENT
LOWaisuite/providers/google_provider.py121 if ENABLE_DEBUG_MESSAGES:COMMENT
LOWaisuite/providers/google_provider.py141 # value {COMMENT
LOWplatform/packaging/build_dmg.sh1#!/usr/bin/env bashCOMMENT
LOWplatform/packaging/build_dmg.sh61# Background art (arrow + "drag to Applications") — hidden folder Finder reads for the window.COMMENT
LOWplatform/coworker/engine.py81 self.model_settings = dict(model_settings or {})COMMENT
LOWplatform/coworker/connectors/descriptors.py61 # Experimental connectors are hidden unless the user enables them in settings, require anCOMMENT
LOWplatform/surfaces/gui/src-tauri/src/lib.rs1//! OpenCoworker desktop shell.COMMENT
LOWplatform/surfaces/gui/src-tauri/src/lib.rs301 server_cmdCOMMENT
LOWplatform/surfaces/gui/src/paths.ts1// Last path segment, for displaying a workspace/root as its folder name. Splits on bothCOMMENT
LOW…m/surfaces/gui/src/components/ConnectorMessageCard.tsx1// ConnectorMessageCard — renders a connector-delivered inbound message (§3.3) as a structured card:COMMENT
LOW.github/workflows/release.yml1# Desktop release builds — macOS (.dmg, arm64 + Intel) and Windows (.msi + NSIS .exe).COMMENT
AI Slop Vocabulary5 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMaisuite/tracing/static/viewer/assets/index-C29aAR1d.js9`).replace(U0,"")}function Kd(t,l){return l=Vd(l),Vd(t)===l}function st(t,l,e,a,u,n){switch(e){case"children":typeof a==CODE
MEDIUMplatform/pyproject.toml35# aiohttp is slack-bolt's Socket Mode transport at runtime (and the FakeSlack test harnessCOMMENT
MEDIUMplatform/coworker/connectors/adapters.py159 # slack_sdk's own reconnect stays on in production (seamless on Slack's graceful cycling);COMMENT
MEDIUMplatform/coworker/connectors/adapters.py183 # Base-URL override so tests (and the FakeSlack harness) can redirect every Web APICOMMENT
MEDIUMplatform/surfaces/gui/src/api.ts556 // bounded per-persona cards. Defaults to "flat" (absent → flat) so the GUI is robust to an olderCOMMENT
Verbosity Indicators9 hits · 14 pts
SeverityFileLineSnippetContext
LOWaisuite-js/examples/tool-calling.ts50 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/tool-calling.ts65 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/tool-calling.ts90 // Step 3: Get final response with tool resultsCOMMENT
LOWaisuite-js/examples/tool-calling.ts108 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/tool-calling.ts123 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/tool-calling.ts148 // Step 3: Get final response with tool resultsCOMMENT
LOWaisuite-js/examples/groq.ts159 // Step 1: Initial request with toolsCOMMENT
LOWaisuite-js/examples/groq.ts174 // Step 2: Execute tool calls and send results backCOMMENT
LOWaisuite-js/examples/groq.ts199 // Step 3: Get final response with tool resultsCOMMENT
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWplatform/tests/test_hubspot_portals.py202 "account": "Acme Inc",CODE
LOWplatform/tests/test_hubspot_portals.py214 "hub_id": "424242", "name": "Acme Inc", "sandbox": True,CODE
LOWplatform/coworker/connectors/descriptors.py32 "placeholder": self.placeholder,CODE
LOWplatform/coworker/connectors/browser_automation.py290 placeholder: el.getAttribute('placeholder') || '',CODE
LOWplatform/coworker/providers/registry.py50 "placeholder": self.placeholder,CODE
LOWplatform/surfaces/gui/e2e/fixtures.ts392 { hub_id: "111", name: "Acme Inc", sandbox: false },CODE
LOWplatform/surfaces/gui/e2e/hubspot-page.spec.ts35 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", {CODE
LOWplatform/surfaces/gui/e2e/hubspot-page.spec.ts61 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", { timeout: 10_000 });CODE
LOWplatform/surfaces/gui/e2e/hubspot-page.spec.ts84 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", { timeout: 10_000 });CODE
AI Structural Patterns7 hits · 6 pts
SeverityFileLineSnippetContext
LOWaisuite/agents/runner.py64CODE
LOWaisuite/agents/runner.py118CODE
LOWaisuite/agents/runner.py525CODE
LOWplatform/coworker/engine.py51CODE
LOWplatform/coworker/agent.py98CODE
LOWplatform/coworker/inbox.py111CODE
LOWplatform/coworker/connectors/email_tools.py418CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHguides/azure.md27export AZURE_API_KEY="your-api-key"CODE
Modern AI Meta-Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMplatform/surfaces/gui/README.md29curl https://sh.rustup.rs -sSf | sh # install Rust, then add the Tauri scaffoldCODE
MEDIUMplatform/surfaces/gui/README.md29curl https://sh.rustup.rs -sSf | sh # install Rust, then add the Tauri scaffoldCODE
Overly Generic Function Names1 hit · 2 pts
SeverityFileLineSnippetContext
LOWplatform/coworker/automation/scheduler.py75 async def run_task(self, task: ScheduledTask, *, trigger: str) -> Optional[TaskRun]:CODE