claude-task-master 0.1.8__tar.gz → 0.1.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/PKG-INFO +2 -2
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/pyproject.toml +2 -2
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/__init__.py +1 -1
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/models.py +22 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes.py +67 -1
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_file_ops.py +12 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mcp/server.py +19 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mcp/tools.py +60 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/PKG-INFO +2 -2
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/requires.txt +1 -1
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/README.md +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/setup.cfg +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_config.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_control.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_repo.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_webhooks.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/server.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/middleware.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/password.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/bin/claudetm +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/ci_helpers.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/config.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/control.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/fix_pr.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/fix_session.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/github.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/info.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/mailbox.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/workflow.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_exceptions.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_message.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_models.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_phases.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_query.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/checkpoint.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/circuit_breaker.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/config.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/config_loader.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/console.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/context_accumulator.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/control.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/conversation.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/credentials.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/hooks.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/key_listener.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/logger.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/orchestrator.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/parallel.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/plan_updater.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/planner.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/pr_context.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/progress_tracker.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_base.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_coding_style.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_plan_update.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_planning.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_verification.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_working.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/rate_limit.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/shutdown.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_backup.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_exceptions.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_pr.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_recovery.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/subagents.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/task_group.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/task_runner.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/workflow_stages.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client_ci.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client_pr.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/exceptions.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/pr_cycle.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/merger.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/models.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/storage.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mcp/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mcp/auth.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/server.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/utils/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/utils/debug_claude_md.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/utils/doctor.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/__init__.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/client.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/config.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/events.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/wrapper.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/SOURCES.txt +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/dependency_links.txt +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/entry_points.txt +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/top_level.txt +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/tests/test_server.py +0 -0
- {claude_task_master-0.1.8 → claude_task_master-0.1.9}/tests/test_wrapper.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-task-master
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Autonomous task orchestration system that keeps Claude working until a goal is achieved
|
|
5
5
|
Author: Claude Task Master Team
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,7 +19,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
19
19
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
20
|
Requires-Python: >=3.12
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
|
-
Requires-Dist: claude-agent-sdk>=0.1.
|
|
22
|
+
Requires-Dist: claude-agent-sdk>=0.1.27
|
|
23
23
|
Requires-Dist: typer>=0.12.0
|
|
24
24
|
Requires-Dist: pydantic>=2.0.0
|
|
25
25
|
Requires-Dist: rich>=13.0.0
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-task-master"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.9"
|
|
8
8
|
description = "Autonomous task orchestration system that keeps Claude working until a goal is achieved"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -24,7 +24,7 @@ classifiers = [
|
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
dependencies = [
|
|
27
|
-
"claude-agent-sdk>=0.1.
|
|
27
|
+
"claude-agent-sdk>=0.1.27",
|
|
28
28
|
"typer>=0.12.0",
|
|
29
29
|
"pydantic>=2.0.0",
|
|
30
30
|
"rich>=13.0.0",
|
|
@@ -25,6 +25,7 @@ Response Models:
|
|
|
25
25
|
- CloneRepoResponse: Result of cloning a repository
|
|
26
26
|
- SetupRepoResponse: Result of setting up a repository
|
|
27
27
|
- PlanRepoResponse: Result of planning for a repository
|
|
28
|
+
- DeleteCodingStyleResponse: Result of deleting coding-style.md
|
|
28
29
|
|
|
29
30
|
Usage:
|
|
30
31
|
from claude_task_master.api.models import (
|
|
@@ -860,3 +861,24 @@ class PlanRepoResponse(BaseModel):
|
|
|
860
861
|
criteria: str | None = None
|
|
861
862
|
run_id: str | None = None
|
|
862
863
|
error: str | None = None
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
# =============================================================================
|
|
867
|
+
# Coding Style Response Models
|
|
868
|
+
# =============================================================================
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
class DeleteCodingStyleResponse(BaseModel):
|
|
872
|
+
"""Response model for deleting the coding-style.md file.
|
|
873
|
+
|
|
874
|
+
Attributes:
|
|
875
|
+
success: Whether the deletion operation succeeded.
|
|
876
|
+
message: Human-readable result message.
|
|
877
|
+
file_existed: Whether the file existed before deletion.
|
|
878
|
+
error: Error message if deletion failed.
|
|
879
|
+
"""
|
|
880
|
+
|
|
881
|
+
success: bool
|
|
882
|
+
message: str
|
|
883
|
+
file_existed: bool = False
|
|
884
|
+
error: str | None = None
|
|
@@ -10,6 +10,7 @@ Endpoints:
|
|
|
10
10
|
- GET /progress: Get progress summary
|
|
11
11
|
- GET /context: Get accumulated context/learnings
|
|
12
12
|
- GET /health: Health check endpoint
|
|
13
|
+
- DELETE /coding-style: Delete the coding-style.md file
|
|
13
14
|
- POST /task/init: Initialize a new task
|
|
14
15
|
- DELETE /task: Delete/cleanup current task
|
|
15
16
|
- POST /control/stop: Stop a running task with optional cleanup
|
|
@@ -51,6 +52,7 @@ from claude_task_master.api.models import (
|
|
|
51
52
|
ConfigUpdateRequest,
|
|
52
53
|
ContextResponse,
|
|
53
54
|
ControlResponse,
|
|
55
|
+
DeleteCodingStyleResponse,
|
|
54
56
|
ErrorResponse,
|
|
55
57
|
HealthResponse,
|
|
56
58
|
LogsResponse,
|
|
@@ -613,6 +615,68 @@ def create_info_router() -> APIRouter:
|
|
|
613
615
|
active_tasks=active_tasks,
|
|
614
616
|
)
|
|
615
617
|
|
|
618
|
+
@router.delete(
|
|
619
|
+
"/coding-style",
|
|
620
|
+
response_model=DeleteCodingStyleResponse,
|
|
621
|
+
responses={
|
|
622
|
+
404: {"model": ErrorResponse, "description": "No active task found"},
|
|
623
|
+
500: {"model": ErrorResponse, "description": "Internal server error"},
|
|
624
|
+
},
|
|
625
|
+
summary="Delete Coding Style",
|
|
626
|
+
description="Delete the coding-style.md file from the state directory.",
|
|
627
|
+
)
|
|
628
|
+
async def delete_coding_style(request: Request) -> DeleteCodingStyleResponse | JSONResponse:
|
|
629
|
+
"""Delete the coding-style.md file.
|
|
630
|
+
|
|
631
|
+
Removes the coding-style.md file from the state directory. This file
|
|
632
|
+
contains extracted coding conventions and is regenerated on the next run.
|
|
633
|
+
|
|
634
|
+
Returns:
|
|
635
|
+
DeleteCodingStyleResponse indicating whether the file was deleted.
|
|
636
|
+
|
|
637
|
+
Raises:
|
|
638
|
+
404: If no active task exists.
|
|
639
|
+
500: If an error occurs during deletion.
|
|
640
|
+
"""
|
|
641
|
+
state_manager = _get_state_manager(request)
|
|
642
|
+
|
|
643
|
+
if not state_manager.exists():
|
|
644
|
+
return JSONResponse(
|
|
645
|
+
status_code=404,
|
|
646
|
+
content=ErrorResponse(
|
|
647
|
+
error="not_found",
|
|
648
|
+
message="No active task found",
|
|
649
|
+
suggestion="Start a new task with 'claudetm start <goal>'",
|
|
650
|
+
).model_dump(),
|
|
651
|
+
)
|
|
652
|
+
|
|
653
|
+
try:
|
|
654
|
+
file_existed = state_manager.delete_coding_style()
|
|
655
|
+
|
|
656
|
+
if file_existed:
|
|
657
|
+
return DeleteCodingStyleResponse(
|
|
658
|
+
success=True,
|
|
659
|
+
message="Coding style file deleted successfully",
|
|
660
|
+
file_existed=True,
|
|
661
|
+
)
|
|
662
|
+
else:
|
|
663
|
+
return DeleteCodingStyleResponse(
|
|
664
|
+
success=True,
|
|
665
|
+
message="Coding style file did not exist",
|
|
666
|
+
file_existed=False,
|
|
667
|
+
)
|
|
668
|
+
|
|
669
|
+
except Exception as e:
|
|
670
|
+
logger.exception("Error deleting coding style file")
|
|
671
|
+
return JSONResponse(
|
|
672
|
+
status_code=500,
|
|
673
|
+
content=ErrorResponse(
|
|
674
|
+
error="internal_error",
|
|
675
|
+
message="Failed to delete coding style file",
|
|
676
|
+
detail=str(e),
|
|
677
|
+
).model_dump(),
|
|
678
|
+
)
|
|
679
|
+
|
|
616
680
|
return router
|
|
617
681
|
|
|
618
682
|
|
|
@@ -1356,7 +1420,9 @@ def register_routes(app: FastAPI) -> None:
|
|
|
1356
1420
|
repo_router = create_repo_router()
|
|
1357
1421
|
app.include_router(repo_router, prefix="/repo")
|
|
1358
1422
|
|
|
1359
|
-
logger.debug(
|
|
1423
|
+
logger.debug(
|
|
1424
|
+
"Registered info routes: /status, /plan, /logs, /progress, /context, /health, /coding-style"
|
|
1425
|
+
)
|
|
1360
1426
|
logger.debug("Registered control routes: /control/stop, /control/resume, /config")
|
|
1361
1427
|
logger.debug("Registered task routes: /task/init, /task")
|
|
1362
1428
|
logger.debug("Registered webhook routes: /webhooks, /webhooks/{id}, /webhooks/test")
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_file_ops.py
RENAMED
|
@@ -146,6 +146,18 @@ class FileOperationsMixin:
|
|
|
146
146
|
return coding_style_file.read_text()
|
|
147
147
|
return None
|
|
148
148
|
|
|
149
|
+
def delete_coding_style(self) -> bool:
|
|
150
|
+
"""Delete coding style guide file (coding-style.md).
|
|
151
|
+
|
|
152
|
+
Returns:
|
|
153
|
+
True if file was deleted, False if file did not exist.
|
|
154
|
+
"""
|
|
155
|
+
coding_style_file = self.state_dir / "coding-style.md"
|
|
156
|
+
if coding_style_file.exists():
|
|
157
|
+
coding_style_file.unlink()
|
|
158
|
+
return True
|
|
159
|
+
return False
|
|
160
|
+
|
|
149
161
|
def _parse_plan_tasks(self, plan: str) -> list[str]:
|
|
150
162
|
"""Parse tasks from plan markdown.
|
|
151
163
|
|
|
@@ -69,6 +69,7 @@ ClearMailboxResult = tools.ClearMailboxResult
|
|
|
69
69
|
CloneRepoResult = tools.CloneRepoResult
|
|
70
70
|
SetupRepoResult = tools.SetupRepoResult
|
|
71
71
|
PlanRepoResult = tools.PlanRepoResult
|
|
72
|
+
DeleteCodingStyleResult = tools.DeleteCodingStyleResult
|
|
72
73
|
|
|
73
74
|
|
|
74
75
|
# =============================================================================
|
|
@@ -201,6 +202,24 @@ def create_server(
|
|
|
201
202
|
"""
|
|
202
203
|
return tools.clean_task(work_dir, force, state_dir)
|
|
203
204
|
|
|
205
|
+
@mcp.tool()
|
|
206
|
+
def delete_coding_style(
|
|
207
|
+
state_dir: str | None = None,
|
|
208
|
+
) -> dict[str, Any]:
|
|
209
|
+
"""Delete the coding style guide file (coding-style.md).
|
|
210
|
+
|
|
211
|
+
The coding style file is a cached guide that's preserved across runs to save
|
|
212
|
+
tokens. Call this to force regeneration on the next planning phase when
|
|
213
|
+
project conventions have changed.
|
|
214
|
+
|
|
215
|
+
Args:
|
|
216
|
+
state_dir: Optional custom state directory path.
|
|
217
|
+
|
|
218
|
+
Returns:
|
|
219
|
+
Dictionary indicating success or failure with deletion status.
|
|
220
|
+
"""
|
|
221
|
+
return tools.delete_coding_style(work_dir, state_dir)
|
|
222
|
+
|
|
204
223
|
@mcp.tool()
|
|
205
224
|
def initialize_task(
|
|
206
225
|
goal: str,
|
|
@@ -183,6 +183,15 @@ class PlanRepoResult(BaseModel):
|
|
|
183
183
|
error: str | None = None
|
|
184
184
|
|
|
185
185
|
|
|
186
|
+
class DeleteCodingStyleResult(BaseModel):
|
|
187
|
+
"""Result from delete_coding_style tool."""
|
|
188
|
+
|
|
189
|
+
success: bool
|
|
190
|
+
message: str
|
|
191
|
+
deleted: bool = False
|
|
192
|
+
error: str | None = None
|
|
193
|
+
|
|
194
|
+
|
|
186
195
|
# =============================================================================
|
|
187
196
|
# Tool Implementations
|
|
188
197
|
# =============================================================================
|
|
@@ -402,6 +411,57 @@ def get_context(
|
|
|
402
411
|
}
|
|
403
412
|
|
|
404
413
|
|
|
414
|
+
def delete_coding_style(
|
|
415
|
+
work_dir: Path,
|
|
416
|
+
state_dir: str | None = None,
|
|
417
|
+
) -> dict[str, Any]:
|
|
418
|
+
"""Delete the coding style guide file (coding-style.md).
|
|
419
|
+
|
|
420
|
+
The coding style file is a cached guide that's preserved across runs to save
|
|
421
|
+
tokens. Call this to force regeneration on the next planning phase when
|
|
422
|
+
project conventions have changed.
|
|
423
|
+
|
|
424
|
+
Args:
|
|
425
|
+
work_dir: Working directory for the server.
|
|
426
|
+
state_dir: Optional custom state directory path.
|
|
427
|
+
|
|
428
|
+
Returns:
|
|
429
|
+
Dictionary indicating success or failure with deletion status.
|
|
430
|
+
"""
|
|
431
|
+
state_path = Path(state_dir) if state_dir else work_dir / ".claude-task-master"
|
|
432
|
+
state_manager = StateManager(state_dir=state_path)
|
|
433
|
+
|
|
434
|
+
if not state_manager.exists():
|
|
435
|
+
return DeleteCodingStyleResult(
|
|
436
|
+
success=False,
|
|
437
|
+
message="No task state found",
|
|
438
|
+
deleted=False,
|
|
439
|
+
error="No active task found. Initialize a task first.",
|
|
440
|
+
).model_dump()
|
|
441
|
+
|
|
442
|
+
try:
|
|
443
|
+
deleted = state_manager.delete_coding_style()
|
|
444
|
+
if deleted:
|
|
445
|
+
return DeleteCodingStyleResult(
|
|
446
|
+
success=True,
|
|
447
|
+
message="Coding style guide deleted successfully",
|
|
448
|
+
deleted=True,
|
|
449
|
+
).model_dump()
|
|
450
|
+
else:
|
|
451
|
+
return DeleteCodingStyleResult(
|
|
452
|
+
success=True,
|
|
453
|
+
message="Coding style guide did not exist",
|
|
454
|
+
deleted=False,
|
|
455
|
+
).model_dump()
|
|
456
|
+
except Exception as e:
|
|
457
|
+
return DeleteCodingStyleResult(
|
|
458
|
+
success=False,
|
|
459
|
+
message=f"Failed to delete coding style guide: {e}",
|
|
460
|
+
deleted=False,
|
|
461
|
+
error=str(e),
|
|
462
|
+
).model_dump()
|
|
463
|
+
|
|
464
|
+
|
|
405
465
|
def clean_task(
|
|
406
466
|
work_dir: Path,
|
|
407
467
|
force: bool = False,
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-task-master
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9
|
|
4
4
|
Summary: Autonomous task orchestration system that keeps Claude working until a goal is achieved
|
|
5
5
|
Author: Claude Task Master Team
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,7 +19,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
19
19
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
20
|
Requires-Python: >=3.12
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
|
-
Requires-Dist: claude-agent-sdk>=0.1.
|
|
22
|
+
Requires-Dist: claude-agent-sdk>=0.1.27
|
|
23
23
|
Requires-Dist: typer>=0.12.0
|
|
24
24
|
Requires-Dist: pydantic>=2.0.0
|
|
25
25
|
Requires-Dist: rich>=13.0.0
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_repo.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/api/routes_webhooks.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/middleware.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/auth/password.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/fix_pr.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/github.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/info.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/cli_commands/mailbox.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_message.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_models.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_phases.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/agent_query.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/checkpoint.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/circuit_breaker.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/config_loader.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/console.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/conversation.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/key_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/orchestrator.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/parallel.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/plan_updater.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/planner.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/pr_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/prompts_working.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/rate_limit.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/shutdown.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_backup.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_pr.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/state_recovery.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/subagents.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/task_group.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/task_runner.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/core/workflow_stages.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client_ci.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/client_pr.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/exceptions.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/github/pr_cycle.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/merger.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/models.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mailbox/storage.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/utils/doctor.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/client.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master/webhooks/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.8 → claude_task_master-0.1.9}/src/claude_task_master.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|