claude-task-master 0.1.5__tar.gz → 0.1.6__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.5 → claude_task_master-0.1.6}/PKG-INFO +1 -1
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/pyproject.toml +1 -1
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/__init__.py +1 -1
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/bin/claudetm +1 -1
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/config.py +3 -3
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_planning.py +6 -2
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/task_runner.py +73 -34
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/PKG-INFO +1 -1
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/README.md +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/setup.cfg +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/models.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_config.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_control.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_repo.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_webhooks.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/server.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/middleware.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/password.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/ci_helpers.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/config.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/control.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/fix_pr.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/fix_session.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/github.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/info.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/mailbox.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/workflow.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_exceptions.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_message.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_models.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_phases.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_query.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/checkpoint.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/circuit_breaker.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/config_loader.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/console.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/context_accumulator.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/control.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/conversation.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/credentials.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/hooks.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/key_listener.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/logger.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/orchestrator.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/parallel.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/plan_updater.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/planner.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/pr_context.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/progress_tracker.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_base.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_plan_update.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_verification.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_working.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/rate_limit.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/shutdown.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_backup.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_exceptions.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_file_ops.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_pr.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_recovery.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/subagents.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/task_group.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/workflow_stages.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client_ci.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client_pr.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/exceptions.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/pr_cycle.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/merger.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/models.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/storage.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mcp/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mcp/auth.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mcp/server.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mcp/tools.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/server.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/utils/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/utils/debug_claude_md.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/utils/doctor.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/__init__.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/client.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/config.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/events.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/wrapper.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/SOURCES.txt +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/dependency_links.txt +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/entry_points.txt +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/requires.txt +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/top_level.txt +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/tests/test_server.py +0 -0
- {claude_task_master-0.1.5 → claude_task_master-0.1.6}/tests/test_wrapper.py +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.6"
|
|
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"
|
|
@@ -33,7 +33,7 @@ set -euo pipefail
|
|
|
33
33
|
|
|
34
34
|
# Script version - synchronized with Python package version
|
|
35
35
|
# This should be kept in sync using scripts/sync_version.py
|
|
36
|
-
SCRIPT_VERSION="0.1.
|
|
36
|
+
SCRIPT_VERSION="0.1.6"
|
|
37
37
|
|
|
38
38
|
# Configuration file location
|
|
39
39
|
CONFIG_DIR=".claude-task-master"
|
|
@@ -109,8 +109,8 @@ class ToolsConfig(BaseModel):
|
|
|
109
109
|
"""
|
|
110
110
|
|
|
111
111
|
planning: list[str] = Field(
|
|
112
|
-
default_factory=lambda: ["Read", "Glob", "Grep", "Bash"],
|
|
113
|
-
description="Tools available during planning phase (read-only + bash for checks).",
|
|
112
|
+
default_factory=lambda: ["Read", "Glob", "Grep", "Bash", "WebFetch", "WebSearch"],
|
|
113
|
+
description="Tools available during planning phase (read-only + bash for checks + web tools for research).",
|
|
114
114
|
)
|
|
115
115
|
verification: list[str] = Field(
|
|
116
116
|
default_factory=lambda: ["Read", "Glob", "Grep", "Bash"],
|
|
@@ -152,7 +152,7 @@ class ClaudeTaskMasterConfig(BaseModel):
|
|
|
152
152
|
"auto_push": true
|
|
153
153
|
},
|
|
154
154
|
"tools": {
|
|
155
|
-
"planning": ["Read", "Glob", "Grep", "Bash"],
|
|
155
|
+
"planning": ["Read", "Glob", "Grep", "Bash", "WebFetch", "WebSearch"],
|
|
156
156
|
"verification": ["Read", "Glob", "Grep", "Bash"],
|
|
157
157
|
"working": []
|
|
158
158
|
}
|
|
@@ -36,14 +36,18 @@ testing strategy, and how all pieces fit together. Plan for success.
|
|
|
36
36
|
- `Glob` - Find files by pattern
|
|
37
37
|
- `Grep` - Search for code patterns
|
|
38
38
|
- `Bash` - Run commands (git status, tests, lint checks, etc.)
|
|
39
|
+
- `WebSearch` - Search the web for current information (use FIRST to find URLs)
|
|
40
|
+
- `WebFetch` - Fetch full content from URLs (only URLs from search results or user-provided)
|
|
41
|
+
|
|
42
|
+
**Web Research Workflow:** Use `WebSearch` first to find relevant documentation/articles,
|
|
43
|
+
then use `WebFetch` to retrieve full content from specific URLs in the search results.
|
|
44
|
+
WebFetch can also retrieve PDFs for technical documentation.
|
|
39
45
|
|
|
40
46
|
**FORBIDDEN TOOLS (NEVER use during planning):**
|
|
41
47
|
- ❌ `Write` - Do NOT write any files
|
|
42
48
|
- ❌ `Edit` - Do NOT edit any files
|
|
43
49
|
- ❌ `Task` - Do NOT launch any agents
|
|
44
50
|
- ❌ `TodoWrite` - Do NOT use todo tracking
|
|
45
|
-
- ❌ `WebFetch` - Do NOT fetch web pages
|
|
46
|
-
- ❌ `WebSearch` - Do NOT search the web
|
|
47
51
|
|
|
48
52
|
**WHY**: The orchestrator will save your plan to `plan.md` automatically.
|
|
49
53
|
You just need to OUTPUT the plan as TEXT in your response.
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/task_runner.py
RENAMED
|
@@ -157,6 +157,62 @@ class TaskRunner:
|
|
|
157
157
|
self._parsed_groups_cache = None
|
|
158
158
|
self._plan_hash = None
|
|
159
159
|
|
|
160
|
+
def _get_group_context(self, state: TaskState, plan: str | None = None) -> dict | None:
|
|
161
|
+
"""Get PR group context for the current task.
|
|
162
|
+
|
|
163
|
+
Computes information about the current task's PR group including:
|
|
164
|
+
- Group name and ID
|
|
165
|
+
- Whether this is the last task in the group
|
|
166
|
+
- Remaining tasks in the group
|
|
167
|
+
- Completed tasks in the group
|
|
168
|
+
|
|
169
|
+
Args:
|
|
170
|
+
state: Current task state.
|
|
171
|
+
plan: Optional plan content. If not provided, loads from state manager.
|
|
172
|
+
|
|
173
|
+
Returns:
|
|
174
|
+
Dict with group context, or None if no plan or task out of range.
|
|
175
|
+
Keys: group_id, group_name, is_last_in_group, remaining_in_group,
|
|
176
|
+
completed_tasks, tasks_in_group
|
|
177
|
+
"""
|
|
178
|
+
if plan is None:
|
|
179
|
+
plan = self.state_manager.load_plan()
|
|
180
|
+
if not plan:
|
|
181
|
+
return None
|
|
182
|
+
|
|
183
|
+
parsed_tasks, _ = self._get_parsed_tasks(plan)
|
|
184
|
+
if state.current_task_index >= len(parsed_tasks):
|
|
185
|
+
return None
|
|
186
|
+
|
|
187
|
+
current_task = parsed_tasks[state.current_task_index]
|
|
188
|
+
group_id = current_task.group_id
|
|
189
|
+
group_name = current_task.group_name
|
|
190
|
+
|
|
191
|
+
# Get all tasks in this group
|
|
192
|
+
tasks_in_group = [t for t in parsed_tasks if t.group_id == group_id]
|
|
193
|
+
|
|
194
|
+
# Find the current task's position within the group
|
|
195
|
+
current_task_in_group_idx = next(
|
|
196
|
+
(i for i, t in enumerate(tasks_in_group) if t.index == state.current_task_index),
|
|
197
|
+
0,
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
# Calculate remaining tasks
|
|
201
|
+
remaining_in_group = len(tasks_in_group) - current_task_in_group_idx - 1
|
|
202
|
+
is_last_in_group = remaining_in_group == 0
|
|
203
|
+
|
|
204
|
+
# Get completed tasks in this group (for context)
|
|
205
|
+
completed_tasks = [t.cleaned_description for t in tasks_in_group if t.is_complete]
|
|
206
|
+
|
|
207
|
+
return {
|
|
208
|
+
"group_id": group_id,
|
|
209
|
+
"group_name": group_name,
|
|
210
|
+
"is_last_in_group": is_last_in_group,
|
|
211
|
+
"remaining_in_group": remaining_in_group,
|
|
212
|
+
"completed_tasks": completed_tasks,
|
|
213
|
+
"tasks_in_group": tasks_in_group,
|
|
214
|
+
}
|
|
215
|
+
|
|
160
216
|
def run_work_session(self, state: TaskState) -> None:
|
|
161
217
|
"""Run a single work session.
|
|
162
218
|
|
|
@@ -204,25 +260,19 @@ class TaskRunner:
|
|
|
204
260
|
complexity, cleaned_task = parse_task_complexity(current_task)
|
|
205
261
|
target_model = TaskComplexity.get_model_for_complexity(complexity)
|
|
206
262
|
|
|
207
|
-
# Get PR/group
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
)
|
|
221
|
-
remaining_in_group = len(tasks_in_group) - current_task_in_group_idx - 1
|
|
222
|
-
is_last_in_group = remaining_in_group == 0
|
|
223
|
-
|
|
224
|
-
# Get completed tasks in this group (for context)
|
|
225
|
-
completed_in_group = [t.cleaned_description for t in tasks_in_group if t.is_complete]
|
|
263
|
+
# Get PR/group context for this task (reuses _get_group_context for DRY)
|
|
264
|
+
group_context = self._get_group_context(state, plan)
|
|
265
|
+
if group_context:
|
|
266
|
+
pr_name = group_context["group_name"]
|
|
267
|
+
is_last_in_group = group_context["is_last_in_group"]
|
|
268
|
+
remaining_in_group = group_context["remaining_in_group"]
|
|
269
|
+
completed_in_group = group_context["completed_tasks"]
|
|
270
|
+
else:
|
|
271
|
+
# Fallback for edge cases (shouldn't happen in normal operation)
|
|
272
|
+
pr_name = "Default"
|
|
273
|
+
is_last_in_group = True
|
|
274
|
+
remaining_in_group = 0
|
|
275
|
+
completed_in_group = []
|
|
226
276
|
|
|
227
277
|
# Load context safely
|
|
228
278
|
try:
|
|
@@ -480,19 +530,8 @@ Please complete this task."""
|
|
|
480
530
|
Returns:
|
|
481
531
|
True if this is the last task in the PR group.
|
|
482
532
|
"""
|
|
483
|
-
|
|
484
|
-
if
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
parsed_tasks, _ = self._get_parsed_tasks(plan)
|
|
488
|
-
if state.current_task_index >= len(parsed_tasks):
|
|
533
|
+
group_context = self._get_group_context(state)
|
|
534
|
+
if group_context is None:
|
|
535
|
+
# No plan or task out of range - treat as last task
|
|
489
536
|
return True
|
|
490
|
-
|
|
491
|
-
current_group_id = parsed_tasks[state.current_task_index].group_id
|
|
492
|
-
tasks_in_group = [t for t in parsed_tasks if t.group_id == current_group_id]
|
|
493
|
-
current_task_in_group_idx = next(
|
|
494
|
-
(i for i, t in enumerate(tasks_in_group) if t.index == state.current_task_index),
|
|
495
|
-
0,
|
|
496
|
-
)
|
|
497
|
-
remaining_in_group = len(tasks_in_group) - current_task_in_group_idx - 1
|
|
498
|
-
return remaining_in_group == 0
|
|
537
|
+
return bool(group_context["is_last_in_group"])
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_repo.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/api/routes_webhooks.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/middleware.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/auth/password.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/fix_pr.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/github.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/info.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/cli_commands/mailbox.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_message.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_models.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_phases.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/agent_query.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/checkpoint.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/circuit_breaker.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/config_loader.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/console.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/control.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/conversation.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/key_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/orchestrator.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/parallel.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/plan_updater.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/planner.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/pr_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/prompts_working.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/rate_limit.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/shutdown.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_backup.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_file_ops.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_pr.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/state_recovery.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/subagents.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/task_group.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/core/workflow_stages.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client_ci.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/client_pr.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/exceptions.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/github/pr_cycle.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/merger.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/models.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mailbox/storage.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/utils/doctor.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/__init__.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/client.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/config.py
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master/webhooks/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/requires.txt
RENAMED
|
File without changes
|
{claude_task_master-0.1.5 → claude_task_master-0.1.6}/src/claude_task_master.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|