AI Slop Code RIsk Monitor

ComposioHQ/composio

Composio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.

8.5 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for ComposioHQ/composio, a TypeScript project with 30,486 GitHub stars. SynthScan examined 473,804 lines of code across 2572 source files, recording 2736 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 8.5 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

8.5
Adjusted Signal
8.5
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
30.5K
Stars
TypeScript
Language
473.8K
Lines of Code
2.6K
Files
2.7K
Pattern Hits
2026-10-12
Scan Date
0.06
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 19.2/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 1968 finding(s).

Hallucinated Dependency & Supply Chain Risk 11.8/100 · LOW

Are imports declared and package/API names verified? 480 finding(s).

Agent Over-Engineering Ratio 21.6/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1980 finding(s).

PR Review Velocity Impact 36.5/100 · MEDIUM

Which changes need focused human review? 2736 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 43HIGH 116MEDIUM 297LOW 2280

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 2736 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1683 hits · 1495 pts
SeverityFileLineSnippetContext
LOWtest/release-workflow.test.ts123function readDocumentedSdkVersions(sdkLabel) {CODE
LOWtest/release-workflow.test.ts141function readTypeScriptWorkspacePackages() {CODE
LOWpython/providers/gemini/composio_gemini/provider.py110def _process_execution_result(result: t.Any) -> t.Dict:CODE
LOWpython/providers/openai_agents/tests/test_provider.py11def test_wrap_tool_does_not_mutate_input_parameters():CODE
LOWpython/providers/openai_agents/tests/test_provider.py84def test_wrap_tool_preserves_array_item_schemas(items_schema):CODE
LOW…iders/openai_agents/composio_openai_agents/provider.py17def _remove_examples_from_schema(schema_obj: t.Dict[str, t.Any]) -> None:CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py89 def test_simple_schema_passthrough(self, provider):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py110 def test_wrap_tool_returns_sdk_mcp_tool(CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py125 def test_wrap_tool_without_description(self, provider, mock_execute_tool):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py142 def test_wrap_tool_without_input_parameters(self, provider, mock_execute_tool):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py179 def test_wrap_empty_tools_list(self, provider, mock_execute_tool):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py188 def test_create_mcp_server_with_default_options(self, provider):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py204 def test_create_mcp_server_with_custom_options(self, custom_provider):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py220 def test_create_mcp_server_with_empty_tools(self, provider):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py238 def test_tool_handler_success(self, provider, mock_tool):CODE
LOW…thon/providers/claude_agent_sdk/tests/test_provider.py289 def test_tool_handler_string_result(self, provider, mock_tool):CODE
LOW…claude_agent_sdk/composio_claude_agent_sdk/provider.py139 def _json_schema_to_simple_schema(self, schema: dict) -> dict:CODE
LOWpython/providers/autogen/composio_autogen/provider.py29 def _process_function_name_for_registration(CODE
LOWpython/tests/test_cross_sdk_compatibility.py32 def test_fixtures_are_identical(self, fixture_name: str) -> None:CODE
LOWpython/tests/test_cross_sdk_compatibility.py47 def test_json_schema_conversion_corpus_is_identical(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py443 def test_index_prefixed_key_slugs_by_code_point(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py449 def test_arbitrary_labels_round_trip(self, labels: t.List[str]) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py459 def test_unstated_required_enum_is_missing_and_optional_boolean_is_omitted(CODE
LOW⚡python/tests/test_typesafe_provider.py779 def test_rejects_a_state_that_cannot_be_sent_as_given(self, state: t.Any) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py785 def test_rejects_a_cyclic_context(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py795 def test_stable_keeps_json_null_and_rejects_the_rest(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1020 def test_probability_accepts_whole_numbers_and_rejects_the_rest(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1030 def test_a_stored_decision_with_whole_number_confidence_parses(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1037 def test_an_api_answer_with_whole_number_probabilities_parses(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1338 def test_refuses_an_abstain_and_a_partial_with_gaps(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1346 def test_passes_modifiers_with_a_user_id(self) -> None:CODE
LOW⚡python/tests/test_typesafe_provider.py1351 def test_executes_through_a_session_which_takes_no_modifiers(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py288 def test_rejects_root_composition_with_required_arguments(CODE
LOWpython/tests/test_typesafe_provider.py307 def test_rejects_root_composition_through_schema_reference(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py332 def test_compiles_to_expected_questions(self, entry: t.Dict[str, t.Any]) -> None:CODE
LOWpython/tests/test_typesafe_provider.py340 def test_builds_the_routing_choice(self, entry: t.Dict[str, t.Any]) -> None:CODE
LOWpython/tests/test_typesafe_provider.py400 def test_a_boolean_needs_both_values(CODE
LOWpython/tests/test_typesafe_provider.py405 def test_an_enum_array_keeps_integer_max_items_and_min_items(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py483 def test_call_confidence_is_the_minimum_required_judgement(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py534 def test_weak_required_guess_is_a_suggestion_and_weak_optional_is_dropped(CODE
LOWpython/tests/test_typesafe_provider.py612 def test_a_selection_below_min_items_is_not_stated(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py676 def test_a_nullable_boolean_offers_and_binds_null(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py707 def test_restores_typed_values(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py731 def test_prefilled_arguments_get_no_question_and_no_judgement(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py750 def test_abstains_with_no_request_and_no_key(self, monkeypatch) -> None:CODE
LOWpython/tests/test_typesafe_provider.py849 def test_fan_out_is_one_request(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py866 def test_routes_first_when_the_fan_out_estimate_is_over_budget(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py880 def test_falls_back_once_on_a_size_rejection(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py915 def test_state_over_the_budget_raises_and_is_never_truncated(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py922 def test_object_state_serializes_with_a_stable_key_order(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py941 def test_context_stays_away_from_routing_and_the_gate(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py958 def test_context_scope_all_restores_fan_out(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py964 def test_an_unknown_context_scope_raises(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py997 def test_call_thresholds_layer_over_provider_thresholds(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py1009 def test_invalid_threshold_raises(self, value: t.Any) -> None:CODE
LOWpython/tests/test_typesafe_provider.py1118 def test_sync_decide_refuses_an_asynchronous_client(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py1124 def test_adecide_accepts_a_synchronous_client(self) -> None:CODE
LOWpython/tests/test_typesafe_provider.py1156 def test_rate_limit_keeps_safe_diagnostics_only(self, asynchronous: bool) -> None:CODE
LOWpython/tests/test_typesafe_provider.py1205 def test_maps_each_sdk_error_to_a_reason(CODE
LOWpython/tests/test_typesafe_provider.py1210 def test_response_validation_error_maps_to_the_malformed_response_error(CODE
1623 more matches not shown…
Decorative Section Separators176 hits · 566 pts
SeverityFileLineSnippetContext
MEDIUMpython/providers/typesafe/composio_typesafe/types.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py17# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py147# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py172# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py174# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py287# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py289# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py319# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/types.py325# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py93# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py95# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py222# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py224# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/providers/typesafe/composio_typesafe/decide.py309# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/providers/typesafe/composio_typesafe/decide.py314# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py365# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/providers/typesafe/composio_typesafe/decide.py367# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py122# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py124# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py498# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py500# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py926# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_gemini_provider.py928# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py101# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py538# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py540# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py815# ---------------------------------------------------------------------------COMMENT
MEDIUMpython/tests/test_gemini_provider.py817# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡python/tests/test_custom_tools.py425# ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡python/tests/test_custom_tools.py427# ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡python/tests/test_custom_tools.py465# ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡python/tests/test_custom_tools.py467# ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡python/tests/test_custom_tools.py715# ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡python/tests/test_custom_tools.py717# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py51# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py53# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py137# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py139# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py747# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py749# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py926# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py928# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py1237# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_custom_tools.py1239# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/tests/test_type_inference_custom_provider.py25# ============================================COMMENT
MEDIUMpython/tests/test_type_inference_custom_provider.py27# ============================================COMMENT
MEDIUM⚡python/tests/test_type_inference_custom_provider.py57# ============================================COMMENT
MEDIUM⚡python/tests/test_type_inference_custom_provider.py59# ============================================COMMENT
MEDIUMpython/examples/custom_tools_agent_test.py49# ── 2. Standalone tool with overrides ──────────────────────────────────COMMENT
MEDIUMpython/examples/custom_tools_agent_test.py101# ── 4. Custom toolkit — groups related tools under one namespace ───────COMMENT
MEDIUMpython/examples/custom_tools_agent_test.py127# ── Agent ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/composio/core/models/custom_tool_types.py21# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/composio/core/models/custom_tool_types.py23# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/composio/core/models/custom_tool_types.py68# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/composio/core/models/custom_tool_types.py70# ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpython/composio/core/models/custom_tool_types.py85# ────────────────────────────────────────────────────────────────COMMENT
116 more matches not shown…
Hallucination Indicators43 hits · 420 pts
SeverityFileLineSnippetContext
CRITICAL⚡python/tests/test_tool_router_session_files.py97 mock_client.tool_router.session.files.list.assert_called_once()CODE
CRITICAL⚡python/tests/test_tool_router_session_files.py142 mock_client.tool_router.session.files.create_upload_url.assert_called_once()CODE
CRITICAL⚡python/tests/test_tool_router_session_files.py143 mock_client.tool_router.session.files.create_download_url.assert_called_once()CODE
CRITICALpython/tests/test_tool_router_session_files.py179 mock_client.tool_router.session.files.create_download_url.assert_called_once_with(CODE
CRITICALpython/tests/test_tool_router_session_files.py190 mock_client.tool_router.session.files.delete.assert_called_once_with(CODE
CRITICALpython/composio/core/models/session_context.py181 self._client.without_retries.tool_router.session.execute(CODE
CRITICAL…thon/composio/core/models/tool_router_session_files.py318 return self._client.tool_router.session.files.list(CODE
CRITICAL…thon/composio/core/models/tool_router_session_files.py391 create_resp = self._client.tool_router.session.files.create_upload_url(CODE
CRITICAL…thon/composio/core/models/tool_router_session_files.py417 download_resp = self._client.tool_router.session.files.create_download_url(CODE
CRITICAL…thon/composio/core/models/tool_router_session_files.py434 resp = self._client.tool_router.session.files.create_download_url(CODE
CRITICAL…thon/composio/core/models/tool_router_session_files.py448 return self._client.tool_router.session.files.delete(CODE
CRITICALpython/composio/core/models/tool_router_session.py945 self._client.without_retries.tool_router.session.execute(CODE
CRITICALpython/composio/core/models/tools.py649 self._client.without_retries.tool_router.session.execute(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts48 mockClient.toolRouter.session.files.list.mockResolvedValueOnce({ items: [] });CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts65 mockClient.toolRouter.session.files.list.mockResolvedValueOnce({ items: [] });CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts92 mockClient.toolRouter.session.files.list.mockResolvedValueOnce(apiResponse);CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts110 mockClient.toolRouter.session.files.list.mockResolvedValueOnce({ items: [] });CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts139 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts158 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts181 mockClient.toolRouter.session.files.delete.mockResolvedValueOnce(deleteResponse);CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts199 mockClient.toolRouter.session.files.delete.mockResolvedValueOnce(deleteResponse);CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts300 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts304 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts345 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts348 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts377 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts398 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts403 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce(CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts418 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts422 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts445 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts449 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts470 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts474 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts498 mockClient.toolRouter.session.files.createUploadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts502 mockClient.toolRouter.session.files.createDownloadURL.mockResolvedValueOnce({CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts524 mockClient.toolRouter.session.files.createUploadURL.mockImplementation((_, params) =>CODE
CRITICAL…s/core/test/models/ToolRouterSessionFilesMount.test.ts530 mockClient.toolRouter.session.files.createDownloadURL.mockImplementation((_, params) =>CODE
CRITICAL…packages/core/src/models/ToolRouterSessionFileMount.ts88 const response = await this.client.toolRouter.session.files.list(listOptions.data.mountId, {CODE
CRITICAL…packages/core/src/models/ToolRouterSessionFileMount.ts229 const createUploadURLResponse = await this.client.toolRouter.session.files.createUploadURL(CODE
CRITICAL…packages/core/src/models/ToolRouterSessionFileMount.ts261 const createDownloadURLResponse = await this.client.toolRouter.session.files.createDownloadURL(CODE
CRITICAL…packages/core/src/models/ToolRouterSessionFileMount.ts326 const createDownloadURLResponse = await this.client.toolRouter.session.files.createDownloadURL(CODE
CRITICAL…packages/core/src/models/ToolRouterSessionFileMount.ts387 const deleteResponse = await this.client.toolRouter.session.files.delete(CODE
Magic Placeholder Names51 hits · 310 pts
SeverityFileLineSnippetContext
HIGHpython/docs/tool-router.md523print(f"MCP Headers: {mcp_headers}") # {'x-api-key': 'your-api-key'}CODE
HIGH⚡python/examples/tool_router/authorize.py17 print("Please set it using: export COMPOSIO_API_KEY='your_api_key'")CODE
HIGHpython/scripts/create-provider.sh434 api_key="your-api-key",CODE
HIGHpython/scripts/generate-docs.py615composio = Composio(api_key="your-api-key")CODE
HIGHdocs/app/llms.mdx/[[...slug]]/route.ts458 curl += ` \\\n -H "x-api-key: YOUR_API_KEY"`;CODE
HIGHdocs/app/llms.mdx/[[...slug]]/route.ts973 " -H 'x-api-key: YOUR_API_KEY'",CODE
HIGHdocs/agent-guidance/agents/connect-clients-sync.md126- Use `YOUR_API_KEY` as the placeholder (not the `${token}` variable from the dashboard)CODE
HIGH.github/ISSUE_TEMPLATE/bug-report.yml104 composio = Composio(api_key="YOUR_API_KEY")CODE
HIGHts/docs/getting-started.md29 apiKey: 'your-api-key',CODE
HIGHts/docs/getting-started.md41 apiKey: 'your-api-key',CODE
HIGHts/docs/getting-started.md92 apiKey: 'your-api-key'CODE
HIGHts/docs/getting-started.md102 apiKey: 'your-api-key',CODE
HIGHts/docs/README.md59 apiKey: 'your-api-key',CODE
HIGHts/docs/core-concepts.md320 apiKey: 'your-api-key',CODE
HIGH⚡ts/docs/advanced/modifiers.md132 apiKey: 'your-api-key',CODE
HIGH⚡ts/docs/advanced/modifiers.md166 apiKey: 'your-api-key',CODE
HIGHts/docs/advanced/telemetry.md38 apiKey: 'your-api-key',CODE
HIGHts/docs/advanced/telemetry.md75 apiKey: 'your-api-key',CODE
HIGHts/docs/advanced/session-management.md11 apiKey: 'your-api-key', // requiredCODE
HIGHts/docs/advanced/session-management.md65 apiKey: 'your-api-key',CODE
HIGHts/docs/advanced/session-management.md146 apiKey: 'your-api-key',CODE
HIGHts/docs/internal/configuration.md67 apiKey: 'your-api-key', // Override COMPOSIO_API_KEYCODE
HIGHts/docs/internal/configuration.md93export COMPOSIO_API_KEY=your-api-keyCODE
HIGHts/docs/internal/configuration.md102export COMPOSIO_API_KEY=your-api-keyCODE
HIGHts/docs/api/providers.md60 apiKey: 'your-api-key',CODE
HIGHts/docs/api/composio.md11 apiKey: 'your-api-key',CODE
HIGHts/docs/api/triggers.md99 apiKey: 'your-api-key',CODE
HIGHts/docs/api/triggers.md290 apiKey: 'your-api-key',CODE
HIGHts/docs/api/connected-accounts.md356 api_key: 'your_api_key',CODE
HIGHts/examples/connected-accounts/README.md90 export COMPOSIO_API_KEY=your_api_keyCODE
HIGHts/packages/core/test/scripts/generate-docs.test.ts30 "const composio = new Composio({ apiKey: 'your-api-key' });\n" +CODE
HIGHts/packages/core/scripts/generate-docs.ts1014 lines.push(`const composio = new Composio({ apiKey: 'your-api-key' });`);CODE
HIGHts/packages/core/src/composio.ts247 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/core/src/composio.ts441 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/core/src/composio.ts447 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/core/src/composio.ts649 * apiKey: 'your-api-key'COMMENT
HIGHts/packages/core/src/provider/OpenAIProvider.ts43 * apiKey: 'your-api-key'COMMENT
HIGHts/packages/core/src/provider/OpenAIProvider.ts48 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/core/src/models/ConnectedAccounts.ts196 * api_key: 'your_api_key'COMMENT
HIGHts/packages/providers/vercel/src/index.ts51 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/langchain/src/index.ts45 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/google/src/index.ts71 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/google/src/index.ts125 * const genAI = new GoogleGenerativeAI('YOUR_API_KEY');COMMENT
HIGHts/packages/providers/google/src/index.ts195 * const genAI = new GoogleGenerativeAI('YOUR_API_KEY');COMMENT
HIGHts/packages/providers/google/src/index.ts241 * const genAI = new GoogleGenerativeAI('YOUR_API_KEY');COMMENT
HIGHts/packages/providers/cloudflare/src/index.ts47 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/anthropic/src/index.ts115 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/openai-agents/src/index.ts65 * apiKey: 'your-api-key',COMMENT
HIGHts/packages/providers/openai-agents/src/index.ts211 * apiKey: 'your-api-key',COMMENT
HIGH…ckages/providers/openai/src/OpenAIResponsesProvider.ts77 * apiKey: 'your-api-key'COMMENT
HIGH…ckages/providers/openai/src/OpenAIResponsesProvider.ts82 * apiKey: 'your-api-key',COMMENT
Unused Imports295 hits · 238 pts
SeverityFileLineSnippetContext
LOW…n/providers/llamaindex/composio_llamaindex/__init__.py1CODE
LOW…hon/providers/langgraph/composio_langgraph/__init__.py1CODE
LOWpython/providers/crewai/composio_crewai/__init__.py1CODE
LOWpython/providers/gemini/composio_gemini/__init__.py1CODE
LOW…hon/providers/langchain/composio_langchain/__init__.py1CODE
LOWpython/providers/google/composio_google/__init__.py1CODE
LOW…iders/openai_agents/composio_openai_agents/__init__.py1CODE
LOW…thon/providers/typesafe/composio_typesafe/companion.py3CODE
LOWpython/providers/typesafe/composio_typesafe/provider.py9CODE
LOWpython/providers/typesafe/composio_typesafe/classify.py3CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py1CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py1CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py1CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py1CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py1CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py8CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/__init__.py9CODE
LOWpython/providers/typesafe/composio_typesafe/response.py3CODE
LOWpython/providers/typesafe/composio_typesafe/keys.py3CODE
LOWpython/providers/typesafe/composio_typesafe/types.py3CODE
LOWpython/providers/typesafe/composio_typesafe/decide.py3CODE
235 more matches not shown…
Self-Referential Comments70 hits · 192 pts
SeverityFileLineSnippetContext
MEDIUMpython/providers/langgraph/langgraph_demo_toolnode.py38# Define the two nodes we will cycle betweenCOMMENT
MEDIUMpython/providers/gemini/composio_gemini/provider.py177 # Create a real function object (passes inspect.isfunction)COMMENT
MEDIUMpython/providers/openai_agents/openai_agents_demo.py17# Create an agent with the toolsCOMMENT
MEDIUM…iders/openai_agents/composio_openai_agents/provider.py76 # Create a function that accepts explicit JSON string for parametersCOMMENT
MEDIUM…iders/openai_agents/composio_openai_agents/provider.py121 # Create a custom FunctionTool with the appropriate schemaCOMMENT
MEDIUM…thon/providers/claude_agent_sdk/tests/test_provider.py242 # Create a real wrapped tool to test the handlerCOMMENT
MEDIUMpython/providers/autogen/autogen_demo.py32 # Create a user proxy agentCOMMENT
MEDIUMpython/tests/test_tool_router.py1754 # Create a proper modifier structureCOMMENT
MEDIUMpython/tests/test_tool_router.py1858 # Create a new sessionCOMMENT
MEDIUMpython/tests/test_tool_router.py2026 # Create a real Tools instance to test the execute functionCOMMENT
MEDIUMpython/tests/test_tool_router.py2154 # Create a real execute function with modifiersCOMMENT
MEDIUMpython/tests/test_tool_router.py2197 # Create a real execute functionCOMMENT
MEDIUMpython/tests/test_tool_execution.py308 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py357 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py407 # Create a mock GitHub tool (not in toolkit_versions)COMMENT
MEDIUMpython/tests/test_tool_execution.py455 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py581 # Create a mock GitHub tool with proper input_parameters for file helperCOMMENT
MEDIUMpython/tests/test_tool_execution.py610 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py657 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py707 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py756 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py803 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py850 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py898 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py949 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py967 # Create a before_execute modifier that changes the argumentsCOMMENT
MEDIUMpython/tests/test_tool_execution.py1005 # Create a mock GitHub toolCOMMENT
MEDIUMpython/tests/test_tool_execution.py1023 # Create an after_execute modifier that modifies the responseCOMMENT
MEDIUMpython/tests/test_tool_execution.py1253 # Create a mock GitHub tool with proper structureCOMMENT
MEDIUMpython/tests/test_tool_execution.py1306 # Create a mock GitHub tool with proper structureCOMMENT
MEDIUMpython/tests/test_tool_execution.py1338 # Create a mock GitHub toolCOMMENT
MEDIUM⚡python/tests/test_files.py2386 # Create a filename exactly at the limit (100 chars by default)COMMENT
MEDIUMpython/tests/test_files.py2502 # Create a very long filename (hash-based, common in public buckets)COMMENT
MEDIUMpython/examples/triggers.py28# Create a trigger instance pinned to a connected accountCOMMENT
MEDIUMpython/examples/triggers.py84# Define a callback functionsCOMMENT
MEDIUMpython/examples/experimental_tool_router_example.py26 # Create a tool router session. mcp=True surfaces session.mcp on theCOMMENT
MEDIUMpython/examples/experimental_tool_router_example.py48 # Create a tool router session with connection managementCOMMENT
MEDIUMpython/examples/experimental_tool_router_example.py68 # Create a sessionCOMMENT
MEDIUM⚡python/examples/experimental_tool_router_example.py93 # Create a sessionCOMMENT
MEDIUMpython/examples/fastapi_app.py8# Create a FastAPI appCOMMENT
MEDIUMpython/examples/fastapi_app.py11# Create a Composio clientCOMMENT
MEDIUMpython/examples/connected_accounts.py16# Create a new connected account (OAuth). The user may already have aCOMMENT
MEDIUMpython/examples/connected_accounts.py32# Create a new connected account (API Key)COMMENT
MEDIUMpython/examples/tool_router/toolkits.py14# Create a tool router sessionCOMMENT
MEDIUMpython/examples/tool_router/tool_router_mcp.py31 # Create a tool router sessionCOMMENT
MEDIUMpython/examples/tool_router/tool_router_mcp.py54 # Create an agent with the tools from tool routerCOMMENT
MEDIUMpython/examples/tool_router/files.py20 # Create a sessionCOMMENT
MEDIUMpython/examples/tool_router/session_update.py16# Create a session with a per-toolkit tools map and a stored callback URLCOMMENT
MEDIUMpython/examples/tool_router/tools.py22 # Create a tool router session for a specific userCOMMENT
MEDIUMpython/examples/tool_router/tools.py60 # Create an agent with the tools from the sessionCOMMENT
MEDIUMpython/examples/tool_router/tools.py71 # Define the taskCOMMENT
MEDIUM⚡python/examples/tool_router/authorize.py22# Create a tool router sessionCOMMENT
MEDIUM⚡python/composio/core/models/tool_router.py918 # Create a basic sessionSTRING
MEDIUM⚡python/composio/core/models/tool_router.py921 # Create a session with specific toolkitsSTRING
MEDIUM⚡python/composio/core/models/tool_router.py927 # Create a direct-tools session when all needed tools are known upfrontSTRING
MEDIUM⚡python/composio/core/models/tool_router.py934 # Create a session with per-toolkit tool configurationSTRING
MEDIUM⚡python/composio/core/models/tool_router.py944 # Create a session with global tag filteringSTRING
MEDIUM⚡python/composio/core/models/tool_router.py950 # Create a session with toolkit-specific tag filtering (array format)STRING
MEDIUM⚡python/composio/core/models/tool_router.py959 # Create a session with toolkit-specific tag filtering (object format)STRING
MEDIUM⚡python/composio/core/models/tool_router.py968 # Create a session with connection managementSTRING
10 more matches not shown…
Modern AI Meta-Vocabulary40 hits · 124 pts
SeverityFileLineSnippetContext
MEDIUMCONTRIBUTING.md259make create-provider name=my-provider agentic=true # agentic providerCODE
MEDIUMpython/providers/openai/README.md15This package exports two providers: `OpenAIResponsesProvider` for the [Responses API](https://platform.openai.com/docs/aCODE
MEDIUMpython/tests/test_tool_router.py2041 # Verify execute was called with direct offload opt-in for agentic callsCOMMENT
MEDIUMpython/composio/core/models/tool_router_session.py379 # For agentic providers: if custom tools are bound, create a routingCOMMENT
MEDIUM⚡python/composio/core/models/tools.py565 # Dangerously skip version check for agentic tool execution via providersCOMMENT
MEDIUM⚡python/composio/core/models/tools.py566 # This can be safe because most agentic flows users fetch latest version and then execute the toolCOMMENT
MEDIUMpython/composio/core/models/tools.py653 # Provider-wrapped session tools are agentic calls, so they opt intoCOMMENT
MEDIUMdocs/tests/integration/llm-endpoints.test.ts109 // Default guardrails should be appended (session-based pattern)COMMENT
MEDIUMdocs/decisions/llm-guardrails.md86## Session guardrails contentCOMMENT
MEDIUMdocs/decisions/llm-guardrails.md96## Direct execution guardrails contentCOMMENT
MEDIUMdocs/lib/llm-guardrails/direct-execution.ts25Create an **Auth Config** on [dashboard.composio.dev](https://dashboard.composio.dev?utm_source=docs&utm_medium=llm-guarCODE
MEDIUM⚡ts/docs/advanced/modifiers.md129// With an agentic provider (e.g., Vercel, Langchain)COMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md136// All modifiers work with agentic providersCOMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md149 // Before execution modifier (only works with agentic providers)COMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md155 // After execution modifier (only works with agentic providers)COMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md163// With a non-agentic provider (e.g., OpenAI)COMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md170// Only schema modifiers work with non-agentic providersCOMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md183 // These will be ignored by non-agentic providersCOMMENT
MEDIUM⚡ts/docs/advanced/modifiers.md184 beforeExecute: () => {}, // No effect with non-agentic providersCODE
MEDIUM⚡ts/docs/advanced/modifiers.md185 afterExecute: () => {}, // No effect with non-agentic providersCODE
MEDIUMts/docs/advanced/modifiers.md246// Non-agentic provider example (OpenAI)COMMENT
MEDIUMts/docs/advanced/modifiers.md252// Schema modifiers work with non-agentic providersCOMMENT
MEDIUMts/docs/advanced/modifiers.md270// All modifiers work with agentic providersCOMMENT
MEDIUMts/docs/advanced/modifiers.md279 // Execution modifiers (only work with agentic providers)COMMENT
MEDIUMts/docs/advanced/modifiers.md654// Before Execution Modifier (supported by agentic providers only)COMMENT
MEDIUMts/docs/advanced/modifiers.md661// After Execution Modifier (supported by agentic providers only)COMMENT
MEDIUMts/docs/advanced/modifiers.md677 beforeExecute?: beforeExecuteModifier; // Only applied by agentic providersCODE
MEDIUMts/docs/advanced/modifiers.md678 afterExecute?: afterExecuteModifier; // Only applied by agentic providersCODE
MEDIUMts/docs/advanced/telemetry.md146 isAgentic: boolean // Whether the provider is agenticCODE
MEDIUMts/docs/advanced/telemetry.md241 isAgentic: boolean; // Whether the provider is agenticCODE
MEDIUMts/e2e-tests/cli/setup-plugins/e2e.test.ts20 ? `# Keep this suite focused on packaged plugin orchestration. The standaloneCODE
MEDIUMts/scripts/create-provider.sh14# Check if provider should be agenticCOMMENT
MEDIUMts/packages/core/src/types/modifiers.types.ts560 * // Configure agentic tools with schema and execution modificationsCOMMENT
MEDIUMts/packages/core/src/types/modifiers.types.ts640 * // With standard provider (non-agentic)COMMENT
MEDIUMts/packages/core/src/types/modifiers.types.ts645 * // With agentic provider (e.g., VercelProvider)COMMENT
MEDIUMts/packages/core/src/models/Tools.ts919 // dangerously skip version check for agentic tool execution via providersCOMMENT
MEDIUMts/packages/core/src/models/Tools.ts920 // this can be safe because most agentic flows users fetch latest version and then execute the toolCOMMENT
MEDIUMts/packages/core/src/models/Tools.ts1224 // Provider-wrapped session tools are agentic calls, so they opt intoCOMMENT
MEDIUMts/packages/providers/vercel/README.md3Composio provider for the [Vercel AI SDK](https://sdk.vercel.ai) (`ai`). It converts Composio tools into the AI SDK's toCODE
MEDIUMts/packages/cli/CHANGELOG.md251- fc17c37: Security: the CLI's tool file-upload path now enforces the sensitive-file denylist (issue #3746 / GHSA-hp3h-8CODE
Empty Error Handlers23 hits · 115 pts
SeverityFileLineSnippetContext
HIGH…thon/providers/typesafe/composio_typesafe/companion.py124except TypesafeInvalidOptionsError:CODE
HIGH…thon/providers/typesafe/composio_typesafe/companion.py262except TypesafeInvalidOptionsError:CODE
HIGH…thon/providers/typesafe/composio_typesafe/companion.py232except Exception:CODE
HIGHpython/providers/typesafe/composio_typesafe/types.py279except PydanticValidationError:CODE
HIGHpython/providers/typesafe/composio_typesafe/decide.py191except PydanticValidationError:CODE
HIGHpython/tests/test_typesafe_provider.py1724except threading.BrokenBarrierError:CODE
HIGHpython/tests/test_schema_parser.py916except (RecursionError, ValueError):CODE
HIGHpython/tests/test_schema_parser.py890except (ValueError, KeyError, TypeError):CODE
HIGHpython/composio/core/models/_telemetry.py151except (httpx.TimeoutException, httpx.HTTPError, Exception):CODE
HIGHpython/composio/core/models/custom_tool.py240except ImportError:CODE
HIGHpython/composio/utils/redaction.py201except Exception:CODE
HIGHpython/composio/utils/schema_converter.py1432except Exception: # noqa: BLE001 - pydantic raises SchemaError subclassesCODE
HIGHpython/composio/utils/schema_converter.py2855except (SchemaError, CombinerError):CODE
HIGHpython/composio/utils/schema_converter.py2857except Exception:CODE
HIGHpython/composio/utils/schema_converter.py498except (ValueError, IndexError):CODE
HIGHpython/composio/utils/shared.py460except ValueError:CODE
HIGHpython/composio/utils/shared.py467except ValueError:CODE
HIGHpython/composio/utils/upload_dir_allowlist.py48except OSError:CODE
HIGHpython/composio/client/__init__.py243except ImportError:CODE
HIGHpython/composio/client/__init__.py253except NameError:CODE
HIGHpython/composio/client/__init__.py301except (FileNotFoundError, PermissionError):CODE
HIGHharness/trace-py/sitecustomize.py111except Exception: # noqa: BLE001 - tracing must never break the exampleCODE
HIGHharness/trace-py/sitecustomize.py60except OSError:CODE
Cross-Language Confusion (JS/TS)20 hits · 112 pts
SeverityFileLineSnippetContext
HIGHdocs/lib/llm-guardrails/direct-execution.ts35print(connection.redirect_url) # send user here to authenticateCODE
HIGHts/packages/experimental/test/workbench/shim.test.ts80print(_json.dumps({CODE
HIGHts/packages/experimental/test/workbench/shim.test.ts144print(_json.dumps({CODE
HIGHts/packages/experimental/test/workbench/shim.test.ts230print(_json.dumps({"calls": _calls, "results": _results}))CODE
HIGHts/packages/experimental/test/workbench/shim.test.ts337print(_json.dumps({CODE
HIGH⚡…experimental/src/workbench/python-helpers.generated.ts4 'import json\nimport os\nimport random\nimport time\nimport urllib.error\nimport urllib.parse\nimport urllib.request\nCODE
HIGH⚡…experimental/src/workbench/python-helpers.generated.ts4 'import json\nimport os\nimport random\nimport time\nimport urllib.error\nimport urllib.parse\nimport urllib.request\nCODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts50print(result)CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts63print(f"Area: {area}")CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts93print(formatted)CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts101 print("This is missing a closing parenthesis"CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts112 print("Missing colon")CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts137 print(f"Result: {result}")CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts160 print(f"Calling {func.__name__}")CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts169print(result)CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts184 print(result)CODE
HIGHts/packages/cli/test/__utils__/python-compiler.ts204print(result)CODE
HIGH⚡ts/packages/cli/test/__utils__/python-compiler.ts229print(f_string)CODE
HIGH⚡ts/packages/cli/test/__utils__/python-compiler.ts247 print("Hello",) # This trailing comma is validCODE
HIGH⚡ts/packages/cli/test/__utils__/python-compiler.ts248 print("Hello",,) # This double comma is invalidCODE
Excessive Try-Catch Wrapping66 hits · 70 pts
SeverityFileLineSnippetContext
LOW…iders/openai_agents/composio_openai_agents/provider.py99 except Exception as e:CODE
LOW…thon/providers/typesafe/composio_typesafe/companion.py232 except Exception:CODE
LOWpython/providers/typesafe/composio_typesafe/response.py76 except Exception:CODE
LOWpython/providers/typesafe/composio_typesafe/response.py123 except Exception:CODE
LOWpython/providers/typesafe/composio_typesafe/decide.py266 except Exception as error:CODE
LOW⚡python/providers/typesafe/composio_typesafe/decide.py302 except Exception as error:CODE
LOW…claude_agent_sdk/composio_claude_agent_sdk/provider.py121 except Exception as e:CODE
LOW⚡python/examples/experimental_tool_router_example.py83 except Exception as e:CODE
MEDIUM⚡python/examples/experimental_tool_router_example.py84 print(f"Error authorizing toolkit: {e}")CODE
LOWpython/examples/experimental_tool_router_example.py134 except Exception as e:CODE
LOWpython/examples/experimental_tool_router_example.py178 except Exception as e:CODE
LOW…/examples/experimental_tool_router_advanced_example.py206 except Exception as e:CODE
LOWpython/examples/custom_tools_agent_test.py160 except Exception as e:CODE
MEDIUMpython/examples/custom_tools_agent_test.py194 print("Error: OPENAI_API_KEY env var required")CODE
MEDIUM⚡python/examples/tool_router/authorize.py16 print("Error: COMPOSIO_API_KEY environment variable not set")CODE
LOWpython/examples/tool_router/authorize.py46except Exception as e:CODE
MEDIUMpython/scripts/generate-docs.py35 print("Error: griffe not installed. Run: pip install griffe")CODE
LOWpython/scripts/generate-docs.py647 except Exception as e:STRING
MEDIUMpython/scripts/generate-docs.py648 print(f"Error: {e}")STRING
LOWpython/scripts/bump.py177 except Exception as e:CODE
LOWpython/composio/integration_test/conftest.py68 except Exception as e:CODE
LOWpython/composio/integration_test/conftest.py112 except Exception as e:CODE
LOW⚡python/composio/integration_test/test_mcp.py87 except Exception as e:CODE
LOW⚡python/composio/integration_test/test_mcp.py99 except Exception as e:CODE
LOW⚡python/composio/integration_test/test_mcp.py162 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py117 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py214 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py321 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py410 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py503 except Exception as e:CODE
LOWpython/composio/integration_test/test_mcp.py633 except Exception as e:CODE
LOWpython/composio/core/models/triggers.py628 except Exception as e:CODE
LOWpython/composio/core/models/triggers.py675 except Exception as e:CODE
LOWpython/composio/core/models/triggers.py715 except Exception as e:CODE
LOWpython/composio/core/models/triggers.py771 except Exception:CODE
LOW⚡python/composio/core/models/triggers.py824 except Exception:CODE
LOWpython/composio/core/models/triggers.py850 except Exception:CODE
LOWpython/composio/core/models/triggers.py854 except Exception:CODE
LOWpython/composio/core/models/triggers.py1033 except Exception as e:CODE
LOWpython/composio/core/models/triggers.py1124 except Exception:CODE
LOW⚡python/composio/core/models/triggers.py1691 except Exception:CODE
LOW…thon/composio/core/models/tool_router_session_files.py53 except Exception:CODE
LOWpython/composio/core/models/tool_router_session.py651 except Exception as error:CODE
LOWpython/composio/core/models/custom_tool_execution.py114 except Exception as e:CODE
LOWpython/composio/core/models/_files.py299 except Exception:CODE
LOWpython/composio/core/models/mcp.py232 except Exception as e:CODE
LOWpython/composio/core/models/mcp.py290 except Exception as e:CODE
LOWpython/composio/core/models/mcp.py313 except Exception as e:CODE
LOWpython/composio/core/models/mcp.py413 except Exception as e:CODE
LOWpython/composio/core/models/mcp.py440 except Exception as e:CODE
LOWpython/composio/core/models/mcp.py500 except Exception as e:CODE
LOWpython/composio/core/models/custom_tool.py305 except Exception:CODE
LOWpython/composio/core/models/base.py57 except Exception as e:CODE
LOWpython/composio/utils/redaction.py196 except Exception:CODE
LOWpython/composio/utils/redaction.py201 except Exception:CODE
LOWpython/composio/utils/url_safety.py442 except Exception: # pragma: no cover - platform proxy discovery can failCODE
LOWpython/composio/utils/schema_converter.py1432 except Exception: # noqa: BLE001 - pydantic raises SchemaError subclassesCODE
LOWpython/composio/utils/schema_converter.py1904 except Exception: # noqa: BLE001 - pydantic raises SchemaError subclassesCODE
LOWpython/composio/utils/schema_converter.py2713 except Exception as e:CODE
LOWpython/composio/utils/schema_converter.py2754 except Exception as e:CODE
6 more matches not shown…
Fake / Example Data61 hits · 61 pts
SeverityFileLineSnippetContext
LOWtest/release-workflow.test.ts1562 GITHUB_TOKEN: 'fake-token',CODE
LOWtest/release-workflow.test.ts1581 GITHUB_TOKEN: 'fake-token',CODE
LOWtest/release-workflow.test.ts1608 GITHUB_TOKEN: 'fake-token',CODE
LOWtest/release-workflow.test.ts1638 GITHUB_TOKEN: 'fake-token',CODE
LOWpython/tests/test_tool_router.py2492 "GMAIL_SEND_EMAIL", arguments={"to": "test@test.com"}CODE
LOWpython/tests/test_tool_router.py2505 ).execute("GMAIL_SEND_EMAIL", {"to": "test@test.com"}),CODE
LOWpython/tests/test_tool_router.py2518 "GMAIL_SEND_EMAIL", {"to": "test@test.com"}CODE
LOWpython/tests/test_tool_router.py2667 lambda ctx: ctx.execute("GMAIL_SEND_EMAIL", {"to": "test@test.com"}),CODE
LOW⚡python/tests/test_provider.py904 "for_rs": "user@example.com",CODE
LOW⚡python/tests/test_provider.py913 "for": "user@example.com",CODE
LOWpython/tests/test_no_retry_writes.py200 return execute("GMAIL_SEND_EMAIL", {"to": "test@test.com"})CODE
LOWpython/tests/test_no_retry_writes.py215 "GMAIL_SEND_EMAIL", arguments={"to": "test@test.com"}CODE
LOWpython/tests/test_no_retry_writes.py225 "GMAIL_SEND_EMAIL", {"to": "test@test.com"}CODE
LOWpython/docs/tool-router.md493 ("placeholder", "{agent_scratchpad}"),CODE
LOWpython/composio/sdk.py328 session = composio.sessions.create(user_id="user@example.com")STRING
LOWdocs/app/llms.mdx/[[...slug]]/route.ts264 if (schema.format === 'email') return 'user@example.com';CODE
LOWdocs/kb/source/platform/self-hosted-helm/public.md19Do not set placeholder S3 credential values for IRSA deployments. Values such as `dummy-value` or a literal string `nullCODE
LOWdocs/kb/source/platform/self-hosted-helm/public.md53For IRSA, `S3_ACCESS_KEY_ID` and `S3_SECRET_ACCESS_KEY` should be absent from the Apollo container. Those secrets are opCODE
LOWdocs/kb/articles/platform-self-hosted-helm.md7Do not set placeholder S3 credential values for IRSA deployments. Values such as `dummy-value` or a literal string `nullCODE
LOWdocs/kb/articles/platform-self-hosted-helm.md41For IRSA, `S3_ACCESS_KEY_ID` and `S3_SECRET_ACCESS_KEY` should be absent from the Apollo container. Those secrets are opCODE
LOWts/docs/core-concepts.md77const userId = user.email; // e.g., "user@example.com"CODE
LOW…-tests/runtimes/node/json-schema-to-zod-v4/e2e.test.ts92 name: 'Jane Doe',CODE
LOW…-tests/runtimes/node/json-schema-to-zod-v4/e2e.test.ts95 { type: 'phone', value: '555-1234' },CODE
LOW…-tests/runtimes/node/json-schema-to-zod-v3/e2e.test.ts93 name: 'Jane Doe',CODE
LOW…-tests/runtimes/node/json-schema-to-zod-v3/e2e.test.ts96 { type: 'phone', value: '555-1234' },CODE
LOW⚡ts/packages/core/test/models/noRetryExecution.test.ts92 arguments: { to: 'test@test.com' },CODE
LOW⚡ts/packages/core/test/models/noRetryExecution.test.ts97 run: client => createSession(client).execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' }),CODE
LOW⚡ts/packages/core/test/models/noRetryExecution.test.ts107 to: 'test@test.com',CODE
LOWts/packages/core/test/models/customToolRouting.test.ts368 await session.execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' });CODE
LOWts/packages/core/test/models/customToolRouting.test.ts374 arguments: { to: 'test@test.com' },CODE
LOWts/packages/core/test/models/customToolRouting.test.ts450 await session.execute('CHAINED_TOOL', { to: 'test@test.com' });CODE
LOWts/packages/core/test/models/customToolRouting.test.ts456 arguments: { to: 'test@test.com' },CODE
LOWts/packages/core/test/models/customToolRouting.test.ts636 tools: [{ tool_slug: 'GMAIL_SEND_EMAIL', arguments: { to: 'test@test.com' } }],CODE
LOW…ckages/core/test/models/inputRequiredExecution.test.ts86 arguments: { to: 'test@test.com' },CODE
LOW…ckages/core/test/models/inputRequiredExecution.test.ts92 run: client => createSession(client).execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' }),CODE
LOW…ckages/core/test/models/inputRequiredExecution.test.ts104 to: 'test@test.com',CODE
LOW…ckages/core/test/models/inputRequiredExecution.test.ts248 call: ctx => ctx.execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' }),CODE
LOWts/packages/core/test/models/toolRouter.test.ts2889 to: 'user@example.com',CODE
LOWts/packages/core/test/models/toolRouter.test.ts2898 arguments: { to: 'user@example.com', subject: 'Hi', body: 'Hello' },CODE
LOWts/packages/core/test/models/toolRouter.test.ts2953 await session.execute('GMAIL_SEND_EMAIL', { to: 'user@example.com' }, { account: 'work' });CODE
LOWts/packages/core/test/models/toolRouter.test.ts2959 arguments: { to: 'user@example.com' },CODE
LOWts/packages/core/test/models/toolRouter.test.ts2990 await session.execute('GMAIL_SEND_EMAIL', { to: 'user@example.com' });CODE
LOWts/packages/core/test/models/toolRouter.test.ts2996 arguments: { to: 'user@example.com' },CODE
LOWts/packages/core/test/models/toolRouter.test.ts3235 await routingExecute('GMAIL_SEND_EMAIL', { to: 'user@example.com' });CODE
LOWts/packages/core/test/models/toolRouter.test.ts3239 { sessionId, arguments: { to: 'user@example.com' } },CODE
LOWts/packages/core/test/models/customTool.test.ts808 const result = await ctx.execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' });CODE
LOWts/packages/core/test/models/customTool.test.ts814 arguments: { to: 'test@test.com' },CODE
LOWts/packages/core/test/models/customTool.test.ts844 await ctx.execute('GMAIL_SEND_EMAIL', { to: 'test@test.com' });CODE
LOWts/packages/core/test/models/customTool.test.ts850 arguments: { to: 'test@test.com' },CODE
LOW…on-schema-to-zod/test/comprehensive-edge-case-tests.ts234 user: { name: 'John Doe', email: 'john@example.com' },CODE
LOWts/packages/json-schema-to-zod/test/json-to-zod.test.ts760 name: 'John Doe',CODE
LOWts/packages/json-schema-to-zod/test/json-to-zod.test.ts772 name: 'John Doe',CODE
LOWts/packages/cli/test/src/models/project-keys.test.ts29 email: 'test@test.com',CODE
LOWts/packages/cli/test/src/models/project-keys.test.ts39 expect(Option.getOrUndefined(result.email)).toBe('test@test.com');CODE
LOWts/packages/cli/test/src/models/project-keys.test.ts138 email: Option.some('test@test.com'),CODE
LOWts/packages/cli/test/src/models/project-keys.test.ts149 expect(parsed.email).toBe('test@test.com');CODE
LOWts/packages/cli/test/src/models/project-keys.test.ts186 email: Option.some('user@example.com'),CODE
LOW…ackages/cli/test/src/scripts/release-artifacts.test.ts30 expect(pathsOfKind('placeholder')).toEqual([CODE
LOWts/packages/cli/scripts/_release-artifacts.ts20export type ArchiveCompanionEntryKind = 'copy' | 'placeholder';CODE
LOWts/packages/cli/scripts/_release-artifacts.ts47 kind: 'placeholder' as const,CODE
1 more matches not shown…
Over-Commented Block63 hits · 60 pts
SeverityFileLineSnippetContext
LOWinstall.sh401# bash/zsh and `set --export PATH "<dir>" $PATH` for fish -- so the set isCOMMENT
LOWpnpm-workspace.yaml61 zod: ^4.5.4COMMENT
LOWpnpm-workspace.yaml101 # (see pinnedDispatcher.node.ts -- Node's fetch rejects undici 8 dispatchers).COMMENT
LOWpnpm-workspace.yaml121 'undici@>=5.0.0 <6.28.1': '>=6.28.1 <7'COMMENT
LOWpnpm-workspace.yaml141 'ip-address@>=10.0.0 <10.7.1': '>=10.7.1 <11'COMMENT
LOWpnpm-workspace.yaml161 # GHSA-rgw5-rvv9-x895, GHSA-6j4f-fj2g-mc7p, and GHSA-qhr7-859c-m2p7 raiseCOMMENT
LOWpnpm-workspace.yaml181auditConfig:COMMENT
LOWpython/config/vulture_allowlist.py1# Vulture allowlist — confirmed false positives.COMMENT
LOWpython/examples/triggers.py61# result = composio.triggers.verify_webhook(COMMENT
LOWpython/scripts/create-provider.sh261 :param modifiers: Modifiers to use for executing function calls.COMMENT
LOWpython/scripts/create-provider.sh301tools = composio.tools.get(COMMENT
LOWpython/scripts/create-provider.sh341# from ${PROVIDER_NAME} import ${TITLE_CASE_PROVIDER_NAME} # Import your AI clientCOMMENT
LOWpython/scripts/create-provider.sh441 toolkits=["github"]COMMENT
LOWpython/composio/utils/schema_converter.py1861# their patterns: LLM tool arguments, including object keys. Python's `re`COMMENT
LOWdocs/lib/eve-empty-module.js1// Browser stub for `node:module`. eve's bundled rolldown CJS-interop helperCOMMENT
LOWdocs/lib/toolkit-count.ts1import toolkitsData from '@/public/data/toolkits-list.json';COMMENT
LOW.github/workflows/docs-agent-eval.yml1# Docs Agent Eval — label-triggered CI check (V1, informational)COMMENT
LOW.github/workflows/agent-substrate.yml1name: Agent SubstrateCOMMENT
LOW.github/workflows/claude.yml41 allowed_bots: "devin-ai-integration[bot],decimal-pr-bot[bot],github-actions[bot],dependabot[bot],zen-agent"COMMENT
LOW.github/workflows/claude.yml61COMMENT
LOW.github/workflows/cli.install-health-check.yml61 # edit on this ephemeral runner is harmless). Asset-aware and self-healing, so it is aCOMMENT
LOW.github/workflows/docs-update-data.yml21 pull-requests: writeCOMMENT
LOW.github/scripts/check-orphan-ci.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/check-action-repos.sh1#!/usr/bin/env bashCOMMENT
LOW…ithub/scripts/cli-release/verify-archive-companions.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/cli-release/create-or-resume-draft.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/cli-release/resolve-release-target.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/cli-release/verify-assets.sh1#!/usr/bin/env bashCOMMENT
LOW…examples/cloudflare-wrangler/worker-configuration.d.ts6681 } : T;COMMENT
LOWts/packages/core/test/AuthConfigs/authConfigs.test.ts681 const apiError = new Error('Disable failed');COMMENT
LOWts/packages/core/test/AuthConfigs/authConfigs.test.ts701 // logo: 'valid_logo',COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts781COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts801 // mockClient.toolRouter.session.create.mockResolvedValueOnce(mockSessionCreateResponse);COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts821 // },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts841COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts861 // const config: ToolRouterCreateSessionConfig = {COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts881 // execution: undefined,COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts901 // tools: {COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts921 // await toolRouter.create(userId, config);COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts941COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts961 // gmail: { enable: ['GMAIL_FETCH_EMAILS'] },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1441 // tools: {COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1461 // };COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1481 // tags: { include: ['important'] },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1501 // },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1521 // gmail: { disable: ['GMAIL_DELETE_EMAIL'] },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1541 // },COMMENT
LOWts/packages/core/test/models/toolRouter.test.ts1561 // },COMMENT
LOWts/packages/core/src/types/tool.types.ts141 not: JSONSchemaPropertySchema.optional(),COMMENT
LOW…ges/core/src/types/connectedAccountAuthStates.types.ts521// SnowflakeInitiatingSchema.extend({COMMENT
LOW…es/cli-keyring/src/stores/macos-security-subprocess.ts121 // If a previous composio version wrote this entry with aCOMMENT
LOW…es/cli-keyring/src/stores/macos-security-subprocess.ts141 // (produces a genuine allow-any ACL — the only configurationCOMMENT
LOW…/packages/cli-keyring/src/stores/macos-security-ffi.ts461 // (subprocess) because that is the ONLY path that reliably producesCOMMENT
LOW…/packages/cli-keyring/src/stores/macos-security-ffi.ts481 // produces per-binary ACLs — see the long comment block above),COMMENT
LOWts/packages/cli/test/__utils__/services/mock-console.ts1// Adapted from `effect/testing`'s `TestConsole` (vendored atCOMMENT
LOWts/packages/cli/test/src/analytics.dispatch.test.ts41 for (let index = 0; index < cwd.length; index += 1) {COMMENT
LOW…ges/cli/test/src/effect-errors/span-annotation.test.ts21describe('extractSpanStackFrames', () => {COMMENT
LOWts/packages/cli/test/src/commands/install.cmd.test.ts61// The atomic-write tmp name embeds the pid, so litter checks scan the target'sCOMMENT
LOW…/cli/src/effect-errors/logic/errors/span-annotation.ts1import { type Reason, reasonAnnotations, StackTrace } from 'effect/Cause';COMMENT
LOWts/packages/cli/src/services/composio-clients-cached.ts181 // `Effect.cached` memoizes the outcome, not just the success — a failedCOMMENT
3 more matches not shown…
Cross-Language Confusion10 hits · 48 pts
SeverityFileLineSnippetContext
HIGHpython/providers/typesafe/composio_typesafe/compile.py104 return f'The request explicitly asks for no value (null) for "{argument}".'CODE
HIGHpython/providers/typesafe/composio_typesafe/compile.py133 f'The request explicitly asks for no value (null) for "{argument}".'CODE
HIGHpython/tests/test_typesafe_provider.py688 == 'The request explicitly asks for no value (null) for "flag".'CODE
HIGHpython/tests/test_strict_schema.py891 # The tool's own schema accepts the null, so it is forwarded.COMMENT
HIGHpython/tests/test_strict_schema.py953 # Both branches accept null, so `oneOf` rejects it; the second is onlyCOMMENT
HIGHpython/tests/test_schema_parser.py928 Test that CustomFields with anyOf [object, null] returns Dict, not str.STRING
HIGHpython/tests/test_schema_parser.py1178 Test that anyOf [boolean, null] with boolean default preserves types.STRING
HIGHpython/tests/test_schema_parser.py1639 """Nullable anyOf [type, null] continues to resolve without raising."""STRING
HIGHpython/scripts/generate-docs.py8Run: cd python && uv run --with griffe python scripts/generate-docs.pySTRING
HIGH…mental/src/workbench/python-helpers/composio_helper.py424 # `status` can arrive as a string or null, so coerce it before comparingCOMMENT
Deep Nesting51 hits · 42 pts
SeverityFileLineSnippetContext
LOWpython/providers/google/composio_google/provider.py128CODE
LOW…iders/openai_agents/composio_openai_agents/provider.py17CODE
LOWpython/providers/typesafe/composio_typesafe/response.py127CODE
LOWpython/providers/typesafe/composio_typesafe/decide.py462CODE
LOWpython/tests/test_url_safety_pinning.py139CODE
LOWpython/tests/test_strict_schema_properties.py52CODE
LOWpython/tests/test_strict_schema_properties.py112CODE
LOWpython/tests/test_sdk.py108CODE
LOWpython/tests/test_sdk.py153CODE
LOWpython/tests/test_sdk.py182CODE
LOWpython/tests/test_path_join_guardrail.py321CODE
LOWpython/tests/test_path_join_guardrail.py368CODE
LOWpython/scripts/generate-docs.py197CODE
LOWpython/scripts/generate-docs.py318CODE
LOWpython/scripts/generate-docs.py389CODE
LOWpython/scripts/generate-docs.py632CODE
LOWpython/composio/integration_test/conftest.py40CODE
LOW…thon/composio/core/models/tool_router_session_files.py82CODE
LOW…thon/composio/core/models/tool_router_session_files.py193CODE
LOWpython/composio/core/models/tool_router_session.py988CODE
LOWpython/composio/core/models/tool_router.py664CODE
LOWpython/composio/core/models/tool_router.py764CODE
LOWpython/composio/core/models/_files.py381CODE
LOWpython/composio/core/models/_files.py689CODE
LOWpython/composio/core/models/_files.py831CODE
LOWpython/composio/core/models/_modifiers.py595CODE
LOWpython/composio/core/models/mcp.py316CODE
LOWpython/composio/core/models/connected_accounts.py589CODE
LOWpython/composio/utils/redaction.py60CODE
LOWpython/composio/utils/redaction.py142CODE
LOWpython/composio/utils/redaction.py147CODE
LOWpython/composio/utils/strict_schema.py376CODE
LOWpython/composio/utils/schema_converter.py234CODE
LOWpython/composio/utils/schema_converter.py576CODE
LOWpython/composio/utils/schema_converter.py736CODE
LOWpython/composio/utils/schema_converter.py1529CODE
LOWpython/composio/utils/schema_converter.py1672CODE
LOWpython/composio/utils/schema_converter.py1715CODE
LOWpython/composio/utils/schema_converter.py1801CODE
LOWpython/composio/utils/schema_converter.py2338CODE
LOWpython/composio/utils/schema_converter.py2515CODE
LOWpython/composio/utils/schema_converter.py2599CODE
LOWpython/composio/utils/schema_converter.py1978CODE
LOWpython/composio/utils/openapi.py93CODE
LOWpython/composio/utils/shared.py145CODE
LOWpython/composio/utils/shared.py407CODE
LOWpython/composio/utils/shared.py687CODE
LOWpython/composio/utils/json_schema.py80CODE
LOWpython/composio/utils/json_schema.py126CODE
LOWpython/composio/utils/json_schema.py163CODE
LOW…mental/src/workbench/python-helpers/composio_helper.py303CODE
Cross-File Repetition8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHpython/tests/test_auto_upload_download_files.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_file_upload_robustness.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_gemini_provider.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_client_errors.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_tool_execution.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_provider.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_files.py0disable telemetry for all tests to prevent thread issues.STRING
HIGHpython/tests/test_no_retry_writes.py0disable telemetry for all tests to prevent thread issues.STRING
Structural Annotation Overuse17 hits · 29 pts
SeverityFileLineSnippetContext
LOW⚡python/composio/integration_test/test_mcp.py474 # Step 1: Create MCP configCOMMENT
LOW⚡python/composio/integration_test/test_mcp.py488 # Step 2: Generate server instanceCOMMENT
LOW⚡python/composio/integration_test/test_mcp.py492 # Step 3: Verify server instanceCOMMENT
LOWpython/composio/integration_test/test_mcp.py530 # Step 1: CREATE MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py551 # Step 2: GET MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py562 # Step 3: UPDATE MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py578 # Step 4: GET updated MCP serverCOMMENT
LOW.claude/commands/api-update.md7### Step 1: Check for Open PRsCOMMENT
LOW⚡.claude/commands/api-update.md20### Step 2: Get PR PatchesCOMMENT
LOW⚡.claude/commands/api-update.md28### Step 3: Analyze ChangesCOMMENT
LOW⚡.claude/commands/api-update.md38### Step 4: Identify SDK ImpactCOMMENT
LOW.claude/commands/api-update.md62### Step 5: Check Current Client VersionsCOMMENT
LOW.claude/commands/api-update.md68### Step 6: Create Update PlanCOMMENT
LOWts/docs/getting-started.md206// Step 1: Authorize the toolkitCOMMENT
LOWts/docs/getting-started.md212// Step 2: Wait for the connection to be establishedCOMMENT
LOWts/docs/advanced/error-handling.md105 // Step 1: Authorize the toolkitCOMMENT
LOWts/docs/advanced/error-handling.md108 // Step 2: Wait for the connection to be establishedCOMMENT
Redundant / Tautological Comments17 hits · 26 pts
SeverityFileLineSnippetContext
LOWpython/scripts/create-provider.sh3# Check if provider name is providedCOMMENT
LOWpython/scripts/create-provider.sh41# Check if provider directory already existsCOMMENT
LOW⚡python/composio/core/models/triggers.py1686 # Check if any of the provided signatures match (timing-safe)COMMENT
LOWpython/composio/core/models/tool_router_session.py929 # Check if this is a local tool (by original or final slug)COMMENT
LOWpython/composio/core/models/tools.py717 # Check if the version is 'latest' and dangerously_skip_version_check is not TrueCOMMENT
LOWpython/composio/core/models/_modifiers.py625 # Check if modifier should be appliedCOMMENT
LOWpython/composio/core/models/_modifiers.py643 # Check if modifier should be appliedCOMMENT
LOWpython/composio/core/models/connected_accounts.py633 # Check if there are multiple connected accounts for the authConfig of the userCOMMENT
LOWpython/composio/core/models/base.py29 # Check if the method is a class methodCOMMENT
LOWpython/composio/utils/toolkit_version.py73 # Check if there are envs similar to COMPOSIO_TOOLKIT_VERSION_GITHUB then extract the toolkit nameCOMMENT
LOWpython/composio/utils/shared.py508 # Check if the field name is a reserved Pydantic nameCOMMENT
LOWpython/composio/client/__init__.py296 # Check if running in a container (generic)COMMENT
LOW.github/workflows/cli.test-installation.yml452 # Check if binary is goneCOMMENT
LOWts/scripts/create-example.sh3# Check if example name is providedCOMMENT
LOWts/scripts/create-example.sh14# Check if example directory already existsCOMMENT
LOWts/scripts/create-provider.sh3# Check if provider name is providedCOMMENT
LOWts/scripts/create-provider.sh14# Check if provider should be agenticCOMMENT
Modern Structural Boilerplate15 hits · 15 pts
SeverityFileLineSnippetContext
LOWpython/providers/openai/composio_openai/provider.py8__all__ = ["OpenAIProvider", "OpenAIResponsesProvider"]CODE
LOWpython/composio/types.py24__all__ = [CODE
LOWpython/composio/integration_test/__init__.py8__all__ = []CODE
LOWpython/composio/core/types.py15__all__ = [CODE
LOWpython/composio/core/provider/__init__.py7__all__ = [CODE
LOWpython/composio/core/provider/base.py86 def set_execute_tool_fn(self, execute_tool_fn: ExecuteToolFn) -> None:CODE
LOWpython/composio/core/models/triggers.py208__all__ = [CODE
LOWpython/composio/core/models/triggers.py867 def set_alive(self) -> None:CODE
LOWpython/composio/core/models/tools.py911__all__ = [CODE
LOWpython/composio/core/models/__init__.py47__all__ = [CODE
LOWpython/composio/core/models/tool_router.py70logger = logging.getLogger(__name__)CODE
LOWpython/composio/core/models/tool_router.py1430__all__ = [CODE
LOWpython/composio/core/models/connected_accounts.py30logger = logging.getLogger(__name__)CODE
LOWpython/composio/utils/__init__.py27__all__ = [CODE
LOWpython/composio/utils/shared.py35__all__ = [CODE
AI Slop Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMharness/trace-py/sitecustomize.py16 # Mirrors harness/backend-url.mjs: COMPOSIO_BASE_URL selects the backend andCOMMENT
MEDIUM.github/workflows/examples-live.yml7# (harness/run.mjs sweep).COMMENT
MEDIUM.github/workflows/examples-live.yml61 # Keep unavailable coverage explicit. The harness records excluded entry idsCOMMENT
MEDIUM.github/workflows/cli.install-e2e.yml33 # provisioned in production yet — they 404. Until they ship, the harness's prodCOMMENT
MEDIUM.github/workflows/cli.install-health-check.yml150 # This mirrors the harness's assert_login_bash_path clean-environment probe.COMMENT
Verbosity Indicators7 hits · 12 pts
SeverityFileLineSnippetContext
LOW⚡python/composio/integration_test/test_mcp.py474 # Step 1: Create MCP configCOMMENT
LOW⚡python/composio/integration_test/test_mcp.py488 # Step 2: Generate server instanceCOMMENT
LOW⚡python/composio/integration_test/test_mcp.py492 # Step 3: Verify server instanceCOMMENT
LOWpython/composio/integration_test/test_mcp.py530 # Step 1: CREATE MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py551 # Step 2: GET MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py562 # Step 3: UPDATE MCP serverCOMMENT
LOWpython/composio/integration_test/test_mcp.py578 # Step 4: GET updated MCP serverCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHpython/composio/core/models/_files.py235Upload file to presigned S3 URL. Args: url: Presigned S3 upload URL file: Path to file to upload STRING
HIGHpython/composio/core/models/_files.py385Fetch file content from a URL with security protections. Security features: - Response size limiting (prevents STRING
Synthetic Comment Markers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH.github/workflows/docs.sdk-change-sync.yml160 Generated by Claude Code via GitHub Actions.CODE
HIGH.github/workflows/docs.sync-connect-clients.yml100 Generated by Claude Code via GitHub Actions.CODE
AI Structural Patterns9 hits · 8 pts
SeverityFileLineSnippetContext
LOWpython/providers/typesafe/composio_typesafe/provider.py267CODE
LOWpython/examples/mcp_example.py44CODE
LOWpython/composio/core/models/tool_router_session.py246CODE
LOWpython/composio/core/models/tool_router_session.py1064CODE
LOWpython/composio/core/models/tools.py743CODE
LOWpython/composio/core/models/tool_router.py707CODE
LOWpython/composio/core/models/tool_router.py736CODE
LOWpython/composio/core/models/tool_router.py764CODE
LOWpython/composio/client/__init__.py327CODE
Overly Generic Function Names2 hits · 3 pts
SeverityFileLineSnippetContext
LOW⚡ts/packages/cli/test/__utils__/python-compiler.ts236def test_function():CODE
LOW⚡ts/packages/cli/test/__utils__/python-compiler.ts246def test_function():CODE