claude-task-master 0.1.10__py3-none-any.whl → 0.1.11__py3-none-any.whl
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/__init__.py +1 -1
- claude_task_master/bin/claudetm +6 -1
- claude_task_master/core/__init__.py +2 -0
- claude_task_master/core/agent_models.py +32 -5
- claude_task_master/core/config.py +35 -2
- {claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/METADATA +16 -2
- {claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/RECORD +10 -10
- {claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/WHEEL +0 -0
- {claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/entry_points.txt +0 -0
- {claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/top_level.txt +0 -0
claude_task_master/__init__.py
CHANGED
claude_task_master/bin/claudetm
CHANGED
|
@@ -289,9 +289,14 @@ default_config = {
|
|
|
289
289
|
},
|
|
290
290
|
"models": {
|
|
291
291
|
"sonnet": "claude-sonnet-4-5-20250929",
|
|
292
|
-
"opus": "claude-opus-4-
|
|
292
|
+
"opus": "claude-opus-4-6",
|
|
293
293
|
"haiku": "claude-haiku-4-5-20251001"
|
|
294
294
|
},
|
|
295
|
+
"context_windows": {
|
|
296
|
+
"opus": 200000,
|
|
297
|
+
"sonnet": 200000,
|
|
298
|
+
"haiku": 200000
|
|
299
|
+
},
|
|
295
300
|
"git": {
|
|
296
301
|
"target_branch": "main",
|
|
297
302
|
"auto_push": True
|
|
@@ -24,6 +24,7 @@ from claude_task_master.core.agent_models import (
|
|
|
24
24
|
ModelType,
|
|
25
25
|
TaskComplexity,
|
|
26
26
|
ToolConfig,
|
|
27
|
+
get_context_window,
|
|
27
28
|
get_tools_for_phase,
|
|
28
29
|
parse_task_complexity,
|
|
29
30
|
)
|
|
@@ -246,6 +247,7 @@ __all__ = [
|
|
|
246
247
|
"MODEL_CONTEXT_WINDOWS",
|
|
247
248
|
"MODEL_CONTEXT_WINDOWS_STANDARD",
|
|
248
249
|
"DEFAULT_COMPACT_THRESHOLD_PERCENT",
|
|
250
|
+
"get_context_window",
|
|
249
251
|
# Rate limit classes
|
|
250
252
|
"RateLimitConfig",
|
|
251
253
|
# Checkpoint exceptions
|
|
@@ -91,12 +91,15 @@ class ToolConfig(Enum):
|
|
|
91
91
|
# Constants
|
|
92
92
|
# =============================================================================
|
|
93
93
|
|
|
94
|
-
# Model context window sizes (tokens) for auto-compact threshold calculation
|
|
95
|
-
#
|
|
96
|
-
#
|
|
94
|
+
# Model context window sizes (tokens) for auto-compact threshold calculation.
|
|
95
|
+
# These are defaults; users can override via config.json "context_windows" section.
|
|
96
|
+
# Opus 4.6 and Sonnet 4.5 support 1M context (beta, tier 4+ users).
|
|
97
|
+
# Note: The Agent SDK handles the `context-1m-2025-08-07` beta header internally.
|
|
98
|
+
# These values are only used to calculate when to trigger context compaction.
|
|
99
|
+
# See: https://platform.claude.com/docs/en/build-with-claude/context-windows
|
|
97
100
|
MODEL_CONTEXT_WINDOWS = {
|
|
98
|
-
ModelType.OPUS:
|
|
99
|
-
ModelType.SONNET: 1_000_000, # Claude Sonnet 4
|
|
101
|
+
ModelType.OPUS: 1_000_000, # Claude Opus 4.6: 1M context (beta, tier 4+)
|
|
102
|
+
ModelType.SONNET: 1_000_000, # Claude Sonnet 4.5: 1M context (beta, tier 4+)
|
|
100
103
|
ModelType.HAIKU: 200_000, # Claude Haiku 4.5: 200K context
|
|
101
104
|
}
|
|
102
105
|
|
|
@@ -107,6 +110,30 @@ MODEL_CONTEXT_WINDOWS_STANDARD = {
|
|
|
107
110
|
ModelType.HAIKU: 200_000,
|
|
108
111
|
}
|
|
109
112
|
|
|
113
|
+
|
|
114
|
+
def get_context_window(
|
|
115
|
+
model: ModelType,
|
|
116
|
+
config: ClaudeTaskMasterConfig | None = None,
|
|
117
|
+
) -> int:
|
|
118
|
+
"""Get context window size for a model, reading from config if available.
|
|
119
|
+
|
|
120
|
+
Args:
|
|
121
|
+
model: The model type.
|
|
122
|
+
config: Optional config object. If None, uses hardcoded defaults.
|
|
123
|
+
|
|
124
|
+
Returns:
|
|
125
|
+
Context window size in tokens.
|
|
126
|
+
"""
|
|
127
|
+
if config is not None:
|
|
128
|
+
context_map = {
|
|
129
|
+
ModelType.OPUS: config.context_windows.opus,
|
|
130
|
+
ModelType.SONNET: config.context_windows.sonnet,
|
|
131
|
+
ModelType.HAIKU: config.context_windows.haiku,
|
|
132
|
+
}
|
|
133
|
+
return context_map.get(model, MODEL_CONTEXT_WINDOWS[model])
|
|
134
|
+
return MODEL_CONTEXT_WINDOWS[model]
|
|
135
|
+
|
|
136
|
+
|
|
110
137
|
# Default compact threshold as percentage of context window
|
|
111
138
|
DEFAULT_COMPACT_THRESHOLD_PERCENT = 0.85 # Compact at 85% usage
|
|
112
139
|
|
|
@@ -71,7 +71,7 @@ class ModelConfig(BaseModel):
|
|
|
71
71
|
description="Model name for 'sonnet' (balanced). Overridden by CLAUDETM_MODEL_SONNET.",
|
|
72
72
|
)
|
|
73
73
|
opus: str = Field(
|
|
74
|
-
default="claude-opus-4-
|
|
74
|
+
default="claude-opus-4-6",
|
|
75
75
|
description="Model name for 'opus' (smartest). Overridden by CLAUDETM_MODEL_OPUS.",
|
|
76
76
|
)
|
|
77
77
|
haiku: str = Field(
|
|
@@ -97,6 +97,30 @@ class GitConfig(BaseModel):
|
|
|
97
97
|
)
|
|
98
98
|
|
|
99
99
|
|
|
100
|
+
class ContextWindowsConfig(BaseModel):
|
|
101
|
+
"""Context window sizes per model (in tokens).
|
|
102
|
+
|
|
103
|
+
Controls the max context window size used for auto-compact threshold calculation.
|
|
104
|
+
Opus 4.6 and Sonnet 4.5 support 1M context in beta (tier 4+ users).
|
|
105
|
+
Users on lower tiers should set these to 200000.
|
|
106
|
+
|
|
107
|
+
To enable 1M context via the API, use the beta header: context-1m-2025-08-07
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
opus: int = Field(
|
|
111
|
+
default=200_000,
|
|
112
|
+
description="Opus context window size in tokens. 200000 (standard) or 1000000 (beta, tier 4+).",
|
|
113
|
+
)
|
|
114
|
+
sonnet: int = Field(
|
|
115
|
+
default=200_000,
|
|
116
|
+
description="Sonnet context window size in tokens. 200000 (standard) or 1000000 (beta, tier 4+).",
|
|
117
|
+
)
|
|
118
|
+
haiku: int = Field(
|
|
119
|
+
default=200_000,
|
|
120
|
+
description="Haiku context window size in tokens.",
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
|
|
100
124
|
class ToolsConfig(BaseModel):
|
|
101
125
|
"""Tool configurations per execution phase.
|
|
102
126
|
|
|
@@ -144,13 +168,18 @@ class ClaudeTaskMasterConfig(BaseModel):
|
|
|
144
168
|
},
|
|
145
169
|
"models": {
|
|
146
170
|
"sonnet": "claude-sonnet-4-5-20250929",
|
|
147
|
-
"opus": "claude-opus-4-
|
|
171
|
+
"opus": "claude-opus-4-6",
|
|
148
172
|
"haiku": "claude-haiku-4-5-20251001"
|
|
149
173
|
},
|
|
150
174
|
"git": {
|
|
151
175
|
"target_branch": "main",
|
|
152
176
|
"auto_push": true
|
|
153
177
|
},
|
|
178
|
+
"context_windows": {
|
|
179
|
+
"opus": 200000,
|
|
180
|
+
"sonnet": 200000,
|
|
181
|
+
"haiku": 200000
|
|
182
|
+
},
|
|
154
183
|
"tools": {
|
|
155
184
|
"planning": ["Read", "Glob", "Grep", "Bash", "WebFetch", "WebSearch"],
|
|
156
185
|
"verification": ["Read", "Glob", "Grep", "Bash"],
|
|
@@ -172,6 +201,10 @@ class ClaudeTaskMasterConfig(BaseModel):
|
|
|
172
201
|
default_factory=ModelConfig,
|
|
173
202
|
description="Model name mappings.",
|
|
174
203
|
)
|
|
204
|
+
context_windows: ContextWindowsConfig = Field(
|
|
205
|
+
default_factory=ContextWindowsConfig,
|
|
206
|
+
description="Context window sizes per model (tokens). Set to 200000 if not on tier 4+.",
|
|
207
|
+
)
|
|
175
208
|
git: GitConfig = Field(
|
|
176
209
|
default_factory=GitConfig,
|
|
177
210
|
description="Git configuration (target branch, auto-push).",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-task-master
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.11
|
|
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
|
|
@@ -295,9 +295,14 @@ This creates `.claude-task-master/config.json`:
|
|
|
295
295
|
},
|
|
296
296
|
"models": {
|
|
297
297
|
"sonnet": "claude-sonnet-4-5-20250929",
|
|
298
|
-
"opus": "claude-opus-4-
|
|
298
|
+
"opus": "claude-opus-4-6",
|
|
299
299
|
"haiku": "claude-haiku-4-5-20251001"
|
|
300
300
|
},
|
|
301
|
+
"context_windows": {
|
|
302
|
+
"opus": 200000,
|
|
303
|
+
"sonnet": 200000,
|
|
304
|
+
"haiku": 200000
|
|
305
|
+
},
|
|
301
306
|
"git": {
|
|
302
307
|
"target_branch": "main",
|
|
303
308
|
"auto_push": true
|
|
@@ -305,6 +310,15 @@ This creates `.claude-task-master/config.json`:
|
|
|
305
310
|
}
|
|
306
311
|
```
|
|
307
312
|
|
|
313
|
+
> **Note:** Opus 4.6 and Sonnet 4.5 support a 1M token context window in beta (**tier 4+** API access required). If you have tier 4+ access, you can increase the context windows:
|
|
314
|
+
> ```json
|
|
315
|
+
> "context_windows": {
|
|
316
|
+
> "opus": 1000000,
|
|
317
|
+
> "sonnet": 1000000,
|
|
318
|
+
> "haiku": 200000
|
|
319
|
+
> }
|
|
320
|
+
> ```
|
|
321
|
+
|
|
308
322
|
### Environment Variables
|
|
309
323
|
|
|
310
324
|
The config file sets these environment variables before Python starts:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
claude_task_master/__init__.py,sha256=
|
|
1
|
+
claude_task_master/__init__.py,sha256=k1RBhhL0FsDiU9urfUvXsVWV0oWm3su8nEBp5lX5LMw,188
|
|
2
2
|
claude_task_master/cli.py,sha256=b2nowi18sFSX8pLZiFKjQqDp7cvRWRnNayN96n-d770,6238
|
|
3
3
|
claude_task_master/server.py,sha256=a39yqwj2gZWpAPOzU9E3yj8ds7wmSqevOyiI7QHu_EQ,15791
|
|
4
4
|
claude_task_master/wrapper.py,sha256=NQywkv06-4jkBz4lFPkQvDrr8TEMgyAqYWEnQI2fgck,6001
|
|
@@ -13,7 +13,7 @@ claude_task_master/api/server.py,sha256=xWBKKe_SMfnZuJkO9JoU-diACpd03N1SN_Sv1S0U
|
|
|
13
13
|
claude_task_master/auth/__init__.py,sha256=etobJkCGD7pUDsLArWMru4NC1fP_MLUnuCTP5htdsYU,2665
|
|
14
14
|
claude_task_master/auth/middleware.py,sha256=qeyEQHfXMtlad9bYFqJon7ScisF8JUXUSOjGFnTsx6M,14151
|
|
15
15
|
claude_task_master/auth/password.py,sha256=t4c5REJ7eD8P7gsDsKrEEJeVNF7bX017HUXGjD03_yQ,10245
|
|
16
|
-
claude_task_master/bin/claudetm,sha256=
|
|
16
|
+
claude_task_master/bin/claudetm,sha256=Ie8K20_fg0dx7cfFOU6U4NqAoTeCp4u3a0FAXip9dmU,16747
|
|
17
17
|
claude_task_master/cli_commands/__init__.py,sha256=M3m3Gx0htC5IlUVaUNTbt8nQQVKIrk1ep-pjml153G0,449
|
|
18
18
|
claude_task_master/cli_commands/ci_helpers.py,sha256=NgUu2qPmCntMQ89_yQIZ4DdW30AAroonOJt6e12aWoQ,3693
|
|
19
19
|
claude_task_master/cli_commands/config.py,sha256=iqfgP4yQvoqG5_y3UTAddxfHjD31vcRZ1hI5gOlWnvw,6462
|
|
@@ -24,16 +24,16 @@ claude_task_master/cli_commands/github.py,sha256=x8UcAqBRdGUau0frkzkoeOmZ5xaN4AF
|
|
|
24
24
|
claude_task_master/cli_commands/info.py,sha256=jmzslLMiVk3ZyGBsVxNSfoe1qLJsuCG9Zqz57zYauRE,6084
|
|
25
25
|
claude_task_master/cli_commands/mailbox.py,sha256=SJzZxzxpkIv4cwXA-8gaVzqTJuqh1rwxQ4TeL-VmDE4,9291
|
|
26
26
|
claude_task_master/cli_commands/workflow.py,sha256=mcFOG2_4r-o0GMvhIO9GQC7_z8RPCxytd8C0jTiYMr8,17270
|
|
27
|
-
claude_task_master/core/__init__.py,sha256=
|
|
27
|
+
claude_task_master/core/__init__.py,sha256=ao9bc5GLYJzsx9T2D-MqVYDx1eqk8BTvCboJ2HgZj4M,8995
|
|
28
28
|
claude_task_master/core/agent.py,sha256=snQmeZx4xvREuuIv-L3IlN6V7kZC0FH1BSqH41ckXVs,12064
|
|
29
29
|
claude_task_master/core/agent_exceptions.py,sha256=TjPlGXQhGjWof1kENyRmBowRNRay4SXL0YCH_VYsq4g,6354
|
|
30
30
|
claude_task_master/core/agent_message.py,sha256=gelItCmxluOHwiNzBQhJ-skNzFVxCVDe_qBmr6MnYao,7809
|
|
31
|
-
claude_task_master/core/agent_models.py,sha256=
|
|
31
|
+
claude_task_master/core/agent_models.py,sha256=PDAezIfVMb001NBg0KWImhZlnE2hk6LK6x2rFlu56kg,7560
|
|
32
32
|
claude_task_master/core/agent_phases.py,sha256=XfXPLDcOeSthIm-v0uZNmgW-7gfueNnIGqqh_7-aMzA,13380
|
|
33
33
|
claude_task_master/core/agent_query.py,sha256=lu6-X3AdNC4t-THZf6Qc2lBIpwhmm7bhgWqezSbOOGY,17269
|
|
34
34
|
claude_task_master/core/checkpoint.py,sha256=qwW_Qj1yjNNuyBZEAj91bOGhn1yCsjqOccGn3XFIPRg,7142
|
|
35
35
|
claude_task_master/core/circuit_breaker.py,sha256=kXVgLDVy5_kie65frVPkrcPMmm6FWSHOqwfTe7Isebk,13545
|
|
36
|
-
claude_task_master/core/config.py,sha256=
|
|
36
|
+
claude_task_master/core/config.py,sha256=eXGE4tzmH81uc9z1PE-zgf5plE0t8UqwJ0MrzINvtaQ,9789
|
|
37
37
|
claude_task_master/core/config_loader.py,sha256=FWUSGKaef3DjiJPKCNL9hyJZ03RO9H9-P-9DJDOPL_c,16405
|
|
38
38
|
claude_task_master/core/console.py,sha256=GQ71zKDt0mb0bhnwkrfNxBiX4jHfFmFjNjFefTjVpiM,4208
|
|
39
39
|
claude_task_master/core/context_accumulator.py,sha256=q-T6jhX1UWHNKZ3mawXKRTUZQHxdLP88tcWtLPH_cOM,1527
|
|
@@ -89,8 +89,8 @@ claude_task_master/webhooks/__init__.py,sha256=bJfQBkSRZCOaVNnOg7PlG-FbwJV4YsySD
|
|
|
89
89
|
claude_task_master/webhooks/client.py,sha256=DEz3vrNmuTBPp2t_rK515zRRKJAzFxxL8B9iCbXRuEU,24589
|
|
90
90
|
claude_task_master/webhooks/config.py,sha256=cufVrl94zSSubpoNFWVYp5ht2Okf_K_8UAQfFsaaOIE,19230
|
|
91
91
|
claude_task_master/webhooks/events.py,sha256=V-kWjb6QF2PpFJ3FtSP6hGP-Ivhdt2Tg71g6NXi1iwY,32141
|
|
92
|
-
claude_task_master-0.1.
|
|
93
|
-
claude_task_master-0.1.
|
|
94
|
-
claude_task_master-0.1.
|
|
95
|
-
claude_task_master-0.1.
|
|
96
|
-
claude_task_master-0.1.
|
|
92
|
+
claude_task_master-0.1.11.dist-info/METADATA,sha256=xmeKFvXrsfMbFKlYCyNM00TbQmlfy1ipd0FJGAUJPrU,30323
|
|
93
|
+
claude_task_master-0.1.11.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
94
|
+
claude_task_master-0.1.11.dist-info/entry_points.txt,sha256=vpjSBkvZSSZ1WmmNSbiszyiiy-fAvtmmaOTOyLnufqM,251
|
|
95
|
+
claude_task_master-0.1.11.dist-info/top_level.txt,sha256=Axj8q87a_7qo5JyjdIFe9ebs4BFOnuDt_gdxHqSDwqc,19
|
|
96
|
+
claude_task_master-0.1.11.dist-info/RECORD,,
|
|
File without changes
|
{claude_task_master-0.1.10.dist-info → claude_task_master-0.1.11.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|