claude-mpm 3.0.1__py3-none-any.whl → 3.1.0__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_mpm/__init__.py +10 -1
- claude_mpm/agents/agent_loader.py +2 -1
- claude_mpm/cli.py +12 -2
- claude_mpm/schemas/agent_schema.json +71 -83
- claude_mpm/schemas/agent_schema_documentation.md +181 -0
- claude_mpm/schemas/examples/standard_workflow.json +505 -0
- claude_mpm/schemas/ticket_workflow_documentation.md +482 -0
- claude_mpm/schemas/ticket_workflow_schema.json +590 -0
- claude_mpm/schemas/workflow_validator.py +411 -0
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/METADATA +3 -1
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/RECORD +15 -11
- claude_mpm/_version.py +0 -4
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/WHEEL +0 -0
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/entry_points.txt +0 -0
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-3.0.1.dist-info → claude_mpm-3.1.0.dist-info}/top_level.txt +0 -0
claude_mpm/__init__.py
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
"""Claude MPM - Multi-Agent Project Manager."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
# Get version from VERSION file - single source of truth
|
|
6
|
+
version_file = Path(__file__).parent.parent.parent / "VERSION"
|
|
7
|
+
if version_file.exists():
|
|
8
|
+
__version__ = version_file.read_text().strip()
|
|
9
|
+
else:
|
|
10
|
+
# Default version if VERSION file is missing
|
|
11
|
+
__version__ = "0.0.0"
|
|
12
|
+
|
|
4
13
|
__author__ = "Claude MPM Team"
|
|
5
14
|
|
|
6
15
|
# Import main components
|
|
@@ -58,6 +58,7 @@ Usage Examples:
|
|
|
58
58
|
import json
|
|
59
59
|
import logging
|
|
60
60
|
import os
|
|
61
|
+
import time
|
|
61
62
|
import yaml
|
|
62
63
|
from pathlib import Path
|
|
63
64
|
from typing import Optional, Dict, Any, Tuple, Union, List
|
|
@@ -625,7 +626,7 @@ def _get_model_config(agent_name: str, complexity_analysis: Optional[Dict[str, A
|
|
|
625
626
|
model_config = {
|
|
626
627
|
"selection_method": "dynamic_complexity_based",
|
|
627
628
|
"complexity_score": complexity_score,
|
|
628
|
-
"complexity_level": complexity_analysis.get('complexity_level', ComplexityLevel.MEDIUM)
|
|
629
|
+
"complexity_level": complexity_analysis.get('complexity_level', ComplexityLevel.MEDIUM),
|
|
629
630
|
"optimal_prompt_size": complexity_analysis.get('optimal_prompt_size', (700, 1000)),
|
|
630
631
|
"default_model": default_model
|
|
631
632
|
}
|
claude_mpm/cli.py
CHANGED
|
@@ -8,15 +8,25 @@ from typing import Optional
|
|
|
8
8
|
|
|
9
9
|
try:
|
|
10
10
|
# Try relative imports first (when used as package)
|
|
11
|
-
from ._version import __version__
|
|
12
11
|
from .core.logger import get_logger, setup_logging
|
|
13
12
|
from .constants import CLICommands, CLIPrefix, AgentCommands, LogLevel, CLIFlags
|
|
14
13
|
except ImportError:
|
|
15
14
|
# Fall back to absolute imports (when run directly)
|
|
16
|
-
from claude_mpm._version import __version__
|
|
17
15
|
from core.logger import get_logger, setup_logging
|
|
18
16
|
from constants import CLICommands, CLIPrefix, AgentCommands, LogLevel, CLIFlags
|
|
19
17
|
|
|
18
|
+
# Get version from VERSION file - single source of truth
|
|
19
|
+
version_file = Path(__file__).parent.parent.parent / "VERSION"
|
|
20
|
+
if version_file.exists():
|
|
21
|
+
__version__ = version_file.read_text().strip()
|
|
22
|
+
else:
|
|
23
|
+
# Try to import from package as fallback
|
|
24
|
+
try:
|
|
25
|
+
from . import __version__
|
|
26
|
+
except ImportError:
|
|
27
|
+
# Default version if all else fails
|
|
28
|
+
__version__ = "0.0.0"
|
|
29
|
+
|
|
20
30
|
|
|
21
31
|
|
|
22
32
|
def _preprocess_args(argv: Optional[list] = None) -> list:
|
|
@@ -5,30 +5,30 @@
|
|
|
5
5
|
"description": "Schema definition for Claude MPM agent templates. This schema enforces the structure and validation rules for all agent configurations in the Claude MPM system.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
|
-
"schema_version",
|
|
9
|
-
"agent_id",
|
|
10
|
-
"agent_version",
|
|
11
|
-
"agent_type",
|
|
12
|
-
"metadata",
|
|
13
|
-
"capabilities",
|
|
14
|
-
"instructions"
|
|
8
|
+
"schema_version",
|
|
9
|
+
"agent_id",
|
|
10
|
+
"agent_version",
|
|
11
|
+
"agent_type",
|
|
12
|
+
"metadata",
|
|
13
|
+
"capabilities",
|
|
14
|
+
"instructions"
|
|
15
15
|
],
|
|
16
16
|
"properties": {
|
|
17
17
|
"schema_version": {
|
|
18
18
|
"type": "string",
|
|
19
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
19
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
20
20
|
"description": "Schema version for the agent template format. This ensures compatibility between the agent template and the schema validator. Must be updated when breaking changes are made to the schema.",
|
|
21
21
|
"examples": ["1.0.0", "1.2.0"]
|
|
22
22
|
},
|
|
23
23
|
"agent_id": {
|
|
24
24
|
"type": "string",
|
|
25
|
-
"pattern": "^[a-z][a-z0-9_]*$",
|
|
25
|
+
"pattern": "^[a-z][a-z0-9_]*$",
|
|
26
26
|
"description": "Unique agent identifier used for agent discovery and loading. This ID must be unique across all agents in the system and follows snake_case naming convention.",
|
|
27
27
|
"examples": ["research_agent", "engineer_agent", "qa_agent", "security_agent"]
|
|
28
28
|
},
|
|
29
29
|
"agent_version": {
|
|
30
30
|
"type": "string",
|
|
31
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
31
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
32
32
|
"description": "Semantic version of the agent template itself (not the schema). Increment major for breaking changes, minor for new features, patch for bug fixes.",
|
|
33
33
|
"examples": ["1.0.0", "2.1.3"]
|
|
34
34
|
},
|
|
@@ -36,35 +36,35 @@
|
|
|
36
36
|
"type": "string",
|
|
37
37
|
"description": "Type of agent that determines its primary function and default capabilities. This categorization helps in agent discovery and capability matching.",
|
|
38
38
|
"enum": [
|
|
39
|
-
"base",
|
|
40
|
-
"engineer",
|
|
41
|
-
"qa",
|
|
42
|
-
"documentation",
|
|
43
|
-
"research",
|
|
44
|
-
"security",
|
|
45
|
-
"ops",
|
|
46
|
-
"data_engineer",
|
|
47
|
-
"version_control"
|
|
39
|
+
"base",
|
|
40
|
+
"engineer",
|
|
41
|
+
"qa",
|
|
42
|
+
"documentation",
|
|
43
|
+
"research",
|
|
44
|
+
"security",
|
|
45
|
+
"ops",
|
|
46
|
+
"data_engineer",
|
|
47
|
+
"version_control"
|
|
48
48
|
]
|
|
49
49
|
},
|
|
50
50
|
"metadata": {
|
|
51
51
|
"type": "object",
|
|
52
52
|
"required": [
|
|
53
|
-
"name",
|
|
54
|
-
"description",
|
|
55
|
-
"tags"
|
|
53
|
+
"name",
|
|
54
|
+
"description",
|
|
55
|
+
"tags"
|
|
56
56
|
],
|
|
57
57
|
"properties": {
|
|
58
58
|
"name": {
|
|
59
59
|
"type": "string",
|
|
60
|
-
"minLength": 3,
|
|
61
|
-
"maxLength": 50,
|
|
60
|
+
"minLength": 3,
|
|
61
|
+
"maxLength": 50,
|
|
62
62
|
"description": "Human-readable agent name displayed in UI and logs. Should be concise but descriptive."
|
|
63
63
|
},
|
|
64
64
|
"description": {
|
|
65
65
|
"type": "string",
|
|
66
|
-
"minLength": 10,
|
|
67
|
-
"maxLength": 200,
|
|
66
|
+
"minLength": 10,
|
|
67
|
+
"maxLength": 200,
|
|
68
68
|
"description": "Brief description of agent purpose and capabilities. Used in agent selection and documentation."
|
|
69
69
|
},
|
|
70
70
|
"category": {
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
"type": "array",
|
|
77
77
|
"items": {
|
|
78
78
|
"type": "string",
|
|
79
|
-
"pattern": "^[a-z][a-z0-9-]*$"
|
|
79
|
+
"pattern": "^[a-z][a-z0-9-]*$"
|
|
80
80
|
},
|
|
81
|
-
"minItems": 1,
|
|
82
|
-
"maxItems": 10,
|
|
83
|
-
"uniqueItems": true,
|
|
81
|
+
"minItems": 1,
|
|
82
|
+
"maxItems": 10,
|
|
83
|
+
"uniqueItems": true,
|
|
84
84
|
"description": "Tags for agent discovery and categorization. Used by the agent registry for searching and filtering."
|
|
85
85
|
},
|
|
86
86
|
"author": {
|
|
@@ -102,24 +102,21 @@
|
|
|
102
102
|
"capabilities": {
|
|
103
103
|
"type": "object",
|
|
104
104
|
"required": [
|
|
105
|
-
"model",
|
|
106
|
-
"tools",
|
|
107
|
-
"resource_tier"
|
|
105
|
+
"model",
|
|
106
|
+
"tools",
|
|
107
|
+
"resource_tier"
|
|
108
108
|
],
|
|
109
109
|
"properties": {
|
|
110
110
|
"model": {
|
|
111
111
|
"type": "string",
|
|
112
112
|
"enum": [
|
|
113
|
-
// Haiku models - fastest, most cost-effective
|
|
114
113
|
"claude-3-haiku-20240307",
|
|
115
114
|
"claude-3-5-haiku-20241022",
|
|
116
|
-
// Sonnet models - balanced performance
|
|
117
115
|
"claude-3-sonnet-20240229",
|
|
118
116
|
"claude-3-5-sonnet-20241022",
|
|
119
117
|
"claude-3-5-sonnet-20240620",
|
|
120
118
|
"claude-sonnet-4-20250514",
|
|
121
119
|
"claude-4-sonnet-20250514",
|
|
122
|
-
// Opus models - highest capability
|
|
123
120
|
"claude-3-opus-20240229",
|
|
124
121
|
"claude-opus-4-20250514",
|
|
125
122
|
"claude-4-opus-20250514"
|
|
@@ -131,68 +128,61 @@
|
|
|
131
128
|
"items": {
|
|
132
129
|
"type": "string",
|
|
133
130
|
"enum": [
|
|
134
|
-
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
|
|
144
|
-
"
|
|
145
|
-
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
|
|
149
|
-
"
|
|
150
|
-
"
|
|
151
|
-
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
|
|
155
|
-
"git", // Git operations
|
|
156
|
-
"docker", // Docker commands
|
|
157
|
-
"kubectl", // Kubernetes operations
|
|
158
|
-
"terraform", // Infrastructure as code
|
|
159
|
-
"aws", // AWS CLI
|
|
160
|
-
"gcloud", // Google Cloud CLI
|
|
161
|
-
"azure" // Azure CLI
|
|
131
|
+
"Read",
|
|
132
|
+
"Write",
|
|
133
|
+
"Edit",
|
|
134
|
+
"MultiEdit",
|
|
135
|
+
"Grep",
|
|
136
|
+
"Glob",
|
|
137
|
+
"LS",
|
|
138
|
+
"Bash",
|
|
139
|
+
"WebSearch",
|
|
140
|
+
"WebFetch",
|
|
141
|
+
"NotebookRead",
|
|
142
|
+
"NotebookEdit",
|
|
143
|
+
"TodoWrite",
|
|
144
|
+
"ExitPlanMode",
|
|
145
|
+
"git",
|
|
146
|
+
"docker",
|
|
147
|
+
"kubectl",
|
|
148
|
+
"terraform",
|
|
149
|
+
"aws",
|
|
150
|
+
"gcloud",
|
|
151
|
+
"azure"
|
|
162
152
|
]
|
|
163
153
|
},
|
|
164
|
-
"uniqueItems": true,
|
|
154
|
+
"uniqueItems": true,
|
|
165
155
|
"description": "Available tools for the agent. Tools determine what operations the agent can perform."
|
|
166
156
|
},
|
|
167
157
|
"resource_tier": {
|
|
168
158
|
"type": "string",
|
|
169
159
|
"enum": [
|
|
170
|
-
"basic",
|
|
171
|
-
"standard",
|
|
172
|
-
"intensive",
|
|
173
|
-
"lightweight"
|
|
160
|
+
"basic",
|
|
161
|
+
"standard",
|
|
162
|
+
"intensive",
|
|
163
|
+
"lightweight"
|
|
174
164
|
],
|
|
175
165
|
"description": "Resource allocation tier that determines memory, CPU, and timeout limits. See definitions section for specific limits."
|
|
176
166
|
},
|
|
177
167
|
"max_tokens": {
|
|
178
168
|
"type": "integer",
|
|
179
|
-
"minimum": 1000,
|
|
180
|
-
"maximum": 200000,
|
|
181
|
-
"default": 8192,
|
|
169
|
+
"minimum": 1000,
|
|
170
|
+
"maximum": 200000,
|
|
171
|
+
"default": 8192,
|
|
182
172
|
"description": "Maximum tokens for response generation. Higher values allow longer responses but increase cost and latency."
|
|
183
173
|
},
|
|
184
174
|
"temperature": {
|
|
185
175
|
"type": "number",
|
|
186
|
-
"minimum": 0,
|
|
187
|
-
"maximum": 1,
|
|
188
|
-
"default": 0.7,
|
|
176
|
+
"minimum": 0,
|
|
177
|
+
"maximum": 1,
|
|
178
|
+
"default": 0.7,
|
|
189
179
|
"description": "Model temperature setting controlling response randomness. Lower values for consistency, higher for creativity."
|
|
190
180
|
},
|
|
191
181
|
"timeout": {
|
|
192
182
|
"type": "integer",
|
|
193
|
-
"minimum": 30,
|
|
194
|
-
"maximum": 3600,
|
|
195
|
-
"default": 300,
|
|
183
|
+
"minimum": 30,
|
|
184
|
+
"maximum": 3600,
|
|
185
|
+
"default": 300,
|
|
196
186
|
"description": "Operation timeout in seconds. Should align with resource_tier settings."
|
|
197
187
|
},
|
|
198
188
|
"memory_limit": {
|
|
@@ -241,8 +231,8 @@
|
|
|
241
231
|
},
|
|
242
232
|
"instructions": {
|
|
243
233
|
"type": "string",
|
|
244
|
-
"minLength": 100,
|
|
245
|
-
"maxLength": 8000,
|
|
234
|
+
"minLength": 100,
|
|
235
|
+
"maxLength": 8000,
|
|
246
236
|
"description": "Agent system instructions that define behavior, approach, and constraints. This becomes the agent's system prompt."
|
|
247
237
|
},
|
|
248
238
|
"knowledge": {
|
|
@@ -382,10 +372,8 @@
|
|
|
382
372
|
}
|
|
383
373
|
}
|
|
384
374
|
},
|
|
385
|
-
"additionalProperties": false,
|
|
375
|
+
"additionalProperties": false,
|
|
386
376
|
"definitions": {
|
|
387
|
-
// Resource tier definitions provide guidance for resource allocation
|
|
388
|
-
// These are not enforced by the schema but used by the runtime
|
|
389
377
|
"resource_tier_limits": {
|
|
390
378
|
"intensive": {
|
|
391
379
|
"memory_limit": {"min": 4096, "max": 8192},
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Agent Schema Documentation
|
|
2
|
+
|
|
3
|
+
This document preserves the inline documentation from the agent_schema.json file. The JSON Schema itself must remain comment-free for proper parsing.
|
|
4
|
+
|
|
5
|
+
## Schema Version 1.2.0
|
|
6
|
+
|
|
7
|
+
### Required Fields
|
|
8
|
+
|
|
9
|
+
- **schema_version**: Must match the schema version this agent was built for
|
|
10
|
+
- **agent_id**: Unique identifier for the agent type
|
|
11
|
+
- **agent_version**: Semantic version of this specific agent template
|
|
12
|
+
- **agent_type**: Categorizes the agent's primary function
|
|
13
|
+
- **metadata**: Human-readable information about the agent
|
|
14
|
+
- **capabilities**: Technical specifications and resource requirements
|
|
15
|
+
- **instructions**: System prompt that defines agent behavior
|
|
16
|
+
|
|
17
|
+
### Field Descriptions
|
|
18
|
+
|
|
19
|
+
#### schema_version
|
|
20
|
+
- **Pattern**: `^\d+\.\d+\.\d+$` (Enforces semantic versioning format X.Y.Z)
|
|
21
|
+
- **Description**: Schema version for the agent template format. This ensures compatibility between the agent template and the schema validator. Must be updated when breaking changes are made to the schema.
|
|
22
|
+
- **Examples**: "1.0.0", "1.2.0"
|
|
23
|
+
|
|
24
|
+
#### agent_id
|
|
25
|
+
- **Pattern**: `^[a-z][a-z0-9_]*$` (Must start with lowercase letter, followed by lowercase letters, numbers, or underscores)
|
|
26
|
+
- **Description**: Unique agent identifier used for agent discovery and loading. This ID must be unique across all agents in the system and follows snake_case naming convention.
|
|
27
|
+
- **Examples**: "research_agent", "engineer_agent", "qa_agent", "security_agent"
|
|
28
|
+
|
|
29
|
+
#### agent_version
|
|
30
|
+
- **Pattern**: `^\d+\.\d+\.\d+$` (Enforces semantic versioning for agent templates)
|
|
31
|
+
- **Description**: Semantic version of the agent template itself (not the schema). Increment major for breaking changes, minor for new features, patch for bug fixes.
|
|
32
|
+
- **Examples**: "1.0.0", "2.1.3"
|
|
33
|
+
|
|
34
|
+
#### agent_type
|
|
35
|
+
- **Description**: Type of agent that determines its primary function and default capabilities. This categorization helps in agent discovery and capability matching.
|
|
36
|
+
- **Enum values**:
|
|
37
|
+
- `base`: Generic agent with no specialization
|
|
38
|
+
- `engineer`: Code implementation and development
|
|
39
|
+
- `qa`: Quality assurance and testing
|
|
40
|
+
- `documentation`: Documentation creation and maintenance
|
|
41
|
+
- `research`: Code analysis and research
|
|
42
|
+
- `security`: Security analysis and vulnerability detection
|
|
43
|
+
- `ops`: Operations and infrastructure management
|
|
44
|
+
- `data_engineer`: Data pipeline and ETL development
|
|
45
|
+
- `version_control`: Git and version control operations
|
|
46
|
+
|
|
47
|
+
### Metadata Object
|
|
48
|
+
|
|
49
|
+
#### Required metadata fields:
|
|
50
|
+
- **name**: Human-readable name for UI display
|
|
51
|
+
- **description**: Brief explanation of agent's purpose
|
|
52
|
+
- **tags**: Searchable tags for agent discovery
|
|
53
|
+
|
|
54
|
+
#### Metadata field constraints:
|
|
55
|
+
- **name**:
|
|
56
|
+
- minLength: 3 (Minimum 3 characters for meaningful names)
|
|
57
|
+
- maxLength: 50 (Maximum 50 characters to prevent UI overflow)
|
|
58
|
+
- **description**:
|
|
59
|
+
- minLength: 10 (Minimum 10 characters to ensure meaningful descriptions)
|
|
60
|
+
- maxLength: 200 (Maximum 200 characters for conciseness)
|
|
61
|
+
- **tags**:
|
|
62
|
+
- Pattern: `^[a-z][a-z0-9-]*$` (Lowercase letters, numbers, and hyphens only)
|
|
63
|
+
- minItems: 1 (At least one tag required for discovery)
|
|
64
|
+
- maxItems: 10 (Maximum 10 tags to prevent over-tagging)
|
|
65
|
+
- uniqueItems: true (No duplicate tags allowed)
|
|
66
|
+
|
|
67
|
+
### Capabilities Object
|
|
68
|
+
|
|
69
|
+
#### Required capabilities fields:
|
|
70
|
+
- **model**: Claude model version to use
|
|
71
|
+
- **tools**: Array of allowed tools for the agent
|
|
72
|
+
- **resource_tier**: Resource allocation category
|
|
73
|
+
|
|
74
|
+
#### Model Options
|
|
75
|
+
Available Claude models grouped by performance tier:
|
|
76
|
+
|
|
77
|
+
**Haiku models** (fastest, most cost-effective):
|
|
78
|
+
- claude-3-haiku-20240307
|
|
79
|
+
- claude-3-5-haiku-20241022
|
|
80
|
+
|
|
81
|
+
**Sonnet models** (balanced performance):
|
|
82
|
+
- claude-3-sonnet-20240229
|
|
83
|
+
- claude-3-5-sonnet-20241022
|
|
84
|
+
- claude-3-5-sonnet-20240620
|
|
85
|
+
- claude-sonnet-4-20250514
|
|
86
|
+
- claude-4-sonnet-20250514
|
|
87
|
+
|
|
88
|
+
**Opus models** (highest capability):
|
|
89
|
+
- claude-3-opus-20240229
|
|
90
|
+
- claude-opus-4-20250514
|
|
91
|
+
- claude-4-opus-20250514
|
|
92
|
+
|
|
93
|
+
#### Available Tools
|
|
94
|
+
Tools are grouped by functionality:
|
|
95
|
+
|
|
96
|
+
**File operations**:
|
|
97
|
+
- `Read`: Read file contents
|
|
98
|
+
- `Write`: Write new files
|
|
99
|
+
- `Edit`: Edit existing files
|
|
100
|
+
- `MultiEdit`: Multiple edits in one operation
|
|
101
|
+
|
|
102
|
+
**Search and navigation**:
|
|
103
|
+
- `Grep`: Search file contents
|
|
104
|
+
- `Glob`: Find files by pattern
|
|
105
|
+
- `LS`: List directory contents
|
|
106
|
+
|
|
107
|
+
**System operations**:
|
|
108
|
+
- `Bash`: Execute shell commands
|
|
109
|
+
|
|
110
|
+
**Web operations**:
|
|
111
|
+
- `WebSearch`: Search the web
|
|
112
|
+
- `WebFetch`: Fetch web content
|
|
113
|
+
|
|
114
|
+
**Notebook operations**:
|
|
115
|
+
- `NotebookRead`: Read Jupyter notebooks
|
|
116
|
+
- `NotebookEdit`: Edit Jupyter notebooks
|
|
117
|
+
|
|
118
|
+
**Workflow operations**:
|
|
119
|
+
- `TodoWrite`: Manage task lists
|
|
120
|
+
- `ExitPlanMode`: Exit planning mode
|
|
121
|
+
|
|
122
|
+
**CLI tools** (future expansion):
|
|
123
|
+
- `git`: Git operations
|
|
124
|
+
- `docker`: Docker commands
|
|
125
|
+
- `kubectl`: Kubernetes operations
|
|
126
|
+
- `terraform`: Infrastructure as code
|
|
127
|
+
- `aws`: AWS CLI
|
|
128
|
+
- `gcloud`: Google Cloud CLI
|
|
129
|
+
- `azure`: Azure CLI
|
|
130
|
+
|
|
131
|
+
#### Resource Tiers
|
|
132
|
+
Resource allocation tiers determine memory, CPU, and timeout limits:
|
|
133
|
+
|
|
134
|
+
- **basic**: Default resources for simple tasks
|
|
135
|
+
- **standard**: Medium resources for typical operations
|
|
136
|
+
- **intensive**: High resources for complex tasks
|
|
137
|
+
- **lightweight**: Minimal resources for quick operations
|
|
138
|
+
|
|
139
|
+
#### Capability Constraints
|
|
140
|
+
|
|
141
|
+
**max_tokens**:
|
|
142
|
+
- minimum: 1000 (Minimum for meaningful responses)
|
|
143
|
+
- maximum: 200000 (Maximum supported by Claude models)
|
|
144
|
+
- default: 8192 (Default suitable for most tasks)
|
|
145
|
+
|
|
146
|
+
**temperature**:
|
|
147
|
+
- minimum: 0 (0 = deterministic, focused)
|
|
148
|
+
- maximum: 1 (1 = creative, varied)
|
|
149
|
+
- default: 0.7 (Balanced default)
|
|
150
|
+
|
|
151
|
+
**timeout**:
|
|
152
|
+
- minimum: 30 (Minimum 30 seconds for basic operations)
|
|
153
|
+
- maximum: 3600 (Maximum 1 hour for long-running tasks)
|
|
154
|
+
- default: 300 (Default 5 minutes)
|
|
155
|
+
|
|
156
|
+
### Instructions Field
|
|
157
|
+
- **minLength**: 100 (Minimum to ensure meaningful instructions)
|
|
158
|
+
- **maxLength**: 8000 (Maximum to fit within context limits)
|
|
159
|
+
- **Description**: Agent system instructions that define behavior, approach, and constraints. This becomes the agent's system prompt.
|
|
160
|
+
|
|
161
|
+
### Additional Properties
|
|
162
|
+
- **additionalProperties**: false (Strict validation - no extra properties allowed)
|
|
163
|
+
|
|
164
|
+
## Resource Tier Definitions
|
|
165
|
+
|
|
166
|
+
These definitions provide guidance for resource allocation (not enforced by schema but used by runtime):
|
|
167
|
+
|
|
168
|
+
### Intensive Tier
|
|
169
|
+
- memory_limit: 4096-8192 MB
|
|
170
|
+
- cpu_limit: 60-100%
|
|
171
|
+
- timeout: 600-3600 seconds
|
|
172
|
+
|
|
173
|
+
### Standard Tier
|
|
174
|
+
- memory_limit: 2048-4096 MB
|
|
175
|
+
- cpu_limit: 30-60%
|
|
176
|
+
- timeout: 300-1200 seconds
|
|
177
|
+
|
|
178
|
+
### Lightweight Tier
|
|
179
|
+
- memory_limit: 512-2048 MB
|
|
180
|
+
- cpu_limit: 10-30%
|
|
181
|
+
- timeout: 30-600 seconds
|