Eigent: The Open Source Cowork Desktop to Unlock Your Exceptional Productivity. Local and Free Alternative to Claude Cowork.
This report presents the forensic synthetic code analysis of eigent-ai/eigent, a TypeScript project with 14,558 GitHub stars. SynthScan v2.0 examined 259,809 lines of code across 1249 source files, recording 3335 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 14.8 places this repository in the Low 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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 3335 distinct pattern matches across 21 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 |
|---|---|---|---|---|
| LOW | tailwind.config.js | 76 | function buildDsBgStatusSubtleShortAliases() { | CODE |
| LOW | tailwind.config.js | 98 | function neutralDsSemanticSafelist() { | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 80 | def validate_whitespace_preservation(self): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 177 | def count_paragraphs_in_unpacked(self): | CODE |
| LOW⚡ | …/example-skills/xlsx/scripts/office/validators/docx.py | 193 | def count_paragraphs_in_original(self): | CODE |
| LOW | …ple-skills/xlsx/scripts/office/validators/redlining.py | 212 | def _remove_author_tracked_changes(self, root): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 118 | def validate_slide_layout_ids(self): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 186 | def validate_no_duplicate_slide_layouts(self): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 224 | def validate_notes_slide_references(self): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 129 | def repair_whitespace_preservation(self) -> int: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 399 | def validate_all_relationship_ids(self): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 483 | def _get_expected_relationship_type(self, element_name): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 612 | def validate_file_against_xsd(self, xml_file, verbose=False): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 717 | def _clean_ignorable_namespaces(self, xml_doc): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 737 | def _remove_ignorable_elements(self, root): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 756 | def _preprocess_for_mc_ignorable(self, xml_doc): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 764 | def _validate_single_file_xsd(self, xml_file, base_path): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 801 | def _get_original_file_errors(self, xml_file): | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 828 | def _remove_template_tags_from_text_nodes(self, xml_doc): | CODE |
| LOW | …kills/xlsx/scripts/office/helpers/simplify_redlines.py | 61 | def _merge_tracked_changes_in(container, tag: str) -> int: | CODE |
| LOW | …kills/xlsx/scripts/office/helpers/simplify_redlines.py | 140 | def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]: | CODE |
| LOW | …ces/example-skills/pdf/scripts/fill_fillable_fields.py | 69 | def validation_error_for_field_value(field_info, field_value): | CODE |
| LOW | …/example-skills/pdf/scripts/extract_form_field_info.py | 23 | def get_full_annotation_field_id(annotation): | CODE |
| LOW | …ces/example-skills/pdf/scripts/check_bounding_boxes.py | 29 | def get_bounding_box_messages(fields_json_stream) -> list[str]: | CODE |
| LOW | …e-skills/pdf/scripts/fill_pdf_form_with_annotations.py | 24 | def transform_from_image_coords(bbox, image_width, image_height, pdf_width, pdf_height): | CODE |
| LOW | …e-skills/pdf/scripts/fill_pdf_form_with_annotations.py | 37 | def transform_from_pdf_coords(bbox, pdf_height): | CODE |
| LOW | resources/example-skills/pptx/scripts/clean.py | 120 | def get_slide_referenced_files(unpacked_dir: Path) -> set: | CODE |
| LOW | resources/example-skills/pptx/scripts/clean.py | 142 | def remove_orphaned_rels_files(unpacked_dir: Path) -> list[str]: | CODE |
| LOW | resources/example-skills/pptx/scripts/add_slide.py | 155 | def _add_to_presentation_rels(unpacked_dir: Path, dest: str) -> str: | CODE |
| LOW | resources/example-skills/pptx/scripts/thumbnail.py | 163 | def create_hidden_placeholder(size: tuple[int, int]) -> Image.Image: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 80 | def validate_whitespace_preservation(self): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 177 | def count_paragraphs_in_unpacked(self): | CODE |
| LOW⚡ | …/example-skills/pptx/scripts/office/validators/docx.py | 193 | def count_paragraphs_in_original(self): | CODE |
| LOW | …ple-skills/pptx/scripts/office/validators/redlining.py | 212 | def _remove_author_tracked_changes(self, root): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 118 | def validate_slide_layout_ids(self): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 186 | def validate_no_duplicate_slide_layouts(self): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 224 | def validate_notes_slide_references(self): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 129 | def repair_whitespace_preservation(self) -> int: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 399 | def validate_all_relationship_ids(self): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 483 | def _get_expected_relationship_type(self, element_name): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 612 | def validate_file_against_xsd(self, xml_file, verbose=False): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 717 | def _clean_ignorable_namespaces(self, xml_doc): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 737 | def _remove_ignorable_elements(self, root): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 756 | def _preprocess_for_mc_ignorable(self, xml_doc): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 764 | def _validate_single_file_xsd(self, xml_file, base_path): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 801 | def _get_original_file_errors(self, xml_file): | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 828 | def _remove_template_tags_from_text_nodes(self, xml_doc): | CODE |
| LOW | …kills/pptx/scripts/office/helpers/simplify_redlines.py | 61 | def _merge_tracked_changes_in(container, tag: str) -> int: | CODE |
| LOW | …kills/pptx/scripts/office/helpers/simplify_redlines.py | 140 | def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]: | CODE |
| LOW | resources/example-skills/docx/scripts/comment.py | 151 | def _ensure_comment_relationships(unpacked_dir: Path) -> None: | CODE |
| LOW | resources/example-skills/docx/scripts/comment.py | 193 | def _ensure_comment_content_types(unpacked_dir: Path) -> None: | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/docx.py | 80 | def validate_whitespace_preservation(self): | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/docx.py | 177 | def count_paragraphs_in_unpacked(self): | CODE |
| LOW⚡ | …/example-skills/docx/scripts/office/validators/docx.py | 193 | def count_paragraphs_in_original(self): | CODE |
| LOW | …ple-skills/docx/scripts/office/validators/redlining.py | 212 | def _remove_author_tracked_changes(self, root): | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/pptx.py | 118 | def validate_slide_layout_ids(self): | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/pptx.py | 186 | def validate_no_duplicate_slide_layouts(self): | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/pptx.py | 224 | def validate_notes_slide_references(self): | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/base.py | 129 | def repair_whitespace_preservation(self) -> int: | CODE |
| LOW | …/example-skills/docx/scripts/office/validators/base.py | 399 | def validate_all_relationship_ids(self): | CODE |
| 970 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vite.config.web.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | vite.config.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | vitest.config.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/vitest-jest-dom.d.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/setup.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/utils.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/basic.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/AgentPoolSection.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/SearchInput.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/ChatBox.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Workspace.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/TaskWorkLogAccordion.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Terminal.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/PlanTaskBoxUtils.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Layout/ThemeProvider.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Folder/FileTree.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Dialog/ReportBugDialog.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | …/unit/components/WorkFlow/workflowWheelHandler.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/components/Setting/utils.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/hooks/useInstallationSetup.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/hooks/useTriggerTaskExecutor.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/hooks/useSelectedProjectTurn.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/examples/installationFlow.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/htmlLocalAssets.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/projectAchievement.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/htmlSanitization.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/remoteControl.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/replay.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/llm.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/htmlFontStyles.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/themeTokens/engine.v2.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/lib/themeTokens/verifier.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/api/http.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/githubReleaseCdnProvider.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 341 | // }) | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 361 | // expect(status.isInstalling).toBe(false) | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 381 | // it('should successfully install dependencies with default settings', async () => { | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 401 | COMMENT | |
| LOW | test/unit/electron/install-deps.test.ts | 421 | COMMENT | |
| LOW | test/unit/electron/install-deps.test.ts | 441 | // ) | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 461 | // // Reset the module-level state variables | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 481 | // expect(() => installDeps.detectInstallationLogs(pattern)).not.toThrow() | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 501 | // 'installation failed' | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 521 | // isDestroyed: vi.fn().mockReturnValue(false) | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 541 | // })) as any | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 561 | // // Should handle empty version string gracefully | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 581 | // it('should handle complete fresh installation workflow', async () => { | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 601 | // }) | COMMENT |
| LOW | test/unit/electron/install-deps.test.ts | 621 | COMMENT | |
| LOW | test/unit/electron/main/domReadyHandlers.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/index.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/subscriptionAuth.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/installationStateLogic.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/windowLifecycle.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/fileReader.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/electron/main/processUtilsDemo.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/pages/loginUtils.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/pages/Browser/CDP.test.tsx | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| LOW | test/unit/store/chatStore.test.ts | 1 | // ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. ========= | COMMENT |
| 958 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …-skills/skill-security-auditor/scripts/scan_secrets.py | 180 | print(f"Error: {project_dir} is not a directory", file=sys.stderr) | CODE |
| MEDIUM | …-skills/skill-security-auditor/scripts/scan_project.py | 251 | print(f"Error: {project_dir} is not a directory", file=sys.stderr) | CODE |
| LOW | resources/example-skills/xlsx/scripts/recalc.py | 80 | except Exception: | CODE |
| LOW | resources/example-skills/xlsx/scripts/recalc.py | 174 | except Exception as e: | CODE |
| MEDIUM | resources/example-skills/xlsx/scripts/recalc.py | 46 | def has_gtimeout(): | CODE |
| LOW | resources/example-skills/xlsx/scripts/office/pack.py | 140 | except Exception as e: | CODE |
| MEDIUM | …sources/example-skills/xlsx/scripts/office/validate.py | 108 | print(f"Error: Validation not supported for file type {file_extension}") | CODE |
| LOW⚡ | resources/example-skills/xlsx/scripts/office/unpack.py | 92 | except Exception as e: | CODE |
| LOW⚡ | resources/example-skills/xlsx/scripts/office/unpack.py | 101 | except Exception: | CODE |
| LOW⚡ | resources/example-skills/xlsx/scripts/office/unpack.py | 111 | except Exception: | CODE |
| LOW⚡ | …/example-skills/xlsx/scripts/office/validators/docx.py | 188 | except Exception as e: | CODE |
| MEDIUM⚡ | …/example-skills/xlsx/scripts/office/validators/docx.py | 189 | print(f"Error counting paragraphs in unpacked document: {e}") | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 211 | except Exception as e: | CODE |
| MEDIUM | …/example-skills/xlsx/scripts/office/validators/docx.py | 212 | print(f"Error counting paragraphs in original document: {e}") | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 301 | except Exception: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 453 | except Exception: | CODE |
| LOW | …ple-skills/xlsx/scripts/office/validators/redlining.py | 70 | except Exception: | CODE |
| LOW | …ple-skills/xlsx/scripts/office/validators/redlining.py | 79 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 209 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 152 | except Exception: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 168 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 371 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 468 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 578 | except Exception: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 597 | except Exception as e: | CODE |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 798 | except Exception as e: | CODE |
| LOW | …kills/xlsx/scripts/office/helpers/simplify_redlines.py | 57 | except Exception as e: | CODE |
| LOW | …ample-skills/xlsx/scripts/office/helpers/merge_runs.py | 52 | except Exception as e: | CODE |
| LOW | resources/example-skills/pdf/reference.md | 484 | except Exception as e: | CODE |
| LOW | resources/example-skills/pdf/reference.md | 504 | except Exception as e: | CODE |
| LOW | resources/example-skills/pdf/reference.md | 578 | except Exception as e: | CODE |
| LOW | …ces/example-skills/skill-creator/scripts/init_skill.py | 231 | except Exception as e: | CODE |
| LOW | …ces/example-skills/skill-creator/scripts/init_skill.py | 246 | except Exception as e: | CODE |
| LOW | …ces/example-skills/skill-creator/scripts/init_skill.py | 273 | except Exception as e: | CODE |
| LOW | …/example-skills/skill-creator/scripts/package_skill.py | 94 | except Exception as e: | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/clean.py | 290 | print(f"Error: {unpacked_dir} not found", file=sys.stderr) | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/add_slide.py | 54 | print(f"Error: {layout_path} not found", file=sys.stderr) | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/add_slide.py | 111 | print(f"Error: {source_slide} not found", file=sys.stderr) | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/add_slide.py | 201 | print(f"Error: {unpacked_dir} not found", file=sys.stderr) | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/thumbnail.py | 80 | print(f"Error: Invalid PowerPoint file: {args.input}", file=sys.stderr) | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/thumbnail.py | 93 | print("Error: No slides found", file=sys.stderr) | CODE |
| LOW | resources/example-skills/pptx/scripts/thumbnail.py | 104 | except Exception as e: | CODE |
| MEDIUM | resources/example-skills/pptx/scripts/thumbnail.py | 105 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | resources/example-skills/pptx/scripts/thumbnail.py | 260 | except Exception: | CODE |
| LOW | resources/example-skills/pptx/scripts/office/pack.py | 140 | except Exception as e: | CODE |
| MEDIUM | …sources/example-skills/pptx/scripts/office/validate.py | 108 | print(f"Error: Validation not supported for file type {file_extension}") | CODE |
| LOW⚡ | resources/example-skills/pptx/scripts/office/unpack.py | 92 | except Exception as e: | CODE |
| LOW⚡ | resources/example-skills/pptx/scripts/office/unpack.py | 101 | except Exception: | CODE |
| LOW⚡ | resources/example-skills/pptx/scripts/office/unpack.py | 111 | except Exception: | CODE |
| LOW⚡ | …/example-skills/pptx/scripts/office/validators/docx.py | 188 | except Exception as e: | CODE |
| MEDIUM⚡ | …/example-skills/pptx/scripts/office/validators/docx.py | 189 | print(f"Error counting paragraphs in unpacked document: {e}") | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 211 | except Exception as e: | CODE |
| MEDIUM | …/example-skills/pptx/scripts/office/validators/docx.py | 212 | print(f"Error counting paragraphs in original document: {e}") | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 301 | except Exception: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 453 | except Exception: | CODE |
| LOW | …ple-skills/pptx/scripts/office/validators/redlining.py | 70 | except Exception: | CODE |
| LOW | …ple-skills/pptx/scripts/office/validators/redlining.py | 79 | except Exception as e: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 209 | except Exception as e: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 152 | except Exception: | CODE |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 168 | except Exception as e: | CODE |
| 335 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mple-skills/xlsx/scripts/office/validators/__init__.py | 19 | CODE | |
| LOW | …mple-skills/xlsx/scripts/office/validators/__init__.py | 20 | CODE | |
| LOW | …mple-skills/xlsx/scripts/office/validators/__init__.py | 21 | CODE | |
| LOW | …mple-skills/xlsx/scripts/office/validators/__init__.py | 22 | CODE | |
| LOW | …example-skills/skill-creator/scripts/quick_validate.py | 21 | CODE | |
| LOW | …mple-skills/pptx/scripts/office/validators/__init__.py | 19 | CODE | |
| LOW | …mple-skills/pptx/scripts/office/validators/__init__.py | 20 | CODE | |
| LOW | …mple-skills/pptx/scripts/office/validators/__init__.py | 21 | CODE | |
| LOW | …mple-skills/pptx/scripts/office/validators/__init__.py | 22 | CODE | |
| LOW | …mple-skills/docx/scripts/office/validators/__init__.py | 19 | CODE | |
| LOW | …mple-skills/docx/scripts/office/validators/__init__.py | 20 | CODE | |
| LOW | …mple-skills/docx/scripts/office/validators/__init__.py | 21 | CODE | |
| LOW | …mple-skills/docx/scripts/office/validators/__init__.py | 22 | CODE | |
| LOW | server/app/domains/remote_control/schema/__init__.py | 15 | CODE | |
| LOW | …omains/remote_control/api/remote_control_controller.py | 15 | CODE | |
| LOW | …mains/remote_control/service/remote_control_service.py | 15 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 17 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 17 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 18 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | server/app/domains/trigger/service/__init__.py | 19 | CODE | |
| LOW | …pp/domains/trigger/service/trigger_schedule_service.py | 20 | CODE | |
| LOW | …er/app/domains/trigger/service/trigger_crud_service.py | 19 | CODE | |
| LOW | …er/app/domains/trigger/service/trigger_crud_service.py | 28 | CODE | |
| LOW | …er/app/domains/trigger/service/trigger_crud_service.py | 29 | CODE | |
| LOW | server/app/domains/trigger/service/slack_service.py | 50 | CODE | |
| LOW | server/app/domains/oauth/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/oauth/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/oauth/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/oauth/service/__init__.py | 15 | CODE | |
| LOW | server/app/domains/chat/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/chat/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/chat/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/chat/api/history_controller.py | 26 | CODE | |
| LOW | server/app/domains/chat/api/history_controller.py | 30 | CODE | |
| LOW | server/app/domains/chat/api/history_controller.py | 35 | CODE | |
| LOW | server/app/domains/chat/service/chat_service.py | 18 | CODE | |
| LOW | server/app/domains/chat/service/chat_service.py | 19 | CODE | |
| LOW | server/app/domains/chat/service/chat_service.py | 21 | CODE | |
| LOW | server/app/domains/chat/service/__init__.py | 17 | CODE | |
| LOW | server/app/domains/config/service/__init__.py | 15 | CODE | |
| LOW | server/app/domains/config/service/config_service.py | 18 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/schema/__init__.py | 17 | CODE | |
| LOW | server/app/domains/user/service/__init__.py | 15 | CODE | |
| LOW | server/app/domains/user/service/__init__.py | 16 | CODE | |
| LOW | server/app/domains/mcp/service/__init__.py | 15 | CODE | |
| LOW | server/app/domains/space/service/apply_service.py | 15 | CODE | |
| LOW | server/app/domains/space/service/__init__.py | 15 | CODE | |
| 213 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/example-skills/xlsx/scripts/office/pack.py | 0 | pack a directory into a docx, pptx, or xlsx file. validates with auto-repair, condenses xml formatting, and creates the | STRING |
| HIGH | resources/example-skills/pptx/scripts/office/pack.py | 0 | pack a directory into a docx, pptx, or xlsx file. validates with auto-repair, condenses xml formatting, and creates the | STRING |
| HIGH | resources/example-skills/docx/scripts/office/pack.py | 0 | pack a directory into a docx, pptx, or xlsx file. validates with auto-repair, condenses xml formatting, and creates the | STRING |
| HIGH | …sources/example-skills/xlsx/scripts/office/validate.py | 0 | command line tool to validate office document xml files against xsd schemas and tracked changes. usage: python validate. | STRING |
| HIGH | …sources/example-skills/pptx/scripts/office/validate.py | 0 | command line tool to validate office document xml files against xsd schemas and tracked changes. usage: python validate. | STRING |
| HIGH | …sources/example-skills/docx/scripts/office/validate.py | 0 | command line tool to validate office document xml files against xsd schemas and tracked changes. usage: python validate. | STRING |
| HIGH | resources/example-skills/xlsx/scripts/office/unpack.py | 0 | unpack office files (docx, pptx, xlsx) for editing. extracts the zip archive, pretty-prints xml files, and optionally: - | STRING |
| HIGH | resources/example-skills/pptx/scripts/office/unpack.py | 0 | unpack office files (docx, pptx, xlsx) for editing. extracts the zip archive, pretty-prints xml files, and optionally: - | STRING |
| HIGH | resources/example-skills/docx/scripts/office/unpack.py | 0 | unpack office files (docx, pptx, xlsx) for editing. extracts the zip archive, pretty-prints xml files, and optionally: - | STRING |
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 0 | helper for running libreoffice (soffice) in environments where af_unix sockets may be blocked (e.g., sandboxed vms). det | STRING |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 0 | helper for running libreoffice (soffice) in environments where af_unix sockets may be blocked (e.g., sandboxed vms). det | STRING |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 0 | helper for running libreoffice (soffice) in environments where af_unix sockets may be blocked (e.g., sandboxed vms). det | STRING |
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 0 | #define _gnu_source #include <dlfcn.h> #include <errno.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #in | STRING |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 0 | #define _gnu_source #include <dlfcn.h> #include <errno.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #in | STRING |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 0 | #define _gnu_source #include <dlfcn.h> #include <errno.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #in | STRING |
| HIGH | …/example-skills/xlsx/scripts/office/validators/docx.py | 0 | validator for word document xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/pptx/scripts/office/validators/docx.py | 0 | validator for word document xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/docx/scripts/office/validators/docx.py | 0 | validator for word document xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/xlsx/scripts/office/validators/pptx.py | 0 | validator for powerpoint presentation xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/pptx/scripts/office/validators/pptx.py | 0 | validator for powerpoint presentation xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/docx/scripts/office/validators/pptx.py | 0 | validator for powerpoint presentation xml files against xsd schemas. | STRING |
| HIGH | …/example-skills/xlsx/scripts/office/validators/base.py | 0 | base validator with common validation logic for document files. | STRING |
| HIGH | …/example-skills/pptx/scripts/office/validators/base.py | 0 | base validator with common validation logic for document files. | STRING |
| HIGH | …/example-skills/docx/scripts/office/validators/base.py | 0 | base validator with common validation logic for document files. | STRING |
| HIGH | …kills/xlsx/scripts/office/helpers/simplify_redlines.py | 0 | simplify tracked changes by merging adjacent w:ins or w:del elements. merges adjacent <w:ins> elements from the same aut | STRING |
| HIGH | …kills/pptx/scripts/office/helpers/simplify_redlines.py | 0 | simplify tracked changes by merging adjacent w:ins or w:del elements. merges adjacent <w:ins> elements from the same aut | STRING |
| HIGH | …kills/docx/scripts/office/helpers/simplify_redlines.py | 0 | simplify tracked changes by merging adjacent w:ins or w:del elements. merges adjacent <w:ins> elements from the same aut | STRING |
| HIGH | …ample-skills/xlsx/scripts/office/helpers/merge_runs.py | 0 | merge adjacent runs with identical formatting in docx. merges adjacent <w:r> elements that have identical <w:rpr> proper | STRING |
| HIGH | …ample-skills/pptx/scripts/office/helpers/merge_runs.py | 0 | merge adjacent runs with identical formatting in docx. merges adjacent <w:r> elements that have identical <w:rpr> proper | STRING |
| HIGH | …ample-skills/docx/scripts/office/helpers/merge_runs.py | 0 | merge adjacent runs with identical formatting in docx. merges adjacent <w:r> elements that have identical <w:rpr> proper | STRING |
| HIGH | backend/tests/app/utils/test_single_agent_worker.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| HIGH | backend/tests/app/agent/test_listen_chat_agent.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| HIGH | backend/tests/app/controller/test_chat_controller.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| HIGH | backend/tests/app/controller/test_task_controller.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| HIGH | backend/tests/app/service/test_task.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| HIGH | backend/tests/app/service/test_chat_service.py | 0 | tests that require llm backend (marked for selective running). | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tailwind.config.js | 107 | 'placeholder', | CODE |
| LOW | test/unit/components/SearchInput.test.tsx | 278 | expect(input).toHaveAttribute('placeholder', 'Search MCPs'); | CODE |
| LOW | test/unit/electron/main/subscriptionAuth.test.ts | 137 | account_label: 'user@example.com', | CODE |
| LOW | test/unit/electron/main/subscriptionAuth.test.ts | 147 | expect(loaded?.account_label).toBe('user@example.com'); | CODE |
| LOW | test/unit/electron/main/subscriptionAuth.test.ts | 166 | account_label: 'user@example.com', | CODE |
| LOW | …-skills/skill-security-auditor/scripts/scan_secrets.py | 72 | "example", "changeme", "placeholder", "your_", "xxx", | CODE |
| LOW | src/stories/ui/Input.stories.tsx | 179 | <Input title="Full Name" placeholder="John Doe" required /> | CODE |
| LOW | src/stories/ui/Dialog.stories.tsx | 482 | await userEvent.type(nameInput, 'John Doe'); | CODE |
| LOW | src/stories/ui/Dialog.stories.tsx | 486 | await expect(nameInput).toHaveValue('John Doe'); | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/zh-Hans/triggers.json | 301 | "placeholder": "输入正则表达式模式来过滤消息...", | CODE |
| LOW | src/i18n/locales/zh-Hans/triggers.json | 306 | "placeholder": "输入允许的最大连续失败次数...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 317 | "placeholder": "Enter text that must be in request body...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 322 | "placeholder": "Enter header names (e.g., Content-Type, Authorization)...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hans/triggers.json | 327 | "placeholder": "Header-Name: regex pattern", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/zh-Hant/triggers.json | 301 | "placeholder": "輸入正則表達式模式來過濾訊息...", | CODE |
| LOW | src/i18n/locales/zh-Hant/triggers.json | 306 | "placeholder": "輸入允許的最大連續失敗次數...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 317 | "placeholder": "Enter text that must be in request body...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 322 | "placeholder": "Enter header names (e.g., Content-Type, Authorization)...", | CODE |
| LOW⚡ | src/i18n/locales/zh-Hant/triggers.json | 327 | "placeholder": "Header-Name: regex pattern", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/ja/triggers.json | 301 | "placeholder": "メッセージをフィルターするための正規表現パターンを入力...", | CODE |
| LOW | src/i18n/locales/ja/triggers.json | 306 | "placeholder": "許可される最大連続失敗回数を入力...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 317 | "placeholder": "Enter text that must be in request body...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 322 | "placeholder": "Enter header names (e.g., Content-Type, Authorization)...", | CODE |
| LOW⚡ | src/i18n/locales/ja/triggers.json | 327 | "placeholder": "Header-Name: regex pattern", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/it/triggers.json | 301 | "placeholder": "Inserisci pattern regex per filtrare i messaggi...", | CODE |
| LOW | src/i18n/locales/it/triggers.json | 306 | "placeholder": "Inserisci il numero massimo di fallimenti consecutivi consentiti...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 317 | "placeholder": "Enter text that must be in request body...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 322 | "placeholder": "Enter header names (e.g., Content-Type, Authorization)...", | CODE |
| LOW⚡ | src/i18n/locales/it/triggers.json | 327 | "placeholder": "Header-Name: regex pattern", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/ru/triggers.json | 301 | "placeholder": "Введите шаблон regex для фильтрации сообщений...", | CODE |
| LOW | src/i18n/locales/ru/triggers.json | 306 | "placeholder": "Введите максимальное количество последовательных сбоев...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 317 | "placeholder": "Enter text that must be in request body...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 322 | "placeholder": "Enter header names (e.g., Content-Type, Authorization)...", | CODE |
| LOW⚡ | src/i18n/locales/ru/triggers.json | 327 | "placeholder": "Header-Name: regex pattern", | CODE |
| LOW⚡ | src/i18n/locales/ar/triggers.json | 267 | "placeholder": "xoxb-...", | CODE |
| LOW⚡ | src/i18n/locales/ar/triggers.json | 272 | "placeholder": "Enter your Slack signing secret...", | CODE |
| LOW⚡ | src/i18n/locales/ar/triggers.json | 281 | "placeholder": "Select a channel...", | CODE |
| LOW⚡ | src/i18n/locales/ar/triggers.json | 289 | "placeholder": "Enter Slack user IDs (e.g., U1234567890)...", | CODE |
| LOW | src/i18n/locales/ar/triggers.json | 301 | "placeholder": "أدخل نمط regex لتصفية الرسائل...", | CODE |
| LOW | src/i18n/locales/ar/triggers.json | 306 | "placeholder": "أدخل العدد الأقصى للإخفاقات المتتالية المسموح بها...", | CODE |
| 52 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/example-skills/xlsx/scripts/recalc.py | 84 | CODE | |
| LOW | resources/example-skills/xlsx/scripts/office/pack.py | 38 | CODE | |
| LOW | resources/example-skills/xlsx/scripts/office/pack.py | 122 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 80 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 126 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 268 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 312 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/docx.py | 405 | CODE | |
| LOW | …ple-skills/xlsx/scripts/office/validators/redlining.py | 141 | CODE | |
| LOW | …ple-skills/xlsx/scripts/office/validators/redlining.py | 212 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 76 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 118 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/pptx.py | 224 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 129 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 213 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 303 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 399 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 483 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 506 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 650 | CODE | |
| LOW | …/example-skills/xlsx/scripts/office/validators/base.py | 717 | CODE | |
| LOW | …kills/xlsx/scripts/office/helpers/simplify_redlines.py | 163 | CODE | |
| LOW | …ample-skills/xlsx/scripts/office/helpers/merge_runs.py | 192 | CODE | |
| LOW | …ces/example-skills/pdf/scripts/fill_fillable_fields.py | 25 | CODE | |
| LOW | …ces/example-skills/pdf/scripts/fill_fillable_fields.py | 69 | CODE | |
| LOW | …/example-skills/pdf/scripts/extract_form_field_info.py | 33 | CODE | |
| LOW | …/example-skills/pdf/scripts/extract_form_field_info.py | 61 | CODE | |
| LOW | …s/example-skills/pdf/scripts/extract_form_structure.py | 34 | CODE | |
| LOW | …ces/example-skills/pdf/scripts/check_bounding_boxes.py | 29 | CODE | |
| LOW | …/example-skills/skill-creator/scripts/package_skill.py | 33 | CODE | |
| LOW | resources/example-skills/pptx/scripts/clean.py | 63 | CODE | |
| LOW | resources/example-skills/pptx/scripts/clean.py | 185 | CODE | |
| LOW | resources/example-skills/pptx/scripts/office/pack.py | 38 | CODE | |
| LOW | resources/example-skills/pptx/scripts/office/pack.py | 122 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 80 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 126 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 268 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 312 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/docx.py | 405 | CODE | |
| LOW | …ple-skills/pptx/scripts/office/validators/redlining.py | 141 | CODE | |
| LOW | …ple-skills/pptx/scripts/office/validators/redlining.py | 212 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 76 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 118 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/pptx.py | 224 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 129 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 213 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 303 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 399 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 483 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 506 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 650 | CODE | |
| LOW | …/example-skills/pptx/scripts/office/validators/base.py | 717 | CODE | |
| LOW | …kills/pptx/scripts/office/helpers/simplify_redlines.py | 163 | CODE | |
| LOW | …ample-skills/pptx/scripts/office/helpers/merge_runs.py | 192 | CODE | |
| LOW | resources/example-skills/docx/scripts/comment.py | 112 | CODE | |
| LOW | resources/example-skills/docx/scripts/office/pack.py | 38 | CODE | |
| LOW | resources/example-skills/docx/scripts/office/pack.py | 122 | CODE | |
| LOW | …/example-skills/docx/scripts/office/validators/docx.py | 80 | CODE | |
| LOW | …/example-skills/docx/scripts/office/validators/docx.py | 126 | CODE | |
| LOW | …/example-skills/docx/scripts/office/validators/docx.py | 268 | CODE | |
| 89 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 32 | // ─── Mock external dependencies ─────────────────────────────────── | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 73 | // ─── Helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 92 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 94 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 171 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 173 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 214 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 216 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 245 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 247 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 296 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 299 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 322 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 324 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 381 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 383 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 491 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 493 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 615 | // ╔═══════════════════════════════════════════════════════════════╗ | COMMENT |
| MEDIUM | test/unit/hooks/useTriggerTaskExecutor.test.ts | 617 | // ╚═══════════════════════════════════════════════════════════════╝ | COMMENT |
| MEDIUM⚡ | backend/app/service/chat_service.py | 2563 | # ======================================================================== | STRING |
| MEDIUM⚡ | backend/app/service/chat_service.py | 2565 | # ======================================================================== | STRING |
| MEDIUM | backend/app/service/chat_service.py | 2670 | # ======================================================================== | STRING |
| MEDIUM | backend/app/service/chat_service.py | 2672 | # ======================================================================== | STRING |
| MEDIUM | backend/app/service/chat_service.py | 2707 | # ======================================================================== | STRING |
| MEDIUM | backend/app/service/chat_service.py | 2709 | # ======================================================================== | STRING |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 480 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 482 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 599 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 601 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 739 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/test_workforce.py | 741 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/listen/test_toolkit_listen.py | 184 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | backend/tests/app/utils/listen/test_toolkit_listen.py | 186 | # ============================================================================= | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 39 | // ── Language ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 56 | // ── Theme presets ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 80 | // ── Background pattern metadata (labels resolved via t() in component) ──────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 115 | // ── Step 1 — Language ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 161 | // ── Step 2 — Theme ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 280 | // ── Step 3 — Background pattern ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/InstallStep/OnboardingSteps.tsx | 366 | // ── Main component ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/store/pageTabStore.ts | 110 | // ── TurnTabs: per-project turn selection ───────────────────────────────── | COMMENT |
| MEDIUM | src/store/pageTabStore.ts | 138 | // ── Inline file preview (project page) ─────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/i18n/locales/zh-Hans/setting.json | 100 | "enter-your-api-key": "输入您的 API", | CODE |
| HIGH | src/i18n/locales/zh-Hant/setting.json | 100 | "enter-your-api-key": "輸入您的 API", | CODE |
| HIGH | src/i18n/locales/ja/setting.json | 99 | "enter-your-api-key": "APIキーを入力", | CODE |
| HIGH | src/i18n/locales/ja/setting.json | 176 | "enter-your-api-key": "APIキーを入力", | CODE |
| HIGH | src/i18n/locales/it/setting.json | 99 | "enter-your-api-key": "Inserisci la tua API", | CODE |
| HIGH | src/i18n/locales/it/setting.json | 175 | "enter-your-api-key": "Inserisci la tua API", | CODE |
| HIGH | src/i18n/locales/ru/setting.json | 99 | "enter-your-api-key": "Введите ваш API", | CODE |
| HIGH | src/i18n/locales/ru/setting.json | 175 | "enter-your-api-key": "Введите ваш API", | CODE |
| HIGH | src/i18n/locales/ar/setting.json | 99 | "enter-your-api-key": "أدخل مفتاح واجهة برمجة التطبيقات الخاص بك", | CODE |
| HIGH | src/i18n/locales/ar/setting.json | 301 | "enter-your-api-key": "أدخل مفتاح واجهة برمجة التطبيقات الخاص بك", | CODE |
| HIGH | src/i18n/locales/de/setting.json | 99 | "enter-your-api-key": "Geben Sie Ihren API-", | CODE |
| HIGH | src/i18n/locales/de/setting.json | 175 | "enter-your-api-key": "Geben Sie Ihren API-", | CODE |
| HIGH | src/i18n/locales/ko/setting.json | 99 | "enter-your-api-key": "API 키 입력", | CODE |
| HIGH | src/i18n/locales/ko/setting.json | 176 | "enter-your-api-key": "API 키 입력", | CODE |
| HIGH | src/i18n/locales/fr/setting.json | 99 | "enter-your-api-key": "Enter your API", | CODE |
| HIGH | src/i18n/locales/fr/setting.json | 175 | "enter-your-api-key": "Enter your API", | CODE |
| HIGH | src/i18n/locales/es/setting.json | 99 | "enter-your-api-key": "Ingresa tu API", | CODE |
| HIGH | src/i18n/locales/es/setting.json | 175 | "enter-your-api-key": "Ingresa tu API", | CODE |
| HIGH | src/i18n/locales/en-us/setting.json | 99 | "enter-your-api-key": "Enter your API", | CODE |
| HIGH | src/i18n/locales/en-us/setting.json | 330 | "enter-your-api-key": "Enter your API", | CODE |
| HIGH | src/pages/Agents/Models.tsx | 1904 | placeholder={` ${t('setting.enter-your-api-key')} ${ | CODE |
| HIGH | src/pages/Agents/SubAgents.tsx | 290 | placeholder={`${t('setting.enter-your-api-key')} Gemini ${t( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 918 | // Step 4: Get the completed chatStore for replay | COMMENT |
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 927 | // Step 5: Call replayActiveTask using the completed chatStore | COMMENT |
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 933 | // Step 6: Wait for replay to complete and verify first question matches | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 317 | // Step 1: Complete a replay first | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 366 | // Step 2: Setup new SSE events for post-replay startTask | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 398 | // Step 3: Call startTask on replay project after replay completes | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 420 | // Step 4: Verify new chatStore was created for post-replay task | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 514 | // Step 1: Start replay | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 537 | // Step 2: While replay is running, start parallel task on same project | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 556 | // Step 3: Verify both tasks completed independently | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 615 | // Step 0: First simulate a replay mechanism to set up the scenario | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 713 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 761 | // Step 7: Verify final state | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 787 | // Step 1: Create initial task with specific user message | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 827 | // Step 2: Setup replay sequence that should have same first question | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 887 | // Step 3: Start initial task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 229 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 260 | // Step 2: Add messages to queue while task is busy | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 294 | // Step 3: Verify messages are in queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 307 | // Step 4: Wait for task completion | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 321 | // Step 5: Wait for new_task_state event to process queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 340 | // Step 6: Wait for remove_task event to clear queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 371 | // Step 7: Verify final state | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 704 | // Step 1: Start the main task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 716 | // Step 2: Wait for confirmed event | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 734 | // Step 3: Wait for subtasks event | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 753 | // Step 4: Add messages to queue while task is in subtasks phase | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 787 | // Step 5: Verify messages are properly queued | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 805 | // Step 6: Wait for task completion | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 819 | // Step 7: Wait for new_task_state event (new chat creation) | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 837 | // Step 8: Wait for remove_task event to process queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 868 | // Step 9: Final verification | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 546 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 620 | // Step 2: Wait for project append to complete before starting second task | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 644 | // Step 3: Start second task on the same chatStore | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 74 | // Step 1: Create new project | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 110 | // Step 2: Verify chatStore created automatically | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 148 | // Step 3: User sends message | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 191 | // Step 4: Start task | COMMENT |
| LOW | resources/example-skills/pdf/forms.md | 81 | ## Step 1: Try Structure Extraction First | COMMENT |
| LOW | resources/example-skills/pdf/forms.md | 270 | ## Step 2: Validate Before Filling | COMMENT |
| LOW | resources/example-skills/pdf/forms.md | 281 | ## Step 3: Fill the Form | COMMENT |
| LOW | resources/example-skills/pdf/forms.md | 286 | ## Step 4: Verify Output | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 216 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 233 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 257 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 282 | ### Step 4: Edit the Skill | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 323 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | resources/example-skills/skill-creator/SKILL.md | 353 | ### Step 6: Iterate | COMMENT |
| LOW | resources/example-skills/docx/SKILL.md | 293 | ### Step 1: Unpack | COMMENT |
| LOW | resources/example-skills/docx/SKILL.md | 299 | ### Step 2: Edit XML | COMMENT |
| LOW | resources/example-skills/docx/SKILL.md | 327 | ### Step 3: Pack | COMMENT |
| LOW | backend/app/service/skill_service.py | 402 | # Step 1: Extract zip into temp directory | COMMENT |
| LOW | backend/app/service/skill_service.py | 417 | # Step 2: Find all SKILL.md files | COMMENT |
| LOW | backend/app/service/skill_service.py | 437 | # Step 3: Build existing skill names map | COMMENT |
| LOW | docs/core/models/byok.md | 16 | ### Step 1: Get Your API Key | COMMENT |
| LOW | docs/core/models/byok.md | 22 | ### Step 2: Configure in Eigent | COMMENT |
| LOW⚡ | docs/troubleshooting/bug.md | 8 | ### Step 1: Open Report a bug | COMMENT |
| LOW⚡ | docs/troubleshooting/bug.md | 13 | ### Step 2: Describe the issue and save diagnostics | COMMENT |
| LOW⚡ | docs/troubleshooting/bug.md | 21 | ### Step 3: Send the email | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ces/example-skills/skill-creator/scripts/init_skill.py | 222 | # Check if directory already exists | COMMENT |
| LOW | server/start_server.sh | 14 | # Check if running in correct directory | COMMENT |
| LOW | server/start_server.sh | 21 | # Check if uv is installed | COMMENT |
| LOW | server/start_server.sh | 62 | # Check if Chinese translation files exist | COMMENT |
| LOW | server/app/domains/trigger/api/webhook_controller.py | 238 | # Check if user has any active WebSocket sessions | COMMENT |
| LOW | server/app/domains/trigger/service/trigger_service.py | 170 | # Check if auto-disable should happen | COMMENT |
| LOW | …ver/app/domains/trigger/service/app_handler_service.py | 316 | # Check if schedule should execute | COMMENT |
| LOW | …pp/domains/trigger/service/trigger_schedule_service.py | 324 | # Check if we've hit the per-tick limit (if enabled) | COMMENT |
| LOW | …pp/domains/trigger/service/trigger_schedule_service.py | 374 | # Check if schedule has expired | COMMENT |
| LOW | …pp/domains/trigger/service/trigger_schedule_service.py | 401 | # Check if schedule is expired before updating next run | COMMENT |
| LOW | server/app/model/chat/chat_share.py | 53 | # Set expiration to 1 day | COMMENT |
| LOW⚡ | …1-d74ab2a44600_drop_mcp_user_foreign_key_constraint.py | 71 | # Check if the constraint already exists before creating it | COMMENT |
| LOW⚡ | …1-d74ab2a44600_drop_mcp_user_foreign_key_constraint.py | 78 | # Check if the constraint already exists | COMMENT |
| LOW | backend/main.py | 71 | # Check if debug mode is enabled via environment variable | COMMENT |
| LOW | backend/app/component/environment.py | 139 | # Check if it's already within env_base_dir | COMMENT |
| LOW | backend/app/component/environment.py | 391 | # Check if router attribute exists in module | COMMENT |
| LOW | backend/app/utils/browser_launcher.py | 297 | # Check if auto-launch is disabled | COMMENT |
| LOW | backend/app/utils/listen/toolkit_listen.py | 479 | # Check if method is overridden in the subclass | COMMENT |
| LOW | backend/app/utils/listen/toolkit_listen.py | 485 | # Check if already decorated by looking for | COMMENT |
| LOW | backend/app/utils/listen/toolkit_listen.py | 513 | # Check if the unwrapped method is a coroutine function | COMMENT |
| LOW | backend/app/utils/telemetry/workforce_metrics.py | 264 | # Check if telemetry is enabled | COMMENT |
| LOW | backend/app/agent/listen_chat_agent.py | 622 | # Check if tool is wrapped by @listen_toolkit decorator | COMMENT |
| LOW | backend/app/agent/listen_chat_agent.py | 812 | # Check if tool is wrapped by @listen_toolkit decorator | COMMENT |
| LOW | backend/app/agent/listen_chat_agent.py | 839 | # Check if this is a sync tool to avoid run_in_executor | COMMENT |
| LOW | backend/app/agent/toolkit/terminal_toolkit.py | 138 | # Check if terminal_base exists | COMMENT |
| LOW | backend/app/agent/toolkit/terminal_toolkit.py | 153 | # Check if cloned env already exists | COMMENT |
| LOW | backend/app/agent/toolkit/notion_mcp_toolkit.py | 121 | # Check if we actually got tools | STRING |
| LOW | backend/app/agent/toolkit/hybrid_browser_toolkit.py | 323 | # Check if it's a connection issue | COMMENT |
| LOW | backend/app/agent/toolkit/hybrid_browser_toolkit.py | 470 | # Check if we have an existing connection for this session | COMMENT |
| LOW | backend/app/agent/toolkit/google_calendar_toolkit.py | 189 | # Check if there's an existing authorization and force stop it | COMMENT |
| LOW | backend/app/controller/chat_controller.py | 269 | # Check if task_lock still exists before attempting cleanup | COMMENT |
| LOW⚡ | backend/app/controller/tool_controller.py | 410 | # Check if LinkedIn is already authenticated | COMMENT |
| LOW⚡ | backend/app/controller/tool_controller.py | 412 | # Check if token is expired | COMMENT |
| LOW | backend/app/controller/tool_controller.py | 436 | # Check if token is expiring soon | COMMENT |
| LOW | backend/app/service/chat_service.py | 774 | # Check if folder is empty | COMMENT |
| LOW | backend/app/service/chat_service.py | 824 | # Check if workforce exists - reuse | COMMENT |
| LOW | backend/app/service/chat_service.py | 1035 | # Check if this might be a misrouted second question | COMMENT |
| LOW | backend/app/service/chat_service.py | 1960 | # Check if this might be a misrouted second question | COMMENT |
| LOW | backend/tests/app/component/test_environment.py | 130 | # Check if resolved path is under base directory | COMMENT |
| LOW | backend/scripts/init_skills_config.py | 48 | # Check if config already exists | COMMENT |
| LOW | backend/scripts/init_skills_config.py | 115 | # Check if config already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 918 | // Step 4: Get the completed chatStore for replay | COMMENT |
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 927 | // Step 5: Call replayActiveTask using the completed chatStore | COMMENT |
| LOW⚡ | test/integration/chatStore/replayComplete.test.tsx | 933 | // Step 6: Wait for replay to complete and verify first question matches | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 317 | // Step 1: Complete a replay first | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 366 | // Step 2: Setup new SSE events for post-replay startTask | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 398 | // Step 3: Call startTask on replay project after replay completes | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 420 | // Step 4: Verify new chatStore was created for post-replay task | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 514 | // Step 1: Start replay | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 537 | // Step 2: While replay is running, start parallel task on same project | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 556 | // Step 3: Verify both tasks completed independently | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 615 | // Step 0: First simulate a replay mechanism to set up the scenario | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 713 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 761 | // Step 7: Verify final state | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 787 | // Step 1: Create initial task with specific user message | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 827 | // Step 2: Setup replay sequence that should have same first question | COMMENT |
| LOW | test/integration/chatStore/replayComplete.test.tsx | 887 | // Step 3: Start initial task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 229 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 260 | // Step 2: Add messages to queue while task is busy | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 294 | // Step 3: Verify messages are in queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 307 | // Step 4: Wait for task completion | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 321 | // Step 5: Wait for new_task_state event to process queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 340 | // Step 6: Wait for remove_task event to clear queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 371 | // Step 7: Verify final state | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 704 | // Step 1: Start the main task | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 716 | // Step 2: Wait for confirmed event | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 734 | // Step 3: Wait for subtasks event | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 753 | // Step 4: Add messages to queue while task is in subtasks phase | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 787 | // Step 5: Verify messages are properly queued | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 805 | // Step 6: Wait for task completion | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 819 | // Step 7: Wait for new_task_state event (new chat creation) | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 837 | // Step 8: Wait for remove_task event to process queue | COMMENT |
| LOW | test/integration/chatStore/activeQueue.test.tsx | 868 | // Step 9: Final verification | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 546 | // Step 1: Start first task | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 620 | // Step 2: Wait for project append to complete before starting second task | COMMENT |
| LOW | test/integration/chatStore/deadWorkforce.test.tsx | 644 | // Step 3: Start second task on the same chatStore | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 74 | // Step 1: Create new project | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 110 | // Step 2: Verify chatStore created automatically | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 148 | // Step 3: User sends message | COMMENT |
| LOW | test/integration/chatStore/newProject.test.tsx | 191 | // Step 4: Start task | COMMENT |
| LOW | backend/app/service/skill_service.py | 402 | # Step 1: Extract zip into temp directory | COMMENT |
| LOW | backend/app/service/skill_service.py | 417 | # Step 2: Find all SKILL.md files | COMMENT |
| LOW | backend/app/service/skill_service.py | 437 | # Step 3: Build existing skill names map | COMMENT |
| LOW⚡ | electron/main/init.ts | 454 | // Step 1: Ensure Python is installed (fixes corrupted/missing Python) | COMMENT |
| LOW⚡ | electron/main/init.ts | 461 | // Step 2: Sync dependencies | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 130 | if (sv[0] >= 0 && sv[0] < 1024) { | CODE |
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 149 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 158 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/xlsx/scripts/office/soffice.py | 172 | if (fd >= 0 && fd < 1024 && is_shimmed[fd]) { | CODE |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 130 | if (sv[0] >= 0 && sv[0] < 1024) { | CODE |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 149 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 158 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/pptx/scripts/office/soffice.py | 172 | if (fd >= 0 && fd < 1024 && is_shimmed[fd]) { | CODE |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 130 | if (sv[0] >= 0 && sv[0] < 1024) { | CODE |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 149 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 158 | if (sockfd >= 0 && sockfd < 1024 && is_shimmed[sockfd]) { | CODE |
| HIGH | resources/example-skills/docx/scripts/office/soffice.py | 172 | if (fd >= 0 && fd < 1024 && is_shimmed[fd]) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mple-skills/xlsx/scripts/office/validators/__init__.py | 24 | __all__ = [ | CODE |
| LOW | resources/example-skills/pptx/scripts/clean.py | 235 | def update_content_types(unpacked_dir: Path, removed_files: list[str]) -> None: | CODE |
| LOW | …mple-skills/pptx/scripts/office/validators/__init__.py | 24 | __all__ = [ | CODE |
| LOW | resources/example-skills/docx/scripts/accept_changes.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | …mple-skills/docx/scripts/office/validators/__init__.py | 24 | __all__ = [ | CODE |
| LOW | server/app/domains/trigger/service/__init__.py | 31 | __all__ = [ | CODE |
| LOW | …pp/domains/trigger/service/trigger_schedule_service.py | 393 | def update_trigger_next_run(self, trigger: Trigger) -> None: | CODE |
| LOW | server/app/domains/oauth/schema/__init__.py | 23 | __all__ = [ | CODE |
| LOW | server/app/domains/oauth/service/__init__.py | 17 | __all__ = ["OAuthService"] | CODE |
| LOW | server/app/domains/chat/schema/__init__.py | 23 | __all__ = [ | CODE |
| LOW | server/app/domains/chat/service/__init__.py | 19 | __all__ = ["ChatService"] | CODE |
| LOW | server/app/domains/config/service/__init__.py | 17 | __all__ = ["ConfigService"] | CODE |
| LOW | server/app/domains/user/schema/__init__.py | 26 | __all__ = [ | CODE |
| LOW | server/app/domains/user/service/__init__.py | 18 | __all__ = ["KeyService", "UserAuthService"] | CODE |
| LOW | server/app/domains/mcp/service/__init__.py | 17 | __all__ = ["McpUserService"] | CODE |
| LOW | server/app/domains/space/service/__init__.py | 19 | __all__ = ["SpaceApplyService", "SpaceOverlayService", "SpaceService"] | CODE |
| LOW | server/app/domains/model_provider/service/__init__.py | 17 | __all__ = ["ProviderService"] | CODE |
| LOW | server/app/shared/context.py | 33 | def set_trace_id(trace_id: str) -> None: | CODE |
| LOW | server/app/shared/middleware/__init__.py | 27 | __all__ = [ | CODE |
| LOW | server/app/shared/auth/__init__.py | 27 | __all__ = [ | CODE |
| LOW | server/app/shared/http/__init__.py | 21 | __all__ = [ | CODE |
| LOW | server/app/shared/exception/__init__.py | 42 | __all__ = [ | CODE |
| LOW | server/app/shared/logging/__init__.py | 24 | __all__ = [ | CODE |
| LOW | server/app/model/remote_control/__init__.py | 22 | __all__ = [ | CODE |
| LOW | server/app/model/trigger/__init__.py | 19 | __all__ = [ | CODE |
| LOW | server/app/model/trigger/app_configs/__init__.py | 45 | __all__ = [ | CODE |
| LOW | server/app/model/memory/__init__.py | 17 | __all__ = [ | CODE |
| LOW | server/app/model/chat/chat_share.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | server/app/model/project/__init__.py | 25 | __all__ = [ | CODE |
| LOW | server/app/model/space/__init__.py | 45 | __all__ = [ | CODE |
| LOW | backend/benchmark/harbor/adapter.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/benchmark/harbor/run_adapter.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/hardware/interface.py | 53 | def set_webview_size(self, id: str, size: dict) -> None: | CODE |
| LOW | backend/app/hardware/__init__.py | 18 | __all__ = ["IHardwareBridge", "NullHardwareBridge"] | CODE |
| LOW | backend/app/hardware/null_bridge.py | 41 | def set_webview_size(self, id: str, size: dict) -> None: | CODE |
| LOW | backend/app/memory/__init__.py | 55 | __all__ = [ | CODE |
| LOW | backend/app/router_layer/__init__.py | 30 | __all__ = [ | CODE |
| LOW | backend/app/router_layer/hands_resolver.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/auth/brain_auth.py | 35 | def set_brain_auth_provider(provider: IAuthProvider) -> None: | CODE |
| LOW | backend/app/auth/__init__.py | 24 | __all__ = [ | CODE |
| LOW | backend/app/utils/telemetry/workforce_metrics.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/agent/tools.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/agent/__init__.py | 29 | __all__ = [ | CODE |
| LOW | backend/app/agent/toolkit/remote_sub_agent_toolkit.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/agent/toolkit/skill_toolkit.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/agent/factory/__init__.py | 24 | __all__ = [ | CODE |
| LOW | backend/app/remote_sub_agent/__init__.py | 36 | __all__ = [ | CODE |
| LOW | backend/app/remote_sub_agent/runtime.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/remote_sub_agent/providers/__init__.py | 17 | __all__ = ["GeminiAgentsProvider"] | CODE |
| LOW | backend/app/remote_sub_agent/providers/gemini_agents.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/hands/__init__.py | 31 | __all__ = [ | CODE |
| LOW | backend/app/service/task.py | 631 | def set_current_task_id(project_id: str, task_id: str) -> None: | CODE |
| LOW | backend/app/service/mcp_config.py | 101 | def update_mcp(name: str, mcp: dict) -> None: | CODE |
| LOW | backend/app/file_access/__init__.py | 19 | __all__ = ["IFileAccess", "LocalFileAccess", "UploadFileAccess"] | CODE |
| LOW | backend/app/run_context/__init__.py | 25 | __all__ = [ | CODE |
| LOW | backend/app/channels/__init__.py | 17 | __all__ = ["IChannelAdapter"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/app/agent/toolkit/terminal_toolkit.py | 171 | # Create the cloned venv directory | COMMENT |
| MEDIUM | backend/app/agent/toolkit/terminal_toolkit.py | 305 | # Create the coroutine | STRING |
| MEDIUM | backend/app/agent/toolkit/notion_mcp_toolkit.py | 99 | # Create a fresh toolkit instance for each retry | STRING |
| MEDIUM | backend/app/agent/toolkit/hybrid_browser_toolkit.py | 524 | # Create a new connection | COMMENT |
| MEDIUM | backend/tests/app/component/test_environment.py | 113 | # Create a symlink pointing outside base_dir | COMMENT |
| MEDIUM | backend/tests/app/utils/test_single_agent_worker.py | 350 | # Create main task and dependencies | COMMENT |
| MEDIUM | backend/tests/app/agent/test_listen_chat_agent.py | 328 | # Create a mock tool and add it to _internal_tools | COMMENT |
| MEDIUM | backend/tests/app/agent/test_listen_chat_agent.py | 378 | # Create a mock tool and add it to _internal_tools | COMMENT |
| MEDIUM | backend/tests/app/agent/factory/test_browser.py | 57 | # Create a proper terminal toolkit mock | COMMENT |
| MEDIUM⚡ | backend/tests/app/service/test_task.py | 492 | # Create a task lock with old last_accessed time | COMMENT |
| MEDIUM⚡ | backend/tests/app/service/test_task.py | 496 | # Create a fresh task lock | COMMENT |
| MEDIUM | backend/tests/app/service/test_task.py | 524 | # Create a stale task lock | COMMENT |
| MEDIUM | backend/tests/app/service/test_chat_service.py | 184 | # Create a subdirectory with files | COMMENT |
| MEDIUM | backend/tests/app/service/test_chat_service.py | 1465 | # Create a test file | COMMENT |
| MEDIUM | .github/workflows/build-view.yml | 352 | # Create a version using timestamp for test builds | COMMENT |
| MEDIUM | .github/workflows/pre-build-view.yml | 357 | # Create a version using timestamp for test builds | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …pp/domains/trigger/service/trigger_schedule_service.py | 99 | Calculate the next run time for a trigger based on its cron expression. Args: trig | STRING |
| HIGH | server/app/model/trigger/app_configs/base_config.py | 159 | Check if all activation requirements are met for this trigger. Args: user_id: The | STRING |
| HIGH | server/app/model/trigger/app_configs/config_registry.py | 83 | Validate config data against the registered config class. Args: trigger_type: The trigger type to | STRING |
| HIGH | server/app/model/chat/chat_share.py | 63 | Verify token and return task_id Args: token: The token to verify check_expirat | STRING |
| HIGH | backend/app/component/model_validation.py | 209 | Create an agent for model validation. Args: model_platform: The model platform model_type: The mode | STRING |
| HIGH | backend/app/utils/file_utils.py | 125 | Resolve path and verify it stays under base. Raises if it escapes. Args: path (str): Path to resolve (relat | STRING |
| HIGH | backend/app/utils/file_utils.py | 159 | Normalize and validate a working directory path using pathlib. Requires a non-empty path; raises ValueError if | STRING |
| HIGH | backend/app/agent/listen_chat_agent.py | 255 | Generator that wraps a streaming response. Sends chunks to frontend. Args: response_gen: T | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/app/utils/file_utils.py | 15 | """File system utilities with robust path handling and edge-case safety.""" | STRING |
| MEDIUM | backend/app/service/chat_service.py | 2770 | r"""Format a comprehensive agent description including name, tools, and | STRING |
| MEDIUM | src/store/chatStore.ts | 3894 | // Clean up AbortController on error with robust error handling | COMMENT |
| MEDIUM | src/store/chatStore.ts | 3931 | // Clean up AbortController when connection closes with robust error handling | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/agent/listen_chat_agent.py | 76 | CODE | |
| LOW | backend/app/agent/toolkit/terminal_toolkit.py | 63 | CODE | |
| LOW | backend/app/agent/toolkit/openai_image_toolkit.py | 28 | CODE | |
| LOW | backend/app/agent/toolkit/video_analysis_toolkit.py | 30 | CODE | |
| LOW | …end/app/agent/toolkit/hybrid_browser_python_toolkit.py | 166 | CODE | |
| LOW | backend/app/agent/toolkit/hybrid_browser_toolkit.py | 585 | CODE | |
| LOW | backend/app/service/chat_service.py | 2148 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/app/controller/chat_controller.py | 446 | # Local memory: write Space/Project/Run scaffolding + append user prompt. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 58 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/tests/app/service/test_chat_service.py | 187 | (sub_dir / "helper.py").write_text("def helper(): pass") | CODE |