README.md
pyproject.toml
src/taskdog_core/__init__.py
src/taskdog_core/py.typed
src/taskdog_core.egg-info/PKG-INFO
src/taskdog_core.egg-info/SOURCES.txt
src/taskdog_core.egg-info/dependency_links.txt
src/taskdog_core.egg-info/requires.txt
src/taskdog_core.egg-info/top_level.txt
src/taskdog_core/application/__init__.py
src/taskdog_core/application/constants/__init__.py
src/taskdog_core/application/constants/optimization.py
src/taskdog_core/application/dto/__init__.py
src/taskdog_core/application/dto/audit_log_dto.py
src/taskdog_core/application/dto/base.py
src/taskdog_core/application/dto/bulk_operation_output.py
src/taskdog_core/application/dto/create_task_input.py
src/taskdog_core/application/dto/delete_tag_input.py
src/taskdog_core/application/dto/delete_tag_output.py
src/taskdog_core/application/dto/fix_actual_times_input.py
src/taskdog_core/application/dto/gantt_output.py
src/taskdog_core/application/dto/get_task_by_id_output.py
src/taskdog_core/application/dto/manage_dependencies_input.py
src/taskdog_core/application/dto/optimization_output.py
src/taskdog_core/application/dto/optimization_summary.py
src/taskdog_core/application/dto/optimize_params.py
src/taskdog_core/application/dto/optimize_result.py
src/taskdog_core/application/dto/optimize_schedule_input.py
src/taskdog_core/application/dto/query_inputs.py
src/taskdog_core/application/dto/set_task_tags_input.py
src/taskdog_core/application/dto/statistics_output.py
src/taskdog_core/application/dto/status_change_output.py
src/taskdog_core/application/dto/tag_statistics_output.py
src/taskdog_core/application/dto/task_detail_output.py
src/taskdog_core/application/dto/task_dto.py
src/taskdog_core/application/dto/task_list_output.py
src/taskdog_core/application/dto/task_operation_output.py
src/taskdog_core/application/dto/update_task_input.py
src/taskdog_core/application/dto/update_task_output.py
src/taskdog_core/application/queries/__init__.py
src/taskdog_core/application/queries/base.py
src/taskdog_core/application/queries/task_filter_builder.py
src/taskdog_core/application/queries/task_query_service.py
src/taskdog_core/application/queries/filters/__init__.py
src/taskdog_core/application/queries/filters/composite_filter.py
src/taskdog_core/application/queries/filters/date_range_filter.py
src/taskdog_core/application/queries/filters/incomplete_filter.py
src/taskdog_core/application/queries/filters/non_archived_filter.py
src/taskdog_core/application/queries/filters/status_filter.py
src/taskdog_core/application/queries/filters/tag_filter.py
src/taskdog_core/application/queries/filters/task_filter.py
src/taskdog_core/application/queries/workload/__init__.py
src/taskdog_core/application/queries/workload/_strategies/__init__.py
src/taskdog_core/application/queries/workload/_strategies/actual_schedule.py
src/taskdog_core/application/queries/workload/_strategies/all_days.py
src/taskdog_core/application/queries/workload/_strategies/base.py
src/taskdog_core/application/queries/workload/_strategies/weekday_only.py
src/taskdog_core/application/services/__init__.py
src/taskdog_core/application/services/dependency_graph_service.py
src/taskdog_core/application/services/optimization_summary_builder.py
src/taskdog_core/application/services/task_statistics_calculator.py
src/taskdog_core/application/services/task_status_service.py
src/taskdog_core/application/services/optimization/__init__.py
src/taskdog_core/application/services/optimization/allocation_helpers.py
src/taskdog_core/application/services/optimization/backward_optimization_strategy.py
src/taskdog_core/application/services/optimization/balanced_optimization_strategy.py
src/taskdog_core/application/services/optimization/dependency_aware_optimization_strategy.py
src/taskdog_core/application/services/optimization/earliest_deadline_optimization_strategy.py
src/taskdog_core/application/services/optimization/genetic_optimization_strategy.py
src/taskdog_core/application/services/optimization/greedy_based_optimization_strategy.py
src/taskdog_core/application/services/optimization/greedy_optimization_strategy.py
src/taskdog_core/application/services/optimization/monte_carlo_optimization_strategy.py
src/taskdog_core/application/services/optimization/optimization_strategy.py
src/taskdog_core/application/services/optimization/priority_first_optimization_strategy.py
src/taskdog_core/application/services/optimization/round_robin_optimization_strategy.py
src/taskdog_core/application/services/optimization/schedule_fitness_calculator.py
src/taskdog_core/application/services/optimization/strategy_factory.py
src/taskdog_core/application/sorters/__init__.py
src/taskdog_core/application/sorters/optimization_task_sorter.py
src/taskdog_core/application/sorters/task_sorter.py
src/taskdog_core/application/use_cases/__init__.py
src/taskdog_core/application/use_cases/add_dependency.py
src/taskdog_core/application/use_cases/archive_task.py
src/taskdog_core/application/use_cases/base.py
src/taskdog_core/application/use_cases/calculate_statistics.py
src/taskdog_core/application/use_cases/cancel_task.py
src/taskdog_core/application/use_cases/complete_task.py
src/taskdog_core/application/use_cases/create_task.py
src/taskdog_core/application/use_cases/delete_tag.py
src/taskdog_core/application/use_cases/fix_actual_times.py
src/taskdog_core/application/use_cases/get_gantt_data.py
src/taskdog_core/application/use_cases/get_task_detail.py
src/taskdog_core/application/use_cases/list_tasks.py
src/taskdog_core/application/use_cases/optimize_schedule.py
src/taskdog_core/application/use_cases/pause_task.py
src/taskdog_core/application/use_cases/remove_dependency.py
src/taskdog_core/application/use_cases/remove_task.py
src/taskdog_core/application/use_cases/reopen_task.py
src/taskdog_core/application/use_cases/restore_task.py
src/taskdog_core/application/use_cases/set_task_tags.py
src/taskdog_core/application/use_cases/start_task.py
src/taskdog_core/application/use_cases/status_change_use_case.py
src/taskdog_core/application/use_cases/update_task.py
src/taskdog_core/application/utils/__init__.py
src/taskdog_core/application/utils/date_helper.py
src/taskdog_core/application/validators/__init__.py
src/taskdog_core/application/validators/datetime_validator.py
src/taskdog_core/application/validators/dependency_validator.py
src/taskdog_core/application/validators/field_validator.py
src/taskdog_core/application/validators/numeric_field_validator.py
src/taskdog_core/application/validators/status_validator.py
src/taskdog_core/application/validators/validator_registry.py
src/taskdog_core/controllers/__init__.py
src/taskdog_core/controllers/audit_log_controller.py
src/taskdog_core/controllers/base_controller.py
src/taskdog_core/controllers/bulk_task_controller.py
src/taskdog_core/controllers/query_controller.py
src/taskdog_core/controllers/task_analytics_controller.py
src/taskdog_core/controllers/task_crud_controller.py
src/taskdog_core/controllers/task_lifecycle_controller.py
src/taskdog_core/controllers/task_relationship_controller.py
src/taskdog_core/domain/__init__.py
src/taskdog_core/domain/constants.py
src/taskdog_core/domain/entities/__init__.py
src/taskdog_core/domain/entities/task.py
src/taskdog_core/domain/exceptions/__init__.py
src/taskdog_core/domain/exceptions/tag_exceptions.py
src/taskdog_core/domain/exceptions/task_exceptions.py
src/taskdog_core/domain/repositories/__init__.py
src/taskdog_core/domain/repositories/audit_log_repository.py
src/taskdog_core/domain/repositories/notes_repository.py
src/taskdog_core/domain/repositories/task_repository.py
src/taskdog_core/domain/services/__init__.py
src/taskdog_core/domain/services/holiday_checker.py
src/taskdog_core/domain/services/logger.py
src/taskdog_core/domain/services/time_provider.py
src/taskdog_core/infrastructure/__init__.py
src/taskdog_core/infrastructure/holiday_checker.py
src/taskdog_core/infrastructure/time_provider.py
src/taskdog_core/infrastructure/persistence/__init__.py
src/taskdog_core/infrastructure/persistence/repository_factory.py
src/taskdog_core/infrastructure/persistence/database/__init__.py
src/taskdog_core/infrastructure/persistence/database/base_repository.py
src/taskdog_core/infrastructure/persistence/database/engine_factory.py
src/taskdog_core/infrastructure/persistence/database/migration_runner.py
src/taskdog_core/infrastructure/persistence/database/sqlite_audit_log_repository.py
src/taskdog_core/infrastructure/persistence/database/sqlite_notes_repository.py
src/taskdog_core/infrastructure/persistence/database/sqlite_task_repository.py
src/taskdog_core/infrastructure/persistence/database/migrations/__init__.py
src/taskdog_core/infrastructure/persistence/database/migrations/env.py
src/taskdog_core/infrastructure/persistence/database/migrations/script.py.mako
src/taskdog_core/infrastructure/persistence/database/migrations/versions/001_initial_schema.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/002_remove_actual_daily_hours.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/003_make_priority_nullable.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/004_add_notes_table.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/005_add_daily_allocations_table.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/006_remove_daily_allocations_json.py
src/taskdog_core/infrastructure/persistence/database/migrations/versions/__init__.py
src/taskdog_core/infrastructure/persistence/database/models/__init__.py
src/taskdog_core/infrastructure/persistence/database/models/audit_log_model.py
src/taskdog_core/infrastructure/persistence/database/models/daily_allocation_model.py
src/taskdog_core/infrastructure/persistence/database/models/note_model.py
src/taskdog_core/infrastructure/persistence/database/models/tag_model.py
src/taskdog_core/infrastructure/persistence/database/models/task_model.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/__init__.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/daily_allocation_builder.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/task_delete_builder.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/task_insert_builder.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/task_tag_relationship_builder.py
src/taskdog_core/infrastructure/persistence/database/mutation_builders/task_update_builder.py
src/taskdog_core/infrastructure/persistence/database/query_builders/__init__.py
src/taskdog_core/infrastructure/persistence/database/query_builders/task_query_builder.py
src/taskdog_core/infrastructure/persistence/mappers/__init__.py
src/taskdog_core/infrastructure/persistence/mappers/tag_resolver.py
src/taskdog_core/infrastructure/persistence/mappers/task_db_mapper.py
src/taskdog_core/shared/__init__.py
src/taskdog_core/shared/config_loader.py
src/taskdog_core/shared/config_manager.py
src/taskdog_core/shared/xdg_utils.py
src/taskdog_core/shared/constants/__init__.py
src/taskdog_core/shared/constants/config_defaults.py
src/taskdog_core/shared/constants/file_management.py
src/taskdog_core/shared/constants/formats.py
src/taskdog_core/shared/constants/status_verbs.py
src/taskdog_core/shared/constants/time.py
src/taskdog_core/shared/utils/__init__.py
src/taskdog_core/shared/utils/date_utils.py
src/taskdog_core/shared/utils/datetime_parser.py