122 lines
24 KiB
JSON
122 lines
24 KiB
JSON
{
|
|
"C:\\projects\\manual_slop\\src\\ai_client.py": {
|
|
"hash": "db4b3aad82599499d7796860757e229d2d412c5ccb3e821ddaee68ca0d3ad5d3",
|
|
"summary": "This Python module serves as a unified client interface for multiple Large Language Model (LLM) providers, abstracting away provider-specific differences in tool handling, history management, and caching. It includes specialized logic for Anthropic to manage token limits and for Gemini to inject initial context efficiently.\n\n* **Multi-Provider Abstraction:** Provides a single interface for interacting with LLMs from Anthropic, Gemini, DeepSeek, and Minimax.\n* **Provider-Specific Optimization:** Implements tailored strategies for managing token limits (Anthropic) and context injection (Gemini).\n* **Tooling and Bias Management:** Supports setting agent tools, tool presets, and bias profiles to influence LLM behavior.\n* **Communication Logging:** Tracks and logs communication events with LLM providers.\n* **Configuration and State Management:** Manages global generation parameters, credentials, and session state.\n\n**Outline:**\n**Python** \u2014 2501 lines\nimports: __future__, anthropic, asyncio, collections, datetime, difflib, google, hashlib, json, openai, os, pathlib, requests, src, sys, threading, time, tomllib, typing\nconstants: _GEMINI_CACHE_TTL, _BIAS_ENGINE, MAX_TOOL_ROUNDS, _MAX_TOOL_OUTPUT_BYTES, _ANTHROPIC_CHUNK_SIZE, _SYSTEM_PROMPT, COMMS_CLAMP_CHARS, TOOL_NAME, _CACHED_ANTHROPIC_TOOLS, _DIFF_LINE_THRESHOLD, _CACHED_DEEPSEEK_TOOLS, _CHARS_PER_TOKEN, _ANTHROPIC_MAX_PROMPT_TOKENS, _GEMINI_MAX_INPUT_TOKENS, _FILE_REFRESH_MARKER\nclass ProviderError: __init__, ui_message\nfunctions: set_model_params, get_history_trunc_limit, set_history_trunc_limit, get_current_tier, set_current_tier, set_custom_system_prompt, set_base_system_prompt, set_use_default_base_prompt, set_project_context_marker, _get_context_marker, _get_combined_system_prompt, get_combined_system_prompt, _append_comms, get_comms_log, clear_comms_log, get_credentials_path, _load_credentials, _classify_anthropic_error, _classify_gemini_error, _classify_deepseek_error, _classify_minimax_error, set_provider, get_provider, cleanup, reset_session, get_gemini_cache_stats, list_models, _list_gemini_cli_models, _list_gemini_models, _list_anthropic_models, _list_deepseek_models, _list_minimax_models, set_agent_tools, set_tool_preset, set_bias_profile, get_bias_profile, _build_anthropic_tools, _get_anthropic_tools, _gemini_tool_declaration, _execute_tool_calls_concurrently, _execute_single_tool_call_async, _run_script, _truncate_tool_output, _reread_file_items, _build_file_context_text, _build_file_diff_text, _build_deepseek_tools, _get_deepseek_tools, _content_block_to_dict, _ensure_gemini_client, _get_gemini_history_list, _send_gemini, _send_gemini_cli, _estimate_message_tokens, _invalidate_token_estimate, _estimate_prompt_tokens, _strip_stale_file_refreshes, _trim_anthropic_history, _ensure_anthropic_client, _chunk_text, _build_chunked_context_blocks, _strip_cache_controls, _add_history_cache_breakpoint, _repair_anthropic_history, _send_anthropic, _ensure_deepseek_client, _ensure_minimax_client, _repair_deepseek_history, _send_deepseek, _send_minimax, run_tier4_analysis, run_tier4_patch_callback, run_tier4_patch_generation, get_token_stats, send, _add_bleed_derived, get_history_bleed_stats, run_subagent_summarization"
|
|
},
|
|
"C:\\projects\\manual_slop\\conductor\\workflow.md": {
|
|
"hash": "ac3f4c0b807ce88bbbfdbd33b4d0888d4d5f97abca5642c2d5a3d9f2c1bc9fa5",
|
|
"summary": "This document outlines the mandatory workflow for the Conductor project, emphasizing strict adherence to code style, a test-driven development process with delegated implementation, and atomic, well-documented commits. Key takeaways include the critical importance of 1-space indentation for Python, the use of specific MCP tools to avoid indentation destruction, and a multi-phase task execution involving research, failing tests, implementation, refactoring, and thorough documentation via Git notes.\n\n**Outline:**\n**Markdown** \u2014 389 lines\nheadings:\n Project Workflow\n Session Start Checklist (MANDATORY)\n Code Style (MANDATORY - Python)\n CRITICAL: Native Edit Tool Destroys Indentation\n Guiding Principles\n Task Workflow\n Standard Task Workflow\n Phase Completion Verification and Checkpointing Protocol\n Verification via API Hooks\n Quality Gates\n Development Commands\n Setup\n Example: Commands to set up the development environment (e.g., install dependencies, configure database)\n e.g., for a Node.js project: npm install\n e.g., for a Go project: go mod tidy\n Daily Development\n Example: Commands for common daily tasks (e.g., start dev server, run tests, lint, format)\n e.g., for a Node.js project: npm run dev, npm test, npm run lint\n e.g., for a Go project: go run main.go, go test ./..., go fmt ./...\n Before Committing\n Example: Commands to run all pre-commit checks (e.g., format, lint, type check, run tests)\n e.g., for a Node.js project: npm run check\n e.g., for a Go project: make check (if a Makefile exists)\n Testing Requirements\n Structural Testing Contract\n Unit Testing\n Integration Testing\n Mobile Testing\n Code Review Process\n Self-Review Checklist\n Commit Guidelines\n Message Format\n Types\n Examples\n Definition of Done\n Conductor Token Firewalling & Model Switching Strategy\n 1. Active Model Switching (Simulating the 4 Tiers)\n 2. Context Management and Token Firewalling\n 3. Phase Checkpoints (The Final Defense)"
|
|
},
|
|
"C:\\projects\\manual_slop\\src\\models.py": {
|
|
"hash": "6e097e6a78ff02e3050212f3021761ebfe2aa9ce82b7074656842b394453ec90",
|
|
"summary": "This module defines the core data structures for the Manual Slop application, including tasks, tracks, and configuration, enabling project orchestration and persistence.\n\n* **Data Models:** Defines `Ticket`, `Track`, `WorkerContext`, `Metadata`, `TrackState`, `FileItem`, `Preset`, `Tool`, `ToolPreset`, `BiasProfile`, `Persona`, `MCPServerConfig`, `MCPConfiguration`, `VectorStoreConfig`, `RAGConfig`, and `WorkspaceProfile` as dataclasses.\n* **Serialization:** Implements `to_dict` and `from_dict` methods for all dataclasses to support TOML/JSON persistence.\n* **Configuration Management:** Provides functions `load_config`, `save_config`, and `parse_history_entries` for managing application settings and historical data.\n* **Tool Definitions:** Lists available `AGENT_TOOL_NAMES` and categorizes them in `DEFAULT_TOOL_CATEGORIES`.\n\n**Outline:**\n**Python** \u2014 704 lines\nimports: __future__, dataclasses, datetime, json, os, pathlib, re, src, sys, tomli_w, tomllib, typing\nconstants: CONFIG_PATH, AGENT_TOOL_NAMES, DEFAULT_TOOL_CATEGORIES\nclass ThinkingSegment: to_dict, from_dict\nclass Ticket: mark_blocked, mark_manual_block, clear_manual_block, mark_complete, get, to_dict, from_dict\nclass Track: get_executable_tickets, to_dict, from_dict\nclass WorkerContext\nclass Metadata: to_dict, from_dict\nclass TrackState: to_dict, from_dict\nclass FileItem: to_dict, from_dict\nclass Preset: to_dict, from_dict\nclass Tool: to_dict, from_dict\nclass ToolPreset: to_dict, from_dict\nclass BiasProfile: to_dict, from_dict\nclass Persona: provider, model, temperature, top_p, max_output_tokens, to_dict, from_dict\nclass MCPServerConfig: to_dict, from_dict\nclass MCPConfiguration: to_dict, from_dict\nclass VectorStoreConfig: to_dict, from_dict\nclass RAGConfig: to_dict, from_dict\nclass WorkspaceProfile: to_dict, from_dict\nfunctions: _clean_nones, load_config, save_config, parse_history_entries, load_mcp_config"
|
|
},
|
|
"C:\\projects\\manual_slop\\tests\\test_saved_presets_sim.py": {
|
|
"hash": "4b059b49282ecaede5171f4e0ad0ca789d00f9794b4c8e7bea1b95b7cd66c3b4",
|
|
"summary": "This Python file contains tests for the preset management functionality of the `manual_slop` application, specifically focusing on how global and project-specific presets are loaded, applied, and managed through a GUI interface.\n\n* **Environment Setup:** Initializes a temporary workspace with necessary configuration files for testing.\n* **Preset Switching:** Tests the ability to apply global and project presets, verifying that project-specific presets can override global ones and that selecting \"None\" correctly clears the active preset.\n* **Preset Manager Modal:** Simulates interactions with a modal to create and delete presets, verifying that changes are correctly persisted to the respective TOML files.\n\n**Outline:**\n**Python** \u2014 167 lines\nimports: json, os, pathlib, pytest, shutil, src, time, tomli_w, tomllib\nfunctions: test_env_setup, test_preset_switching, test_preset_manager_modal"
|
|
},
|
|
"C:\\projects\\manual_slop\\conductor\\product.md": {
|
|
"hash": "7f8036b634e92710f64641bd82f8d4804fd630af0fc0e02eafd42ca0b57bc0c4",
|
|
"summary": "\"Manual Slop\" is an expert-level developer utility designed for small projects, offering granular manual control over vendor API metrics, agent capabilities, and context memory. Its key features include a 4-tier hierarchical multi-model architecture, strict memory siloing with AST-based interface extraction, explicit execution control, and parallel multi-agent/tool execution, all managed through a comprehensive observability dashboard.\n\n**Outline:**\n**Markdown** \u2014 113 lines\nheadings:\n Product Guide: Manual Slop\n Vision\n Architecture Reference\n Primary Use Cases\n Key Features"
|
|
},
|
|
"C:\\projects\\manual_slop\\conductor\\tracks\\data_oriented_optimization_20260312\\plan.md": {
|
|
"hash": "5fa509d92864e7c084b1709ab11f0be93ec761a38d3dd58ab0727fdeb5d64f86",
|
|
"summary": "This document outlines a four-phase plan to optimize Python code for data-oriented performance. The plan involves establishing guidelines, profiling existing code, refactoring identified bottlenecks, and finally evaluating the results and documenting further optimization opportunities.\n\n**Outline:**\n**Markdown** \u2014 27 lines\nheadings:\n Implementation Plan: Data-Oriented Python Optimization Pass\n Phase 1: Guidelines and Instrumentation\n Phase 2: Audit and Profiling (`src/` and `simulation/`)\n Phase 3: Targeted Optimization and Refactoring\n Phase 4: Final Evaluation and Documentation"
|
|
},
|
|
"C:\\projects\\manual_slop\\src\\performance_monitor.py": {
|
|
"hash": "831716b8010ca0ce571d52db1fe1030a57e6027c276cca819d41d571ed634299",
|
|
"summary": "This module implements a thread-safe `PerformanceMonitor` singleton for real-time tracking of application performance metrics, including FPS, frame times, and CPU usage, with efficient O(1) moving averages.\n\n* **Core Functionality:** Tracks FPS, frame duration, and CPU utilization.\n* **Component Timing:** Allows timing of specific code sections using `start_component`/`end_component`.\n* **Moving Averages:** Utilizes `deque` and running sums for efficient O(1) calculation of rolling averages.\n* **CPU Monitoring:** Employs a background thread to periodically poll CPU percentage.\n* **Singleton Pattern:** Accessible globally via the `get_monitor()` function.\n\n**Outline:**\n**Python** \u2014 235 lines\nimports: __future__, collections, psutil, threading, time, typing\nclass PerformanceMonitor: __init__, _monitor_cpu, _add_to_history, _get_avg, start_frame, end_frame, start_component, end_component, get_metrics, get_history, stop\nfunctions: get_monitor"
|
|
},
|
|
"C:\\projects\\manual_slop\\tests\\test_performance_monitor.py": {
|
|
"hash": "19d4b8a0e105e6549da69400b23fb31cc0dd11a3694fa273c78863034e58e8d3",
|
|
"summary": "This file contains unit tests for the `PerformanceMonitor` class, verifying its ability to track frame and component-specific execution times.\n\n* Tests basic frame timing.\n* Tests timing of individual components within a frame.\n\n**Outline:**\n**Python** \u2014 28 lines\nimports: os, performance_monitor, sys, time\nfunctions: test_perf_monitor_basic_timing, test_perf_monitor_component_timing"
|
|
},
|
|
"C:\\projects\\manual_slop\\src\\events.py": {
|
|
"hash": "ae440a6eb72b5cd76253c70a012aace900890b9dafe5027e341c69a5423fdefa",
|
|
"summary": "**Python** \u2014 161 lines\nimports: queue, typing\nclass EventEmitter: __init__, on, emit, clear\nclass AsyncEventQueue: __init__, put, get, empty, task_done, join\nclass UserRequestEvent: __init__, to_dict"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-843\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document, `file1.txt`, contains a single line of text: \"content1\". Its purpose appears to be to hold this specific piece of content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-843\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a simple text file containing ten lines of content, with the first eight lines previewed. Its purpose appears to be for basic data storage or as a placeholder.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-844\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document contains a single line of text, \"content1\". Its purpose is to present this specific content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-844\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a plain text file containing ten lines of content, with the first eight lines previewed. Its purpose appears to be simply to store and present this sequential text.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"other.py": {
|
|
"hash": "0f8d9a2c864001b5c6492122310ba2a1346db67609fe815c070cab8a548ce27f",
|
|
"summary": "This file appears to contain invalid Python syntax, preventing its analysis.\n\n* **Primary Responsibility:** Undetermined due to syntax errors.\n* **Key Components:** None identifiable.\n\n**Outline:**\n**Python** \u2014 1 lines\n_Parse error: invalid syntax (other.py, line 1)_"
|
|
},
|
|
"tier3_file.txt": {
|
|
"hash": "1e55d54976d9d709d6f0a029a6761c4c9bee2250c9ce68c4804349f27ab210cb",
|
|
"summary": "This document, titled \"Full Tier 3 Content,\" appears to be a placeholder or a basic structure containing ten lines of text. Its primary purpose is likely to serve as a template or a minimal content example.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nFull Tier 3 Content\nLine 2\nLine 3\nLine 4\nLine 5\nLine 6\nLine 7\nLine 8\n```"
|
|
},
|
|
"other.txt": {
|
|
"hash": "cb3b5cb91da29dfdd685b44a33c6629e66505a691b2459e20dd556a705ec7cb8",
|
|
"summary": "This document, titled \"Other Content,\" contains ten lines of text. It appears to be a simple placeholder or a list of generic content lines.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nOther Content\nLine 2\nLine 3\nLine 4\nLine 5\nLine 6\nLine 7\nLine 8\n```"
|
|
},
|
|
"tier1_file.txt": {
|
|
"hash": "3ce2c835f9705e6eb4ccf87d7a4ed9d9f2b91659712beb0618d7009215a84792",
|
|
"summary": "This document, titled \"Full Tier 1 Content,\" appears to be a placeholder or introductory text, with its primary content being \"Line 2.\"\n\n**Outline:**\n**TXT** \u2014 2 lines\npreview:\n```\nFull Tier 1 Content\nLine 2\n```"
|
|
},
|
|
"C:\\projects\\manual_slop\\src\\multi_agent_conductor.py": {
|
|
"hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
"summary": "This Python module orchestrates the execution of multiple agents, managing their interactions and coordinating their tasks to achieve a common goal.\n\n* Manages agent lifecycle and communication.\n* Facilitates task delegation and result aggregation.\n* Implements a central control loop for agent coordination.\n\n**Outline:**\n**Python** \u2014 0 lines"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-845\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document contains a single line of text, \"content1\". Its purpose and key takeaways are limited to this singular piece of content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-845\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a simple text file containing ten lines of generic content, with no discernible purpose or specific takeaways beyond its literal content.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-846\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document contains a single line of text, \"content1\". Its purpose and key takeaways are not discernible from the provided content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-846\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a simple text file containing ten lines of content, with the first eight lines previewed. Its purpose appears to be for basic data storage or as a placeholder.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-847\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document contains a single line of text, \"content1\". Its purpose and key takeaways are limited to this singular piece of content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-847\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a plain text file containing ten lines of content, with the first eight lines previewed. Its purpose appears to be simply to hold and present this sequential text.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"C:\\projects\\manual_slop\\conductor\\tracks\\data_oriented_optimization_20260312\\spec.md": {
|
|
"hash": "8d64d4ed23a19cef973bb639dee2953492445f5598c08e7dd7c272183ad9848b",
|
|
"summary": "This specification outlines a data-oriented optimization pass for Python code in `./src` and `./simulation`, aiming to minimize Python overhead by treating it as a procedural semantic definer. Key requirements include updating product guidelines, auditing and refactoring code, expanding profiling, and evaluating C extensions as a last resort, while maintaining test coverage and GUI responsiveness.\n\n**Outline:**\n**Markdown** \u2014 35 lines\nheadings:\n Specification: Data-Oriented Python Optimization Pass\n Overview\n Functional Requirements\n Non-Functional Requirements\n Acceptance Criteria\n Out of Scope"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-849\\test_auto_aggregate_skip0\\file1.txt": {
|
|
"hash": "d0b425e00e15a0d36b9b361f02bab63563aed6cb4665083905386c55d5b679fa",
|
|
"summary": "This document contains a single line of text, \"content1\". Its purpose and key takeaways are not discernible from the provided content.\n\n**Outline:**\n**TXT** \u2014 1 lines\npreview:\n```\ncontent1\n```"
|
|
},
|
|
"C:\\Users\\Ed\\AppData\\Local\\Temp\\pytest-of-Ed\\pytest-849\\test_force_full0\\other.txt": {
|
|
"hash": "04d61c0832f9cbc2a210334352425d2519890a0a5945da96ccc5bd9ff101c4d3",
|
|
"summary": "This document is a plain text file containing ten lines of content. The preview provided shows the first eight lines, indicating the file's straightforward, sequential nature.\n\n**Outline:**\n**TXT** \u2014 10 lines\npreview:\n```\nline1\nline2\nline3\nline4\nline5\nline6\nline7\nline8\n```"
|
|
},
|
|
"C:\\projects\\manual_slop\\tests\\test_mma_concurrent_tracks_sim.py": {
|
|
"hash": "3e56f5dc0217637096ef60a9f79d4b6f8e575d2cf789bdb32ecbc62b5e44244c",
|
|
"summary": "This Python script is an integration test designed to stress-test the concurrent execution of multiple MMA (presumably \"Multi-Modal Analysis\" or similar) tracks. It verifies that the system can handle starting, processing, and completing multiple tracks simultaneously without crashing and that all associated workers are accounted for.\n\n* **Concurrent Track Execution:** Simulates starting and managing two MMA tracks at the same time.\n* **Worker Verification:** Checks for the appearance and completion of workers associated with each track.\n* **API Hook Client Usage:** Interacts with a simulated API to control and monitor the MMA process.\n* **Mock Provider Setup:** Configures a custom mock provider to facilitate the test scenario.\n\n**Outline:**\n**Python** \u2014 135 lines\nimports: os, pytest, src, sys, time\nfunctions: _poll_mma_status, test_mma_concurrent_tracks_execution"
|
|
},
|
|
"C:\\projects\\manual_slop\\src\\patch_modal.py": {
|
|
"hash": "9b034a4193a0d9031521d4c761b458170ef8feecba3220918543d4b768199ae2",
|
|
"summary": "This module manages the state and callbacks for a patch approval modal. It handles requesting patch approval, storing pending patch details, and triggering actions upon patch application or rejection.\n\n* **State Management:** Tracks whether a modal is shown and holds details of a pending patch.\n* **Callback Handling:** Allows setting and invoking callbacks for patch application and rejection.\n* **Singleton Pattern:** Provides a global, single instance of the `PatchModalManager`.\n\n**Outline:**\n**Python** \u2014 73 lines\nimports: dataclasses, time, typing\nclass PendingPatch\nclass PatchModalManager: __init__, request_patch_approval, get_pending_patch, is_modal_shown, set_apply_callback, set_reject_callback, apply_patch, reject_patch, close_modal, reset\nfunctions: get_patch_modal_manager, reset_patch_modal_manager"
|
|
},
|
|
"C:\\projects\\manual_slop\\tests\\test_external_editor_gui.py": {
|
|
"hash": "a0aca43b13763c7ba0490a140ddef2c5d1e899839f593cb99e33461501e5d618",
|
|
"summary": "This file contains integration tests for the external editor functionality of the GUI. It verifies that the GUI correctly launches external editors like VS Code with appropriate arguments and handles user interactions related to the external editor feature.\n\n* **External Editor Launch Verification:** Tests ensure that configured external editors (specifically VS Code) are launched with the correct command-line arguments for diff views.\n* **Configuration Loading:** Tests validate that the GUI correctly reads and applies external editor configurations from `config.toml`.\n* **GUI Interaction Testing:** Simulates user interactions like clicking buttons within the patch modal to trigger external editor actions.\n* **Command Format Validation:** Independently verifies the format of commands generated for launching external editors.\n\n**Outline:**\n**Python** \u2014 418 lines\nimports: os, pathlib, pytest, src, subprocess, sys, tempfile, time, tomli_w, tomllib\nfunctions: get_vscode_processes, vscode_external_editor_config, setup_external_editor_in_workspace, test_vscode_launches_with_diff_view, test_verify_command_format, get_vscode_processes, test_external_editor_config, test_patch_modal_shows_with_configured_editor, test_button_click_is_received, test_verify_vscode_command_format"
|
|
}
|
|
} |