Generates a layout config by heuristic analysis of the source file. Used when no custom layout is provided.
| 1691 | # ─── Auto-Layout Generator ──────────────────────────────────────────────────── |
| 1692 | |
| 1693 | class AutoLayoutGenerator: |
| 1694 | """ |
| 1695 | Generates a layout config by heuristic analysis of the source file. |
| 1696 | Used when no custom layout is provided. |
| 1697 | """ |
| 1698 | |
| 1699 | EXACT_NAME_MODULES: Dict[str, str] = { |
| 1700 | "SCRIPT_DIR": "config/paths.py", |
| 1701 | "WORKDIR": "config/paths.py", |
| 1702 | "CODES_ROOT": "config/paths.py", |
| 1703 | "LLM_CONFIG_PATH": "config/paths.py", |
| 1704 | "REPO_ROOT": "config/paths.py", |
| 1705 | "detect_repo_root": "config/paths.py", |
| 1706 | "_SHELL_AUTO_CONFIRM_PATTERNS": "config/constants.py", |
| 1707 | "MAX_TOOL_OUTPUT": "utils/text.py", |
| 1708 | "SOCKET_NOISE_LINE_PATTERNS": "utils/text.py", |
| 1709 | "normalize_embedded_newlines": "utils/text.py", |
| 1710 | "_map_todo_status_token": "utils/text.py", |
| 1711 | "split_todo_status_text": "utils/text.py", |
| 1712 | "extract_todo_rows_from_text": "utils/text.py", |
| 1713 | "infer_todo_status_from_text": "utils/text.py", |
| 1714 | "split_structured_todo_content": "utils/text.py", |
| 1715 | "_compress_rows_keep_hotspot": "utils/text.py", |
| 1716 | "_hotspot_index": "utils/text.py", |
| 1717 | "_row_is_hot": "utils/text.py", |
| 1718 | "_skip_row": "utils/text.py", |
| 1719 | "JSON_FSYNC_ENABLED": "utils/json_utils.py", |
| 1720 | "tool_def": "utils/json_utils.py", |
| 1721 | "canonicalize_tool_name": "utils/json_utils.py", |
| 1722 | "TOOLS": "utils/json_utils.py", |
| 1723 | "TOOL_REQUIRED_ARGS": "utils/json_utils.py", |
| 1724 | "TOOL_SPEC_BY_NAME": "utils/json_utils.py", |
| 1725 | "TOOL_NAME_FUZZY_MAP": "utils/json_utils.py", |
| 1726 | "MIN_TIMEOUT_SECONDS": "utils/misc.py", |
| 1727 | "MAX_TIMEOUT_SECONDS": "utils/misc.py", |
| 1728 | "DEFAULT_TIMEOUT_SECONDS": "utils/misc.py", |
| 1729 | "BENIGN_SOCKET_DEBUG_LOG_ENABLED": "utils/misc.py", |
| 1730 | "BENIGN_SOCKET_LOG_INTERVAL_SECONDS": "utils/misc.py", |
| 1731 | "_normalize_js_lib_asset_ref": "utils/files.py", |
| 1732 | "_resolve_js_lib_asset_path": "utils/files.py", |
| 1733 | "_discover_extra_js_lib_files": "utils/files.py", |
| 1734 | "_offline_js_entry_relative_path": "utils/files.py", |
| 1735 | "_archive_member_relative_path": "utils/files.py", |
| 1736 | "_path_size_bytes": "utils/files.py", |
| 1737 | "_extract_archive_to_dir": "utils/files.py", |
| 1738 | "_package_required_paths": "utils/files.py", |
| 1739 | "_package_install_ready": "utils/files.py", |
| 1740 | "_postprocess_offline_js_package": "utils/files.py", |
| 1741 | "_ensure_offline_js_package": "utils/files.py", |
| 1742 | "detect_upload_parser_capabilities": "skills/store.py", |
| 1743 | "_render_cap_markdown": "skills/store.py", |
| 1744 | "_rag_safe_name": "rag/parsers.py", |
| 1745 | "_rag_detect_language": "rag/parsers.py", |
| 1746 | "_rag_cjk_ngrams": "rag/parsers.py", |
| 1747 | "_rag_is_noise_token": "rag/parsers.py", |
| 1748 | "_rag_entity_allowed": "rag/parsers.py", |
| 1749 | "_rag_filter_entities": "rag/parsers.py", |
| 1750 | "_rag_filename_entity_aliases": "rag/parsers.py", |