LICENSE.md
README.md
pyproject.toml
src/scrappy/__init__.py
src/scrappy/agent_config.py
src/scrappy/orchestrator_adapter.py
src/scrappy/undo.py
src/scrappy/agent_tools/__init__.py
src/scrappy/agent_tools/constants.py
src/scrappy/agent_tools/registry_factory.py
src/scrappy/agent_tools/components/__init__.py
src/scrappy/agent_tools/components/command_advisor.py
src/scrappy/agent_tools/components/command_security.py
src/scrappy/agent_tools/components/output_collector.py
src/scrappy/agent_tools/components/output_parser.py
src/scrappy/agent_tools/components/sandboxed_runner.py
src/scrappy/agent_tools/components/search_output_parser.py
src/scrappy/agent_tools/components/subprocess_runner.py
src/scrappy/agent_tools/components/text_search.py
src/scrappy/agent_tools/components/text_search_factory.py
src/scrappy/agent_tools/formatters/__init__.py
src/scrappy/agent_tools/formatters/output_formatter.py
src/scrappy/agent_tools/protocols/__init__.py
src/scrappy/agent_tools/tools/__init__.py
src/scrappy/agent_tools/tools/base.py
src/scrappy/agent_tools/tools/command_tool.py
src/scrappy/agent_tools/tools/control_tools.py
src/scrappy/agent_tools/tools/file_tools.py
src/scrappy/agent_tools/tools/git_tools.py
src/scrappy/agent_tools/tools/registry.py
src/scrappy/agent_tools/tools/search_tools.py
src/scrappy/agent_tools/tools/semantic_search_tool.py
src/scrappy/agent_tools/tools/task_tools.py
src/scrappy/agent_tools/tools/testing_tools.py
src/scrappy/agent_tools/tools/web_tools.py
src/scrappy/cli/__init__.py
src/scrappy/cli/agent_manager.py
src/scrappy/cli/cache_manager.py
src/scrappy/cli/cli_config.py
src/scrappy/cli/codebase.py
src/scrappy/cli/command_history.py
src/scrappy/cli/command_router.py
src/scrappy/cli/commands.py
src/scrappy/cli/config_factory.py
src/scrappy/cli/context_commands.py
src/scrappy/cli/core.py
src/scrappy/cli/display.py
src/scrappy/cli/display_manager.py
src/scrappy/cli/display_rich.py
src/scrappy/cli/exceptions.py
src/scrappy/cli/input_capture.py
src/scrappy/cli/input_handler.py
src/scrappy/cli/interactive.py
src/scrappy/cli/interactive_banner.py
src/scrappy/cli/io_interface.py
src/scrappy/cli/logging.py
src/scrappy/cli/mode_utils.py
src/scrappy/cli/output.py
src/scrappy/cli/output_bridge.py
src/scrappy/cli/persistence.py
src/scrappy/cli/protocols.py
src/scrappy/cli/rate_limiter.py
src/scrappy/cli/rich_dashboard.py
src/scrappy/cli/scrappy.tcss
src/scrappy/cli/session.py
src/scrappy/cli/session_context.py
src/scrappy/cli/setup_wizard.py
src/scrappy/cli/state_manager.py
src/scrappy/cli/tasks.py
src/scrappy/cli/textual_interactive.py
src/scrappy/cli/tool_detector.py
src/scrappy/cli/types.py
src/scrappy/cli/unified_io.py
src/scrappy/cli/user_interaction.py
src/scrappy/cli/config/__init__.py
src/scrappy/cli/config/defaults.py
src/scrappy/cli/config/extensions.py
src/scrappy/cli/config/paths.py
src/scrappy/cli/config/patterns.py
src/scrappy/cli/error_recovery/__init__.py
src/scrappy/cli/error_recovery/circuit_breaker.py
src/scrappy/cli/error_recovery/context.py
src/scrappy/cli/error_recovery/fallback.py
src/scrappy/cli/error_recovery/retry.py
src/scrappy/cli/screens/__init__.py
src/scrappy/cli/screens/chat_layout.py
src/scrappy/cli/screens/main_screen.py
src/scrappy/cli/screens/wizard_screen.py
src/scrappy/cli/textual/__init__.py
src/scrappy/cli/textual/app.py
src/scrappy/cli/textual/bridge.py
src/scrappy/cli/textual/langgraph_bridge.py
src/scrappy/cli/textual/messages.py
src/scrappy/cli/textual/output_adapter.py
src/scrappy/cli/textual/status_components.py
src/scrappy/cli/textual/tool_confirmation.py
src/scrappy/cli/utils/__init__.py
src/scrappy/cli/utils/cli_factory.py
src/scrappy/cli/utils/dependency_check.py
src/scrappy/cli/utils/error_handler.py
src/scrappy/cli/utils/error_utils.py
src/scrappy/cli/utils/session_utils.py
src/scrappy/cli/validators/__init__.py
src/scrappy/cli/validators/base.py
src/scrappy/cli/validators/command.py
src/scrappy/cli/validators/path.py
src/scrappy/cli/validators/provider.py
src/scrappy/cli/validators/string.py
src/scrappy/cli/validators/subcommand.py
src/scrappy/cli/widgets/__init__.py
src/scrappy/cli/widgets/selectable_log.py
src/scrappy/cli/widgets/task_progress.py
src/scrappy/context/__init__.py
src/scrappy/context/augmenter.py
src/scrappy/context/cache.py
src/scrappy/context/code_chunker.py
src/scrappy/context/codebase_context.py
src/scrappy/context/config_loader.py
src/scrappy/context/file_scanner.py
src/scrappy/context/git_history.py
src/scrappy/context/project_detector.py
src/scrappy/context/protocols.py
src/scrappy/context/semantic_manager.py
src/scrappy/context/staleness.py
src/scrappy/context/semantic/__init__.py
src/scrappy/context/semantic/config.py
src/scrappy/context/semantic/decision.py
src/scrappy/context/semantic/embeddings.py
src/scrappy/context/semantic/file_collector.py
src/scrappy/context/semantic/file_prioritizer.py
src/scrappy/context/semantic/initializer.py
src/scrappy/context/semantic/metrics.py
src/scrappy/context/semantic/provider.py
src/scrappy/context/semantic/ranker.py
src/scrappy/context/semantic/state.py
src/scrappy/context/semantic/chunkers/__init__.py
src/scrappy/context/semantic/chunkers/composite_chunker.py
src/scrappy/context/semantic/chunkers/python_chunker.py
src/scrappy/graph/__init__.py
src/scrappy/graph/agent.py
src/scrappy/graph/context_factory.py
src/scrappy/graph/edges.py
src/scrappy/graph/persistence.py
src/scrappy/graph/protocols.py
src/scrappy/graph/run_context.py
src/scrappy/graph/state.py
src/scrappy/graph/tools.py
src/scrappy/graph/tracing.py
src/scrappy/graph/nodes/__init__.py
src/scrappy/graph/nodes/confirm.py
src/scrappy/graph/nodes/context_manager.py
src/scrappy/graph/nodes/error.py
src/scrappy/graph/nodes/execute.py
src/scrappy/graph/nodes/mock_think_delegator.py
src/scrappy/graph/nodes/think.py
src/scrappy/graph/nodes/think_delegator.py
src/scrappy/graph/nodes/think_error_handler.py
src/scrappy/graph/nodes/token_estimator.py
src/scrappy/graph/nodes/tool_call_processor.py
src/scrappy/graph/nodes/verify.py
src/scrappy/infrastructure/__init__.py
src/scrappy/infrastructure/console_factory.py
src/scrappy/infrastructure/file_system.py
src/scrappy/infrastructure/git_diff.py
src/scrappy/infrastructure/output_mode.py
src/scrappy/infrastructure/paths.py
src/scrappy/infrastructure/progress.py
src/scrappy/infrastructure/protocols.py
src/scrappy/infrastructure/suppress_output.py
src/scrappy/infrastructure/textual_progress.py
src/scrappy/infrastructure/theme.py
src/scrappy/infrastructure/config/__init__.py
src/scrappy/infrastructure/config/api_keys.py
src/scrappy/infrastructure/config/base.py
src/scrappy/infrastructure/config/loader.py
src/scrappy/infrastructure/config/protocols.py
src/scrappy/infrastructure/config/validator.py
src/scrappy/infrastructure/error_recovery/__init__.py
src/scrappy/infrastructure/error_recovery/circuit_breaker.py
src/scrappy/infrastructure/error_recovery/config.py
src/scrappy/infrastructure/error_recovery/fallback.py
src/scrappy/infrastructure/error_recovery/protocols.py
src/scrappy/infrastructure/error_recovery/retry.py
src/scrappy/infrastructure/exceptions/__init__.py
src/scrappy/infrastructure/exceptions/base.py
src/scrappy/infrastructure/exceptions/cli_errors.py
src/scrappy/infrastructure/exceptions/delegation_errors.py
src/scrappy/infrastructure/exceptions/enums.py
src/scrappy/infrastructure/exceptions/provider_errors.py
src/scrappy/infrastructure/formatters/__init__.py
src/scrappy/infrastructure/formatters/cache_formatter.py
src/scrappy/infrastructure/formatters/protocols.py
src/scrappy/infrastructure/formatters/rate_limit_formatter.py
src/scrappy/infrastructure/formatters/stats_formatter.py
src/scrappy/infrastructure/formatters/types.py
src/scrappy/infrastructure/logging/__init__.py
src/scrappy/infrastructure/logging/formatters.py
src/scrappy/infrastructure/logging/logger.py
src/scrappy/infrastructure/logging/protocols.py
src/scrappy/infrastructure/logging/registry.py
src/scrappy/infrastructure/persistence/__init__.py
src/scrappy/infrastructure/persistence/conversation_store.py
src/scrappy/infrastructure/persistence/json_persistence.py
src/scrappy/infrastructure/persistence/protocols.py
src/scrappy/infrastructure/threading/__init__.py
src/scrappy/infrastructure/threading/cancellation.py
src/scrappy/infrastructure/threading/event_queue.py
src/scrappy/infrastructure/threading/managed_thread.py
src/scrappy/infrastructure/threading/protocols.py
src/scrappy/infrastructure/utils/__init__.py
src/scrappy/infrastructure/utils/errors.py
src/scrappy/infrastructure/utils/imports.py
src/scrappy/infrastructure/validation/__init__.py
src/scrappy/infrastructure/validation/api_key.py
src/scrappy/infrastructure/validation/sanitizer.py
src/scrappy/infrastructure/validation/user_input.py
src/scrappy/orchestrator/__init__.py
src/scrappy/orchestrator/background.py
src/scrappy/orchestrator/batch_scheduler.py
src/scrappy/orchestrator/cache.py
src/scrappy/orchestrator/config.py
src/scrappy/orchestrator/constants.py
src/scrappy/orchestrator/context_coordinator.py
src/scrappy/orchestrator/core.py
src/scrappy/orchestrator/delegation.py
src/scrappy/orchestrator/factory.py
src/scrappy/orchestrator/key_validator.py
src/scrappy/orchestrator/litellm_callbacks.py
src/scrappy/orchestrator/litellm_config.py
src/scrappy/orchestrator/litellm_service.py
src/scrappy/orchestrator/manager_protocols.py
src/scrappy/orchestrator/memory.py
src/scrappy/orchestrator/mock_llm_service.py
src/scrappy/orchestrator/model_selection.py
src/scrappy/orchestrator/models.py
src/scrappy/orchestrator/output.py
src/scrappy/orchestrator/prompt_augmenter.py
src/scrappy/orchestrator/protocols.py
src/scrappy/orchestrator/provider_definitions.py
src/scrappy/orchestrator/provider_selector.py
src/scrappy/orchestrator/provider_status.py
src/scrappy/orchestrator/provider_types.py
src/scrappy/orchestrator/session.py
src/scrappy/orchestrator/status_reporter.py
src/scrappy/orchestrator/streaming_util.py
src/scrappy/orchestrator/task_executor.py
src/scrappy/orchestrator/types.py
src/scrappy/orchestrator/usage_reporter.py
src/scrappy/orchestrator/rate_limiting/__init__.py
src/scrappy/orchestrator/rate_limiting/calculator.py
src/scrappy/orchestrator/rate_limiting/enforcement.py
src/scrappy/orchestrator/rate_limiting/factory.py
src/scrappy/orchestrator/rate_limiting/httpx_patcher.py
src/scrappy/orchestrator/rate_limiting/notifier.py
src/scrappy/orchestrator/rate_limiting/policy.py
src/scrappy/orchestrator/rate_limiting/protocols.py
src/scrappy/orchestrator/rate_limiting/recommender.py
src/scrappy/orchestrator/rate_limiting/scorer.py
src/scrappy/orchestrator/rate_limiting/storage.py
src/scrappy/orchestrator/rate_limiting/tracker.py
src/scrappy/platform/__init__.py
src/scrappy/platform/detection.py
src/scrappy/platform/executors.py
src/scrappy/platform/factory.py
src/scrappy/platform/fallback.py
src/scrappy/platform/orchestrator.py
src/scrappy/platform/testing.py
src/scrappy/platform/translation.py
src/scrappy/platform/validation.py
src/scrappy/platform/protocols/__init__.py
src/scrappy/platform/protocols/detection.py
src/scrappy/platform/protocols/execution.py
src/scrappy/platform/protocols/fallback.py
src/scrappy/platform/protocols/orchestrator.py
src/scrappy/platform/protocols/translation.py
src/scrappy/platform/protocols/validation.py
src/scrappy/prompts/__init__.py
src/scrappy/prompts/factory.py
src/scrappy/prompts/protocols.py
src/scrappy/prompts/sections.py
src/scrappy/sandbox/__init__.py
src/scrappy/sandbox/docker_executor.py
src/scrappy/sandbox/git_isolation.py
src/scrappy_ai.egg-info/PKG-INFO
src/scrappy_ai.egg-info/SOURCES.txt
src/scrappy_ai.egg-info/dependency_links.txt
src/scrappy_ai.egg-info/entry_points.txt
src/scrappy_ai.egg-info/requires.txt
src/scrappy_ai.egg-info/top_level.txt
tests/test_background_manager.py
tests/test_command_tool.py
tests/test_config_loader.py
tests/test_delegation_manager_unit.py
tests/test_display_manager.py
tests/test_error_reporting.py
tests/test_file_scanner.py
tests/test_git_history.py
tests/test_hud_phase1.py
tests/test_hud_phase2.py
tests/test_import_utils.py
tests/test_interactive_rich.py
tests/test_model_type.py
tests/test_no_emojis.py
tests/test_output_interface.py
tests/test_output_parser.py
tests/test_project_detector.py
tests/test_rich_dashboard.py
tests/test_semantic_fixtures.py
tests/test_session_manager.py
tests/test_undo.py
tests/test_unicode_encoding.py
tests/test_usage_reporter.py