OpenAgents - AI Agent Networks for Open Collaboration
This report presents the forensic synthetic code analysis of openagents-org/openagents, a TypeScript project with 3,973 GitHub stars. SynthScan v2.0 examined 513,108 lines of code across 2123 source files, recording 6135 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 19.2 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6135 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install.sh | 4 | # ============================================================================= | COMMENT |
| MEDIUM | install.sh | 10 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 56 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 58 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 169 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 171 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 269 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | install.sh | 271 | # ========================================================================= | COMMENT |
| MEDIUM | install.sh | 300 | # ========================================================================= | COMMENT |
| MEDIUM | install.sh | 302 | # ========================================================================= | COMMENT |
| MEDIUM | workspace/frontend/components/tasks/tasks-view.tsx | 31 | // ── Card ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | workspace/frontend/components/tasks/tasks-view.tsx | 181 | // ── Column ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | workspace/frontend/components/tasks/tasks-view.tsx | 218 | // ── Board ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 247 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 249 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 306 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 308 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 333 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 335 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 369 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 371 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 405 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 407 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 435 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 437 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 459 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 461 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 498 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 500 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 577 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 579 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 612 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 614 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 641 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 643 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 668 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/models.py | 670 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 205 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/access.py | 207 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workspace/backend/app/cache.py | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workspace/backend/app/cache.py | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 15 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 17 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 78 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 80 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 151 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 153 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 254 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 256 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 317 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 319 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workspace/backend/app/skill_catalog.py | 380 | # ------------------------------------------------------------------------- | COMMENT |
| 734 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/frontend/components/chat/mermaid-block.tsx | 21 | export function removeMermaidRenderArtifacts(renderId: string) { | CODE |
| LOW | workspace/frontend/lib/firebase.ts | 39 | export async function signInWithCustomTokenValue(customToken: string) { | CODE |
| LOW | workspace/frontend/lib/types.ts | 512 | export function networkAgentToWorkspaceAgent(agent: NetworkAgent): WorkspaceAgent { | CODE |
| LOW | workspace/backend/app/access.py | 115 | def get_or_create_user_by_email(db: Session, email: str) -> User: | CODE |
| LOW | workspace/backend/app/pipeline_factory.py | 17 | def create_workspace_pipeline() -> Pipeline: | CODE |
| LOW | workspace/backend/app/skill_catalog.py | 726 | def skills_to_disabled_modules(enabled_skills: Optional[Dict[str, bool]]) -> Set[str]: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 103 | def _target_from_absolute_url(target: str) -> tuple: | CODE |
| LOW | workspace/backend/app/browser.py | 86 | def classify_navigation_error(exc: Exception) -> str: | CODE |
| LOW | workspace/backend/app/pagination.py | 27 | def apply_database_pagination( | CODE |
| LOW | workspace/backend/app/pagination.py | 36 | def create_paginated_response( | CODE |
| LOW | workspace/backend/app/routers/fetch.py | 286 | def _normalize_rendered_assets(images: Optional[list], base_url: str) -> list[dict]: | CODE |
| LOW | workspace/backend/app/routers/browser.py | 140 | def _orphan_session_tombstone(db: Session, tab: BrowserTab, error: str) -> None: | CODE |
| LOW⚡ | workspace/backend/app/routers/notifications.py | 198 | async def mark_all_notifications_read( | CODE |
| LOW | workspace/backend/app/routers/routines.py | 74 | def _get_or_create_routine_channel(db: Session, workspace: Workspace, agent: str) -> Channel: | CODE |
| LOW | workspace/backend/app/routers/routines.py | 168 | def _generate_routine_context_sync( | CODE |
| LOW | workspace/backend/app/routers/workspaces.py | 635 | def generate_member_description( | CODE |
| LOW | workspace/backend/app/routers/workspaces.py | 773 | def _emit_agent_control_event(db, workspace, agent_name: str, action: str, payload: dict) -> None: | CODE |
| LOW | workspace/backend/app/mods/workspace_mod.py | 557 | def _online_participant_names(db, workspace, channel) -> set: | CODE |
| LOW | workspace/backend/app/mods/workspace_mod.py | 1109 | def _handle_task_thread_progress(event: Event, channel, content: str, db, workspace) -> None: | CODE |
| LOW | workspace/backend/app/mods/workspace_mod.py | 1148 | def _upsert_human_collaborator(workspace, payload: dict, db) -> None: | CODE |
| LOW | workspace/backend/app/services/cloud_agent.py | 363 | def _build_conversation_context( | CODE |
| LOW | workspace/backend/app/services/push.py | 273 | def _channel_name_from_target(event: dict) -> str: | CODE |
| LOW⚡ | workspace/backend/tests/test_timer_maintenance.py | 55 | def test_run_maintenance_empty_db_ok(session_factory): | CODE |
| LOW⚡ | workspace/backend/tests/test_timer_maintenance.py | 60 | def test_fire_due_empty_db_ok(session_factory): | CODE |
| LOW⚡ | workspace/backend/tests/test_timer_maintenance.py | 65 | def test_run_maintenance_archives_stale_thread(session_factory): | CODE |
| LOW | workspace/backend/tests/test_channel_membership.py | 37 | def test_unrelated_agent_cannot_invite(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_channel_membership.py | 62 | def test_join_routine_channel_rejected(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_channel_membership.py | 87 | def test_unrelated_agent_cannot_remove(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_channel_membership.py | 98 | def test_agent_can_remove_self(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_channel_membership.py | 109 | def test_leave_routine_channel_rejected(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 27 | def test_create_workspace_has_channel_with_master(self, client): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 37 | def test_create_workspace_with_email(self, client): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 63 | def test_get_workspace_by_slug(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 70 | def test_get_workspace_includes_agents(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 79 | def test_get_nonexistent_workspace(self, client): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 167 | def test_deleted_workspace_hidden_from_list(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 382 | def test_rotate_no_credentials(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 387 | def test_rotate_nonexistent_workspace(self, client): | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 395 | def test_new_token_works_for_join(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 104 | def test_browser_enabled_defaults_false(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 111 | def test_update_browser_enabled_true(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 122 | def test_browser_enabled_round_trips(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 131 | def test_browser_enabled_preserves_other_settings(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 144 | def test_browser_enabled_false_clears_panel(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 197 | def test_default_mode_is_dynamic(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 205 | def test_set_workflow_mode_with_instruction_round_trips(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 222 | def test_invalid_mode_rejected(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 226 | def test_empty_instruction_clears_plan(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 245 | def test_generate_returns_suggestion(self, _m, _k, mock_get_client, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 284 | def test_delete_by_slug_with_valid_token(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 301 | def test_deleted_workspace_is_no_longer_accessible(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 330 | def test_list_returns_workspaces(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 335 | def test_list_filter_by_agent(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 347 | def test_rotate_with_valid_token(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 359 | def test_old_token_stops_working(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 438 | def test_remove_nonexistent_member(self, client, workspace): | CODE |
| LOW | workspace/backend/tests/test_workspaces.py | 446 | def test_remove_no_credentials(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_collaborators.py | 187 | def test_collaborator_bearer_grants_access(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_collaborators.py | 207 | def test_non_collaborator_bearer_rejected(self, client, workspace): | CODE |
| LOW⚡ | workspace/backend/tests/test_collaborators.py | 216 | def test_collaborator_can_send_event(self, client, workspace): | CODE |
| 1681 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/backend/app/browser_maintenance.py | 85 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser_maintenance.py | 110 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser_maintenance.py | 275 | except Exception: | CODE |
| LOW | workspace/backend/app/cache.py | 48 | except Exception as e: | CODE |
| LOW⚡ | workspace/backend/app/cache.py | 62 | except Exception as e: | CODE |
| LOW⚡ | workspace/backend/app/cache.py | 76 | except Exception as e: | CODE |
| LOW | workspace/backend/app/cache.py | 87 | except Exception as e: | CODE |
| LOW | workspace/backend/app/cache.py | 108 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/cache.py | 132 | except Exception as e: | CODE |
| LOW | workspace/backend/app/cache.py | 156 | except Exception as e: | CODE |
| LOW | workspace/backend/app/cache.py | 186 | except Exception as e: | CODE |
| LOW | workspace/backend/app/cache.py | 192 | except Exception: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 246 | except Exception: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 282 | except Exception: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 316 | except Exception: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 320 | except Exception: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 381 | except Exception as e: # fail closed on anything unexpected | CODE |
| LOW | workspace/backend/app/browser_egress.py | 433 | except Exception: | CODE |
| MEDIUM | workspace/backend/app/browser.py | 566 | def _note_blocked(response): | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 186 | except Exception as e: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 234 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 598 | except Exception as e: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 605 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 615 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 621 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 627 | except Exception: | CODE |
| LOW⚡ | workspace/backend/app/browser.py | 682 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 268 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 286 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 292 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 309 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 325 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 335 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 368 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 437 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 475 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 486 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 517 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 537 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 550 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 580 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 587 | except Exception as e: | CODE |
| LOW | workspace/backend/app/browser.py | 722 | except Exception: | CODE |
| LOW | workspace/backend/app/browser.py | 732 | except Exception: | CODE |
| LOW | workspace/backend/app/storage.py | 108 | except Exception: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 85 | except Exception as e: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 109 | except Exception as e: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 171 | except Exception as e: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 215 | except Exception as e: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 257 | except Exception as e: | CODE |
| LOW | workspace/backend/app/main.py | 162 | except Exception: | CODE |
| LOW | workspace/backend/app/main.py | 302 | except Exception: | CODE |
| LOW | workspace/backend/app/main.py | 344 | except Exception: | CODE |
| LOW | workspace/backend/app/main.py | 374 | except Exception as e: | CODE |
| LOW | workspace/backend/app/main.py | 487 | except Exception: | CODE |
| LOW | workspace/backend/app/routers/fetch.py | 323 | except Exception: | CODE |
| LOW | workspace/backend/app/routers/fetch.py | 674 | except Exception as e: | CODE |
| LOW | workspace/backend/app/routers/cloud_agents.py | 446 | except Exception as exc: | CODE |
| LOW | workspace/backend/app/routers/files.py | 488 | except Exception: | CODE |
| LOW | workspace/backend/app/routers/files.py | 1242 | except Exception: # noqa: BLE001 — see docstring | CODE |
| 1110 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/studio/test_workspace_http_messaging.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/studio/test_messaging_mod_with_http_api.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/grpc/test_mixed_grpc_http_communication.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/grpc/test_basic_grpc_communication.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | …s/workspace/test_grpc_workspace_client_worker_agent.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/workspace/test_worker_agent.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/workspace/test_grpc_workspace.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/http/test_basic_http_communication.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | …sts/mods/test_grpc_thread_messaging_file_operations.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | …sts/mods/test_http_thread_messaging_file_operations.py | 0 | create and start a network using workspace_test.yaml config. | STRING |
| HIGH | tests/lms/test_llm_log_reader.py | 0 | create a temporary workspace directory for testing. | STRING |
| HIGH | tests/lms/test_llm_logger.py | 0 | create a temporary workspace directory for testing. | STRING |
| HIGH | tests/mods/test_forum_wiki_persistence.py | 0 | create a temporary workspace directory for testing. | STRING |
| HIGH | tests/mods/test_feed_mod.py | 0 | create a temporary workspace directory for testing. | STRING |
| HIGH | tests/mods/test_messaging_memory_management.py | 0 | create a temporary workspace directory for testing. | STRING |
| HIGH | tests/platform/tools/test_cursor.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/tools/test_codex.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/tools/test_openclaw.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/tools/test_claude.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/tools/test_nanoclaw.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/respond/test_cursor.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/respond/test_codex.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/respond/test_openclaw.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/respond/test_claude.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/respond/test_nanoclaw.py | 0 | create a workspace via the python api and clean up after. | STRING |
| HIGH | tests/platform/tools/test_cursor.py | 0 | upload a file and read it back — content should match. | STRING |
| HIGH | tests/platform/tools/test_codex.py | 0 | upload a file and read it back — content should match. | STRING |
| HIGH | tests/platform/tools/test_openclaw.py | 0 | upload a file and read it back — content should match. | STRING |
| HIGH | tests/platform/tools/test_claude.py | 0 | upload a file and read it back — content should match. | STRING |
| HIGH | tests/platform/tools/test_nanoclaw.py | 0 | upload a file and read it back — content should match. | STRING |
| HIGH | tests/platform/install/test_cursor.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/install/test_codex.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/install/test_openclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/install/test_claude.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/install/test_nanoclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_cursor.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_codex.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_openclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_claude.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_nanoclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/connect/test_cursor.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/connect/test_codex.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/connect/test_openclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/connect/test_claude.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/connect/test_nanoclaw.py | 0 | log environment details (always passes, for diagnostics). | STRING |
| HIGH | tests/platform/start/test_cursor.py | 0 | remove the test agent after each test; daemon stays running. | STRING |
| HIGH | tests/platform/start/test_codex.py | 0 | remove the test agent after each test; daemon stays running. | STRING |
| HIGH | tests/platform/start/test_openclaw.py | 0 | remove the test agent after each test; daemon stays running. | STRING |
| HIGH | tests/platform/start/test_claude.py | 0 | remove the test agent after each test; daemon stays running. | STRING |
| HIGH | tests/platform/start/test_nanoclaw.py | 0 | remove the test agent after each test; daemon stays running. | STRING |
| HIGH | tests/platform/start/test_cursor.py | 0 | after start, `openagents status` should show daemon running. | STRING |
| HIGH | tests/platform/start/test_codex.py | 0 | after start, `openagents status` should show daemon running. | STRING |
| HIGH | tests/platform/start/test_openclaw.py | 0 | after start, `openagents status` should show daemon running. | STRING |
| HIGH | tests/platform/start/test_claude.py | 0 | after start, `openagents status` should show daemon running. | STRING |
| HIGH | tests/platform/start/test_nanoclaw.py | 0 | after start, `openagents status` should show daemon running. | STRING |
| HIGH | tests/platform/start/test_cursor.py | 0 | `openagents remove` should remove the agent without killing the daemon. | STRING |
| HIGH | tests/platform/start/test_codex.py | 0 | `openagents remove` should remove the agent without killing the daemon. | STRING |
| HIGH | tests/platform/start/test_openclaw.py | 0 | `openagents remove` should remove the agent without killing the daemon. | STRING |
| HIGH | tests/platform/start/test_claude.py | 0 | `openagents remove` should remove the agent without killing the daemon. | STRING |
| HIGH | tests/platform/start/test_nanoclaw.py | 0 | `openagents remove` should remove the agent without killing the daemon. | STRING |
| 114 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 7 | CODE | |
| LOW | workspace/backend/app/database.py | 11 | CODE | |
| LOW | workspace/backend/app/storage.py | 9 | CODE | |
| LOW | workspace/backend/app/pagination.py | 6 | CODE | |
| LOW | workspace/backend/app/pagination.py | 6 | CODE | |
| LOW | workspace/backend/app/pagination.py | 10 | CODE | |
| LOW | workspace/backend/app/pagination.py | 10 | CODE | |
| LOW | workspace/backend/app/pagination.py | 11 | CODE | |
| LOW | workspace/backend/app/main.py | 371 | CODE | |
| LOW | workspace/backend/app/routers/tasks.py | 17 | CODE | |
| LOW | workspace/backend/app/routers/todos.py | 18 | CODE | |
| LOW | workspace/backend/app/routers/shares.py | 21 | CODE | |
| LOW | workspace/backend/app/routers/workspaces.py | 24 | CODE | |
| LOW | workspace/backend/tests/test_timer_maintenance.py | 24 | CODE | |
| LOW | workspace/backend/tests/test_workspaces.py | 6 | CODE | |
| LOW | workspace/backend/tests/test_collaborators.py | 15 | CODE | |
| LOW | …ace/backend/tests/test_browser_postgres_concurrency.py | 39 | CODE | |
| LOW | workspace/backend/tests/test_browser_contexts.py | 10 | CODE | |
| LOW | workspace/backend/tests/test_migration_schema.py | 4 | CODE | |
| LOW | workspace/backend/tests/test_migration_schema.py | 11 | CODE | |
| LOW | workspace/backend/tests/test_network.py | 7 | CODE | |
| LOW | workspace/backend/tests/test_events.py | 6 | CODE | |
| LOW | workspace/backend/tests/test_login_session_auth.py | 16 | CODE | |
| LOW | workspace/backend/tests/test_login_session_auth.py | 17 | CODE | |
| LOW | workspace/backend/tests/test_login_session_auth.py | 573 | CODE | |
| LOW | workspace/backend/tests/test_login_session_auth.py | 574 | CODE | |
| LOW | workspace/backend/api/index.py | 2 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/backend/alembic/env.py | 12 | CODE | |
| LOW | workspace/scripts/insforge-migration/migrate.py | 30 | CODE | |
| LOW | workspace/scripts/insforge-migration/migrate.py | 37 | CODE | |
| LOW | tests/conftest.py | 8 | CODE | |
| LOW | tests/conftest.py | 10 | CODE | |
| LOW | tests/conftest.py | 11 | CODE | |
| LOW | tests/conftest.py | 12 | CODE | |
| LOW | tests/test_onm_pipeline.py | 7 | CODE | |
| LOW | tests/test_workspace_prompt_browser.py | 9 | CODE | |
| LOW | tests/test_workspace_sdk.py | 3 | CODE | |
| LOW | tests/test_workspace_sdk.py | 5 | CODE | |
| LOW | tests/test_workspace_sdk.py | 6 | CODE | |
| LOW | tests/test_workspace_sdk.py | 6 | CODE | |
| LOW | tests/test_workspace_sdk.py | 6 | CODE | |
| LOW | tests/test_workspace_sdk.py | 8 | CODE | |
| LOW | tests/test_workspace_sdk.py | 8 | CODE | |
| LOW | tests/test_onm_addressing.py | 6 | CODE | |
| LOW | tests/studio/test_workspace_http_messaging.py | 32 | CODE | |
| LOW | tests/studio/test_workspace_http_messaging.py | 34 | CODE | |
| LOW | tests/studio/test_forum_mod_with_http_api.py | 38 | CODE | |
| LOW | tests/studio/test_forum_mod_with_http_api.py | 38 | CODE | |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 15 | CODE | |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 22 | CODE | |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 23 | CODE | |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 24 | CODE | |
| 736 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdk/studio/src/stores/llmLogStore.ts | 141 | completion: "```python\nimport pandas as pd\nimport numpy as np\nfrom pathlib import Path\n\ndef analyze_csv(file_ | CODE |
| HIGH | sdk/studio/src/stores/llmLogStore.ts | 154 | content: "```python\nimport pandas as pd\nimport numpy as np\nfrom pathlib import Path\n\ndef analyze_csv(file | CODE |
| HIGH | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 249 | print("Agent is running! Press Ctrl+C to stop.") | CODE |
| HIGH | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 275 | print("\\nShutting down...") | CODE |
| HIGH | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 378 | print("Agent is listening for messages...") | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 519 | print(f"Failed to announce: {e}") | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 520 | return False | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 540 | print(f"Failed to withdraw: {e}") | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 541 | return False | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 567 | print(f"Starting A2A agent on http://{agent_host}:{agent_port}...") | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 568 | print(f"OpenAgents network: {openagents_url}") | CODE |
| HIGH⚡ | sdk/studio/src/pages/admin/ConnectionGuide.tsx | 569 | print("Press Ctrl+C to stop") | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 58 | print(headers.map((h, i) => h.padEnd(widths[i])).join(' ')); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 59 | print(widths.map((w) => '-'.repeat(w)).join(' ')); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 61 | print(row.map((c, i) => String(c || '').padEnd(widths[i])).join(' ')); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 100 | print('Daemon stopped'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 102 | print('Daemon is not running'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 112 | print(stopped ? 'Daemon stopped' : 'Daemon was not running'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 122 | print('Daemon is not running'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 124 | print(`Daemon running (PID ${pid})`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 129 | print('\nNo agents configured. Run: agn create <name> --type <type>'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 155 | print(`Error: unknown agent type '${type}'.`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 156 | print(`Supported types: ${known.join(', ')}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 157 | print('Run `agn search` to browse available agent types.'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 172 | print(`Created local agent: ${name} (type: ${type})`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 173 | print(''); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 174 | print('This agent is local-only and will not appear in Workspace Dashboard yet.'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 175 | print(''); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 176 | print('To connect it to a Workspace, run:'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 177 | print(` agn connect ${name} <workspace-token>`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 179 | print(`Agent '${name}' created (type: ${type})`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 184 | print(`Runtime '${type}' is not installed. Run: agn install ${type}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 188 | print(`Installing ${type}...`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 191 | print(`${type} installed`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 193 | print(`Warning: install failed: ${e.message}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 197 | print(`Error: ${e.message}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 207 | print(`Agent '${name}' removed`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 222 | print(`Sent start command for '${name}'`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 229 | print(`Sent stop command for '${name}'`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 237 | print(`${type} is already installed`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 241 | print(`Installing ${type}...`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 244 | print(`${type} installed successfully`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 247 | print(`Error: ${e.message}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 256 | print(`Uninstalling ${type}...`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 259 | print(`${type} uninstalled`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 262 | print(`Error: ${e.message}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 349 | print('Usage: agn connect <agent-name> <token>'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 358 | print('Workspace token is required.'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 359 | print('Local-only agents do not appear in Workspace Dashboard until connected.'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 360 | print('Run:'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 361 | print(` agn connect ${name} <workspace-token>`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 366 | print(`Resolving workspace token...`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 383 | print(`'${name}' connected to workspace '${wsName}'`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 389 | print('Daemon notified'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 391 | print('Daemon is not running. Run `agn up` to bring this agent online.'); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 394 | print(`Error: ${e.message}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 403 | print(`'${name}' disconnected from workspace`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 438 | print(`Creating workspace '${name}'...`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 441 | print(`Workspace created: ${result.name}`); | CODE |
| HIGH⚡ | packages/agent-connector/src/cli.js | 442 | print(` Slug: ${result.slug}`); | CODE |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | workspace/backend/app/routers/browser.py | 697 | # Create a new session | COMMENT |
| MEDIUM | workspace/backend/tests/test_browser_contexts.py | 222 | # Create a persistent context | COMMENT |
| MEDIUM | workspace/backend/tests/test_network.py | 478 | # Create a channel so the event has somewhere to go | COMMENT |
| MEDIUM⚡ | workspace/backend/tests/test_file_security.py | 139 | # Create a sentinel file outside base_dir | COMMENT |
| MEDIUM | tests/studio/test_forum_mod_with_http_api.py | 679 | # Create a topic for commenting | COMMENT |
| MEDIUM | tests/studio/test_forum_mod_with_http_api.py | 812 | # Create a topic for voting | COMMENT |
| MEDIUM | tests/studio/test_forum_mod_with_http_api.py | 1109 | # Create a valid topic first | COMMENT |
| MEDIUM | tests/studio/test_forum_mod_with_http_api.py | 1178 | # Create a topic with Client A | COMMENT |
| MEDIUM | tests/grpc/test_mixed_grpc_http_communication.py | 151 | # Create a test event from gRPC client to HTTP client | COMMENT |
| MEDIUM | tests/grpc/test_mixed_grpc_http_communication.py | 242 | # Create a test event from HTTP client to gRPC client | COMMENT |
| MEDIUM⚡ | tests/grpc/test_basic_grpc_communication.py | 134 | # Create a simple event | COMMENT |
| MEDIUM | tests/lms/test_llm_logs_api.py | 251 | # Create a mock request | COMMENT |
| MEDIUM | tests/lms/test_llm_logger.py | 201 | # Create a mock response object | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 453 | # Create a task first | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 485 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 525 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 635 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 652 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_transport.py | 668 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_cross_protocol_communication.py | 330 | # Create an event from gRPC agent to A2A agent | COMMENT |
| MEDIUM | tests/a2a/test_a2a_connector.py | 178 | # Create a mock task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_connector.py | 517 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_connector.py | 599 | # Create a task | COMMENT |
| MEDIUM | tests/a2a/test_a2a_connector.py | 623 | # Create a task | COMMENT |
| MEDIUM⚡ | tests/workspace/test_worker_agent.py | 477 | # Create a real client | COMMENT |
| MEDIUM⚡ | tests/workspace/test_worker_agent.py | 482 | # Create a test worker agent with real client | COMMENT |
| MEDIUM | tests/workspace/test_worker_agent.py | 46 | # Create a mock client | COMMENT |
| MEDIUM | tests/workspace/test_worker_agent.py | 326 | # Create an async function to simulate the future resolution | COMMENT |
| MEDIUM | tests/workspace/test_worker_agent.py | 363 | # Create an async function to simulate the direct message retrieval | COMMENT |
| MEDIUM⚡ | tests/network/test_authentication.py | 105 | # Create a client and connect | COMMENT |
| MEDIUM | tests/network/test_authentication.py | 144 | # Create a simple network config | COMMENT |
| MEDIUM | tests/network/test_authentication.py | 198 | # Create a simple network config | COMMENT |
| MEDIUM | tests/network/test_authentication.py | 230 | # Create a simple network config | COMMENT |
| MEDIUM | tests/network/test_source_agent_group.py | 312 | # Create an event without source_agent_group (simulating old code) | COMMENT |
| MEDIUM | tests/agents/test_load_mcp.py | 371 | # Create a mock agent runner | COMMENT |
| MEDIUM | tests/agents/test_orchestrator.py | 30 | # Create a real incoming event | COMMENT |
| MEDIUM | tests/agents/test_orchestrator.py | 165 | # Create a new context with tool usage request | COMMENT |
| MEDIUM⚡ | tests/agents/test_orchestrator.py | 323 | # Create a mock agent config that won't actually call a real API | COMMENT |
| MEDIUM⚡ | tests/agents/test_exa_search.py | 278 | # Create a fake exa_py module so the local import resolves | COMMENT |
| MEDIUM | tests/agents/test_langchain_agent.py | 560 | # Create a simple wrapper that has invoke/ainvoke interface | COMMENT |
| MEDIUM⚡ | tests/agents/test_mcp_tool.py | 83 | # Create a FastMCP app (similar to the example) | COMMENT |
| MEDIUM⚡ | tests/agents/test_mcp_tool.py | 89 | # Define a tool (without the decorator for testing) | COMMENT |
| MEDIUM | tests/http/test_basic_http_communication.py | 172 | # Create a simple event | COMMENT |
| MEDIUM | tests/mods/test_thread_messaging.py | 697 | # Create a test file content | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_documents.py | 137 | # Create a document | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_documents.py | 201 | # Create a document | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_documents.py | 251 | # Create a document | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_documents.py | 324 | # Create a document | COMMENT |
| MEDIUM | tests/mods/test_shared_cache_with_files.py | 342 | # Create a regular (non-file) cache entry | COMMENT |
| MEDIUM | tests/mods/test_shared_cache_with_files.py | 499 | # Create a 1MB file content | COMMENT |
| MEDIUM | tests/mods/test_task_delegation.py | 602 | # Create a task with very short timeout using A2A Task | COMMENT |
| MEDIUM⚡ | tests/mods/test_shared_artifact.py | 159 | # Create a public artifact | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 111 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 137 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 168 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 194 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 225 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 272 | # Create a topic | COMMENT |
| MEDIUM | tests/mods/test_grpc_workspace_forum.py | 447 | # Create a topic | COMMENT |
| MEDIUM⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 525 | # Create a larger test file (approximately 5KB) | COMMENT |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 185 | # Check if already installed | COMMENT |
| LOW | workspace/backend/app/firebase_auth.py | 60 | # Check if already initialized | COMMENT |
| LOW | workspace/backend/app/mods/workspace_mod.py | 441 | # Check if already a member | COMMENT |
| LOW | tests/conftest.py | 57 | # Check if the test took too long | COMMENT |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 196 | # Check if we received the message | COMMENT |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 287 | # Check if we received the message | COMMENT |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 385 | # Check if both received messages | COMMENT |
| LOW | tests/grpc/test_basic_grpc_communication.py | 174 | # Check if we received the message | COMMENT |
| LOW | tests/grpc/test_basic_grpc_communication.py | 278 | # Check if we received all messages | COMMENT |
| LOW | tests/grpc/test_basic_grpc_communication.py | 624 | # Check if we've received the expected events (stop early if we have enough) | COMMENT |
| LOW | tests/grpc/test_basic_grpc_communication.py | 733 | # Check if both received messages | COMMENT |
| LOW | tests/a2a/test_a2a_transport.py | 503 | # Set task to working state | COMMENT |
| LOW | tests/integration/test_hello_world_demo.py | 138 | # Check if we received a response from Charlie | COMMENT |
| LOW | tests/platform/connect/test_claude.py | 112 | # Check if agent row shows workspace (not "(local)") | COMMENT |
| LOW | tests/agents/test_orchestrator.py | 209 | # Check if we got an API error (quota exceeded) - that's acceptable for this test | COMMENT |
| LOW | tests/agents/test_orchestrator.py | 304 | # Check if there's an error in the trajectory | COMMENT |
| LOW | tests/agents/test_langchain_agent.py | 18 | # Check if LangChain is available | COMMENT |
| LOW | tests/http/test_basic_http_communication.py | 217 | # Check if we received the message | COMMENT |
| LOW | tests/http/test_basic_http_communication.py | 323 | # Check if we received all messages | COMMENT |
| LOW | tests/http/test_basic_http_communication.py | 680 | # Check if we've received the expected events (stop early if we have enough) | COMMENT |
| LOW | tests/http/test_basic_http_communication.py | 789 | # Check if both received messages | COMMENT |
| LOW | tests/mods/test_thread_messaging.py | 272 | # Check if Bob received the message | COMMENT |
| LOW | tests/mods/test_thread_messaging.py | 364 | # Check if Bob received the notification | COMMENT |
| LOW | tests/mods/test_thread_messaging.py | 459 | # Check if both Bob and Charlie received the message | COMMENT |
| LOW | tests/mods/test_task_delegation.py | 41 | # Set a2a_task_store to None so mod creates its own InMemoryTaskStore | COMMENT |
| LOW | sdk/examples/grpcs_example.py | 27 | # Check if certificates already exist | COMMENT |
| LOW⚡ | sdk/examples/agentworld_network/simple_game_agent.py | 108 | # Check if move was successful (checking both "success" field and status) | COMMENT |
| LOW | sdk/examples/agentworld_network/simple_game_agent.py | 130 | # Check if chat was successful | COMMENT |
| LOW | sdk/src/openagents/tools/custom_event_tools.py | 158 | # Check if there are any .yaml/.yml files | COMMENT |
| LOW | sdk/src/openagents/lms/llm_logger.py | 141 | # Check if rotation is needed | COMMENT |
| LOW | sdk/src/openagents/lms/llm_logger.py | 171 | # Check if rotation is needed | COMMENT |
| LOW | sdk/src/openagents/lms/llm_logger.py | 203 | # Check if we're in an async context | COMMENT |
| LOW | sdk/src/openagents/lms/llm_log_reader.py | 268 | # Check if this is a rotated log file (ends with _YYYYMMDD_HHMMSS pattern) | COMMENT |
| LOW⚡ | sdk/src/openagents/workspace/tool_decorator.py | 160 | # Check if required (no default value) | COMMENT |
| LOW | sdk/src/openagents/workspace/tool_decorator.py | 247 | # Check if description continues on next line | COMMENT |
| LOW | sdk/src/openagents/agents/runner.py | 448 | # Check if message hasn't been processed (regardless of requires_response) | COMMENT |
| LOW | sdk/src/openagents/agents/simple_openai_agent.py | 181 | # Check if the model wants to call a function | COMMENT |
| LOW | sdk/src/openagents/agents/simple_openai_agent.py | 190 | # Check if the model wants to finish | COMMENT |
| LOW⚡ | sdk/src/openagents/agents/worker_agent.py | 368 | # Check if we're mentioned | COMMENT |
| LOW | sdk/src/openagents/agents/worker_agent.py | 217 | # Check if this method has the _event_pattern attribute (set by @on decorator) | COMMENT |
| LOW | sdk/src/openagents/agents/worker_agent.py | 404 | # Check if this is a reply message (either explicit reply_message type or channel_message with reply_to_id) | COMMENT |
| LOW | sdk/src/openagents/agents/worker_agent.py | 431 | # Check if we're mentioned | COMMENT |
| LOW | sdk/src/openagents/agents/langchain_agent.py | 452 | # Check if we should react to this event | COMMENT |
| LOW | sdk/src/openagents/agents/project_echo_agent.py | 129 | # Check if this is a project channel message | COMMENT |
| LOW | sdk/src/openagents/agents/project_echo_agent.py | 176 | # Check if this is a channel message notification | COMMENT |
| LOW | sdk/src/openagents/agents/project_echo_agent.py | 200 | # Check if this is a project channel and handle the task | COMMENT |
| LOW | sdk/src/openagents/agents/project_echo_agent.py | 233 | # Check if this is a project channel (starts with "project-") | COMMENT |
| LOW | sdk/src/openagents/agents/project_echo_agent.py | 388 | # Check if there are any projects that need to be completed | COMMENT |
| LOW | sdk/src/openagents/agents/pydantic_ai_agent.py | 349 | # Check if we should react to this event | COMMENT |
| LOW | sdk/src/openagents/agents/orchestrator.py | 302 | # Check if the model wants to call tools | COMMENT |
| LOW | sdk/src/openagents/agents/orchestrator.py | 341 | # Check if the model wants to finish | COMMENT |
| LOW | sdk/src/openagents/utils/bulk_agent_manager.py | 199 | # Check if this is an agent configuration (not a network config) | COMMENT |
| LOW | sdk/src/openagents/utils/bulk_agent_manager.py | 252 | # Check if it inherits from known agent classes | COMMENT |
| LOW | sdk/src/openagents/utils/bulk_agent_manager.py | 279 | # Check if this looks like an agent file | COMMENT |
| LOW | sdk/src/openagents/utils/bulk_agent_manager.py | 456 | # Check if process is still running | COMMENT |
| LOW | sdk/src/openagents/utils/cert_generator.py | 159 | # Write files | COMMENT |
| LOW⚡ | sdk/src/openagents/utils/mod_loaders.py | 491 | # Check if this package has a mod.py file with NetworkMod class | COMMENT |
| LOW | sdk/src/openagents/utils/mod_loaders.py | 231 | # Check if this is a local mod (starts with ./) | COMMENT |
| LOW | sdk/src/openagents/utils/mod_loaders.py | 362 | # Check if this is a local mod | COMMENT |
| LOW | sdk/src/openagents/utils/port_allocator.py | 34 | # Check if port is already allocated by us or excluded | COMMENT |
| 159 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | workspace/backend/openagents/core/onm_pipeline.py | 64 | Run an event through the full mod pipeline. Args: event: The event to process. | STRING |
| HIGH | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 76 | Divide first number by second. Args: a: Numerator b: Denominator (must not be zero) Returns: | STRING |
| HIGH | …amples/test_configs/mcp_tools_test/tools/calculator.py | 50 | Divide two numbers. Args: a: Numerator b: Denominator (must not be zero) Returns: Quot | STRING |
| HIGH | sdk/src/openagents/core/onm_pipeline.py | 64 | Run an event through the full mod pipeline. Args: event: The event to process. | STRING |
| HIGH | sdk/src/openagents/config/llm_configs.py | 447 | Create the appropriate model provider instance. Args: provider: Provider name (e.g., "openai", "claude", et | STRING |
| HIGH | sdk/src/openagents/agents/llamaindex_agent.py | 43 | Convert an OpenAgents AgentTool to a LlamaIndex FunctionTool. Args: agent_tool: The OpenAgents tool to | STRING |
| HIGH | sdk/src/openagents/agents/runner.py | 184 | Create an agent runner from a YAML file. This method loads a WorkerAgent (which is a type of AgentRunner) from | STRING |
| HIGH | sdk/src/openagents/agents/langchain_agent.py | 42 | Convert an OpenAgents AgentTool to a LangChain BaseTool. This allows LangChain agents to use tools provided by | STRING |
| HIGH | sdk/src/openagents/agents/pydantic_ai_agent.py | 42 | Convert an OpenAgents AgentTool to a PydanticAI tool. This allows PydanticAI agents to use tools provided by t | STRING |
| HIGH | sdk/src/openagents/agents/crewai_agent.py | 66 | Convert an OpenAgents AgentTool to a CrewAI tool. Args: agent_tool: The OpenAgents tool to convert | STRING |
| HIGH | sdk/src/openagents/agents/autogen_agent.py | 117 | Convert an OpenAgents AgentTool to an AutoGen FunctionTool. Args: agent_tool: The OpenAgents tool to c | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 130 | Verify that an agent ID exists in the registry. Args: agent_id: Agent ID in any format (simple, Lev | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 166 | Get agent information from the registry. Args: agent_name: Agent name (globally unique) | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 215 | Resolve a DID to get the DID document. Args: did: DID in format did:openagents:xxx Returns | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 259 | Validate a JWT token. Args: token: JWT token to validate Returns: TokenValidat | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 304 | Request an authentication challenge. Args: agent_name: Agent name (globally unique) org | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 362 | Exchange a signature for a JWT token. Args: agent_name: Agent name (globally unique) no | STRING |
| HIGH | sdk/src/openagents/agentid/client.py | 426 | Claim/register a new agent ID. Agent names are globally unique (like Twitter handles). The org parameter | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 66 | Parse a full name into agent name and optional org. Args: full_name: Agent name with optional @org suffix | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 93 | Parse an agent ID string into its components. Supports all formats: - Simple: my-agent, my-agent@org - Leve | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 155 | Normalize any agent ID format to Level 2 format. Args: agent_id: Agent ID in any supported format Retu | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 171 | Normalize any agent ID format to Level 3 DID format. Args: agent_id: Agent ID in any supported format | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 187 | Normalize any agent ID format to simple format. Args: agent_id: Agent ID in any supported format Retur | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 203 | Extract agent name and org from any format. Args: agent_id: Agent ID in any supported format Returns: | STRING |
| HIGH | sdk/src/openagents/agentid/parser.py | 235 | Determine the format of an agent ID string. Args: agent_id: Agent ID string Returns: AgentIDFo | STRING |
| HIGH | sdk/src/openagents/utils/protobuf_utils.py | 16 | Safely get a value from an object that might be dict or protobuf. This function handles both Python dictionaries an | STRING |
| HIGH | sdk/src/openagents/utils/protobuf_utils.py | 47 | Convert a protobuf object to a dictionary recursively. This function handles the conversion of protobuf objects (es | STRING |
| HIGH | sdk/src/openagents/utils/protobuf_utils.py | 129 | Extract text content from a protobuf payload structure. This function specifically handles the common case of extra | STRING |
| HIGH | sdk/src/openagents/utils/protobuf_utils.py | 177 | Convert a raw transport message payload to a dictionary. This is a higher-level function that handles the common pa | STRING |
| HIGH | sdk/src/openagents/utils/password_utils.py | 14 | Hash a password using SHA-256. Args: password: Plain text password to hash Returns: | STRING |
| HIGH | sdk/src/openagents/utils/network_export.py | 67 | Export network configuration to ZIP file. Args: include_password_hashes: Whether to include passwor | STRING |
| HIGH | sdk/src/openagents/utils/agent_loader.py | 25 | Load an AgentRunner from YAML configuration. This function loads an AgentRunner instance (or subclass) from a | STRING |
| HIGH | sdk/src/openagents/utils/agent_loader.py | 155 | Create an AgentConfig instance from YAML config section. Args: config_data: Dictionary containing Agen | STRING |
| HIGH | sdk/src/openagents/utils/agent_loader.py | 311 | Dynamically load the specified agent class. Args: agent_type: Fully qualified class name (e.g., 'modul | STRING |
| HIGH | sdk/src/openagents/utils/agent_loader.py | 383 | Load a WorkerAgent from YAML configuration. This is a convenience function that loads a WorkerAgent specifical | STRING |
| HIGH | sdk/src/openagents/models/agent_config.py | 279 | Load configuration from a YAML file. Args: file_path: Path to the YAML configuration file | STRING |
| HIGH | sdk/src/openagents/models/tool_config.py | 185 | Create a list of AgentTool instances from tool configurations. Args: tool_configs: List of tool co | STRING |
| HIGH | sdk/src/openagents/sdk/a2a_registry.py | 138 | Announce a remote A2A agent to the registry. This fetches the agent's Agent Card and creates an AgentConnection | STRING |
| HIGH | sdk/src/openagents/sdk/a2a_registry.py | 365 | Fetch an Agent Card from a remote URL. Args: url: The A2A endpoint URL Returns: | STRING |
| HIGH | sdk/src/openagents/sdk/network.py | 256 | Load an AgentNetwork from a YAML configuration file. Args: config: String or Path to a YAML config | STRING |
| HIGH | sdk/src/openagents/sdk/network.py | 927 | Create a workspace instance for this network. This method creates a workspace that provides access to channels | STRING |
| HIGH | sdk/src/openagents/sdk/network.py | 1357 | Create an agent network from configuration. Args: config: Network configuration (NetworkConfig object, file | STRING |
| HIGH | sdk/src/openagents/sdk/workspace.py | 1217 | Start a new project with project-based collaboration. Args: project: Project instance with goal, na | STRING |
| HIGH | …ods/coordination/task_delegation/external_delegator.py | 99 | Get or create a connector for an external A2A URL. Args: external_url: URL of the external A2A agen | STRING |
| HIGH | …ods/coordination/task_delegation/external_delegator.py | 135 | Delegate a task to an external A2A agent. Args: task: The local A2A Task to delegate ex | STRING |
| HIGH | sdk/src/openagents/mods/test_mods/basic_test/adapter.py | 223 | Handle test ping tool execution. Args: parameters: Tool parameters Returns: Di | STRING |
| HIGH | sdk/src/openagents/mods/test_mods/basic_test/adapter.py | 253 | Handle get state tool execution. Args: parameters: Tool parameters Returns: Di | STRING |
| HIGH | sdk/src/openagents/mods/test_mods/basic_test/adapter.py | 280 | Handle send test message tool execution. Args: parameters: Tool parameters Returns: | STRING |
| HIGH | …openagents/mods/workspace/messaging/thread_messages.py | 75 | Validate that event.payload has required channel message fields. Args: event: Event to validate | STRING |
| HIGH | …openagents/mods/workspace/messaging/thread_messages.py | 189 | Validate that event.payload has required reply message fields. Args: event: Event to validate | STRING |
| HIGH | …openagents/mods/workspace/messaging/thread_messages.py | 324 | Validate that event.payload has required file upload fields. Args: event: Event to validate | STRING |
| HIGH | sdk/src/openagents/client/connect.py | 103 | Connect to the OpenAgents identity registry. If the agent is already registered (cached locally), verifies the | STRING |
| HIGH | sdk/src/openagents/client/cli_helpers.py | 1016 | Launch studio using Python's built-in HTTP server to serve static files. This function does not require Node.js | STRING |
| HIGH | sdk/src/openagents/client/cli_helpers.py | 1217 | Launch the studio frontend development server. Args: studio_port: Port for the studio frontend Returns | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/backend/app/browser_egress.py | 175 | CODE | |
| LOW | workspace/backend/app/browser.py | 490 | CODE | |
| LOW | workspace/backend/app/main.py | 106 | CODE | |
| LOW | workspace/backend/app/main.py | 318 | CODE | |
| LOW | workspace/backend/app/routers/files.py | 735 | CODE | |
| LOW | workspace/backend/app/routers/files.py | 1367 | CODE | |
| LOW | workspace/backend/app/routers/events.py | 318 | CODE | |
| LOW | workspace/backend/app/routers/browser.py | 266 | CODE | |
| LOW | workspace/backend/app/mods/workspace_mod.py | 745 | CODE | |
| LOW | workspace/backend/app/mods/workspace_mod.py | 1222 | CODE | |
| LOW | workspace/backend/app/services/apns_client.py | 104 | CODE | |
| LOW | workspace/backend/app/services/cloud_providers.py | 536 | CODE | |
| LOW | workspace/backend/app/services/push.py | 107 | CODE | |
| LOW | workspace/backend/app/services/push.py | 220 | CODE | |
| LOW | workspace/backend/tests/test_migration_schema.py | 136 | CODE | |
| LOW | workspace/backend/openagents/core/onm_pipeline.py | 63 | CODE | |
| LOW | workspace/scripts/insforge-migration/migrate.py | 387 | CODE | |
| LOW | tests/studio/test_workspace_http_messaging.py | 250 | CODE | |
| LOW | tests/studio/test_workspace_http_messaging.py | 339 | CODE | |
| LOW | tests/studio/test_forum_mod_with_http_api.py | 90 | CODE | |
| LOW | tests/studio/test_messaging_mod_with_http_api.py | 90 | CODE | |
| LOW | tests/grpc/test_mixed_grpc_http_communication.py | 28 | CODE | |
| LOW | tests/grpc/test_basic_grpc_communication.py | 27 | CODE | |
| LOW | tests/a2a/test_a2a_connector.py | 292 | CODE | |
| LOW | tests/integration/conftest.py | 61 | CODE | |
| LOW | …s/workspace/test_grpc_workspace_client_worker_agent.py | 158 | CODE | |
| LOW | tests/workspace/test_grpc_workspace.py | 413 | CODE | |
| LOW | tests/network/test_agent_groups.py | 571 | CODE | |
| LOW | tests/agents/test_mcp_tool.py | 76 | CODE | |
| LOW | tests/agents/test_mcp_tool.py | 90 | CODE | |
| LOW | tests/http/test_mod_settings_api.py | 229 | CODE | |
| LOW | tests/http/test_basic_http_communication.py | 26 | CODE | |
| LOW | tests/external_access/test_mcp_tools.py | 41 | CODE | |
| LOW | tests/mods/test_thread_messaging.py | 36 | CODE | |
| LOW | sdk/examples/community_knowledge_base/ai_news_agent.py | 164 | CODE | |
| LOW | sdk/examples/community_knowledge_base/ai_news_agent.py | 274 | CODE | |
| LOW | sdk/examples/community_knowledge_base/ai_news_agent.py | 512 | CODE | |
| LOW | sdk/examples/community_knowledge_base/reddit_util.py | 399 | CODE | |
| LOW | sdk/examples/community_knowledge_base/reddit_util.py | 160 | CODE | |
| LOW | sdk/examples/test_agents/test_tools.py | 31 | CODE | |
| LOW | sdk/examples/agent_manager/agents/test_logger.py | 27 | CODE | |
| LOW | sdk/demos/02_tech_news_stream/tools/news_fetcher.py | 11 | CODE | |
| LOW | sdk/demos/02_tech_news_stream/tools/news_fetcher.py | 64 | CODE | |
| LOW | sdk/demos/02_tech_news_stream/tools/news_fetcher.py | 115 | CODE | |
| LOW | sdk/demos/02_tech_news_stream/agents/news_hunter.py | 96 | CODE | |
| LOW | …/demos/08_alternative_service_project/test_workflow.py | 11 | CODE | |
| LOW | …emos/08_alternative_service_project/tools/web_fetch.py | 10 | CODE | |
| LOW | sdk/src/openagents/mcp_server.py | 56 | CODE | |
| LOW | sdk/src/openagents/mcp_server.py | 311 | CODE | |
| LOW | sdk/src/openagents/ui/agent_monitor.py | 156 | CODE | |
| LOW | sdk/src/openagents/ui/agent_monitor.py | 219 | CODE | |
| LOW | sdk/src/openagents/ui/agent_monitor.py | 275 | CODE | |
| LOW | sdk/src/openagents/tools/custom_event_tools.py | 16 | CODE | |
| LOW | sdk/src/openagents/tools/custom_event_tools.py | 86 | CODE | |
| LOW | sdk/src/openagents/tools/custom_event_tools.py | 132 | CODE | |
| LOW | sdk/src/openagents/core/onm_pipeline.py | 63 | CODE | |
| LOW | sdk/src/openagents/config/llm_configs.py | 343 | CODE | |
| LOW | sdk/src/openagents/config/llm_configs.py | 440 | CODE | |
| LOW | sdk/src/openagents/lms/llm_logger.py | 258 | CODE | |
| LOW | sdk/src/openagents/lms/providers.py | 347 | CODE | |
| 234 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/backend/app/browser_maintenance.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/access.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/cache.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/cache.py | 67 | def set_bytes(key: str, value: bytes, ttl_seconds: float) -> None: | CODE |
| LOW | workspace/backend/app/browser_egress.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/browser.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/net_security.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/composing.py | 14 | def set_composing(workspace_id: str, channel: str) -> None: | CODE |
| LOW | workspace/backend/app/firebase_auth.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/main.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/browser_creds.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/fetch.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/cloud_agents.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/files.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/tasks.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/todos.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/events.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/browser.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/network.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/search.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/notifications.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/routines.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/timers.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/devices.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/knowledge.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/routers/shares.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/account.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/routers/workspaces.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/mods/auth.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/mods/persistence.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/mods/workspace_mod.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/services/apns_client.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/services/cloud_agent.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/services/yumi.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | workspace/backend/app/services/cloud_providers.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/app/services/push.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/openagents/core/onm_mods.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | workspace/backend/openagents/core/onm_pipeline.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/studio/test_workspace_http_messaging.py | 56 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/studio/test_forum_mod_with_http_api.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/studio/test_messaging_mod_with_http_api.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/mods/test_grpc_workspace_forum.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/community_knowledge_base/ai_news_agent.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/community_knowledge_base/reddit_util.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/community_knowledge_base/example_client.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/community_knowledge_base/simple_llm_bot.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/product_review_forum/example_client.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/examples/product_review_forum/product_review_agent.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/agent_manager/agents/test_echo.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/examples/agent_manager/agents/test_logger.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/08_alternative_service_project/agents/coordinator.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/mcp_server.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/ui/agent_monitor.py | 275 | def update_agent_logs(self, agent_id: str) -> None: | CODE |
| LOW | sdk/src/openagents/tools/exa_search.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/tools/custom_event_tools.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/core/onm_mods.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/core/onm_pipeline.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdk/src/openagents/config/__init__.py | 11 | __all__ = [ | CODE |
| LOW | sdk/src/openagents/lms/__init__.py | 27 | __all__ = [ | CODE |
| LOW | sdk/src/openagents/lms/llm_logger.py | 25 | logger = logging.getLogger(__name__) | CODE |
| 153 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | install.sh | 57 | # Step 1: Node.js | COMMENT |
| LOW⚡ | install.sh | 170 | # Step 2: Install/upgrade openagents | COMMENT |
| LOW⚡ | install.sh | 270 | # Step 3: Detect local AI agents | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 381 | # Step 1: Apply template (simulates OnboardingStep2) | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 392 | # Step 2: Set admin password (simulates deployment step) | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 403 | # Step 3: Set model config | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 418 | # Step 4: Admin login (simulates OnboardingSuccess) | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 281 | # Step 3: Verify file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 289 | # Step 4: Verify file metadata | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 538 | # Step 1: Upload large file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 219 | # Step 1: Alice uploads a file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 253 | # Step 2: Bob downloads the file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 399 | # Step 1: Upload all files | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 450 | # Step 2: Download all files and verify content | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 569 | # Step 2: Download large file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 594 | # Step 3: Verify large file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 335 | # Step 3: Verify file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 343 | # Step 4: Verify file metadata | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 594 | # Step 1: Upload large file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 273 | # Step 1: Alice uploads a file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 307 | # Step 2: Bob downloads the file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 454 | # Step 1: Upload all files | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 505 | # Step 2: Download all files and verify content | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 625 | # Step 2: Download large file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 650 | # Step 3: Verify large file content integrity | COMMENT |
| LOW | docs/projects/openagents_agent_client_concept.md | 640 | # Step 1: Install | COMMENT |
| LOW | docs/projects/openagents_agent_client_concept.md | 646 | # Step 2: Start | COMMENT |
| LOW⚡ | docs/projects/workspace_migration.md | 259 | # Step 1: network scoping | COMMENT |
| LOW⚡ | docs/projects/workspace_migration.md | 265 | # Step 2: entity type | COMMENT |
| LOW | …angelogs/blogs/2025-11-29-mcp-workspace-event-tools.md | 205 | ### Step 1: Create a Tools Folder | COMMENT |
| LOW | …angelogs/blogs/2025-11-29-mcp-workspace-event-tools.md | 211 | ### Step 2: Add a Tool | COMMENT |
| LOW | …angelogs/blogs/2025-11-29-mcp-workspace-event-tools.md | 223 | ### Step 3: Configure MCP Transport | COMMENT |
| LOW | …angelogs/blogs/2025-11-29-mcp-workspace-event-tools.md | 234 | ### Step 4: Start the Network | COMMENT |
| LOW | changelogs/blogs/2025-12-18-elon-musk-news-tracker.md | 47 | ### Step 1: Install OpenAgents | COMMENT |
| LOW | changelogs/blogs/2025-12-18-elon-musk-news-tracker.md | 60 | ### Step 2: Start the News Tracker | COMMENT |
| LOW | changelogs/blogs/2025-12-18-elon-musk-news-tracker.md | 87 | ### Step 3: Connect Claude Desktop | COMMENT |
| LOW | changelogs/blogs/2025-12-18-elon-musk-news-tracker.md | 117 | ### Step 4: Ask Claude! | COMMENT |
| LOW | changelogs/blogs/2025-12-27-admin-onboarding.md | 22 | ### Step 1: Welcome | COMMENT |
| LOW | changelogs/blogs/2025-12-27-admin-onboarding.md | 26 | ### Step 2: Choose Your Template | COMMENT |
| LOW | changelogs/blogs/2025-12-27-admin-onboarding.md | 38 | ### Step 3: Set Admin Password | COMMENT |
| LOW | changelogs/blogs/2025-12-27-admin-onboarding.md | 42 | ### Step 4: Configure Default Model (Optional) | COMMENT |
| LOW | changelogs/blogs/2025-12-27-admin-onboarding.md | 53 | ### Step 5: Watch It Deploy | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 34 | ### Step 1: Create the Tools Folder | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 40 | ### Step 2: Write Your First Tool | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 93 | ### Step 3: Customize Tool Names and Descriptions | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 111 | ### Step 4: Mix Sync and Async Functions | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 181 | ### Step 1: Create the Events Folder | COMMENT |
| LOW | …logs/blogs/2025-11-29-custom-tools-events-workspace.md | 187 | ### Step 2: Define Your Events | COMMENT |
| LOW | changelogs/docs/2025-12-18-elon-musk-news-tracker.md | 21 | ### Step 1: Clone and Install OpenAgents | COMMENT |
| LOW | changelogs/docs/2025-12-18-elon-musk-news-tracker.md | 35 | ### Step 2: Verify Demo Files | COMMENT |
| LOW | changelogs/docs/2025-12-27-admin-onboarding.md | 11 | #### Step 1: Welcome | COMMENT |
| LOW | changelogs/docs/2025-12-27-admin-onboarding.md | 19 | #### Step 2: Network Template Selection | COMMENT |
| LOW | changelogs/docs/2025-12-27-admin-onboarding.md | 33 | #### Step 3: Admin Password | COMMENT |
| LOW | changelogs/docs/2025-12-27-admin-onboarding.md | 42 | #### Step 4: Default Model Configuration (Optional) | COMMENT |
| LOW | changelogs/docs/2025-12-27-admin-onboarding.md | 70 | #### Step 5: Deployment Progress | COMMENT |
| LOW | changelogs/docs/2025-12-20-grammar-forum-bedrock.md | 189 | ### Step 1: Configure AWS Credentials | COMMENT |
| LOW | changelogs/docs/2025-12-20-grammar-forum-bedrock.md | 198 | ### Step 2: Start the Network | COMMENT |
| LOW | changelogs/docs/2025-12-20-grammar-forum-bedrock.md | 214 | ### Step 3: Launch the Agent | COMMENT |
| LOW | changelogs/docs/2025-12-20-grammar-forum-bedrock.md | 233 | ### Step 4: Connect via Studio | COMMENT |
| LOW | changelogs/docs/2025-12-20-grammar-forum-bedrock.md | 244 | ### Step 5: Test the Grammar Checker | COMMENT |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | install.sh | 57 | # Step 1: Node.js | COMMENT |
| LOW⚡ | install.sh | 170 | # Step 2: Install/upgrade openagents | COMMENT |
| LOW⚡ | install.sh | 270 | # Step 3: Detect local AI agents | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 381 | # Step 1: Apply template (simulates OnboardingStep2) | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 392 | # Step 2: Set admin password (simulates deployment step) | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 403 | # Step 3: Set model config | COMMENT |
| LOW | tests/http/test_onboarding_apis.py | 418 | # Step 4: Admin login (simulates OnboardingSuccess) | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 281 | # Step 3: Verify file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 289 | # Step 4: Verify file metadata | COMMENT |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 538 | # Step 1: Upload large file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 219 | # Step 1: Alice uploads a file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 253 | # Step 2: Bob downloads the file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 399 | # Step 1: Upload all files | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 450 | # Step 2: Download all files and verify content | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 569 | # Step 2: Download large file | COMMENT |
| LOW | …sts/mods/test_grpc_thread_messaging_file_operations.py | 594 | # Step 3: Verify large file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 335 | # Step 3: Verify file content integrity | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 343 | # Step 4: Verify file metadata | COMMENT |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 594 | # Step 1: Upload large file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 273 | # Step 1: Alice uploads a file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 307 | # Step 2: Bob downloads the file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 454 | # Step 1: Upload all files | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 505 | # Step 2: Download all files and verify content | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 625 | # Step 2: Download large file | COMMENT |
| LOW | …sts/mods/test_http_thread_messaging_file_operations.py | 650 | # Step 3: Verify large file content integrity | COMMENT |
| LOW | sdk/studio/src/pages/OnboardingPage.tsx | 90 | // Step 1: Set admin password (25%) | COMMENT |
| LOW | sdk/studio/src/pages/OnboardingPage.tsx | 101 | // Step 2: Apply mods / template (50%) | COMMENT |
| LOW | sdk/studio/src/pages/OnboardingPage.tsx | 114 | // Step 3: Configure model (if provided) (75%) | COMMENT |
| LOW⚡ | sdk/studio/src/pages/OnboardingPage.tsx | 131 | // Step 4: Starting network (90%) | COMMENT |
| LOW⚡ | sdk/studio/src/pages/OnboardingPage.tsx | 135 | // Step 5: Verify connection (100%) | COMMENT |
| LOW | sdk/studio/src/pages/admin/NetworkPublish.tsx | 825 | // Step 2: Server-side validation to verify PUBLIC accessibility | COMMENT |
| LOW | sdk/studio/src/pages/messaging/MessagingView.tsx | 210 | // For new messages, we need to check if user was near bottom BEFORE the new content was added | COMMENT |
| LOW | sdk/examples/grpcs_example.py | 51 | # Step 1: Setup certificates | COMMENT |
| LOW | sdk/examples/grpcs_example.py | 63 | # Step 2: Create an agent | COMMENT |
| LOW | sdk/examples/grpcs_example.py | 81 | # Step 3: Connect using gRPCS with TLS | COMMENT |
| LOW | sdk/examples/grpcs_example.py | 98 | # Step 4: Send a test message | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 337 | # Step 1: Start the network | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 341 | # Step 2: Start the A2A agent server | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 346 | # Step 3: Connect gRPC agent | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 351 | # Step 4: Announce A2A agent to the network | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 355 | # Step 5: List all agents in the registry | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 359 | # Step 6: Send message from gRPC agent to A2A agent | COMMENT |
| LOW⚡ | sdk/examples/cross_protocol_agents_example.py | 363 | # Step 7: Send message from A2A to gRPC (via network) | COMMENT |
| LOW | sdk/examples/agentworld_network/simple_game_agent.py | 46 | # Step 1: Login to game (with channel) | COMMENT |
| LOW | sdk/examples/agentworld_network/simple_game_agent.py | 67 | # Step 2: Observe the game world | COMMENT |
| LOW | sdk/examples/agentworld_network/simple_game_agent.py | 92 | # Step 3: Move left by 3 tiles | COMMENT |
| LOW⚡ | sdk/examples/agentworld_network/simple_game_agent.py | 116 | # Step 4: Send "Hi" message in the game channel | COMMENT |
| LOW⚡ | sdk/src/openagents/core/onm_addressing.py | 134 | # Step 1: network scoping | COMMENT |
| LOW⚡ | sdk/src/openagents/core/onm_addressing.py | 143 | # Step 2: determine entity type | COMMENT |
| LOW⚡ | sdk/src/openagents/agentid/client.py | 712 | # Step 1: Request challenge | COMMENT |
| LOW⚡ | sdk/src/openagents/agentid/client.py | 719 | # Step 2: Sign challenge | COMMENT |
| LOW⚡ | sdk/src/openagents/agentid/client.py | 722 | # Step 3: Get token | COMMENT |
| LOW | sdk/src/openagents/utils/network_tool_collector.py | 390 | # Step 1: Apply whitelist (exposed_tools) | COMMENT |
| LOW | sdk/src/openagents/utils/network_tool_collector.py | 405 | # Step 2: Apply blacklist (excluded_tools) | COMMENT |
| LOW⚡ | sdk/src/openagents/sdk/network.py | 1204 | # Step 1: Shutdown current network | COMMENT |
| LOW⚡ | sdk/src/openagents/sdk/network.py | 1212 | # Step 2: Apply new configuration | COMMENT |
| LOW | sdk/src/openagents/sdk/network.py | 1302 | # Step 3: Reinitialize the network | COMMENT |
| LOW | sdk/src/openagents/client/agent_setup.py | 74 | # Step 1: Register agent (optional — may fail on self-hosted) | COMMENT |
| LOW⚡ | sdk/src/openagents/client/agent_setup.py | 101 | # Step 2: Join workspace + discover channels | COMMENT |
| LOW⚡ | sdk/src/openagents/client/agent_setup.py | 168 | # Step 3: Create adapter via plugin registry | COMMENT |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/frontend/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | workspace/frontend/components/chat/chat-messages.tsx | 221 | COMMENT | |
| LOW | workspace/frontend/public/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | workspace/backend/entrypoint.sh | 1 | #!/bin/sh | COMMENT |
| LOW | workspace/backend/app/database.py | 21 | # Register PostgreSQL type compilers for SQLite so JSONB/UUID columns work. | COMMENT |
| LOW | workspace/backend/app/browser_egress.py | 41 | # An upstream that never closes must not be able to hold a relay task open | COMMENT |
| LOW | workspace/backend/app/net_security.py | 41 | COMMENT | |
| LOW | workspace/backend/app/main.py | 201 | created_by = rt["created_by"] | COMMENT |
| LOW | workspace/backend/app/routers/files.py | 881 | "uploaded_count": len(uploaded), | COMMENT |
| LOW | workspace/backend/app/routers/events.py | 341 | # Resolve workspace + authorize. Served from Redis for the workspace-token | COMMENT |
| LOW | workspace/backend/app/routers/events.py | 481 | query = query.where(EventRecord.target == target) | COMMENT |
| LOW | workspace/backend/app/routers/browser.py | 61 | # Phase-2 follow-ups, deliberately NOT in this change: | COMMENT |
| LOW | workspace/backend/app/routers/routines.py | 301 | if body.days is not None: | COMMENT |
| LOW | workspace/backend/app/mods/workspace_mod.py | 1341 | COMMENT | |
| LOW | workspace/backend/app/services/push.py | 41 | # "Task completed" status would push. In practice agents post tool-call | COMMENT |
| LOW | workspace/backend/openagents/__init__.py | 1 | # Vendored ONM core modules for serverless deployment (Vercel). | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 161 | // }, | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 341 | ) | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 521 | label: "AgentWorld", | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 641 | navigationConfig: { | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 661 | // order: 6, | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 681 | // } | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 701 | // ), | COMMENT |
| LOW | sdk/studio/src/config/routeConfig.ts | 721 | // }, | COMMENT |
| LOW | sdk/studio/src/stores/chatStore.ts | 2301 | // const state = get(); | COMMENT |
| LOW | sdk/studio/src/stores/chatStore.ts | 2481 | // console.log("ChatStore: This is own reply message, looking for optimistic message to replace"); | COMMENT |
| LOW | sdk/studio/src/stores/chatStore.ts | 2501 | // return contentMatch && senderMatch && typeMatch && replyMatch && timeMatch; | COMMENT |
| LOW | sdk/studio/src/stores/chatStore.ts | 2621 | // // Check if it's own direct message | COMMENT |
| LOW | sdk/studio/src/stores/chatStore.ts | 2641 | // console.log(`ChatStore: Checking optimistic direct message ${msg.tempId || msg.id}: content=${content | COMMENT |
| LOW | sdk/studio/src/pages/forum/ForumSidebar.tsx | 21 | // const ForumCategoryItem: React.FC<{ | COMMENT |
| LOW | sdk/studio/src/pages/messaging/MessagingView.tsx | 761 | {/* Messages */} | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 21 | COMMENT | |
| LOW | sdk/studio/src/services/notificationService.ts | 41 | // } | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 61 | // } | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 81 | // max-width: 350px; | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 101 | // } | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 121 | // background: none; | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 241 | // * Show in-browser notification as fallback | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 261 | // <div class="notification-body"> | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 281 | // if (config.channel) { | COMMENT |
| LOW | sdk/studio/src/services/notificationService.ts | 301 | // setTimeout(() => { | COMMENT |
| LOW | sdk/examples/agent_yaml/openai_agent_config.yaml | 41 | # Connection configuration (optional - can be overridden by command line) | COMMENT |
| LOW | sdk/src/openagents/ui/__init__.py | 1 | # UI modules for OpenAgents | COMMENT |
| LOW | sdk/src/openagents/agents/runner.py | 481 | # | COMMENT |
| LOW | sdk/src/openagents/models/messages.py | 1 | """Message models for OpenAgents - now using unified Event system only.""" | COMMENT |
| LOW | sdk/src/openagents/adapters/aider.py | 121 | COMMENT | |
| LOW | sdk/src/openagents/mods/workspace/project/mod.py | 461 | async def _handle_project_message_send(self, message: Event) -> EventResponse: | COMMENT |
| LOW | sdk/src/openagents/mods/workspace/project/mod.py | 881 | # # Send notification directly to the agent instead of through mod processing | COMMENT |
| LOW | sdk/src/openagents/mods/workspace/documents/mod.py | 221 | - If access_permissions is not empty (restricted), only explicit permissions apply | COMMENT |
| LOW | sdk/src/openagents/templates/__init__.py | 1 | # OpenAgents Network Templates | COMMENT |
| LOW | sdk/src/openagents/client/workspace_client.py | 541 | raw_last_id = events[-1].get("id") | COMMENT |
| LOW | packages/launcher/dev-app-update.yml | 1 | # electron-updater reads this file instead of resources/app-update.yml when the | COMMENT |
| LOW | packages/launcher/src/renderer/components/ui/tabs.tsx | 61 | return ( | COMMENT |
| LOW | …enderer/components/onboarding/use-onboarding-agents.ts | 81 | } catch { | COMMENT |
| LOW | packages/launcher/src/renderer/pages/install/index.tsx | 61 | // Tray menu / Dashboard banner deep-link: open straight into a specific | COMMENT |
| LOW | packages/launcher/src/main/i18n.ts | 1 | // ── Main-process strings ── | COMMENT |
| LOW | packages/launcher/src/main/agent-manager.ts | 381 | // account (a Plus/Pro/Team plan works with NO OpenAI API key — the auth is | COMMENT |
| LOW | packages/launcher/src/main/agent-manager.ts | 401 | // Amp ships no status/whoami command, so the sign-in probe runs `amp usage` | COMMENT |
| LOW | packages/launcher/src/main/agent-manager.ts | 901 | .replace(/\/+$/, "") | COMMENT |
| LOW | packages/launcher/src/main/agent-manager.ts | 1701 | } | COMMENT |
| 55 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | workspace/backend/app/browser.py | 43 | ".map(function (i) { return {url: i.currentSrc || i.src || '', alt: i.alt || ''}; })" | CODE |
| HIGH | workspace/backend/app/routers/network.py | 640 | "install_command": "git clone https://github.com/nanocoai/nanoclaw && cd nanoclaw && pnpm install && ./nanoclaw. | CODE |
| HIGH⚡ | workspace/backend/tests/test_push.py | 80 | "for f in $(grep -rliE 'foo' . 2>/dev/null); do\n" | CODE |
| HIGH | workspace/backend/tests/test_push.py | 181 | "Bash › cd /tmp && ls", | CODE |
| HIGH | workspace/backend/openagents/core/onm_events.py | 45 | target: str # e.g., "channel/session-abc" (NEVER null) | CODE |
| HIGH | tests/mods/test_messaging_memory_management.py | 20 | cd tests/mods && python test_messaging_memory_management.py | STRING |
| HIGH | sdk/examples/agentworld_network/test_network.py | 213 | print(" cd /path/to/agentworld && yarn dev") | CODE |
| HIGH | sdk/src/openagents/core/onm_events.py | 44 | target: str # e.g., "channel/session-abc" (NEVER null) | CODE |
| HIGH | sdk/src/openagents/agents/orchestrator.py | 262 | # If there are tool calls, content can be null, but if no tool calls, content must be a string | COMMENT |
| HIGH | sdk/src/openagents/sdk/transports/mcp.py | 612 | # If port is None/null, skip standalone server binding | COMMENT |
| HIGH | sdk/src/openagents/sdk/transports/mcp.py | 615 | logger.info("MCP transport: standalone port disabled (port: null), skipping listen") | CODE |
| HIGH | sdk/src/openagents/client/tunnel.py | 43 | "-o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared" | CODE |
| HIGH⚡ | sdk/src/openagents/client/cli_helpers.py | 743 | [code]node --version && npm --version[/code] | CODE |
| HIGH | sdk/src/openagents/client/cli_helpers.py | 726 | [code]sudo apt update && sudo apt install nodejs npm[/code] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 42 | "creator_email": "user@example.com", | CODE |
| LOW⚡ | workspace/backend/tests/test_workspaces.py | 48 | assert detail.json()["data"]["creatorEmail"] == "user@example.com" | CODE |
| LOW⚡ | workspace/backend/tests/test_collaborators.py | 202 | headers={"Authorization": "Bearer fake-token"}, | CODE |
| LOW⚡ | workspace/backend/tests/test_collaborators.py | 212 | headers={"Authorization": "Bearer fake-token"}, | CODE |
| LOW | workspace/backend/tests/test_collaborators.py | 238 | headers={"Authorization": "Bearer fake-token"}, | CODE |
| LOW⚡ | workspace/backend/tests/test_login_session_auth.py | 260 | with _mock_firebase_verify("user@example.com"): | CODE |
| LOW | tests/test_onm_addressing.py | 41 | assert addr.name == "user@example.com" | CODE |
| LOW | tests/test_onm_addressing.py | 226 | assert make_human_address("user@example.com") == "human:user@example.com" | CODE |
| LOW⚡ | tests/agents/test_orchestrator.py | 328 | api_key="fake_key", # This will cause an error, which is expected | CODE |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 530 | large_content += "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" | CODE |
| LOW⚡ | …sts/mods/test_grpc_thread_messaging_file_operations.py | 530 | large_content += "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" | CODE |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 586 | large_content += "Lorem ipsum dolor sit amet, consectetur adipiscing elit. HTTP transport test.\n" | CODE |
| LOW⚡ | …sts/mods/test_http_thread_messaging_file_operations.py | 586 | large_content += "Lorem ipsum dolor sit amet, consectetur adipiscing elit. HTTP transport test.\n" | CODE |
| LOW⚡ | docs/projects/workspace_migration.md | 251 | "human:user@example.com" → Address(network="local", entity_type="human", name="user@example.com") | STRING |
| LOW | …ngelogs/docs/2025-12-09-langchain-agent-integration.md | 27 | ("placeholder", "{agent_scratchpad}"), | CODE |
| LOW | sdk/studio/src/i18n/locales/ja/messaging.json | 24 | "placeholder": "メッセージを入力...", | CODE |
| LOW | sdk/studio/src/i18n/locales/ja/common.json | 82 | "placeholder": { | CODE |
| LOW | sdk/studio/src/i18n/locales/ja/admin.json | 56 | "placeholder": "メッセージを入力...", | CODE |
| LOW | sdk/studio/src/i18n/locales/ja/admin.json | 208 | "placeholder": "oa-xxxxxxxxxxxxxxxx", | CODE |
| LOW | sdk/studio/src/i18n/locales/ja/admin.json | 509 | "placeholder": "# マイネットワーク\n\nネットワークの説明をここに記載...\n\n## 利用可能なサービス\n\n- サービス 1\n- サービス 2\n\n## 使用方法\n\nネットワークの使用方法を説明. | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/messaging.json | 24 | "placeholder": "输入消息...", | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/common.json | 82 | "placeholder": { | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/network.json | 52 | "placeholder": "输入标签并回车", | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/network.json | 57 | "placeholder": "输入分类并回车", | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/admin.json | 84 | "placeholder": "请输入您的消息...", | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/admin.json | 241 | "placeholder": "oa-xxxxxxxxxxxxxxxx", | CODE |
| LOW | sdk/studio/src/i18n/locales/zh-CN/admin.json | 603 | "placeholder": "# 我的网络\n\n在此描述您的网络...\n\n## 可用服务\n\n- 服务 1\n- 服务 2\n\n## 使用说明\n\n说明如何使用您的网络...", | CODE |
| LOW | sdk/studio/src/i18n/locales/ko/messaging.json | 24 | "placeholder": "메시지 입력...", | CODE |
| LOW | sdk/studio/src/i18n/locales/ko/common.json | 82 | "placeholder": { | CODE |
| LOW | sdk/studio/src/i18n/locales/ko/admin.json | 56 | "placeholder": "메시지를 입력하세요...", | CODE |
| LOW | sdk/studio/src/i18n/locales/ko/admin.json | 208 | "placeholder": "oa-xxxxxxxxxxxxxxxx", | CODE |
| LOW | sdk/studio/src/i18n/locales/ko/admin.json | 509 | "placeholder": "# 내 네트워크\n\n네트워크 설명을 여기에 작성...\n\n## 사용 가능한 서비스\n\n- 서비스 1\n- 서비스 2\n\n## 사용 방법\n\n네트워크 사용 방법 설명..." | CODE |
| LOW | sdk/studio/src/i18n/locales/en/messaging.json | 24 | "placeholder": "Type a message...", | CODE |
| LOW | sdk/studio/src/i18n/locales/en/common.json | 82 | "placeholder": { | CODE |
| LOW | sdk/studio/src/i18n/locales/en/network.json | 52 | "placeholder": "Enter a tag and press Enter", | CODE |
| LOW | sdk/studio/src/i18n/locales/en/network.json | 57 | "placeholder": "Enter a category and press Enter", | CODE |
| LOW | sdk/studio/src/i18n/locales/en/admin.json | 84 | "placeholder": "Enter your message...", | CODE |
| LOW | sdk/studio/src/i18n/locales/en/admin.json | 241 | "placeholder": "oa-xxxxxxxxxxxxxxxx", | CODE |
| LOW | sdk/studio/src/i18n/locales/en/admin.json | 623 | "placeholder": "# My Network\n\nDescribe your network here...\n\n## Available Services\n\n- Service 1\n- Service 2\n | CODE |
| LOW | sdk/src/openagents/core/onm_addressing.py | 115 | Address(network='local', entity_type='human', name='user@example.com', ...) | STRING |
| LOW | sdk/src/openagents/agents/langchain_agent.py | 171 | ("placeholder", "{agent_scratchpad}"), | STRING |
| LOW | sdk/src/openagents/models/event.py | 163 | "placeholder", | CODE |
| LOW | sdk/src/openagents/client/plugin_registry.py | 125 | "password": bool, "placeholder": str} | STRING |
| LOW | …ckages/launcher/src/renderer/i18n/locales/zh/chat.json | 52 | "placeholder": "向你的智能体发送消息…(Shift+Enter 换行)", | CODE |
| LOW | …launcher/src/renderer/i18n/locales/zh/connections.json | 13 | "placeholder": "搜索平台……", | CODE |
| LOW | …ncher/src/renderer/i18n/locales/zh/commandPalette.json | 2 | "placeholder": "输入命令、智能体或页面…", | CODE |
| LOW | …ages/launcher/src/renderer/i18n/locales/zh/agents.json | 111 | "placeholder": "/path/to/project", | CODE |
| LOW | …/launcher/src/renderer/i18n/locales/zh/workspaces.json | 126 | "placeholder": "我的团队", | CODE |
| LOW | …ges/launcher/src/renderer/i18n/locales/zh/install.json | 73 | "placeholder": "搜索智能体、厂商、标签…" | CODE |
| LOW | …ckages/launcher/src/renderer/i18n/locales/en/chat.json | 52 | "placeholder": "Message your agents… (Shift+Enter for newline)", | CODE |
| LOW | …launcher/src/renderer/i18n/locales/en/connections.json | 13 | "placeholder": "Search platforms...", | CODE |
| LOW | …ncher/src/renderer/i18n/locales/en/commandPalette.json | 2 | "placeholder": "Type a command, agent, or page…", | CODE |
| LOW | …ages/launcher/src/renderer/i18n/locales/en/agents.json | 111 | "placeholder": "/path/to/project", | CODE |
| LOW | …/launcher/src/renderer/i18n/locales/en/workspaces.json | 126 | "placeholder": "My Team", | CODE |
| LOW | …ges/launcher/src/renderer/i18n/locales/en/install.json | 73 | "placeholder": "Search agents, vendors, tags…" | CODE |
| LOW | packages/agent-connector/registry.json | 33 | "placeholder": "auto" | CODE |
| LOW | packages/agent-connector/registry.json | 39 | "placeholder": "gpt-4o" | CODE |
| LOW | packages/agent-connector/registry.json | 51 | "placeholder": "https://my-endpoint.example/v1" | CODE |
| LOW | packages/agent-connector/registry.json | 198 | "placeholder": "openrouter" | CODE |
| LOW | packages/agent-connector/registry.json | 204 | "placeholder": "anthropic/claude-sonnet-4.6" | CODE |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | workspace/frontend/package-lock.json | 6730 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | workspace/backend/app/models.py | 592 | context = Column(Text, nullable=True) # comprehensive background for the routine | CODE |
| MEDIUM | workspace/backend/app/routers/routines.py | 172 | """Call the LLM to expand a brief task description into comprehensive routine context.""" | STRING |
| MEDIUM | tests/studio/test_forum_mod_with_http_api.py | 554 | """Test comprehensive forum flow scenarios.""" | STRING |
| MEDIUM⚡ | tests/studio/test_messaging_mod_with_http_api.py | 476 | """Test comprehensive messaging flow scenarios.""" | STRING |
| MEDIUM | …s/workspace/test_grpc_workspace_client_worker_agent.py | 485 | """Test comprehensive message flow between workspace client and worker agent.""" | STRING |
| MEDIUM | …s/workspace/test_grpc_workspace_client_worker_agent.py | 543 | # The test demonstrates the intended comprehensive functionality | COMMENT |
| MEDIUM | tests/workspace/test_grpc_workspace.py | 187 | """Test comprehensive channel operations.""" | STRING |
| MEDIUM | tests/workspace/test_grpc_workspace.py | 235 | """Test comprehensive agent operations through workspace.""" | STRING |
| MEDIUM | tests/mods/test_grpc_workspace_wiki.py | 489 | "content": "# Python Development Guide\n\nComprehensive guide for Python development best practices.", | CODE |
| MEDIUM | …sts/mods/test_grpc_thread_messaging_file_operations.py | 207 | test_content = """This is a comprehensive test file for gRPC thread messaging. | CODE |
| MEDIUM | …sts/mods/test_http_thread_messaging_file_operations.py | 261 | test_content = """This is a comprehensive test file for HTTP thread messaging. | CODE |
| MEDIUM | tests/mods/test_project_mode.py | 260 | "value": "# Project Design\n\nThis is a comprehensive design document." | CODE |
| MEDIUM | sdk/src/openagents/utils/bulk_agent_manager.py | 88 | # Use a more robust event loop policy | COMMENT |
| LOW | sdk/src/openagents/sdk/agent_manager.py | 315 | # For now, just return valid since specific models may have their own env vars | COMMENT |
| LOW⚡ | sdk/src/openagents/sdk/network.py | 355 | # Save the config if version was just set (to persist it to the YAML file) | COMMENT |
| LOW | sdk/src/openagents/sdk/workspace.py | 1188 | # We'll just create the channel object locally | COMMENT |
| MEDIUM | …nts/mods/workspace/messaging/message_storage_helper.py | 429 | """Get comprehensive storage statistics.""" | STRING |
| MEDIUM | sdk/src/openagents/client/cli_network.py | 663 | # Use regex for more robust PID extraction | COMMENT |
| MEDIUM | packages/launcher/src/main/updater.ts | 488 | // robust here and only costs bandwidth on the (user-driven) download. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | workspace/backend/app/config.py | 68 | # LLM Router — uses a small model to decide agent turn-taking in multi-agent threads | COMMENT |
| MEDIUM | workspace/backend/app/mods/workspace_mod.py | 1309 | # ── Multi-agent channel: route per the thread's orchestration mode ── | COMMENT |
| MEDIUM | workspace/backend/app/services/cloud_providers.py | 117 | # ── Tier 2: Research & agentic platforms ────────────────────────── | COMMENT |
| MEDIUM | tests/agents/test_orchestrator.py | 120 | # Run orchestration | COMMENT |
| MEDIUM | tests/e2e/agent-smoke.js | 17 | // loads the agent, builds a large context prompt, and runs an agentic loop | COMMENT |
| MEDIUM | sdk/demos/01_startup_pitch_room/network.yaml | 2 | # A multi-agent chat room where agents roleplay as startup team members | COMMENT |
| MEDIUM | sdk/src/openagents/agents/runner.py | 498 | # Skip system events (system.*) - these are internal and should not trigger orchestration | COMMENT |
| MEDIUM | sdk/src/openagents/agents/project_echo_agent.py | 393 | # This is a demo workaround - in production, this would be event-driven | COMMENT |
| MEDIUM | sdk/src/openagents/agents/orchestrator.py | 125 | # Print colored box for orchestration start | COMMENT |
| MEDIUM | sdk/src/openagents/templates/__init__.py | 10 | # - multi-agent-chatroom: Messaging mod for multi-agent discussions | COMMENT |
| MEDIUM | …ents/templates/multi-agent-chatroom/agents/__init__.py | 1 | # Agents for multi-agent-chatroom template | COMMENT |
| MEDIUM | packages/go/OpenAgents/Helpers/WebView.swift | 89 | /// Wraps the raw HTML in a minimal document scaffold that: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | llms.txt | 558 | export DEFAULT_LLM_API_KEY="your-api-key" # API key for the provider | CODE |
| HIGH | llms.txt | 611 | export DEFAULT_LLM_API_KEY="your-api-key" | CODE |
| HIGH | sdk/examples/agent_yaml/openai_agent_config.yaml | 31 | # api_key: "your-api-key-here" | COMMENT |
| HIGH | sdk/examples/default_network/README.md | 48 | export OPENAI_API_KEY=your-api-key | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | workspace/backend/app/routers/files.py | 735 | CODE | |
| LOW | workspace/backend/app/routers/files.py | 1276 | CODE | |
| LOW | workspace/backend/app/routers/files.py | 1367 | CODE | |
| LOW | workspace/backend/app/routers/todos.py | 155 | CODE | |
| LOW | workspace/backend/app/routers/events.py | 318 | CODE | |
| LOW | workspace/backend/app/routers/notifications.py | 115 | CODE | |
| LOW | workspace/backend/tests/test_browser_tab_leak.py | 497 | CODE | |
| LOW | tests/lms/test_llm_logs_api.py | 23 | CODE | |
| LOW | tests/lms/test_llm_log_reader.py | 33 | CODE | |
| LOW | sdk/src/openagents/tools/exa_search.py | 55 | CODE | |
| LOW | sdk/src/openagents/agents/runner.py | 575 | CODE | |
| LOW | sdk/src/openagents/agents/runner.py | 853 | CODE | |
| LOW | sdk/src/openagents/agents/runner.py | 916 | CODE | |
| LOW | sdk/src/openagents/adapters/goose_stream.py | 65 | CODE | |
| LOW | sdk/src/openagents/sdk/event_gateway.py | 115 | CODE | |
| LOW | sdk/src/openagents/sdk/event_gateway.py | 143 | CODE | |
| LOW | sdk/src/openagents/sdk/client.py | 154 | CODE | |
| LOW | sdk/src/openagents/sdk/client.py | 350 | CODE | |
| LOW | sdk/src/openagents/sdk/connectors/grpc_connector.py | 31 | CODE | |
| LOW | sdk/src/openagents/sdk/transports/grpc.py | 267 | CODE | |
| LOW | sdk/src/openagents/sdk/transports/http.py | 1070 | CODE | |
| LOW | sdk/src/openagents/mods/workspace/feed/feed_messages.py | 72 | CODE | |
| LOW | sdk/src/openagents/mods/workspace/messaging/mod.py | 704 | CODE | |
| LOW | sdk/src/openagents/client/cli_network.py | 42 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdk/examples/community_knowledge_base/ai_news_agent.py | 394 | # Always post to general channel as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sdk/src/openagents/workspace/tool_decorator.py | 33 | def my_function(): ... | STRING |
| LOW⚡ | sdk/src/openagents/workspace/tool_decorator.py | 36 | def my_function(): ... | STRING |
| LOW⚡ | sdk/src/openagents/workspace/tool_decorator.py | 39 | def my_function(): ... | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdk/examples/agentworld_network/network.yaml | 5 | # Usage: | COMMENT |