claude-mpm 3.3.2__py3-none-any.whl → 3.4.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.
Files changed (40) hide show
  1. claude_mpm/cli/commands/memory.py +186 -13
  2. claude_mpm/cli/parser.py +13 -1
  3. claude_mpm/constants.py +1 -0
  4. claude_mpm/core/claude_runner.py +61 -0
  5. claude_mpm/core/config.py +1 -1
  6. claude_mpm/core/simple_runner.py +61 -0
  7. claude_mpm/hooks/builtin/mpm_command_hook.py +5 -5
  8. claude_mpm/hooks/claude_hooks/hook_handler.py +211 -4
  9. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +9 -2
  10. claude_mpm/hooks/memory_integration_hook.py +51 -5
  11. claude_mpm/services/__init__.py +23 -5
  12. claude_mpm/services/agent_memory_manager.py +536 -48
  13. claude_mpm/services/memory_builder.py +338 -6
  14. claude_mpm/services/project_analyzer.py +771 -0
  15. claude_mpm/services/socketio_server.py +473 -33
  16. claude_mpm/services/version_control/git_operations.py +26 -0
  17. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/METADATA +34 -10
  18. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/RECORD +22 -39
  19. claude_mpm/agents/agent-template.yaml +0 -83
  20. claude_mpm/agents/test_fix_deployment/.claude-pm/config/project.json +0 -6
  21. claude_mpm/cli/README.md +0 -109
  22. claude_mpm/cli_module/refactoring_guide.md +0 -253
  23. claude_mpm/core/agent_registry.py.bak +0 -312
  24. claude_mpm/core/base_service.py.bak +0 -406
  25. claude_mpm/hooks/README.md +0 -97
  26. claude_mpm/orchestration/SUBPROCESS_DESIGN.md +0 -66
  27. claude_mpm/schemas/README_SECURITY.md +0 -92
  28. claude_mpm/schemas/agent_schema.json +0 -395
  29. claude_mpm/schemas/agent_schema_documentation.md +0 -181
  30. claude_mpm/schemas/agent_schema_security_notes.md +0 -165
  31. claude_mpm/schemas/examples/standard_workflow.json +0 -505
  32. claude_mpm/schemas/ticket_workflow_documentation.md +0 -482
  33. claude_mpm/schemas/ticket_workflow_schema.json +0 -590
  34. claude_mpm/services/framework_claude_md_generator/README.md +0 -92
  35. claude_mpm/services/parent_directory_manager/README.md +0 -83
  36. claude_mpm/services/version_control/VERSION +0 -1
  37. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/WHEEL +0 -0
  38. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/entry_points.txt +0 -0
  39. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/licenses/LICENSE +0 -0
  40. {claude_mpm-3.3.2.dist-info → claude_mpm-3.4.0.dist-info}/top_level.txt +0 -0
@@ -1,395 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "version": "1.2.0",
4
- "title": "Claude MPM Agent Schema",
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
- "type": "object",
7
- "required": [
8
- "schema_version",
9
- "agent_id",
10
- "agent_version",
11
- "agent_type",
12
- "metadata",
13
- "capabilities",
14
- "instructions"
15
- ],
16
- "properties": {
17
- "schema_version": {
18
- "type": "string",
19
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
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
- "examples": ["1.0.0", "1.2.0"]
22
- },
23
- "agent_id": {
24
- "type": "string",
25
- "pattern": "^[a-z][a-z0-9_]*$",
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
- "type": "string",
31
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
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
- "examples": ["1.0.0", "2.1.3"]
34
- },
35
- "agent_type": {
36
- "type": "string",
37
- "description": "Type of agent that determines its primary function and default capabilities. This categorization helps in agent discovery and capability matching.",
38
- "enum": [
39
- "base",
40
- "engineer",
41
- "qa",
42
- "documentation",
43
- "research",
44
- "security",
45
- "ops",
46
- "data_engineer",
47
- "version_control"
48
- ]
49
- },
50
- "metadata": {
51
- "type": "object",
52
- "required": [
53
- "name",
54
- "description",
55
- "tags"
56
- ],
57
- "properties": {
58
- "name": {
59
- "type": "string",
60
- "minLength": 3,
61
- "maxLength": 50,
62
- "description": "Human-readable agent name displayed in UI and logs. Should be concise but descriptive."
63
- },
64
- "description": {
65
- "type": "string",
66
- "minLength": 10,
67
- "maxLength": 200,
68
- "description": "Brief description of agent purpose and capabilities. Used in agent selection and documentation."
69
- },
70
- "category": {
71
- "type": "string",
72
- "enum": ["engineering", "research", "quality", "operations", "specialized"],
73
- "description": "Agent category for organization"
74
- },
75
- "tags": {
76
- "type": "array",
77
- "items": {
78
- "type": "string",
79
- "pattern": "^[a-z][a-z0-9-]*$"
80
- },
81
- "minItems": 1,
82
- "maxItems": 10,
83
- "uniqueItems": true,
84
- "description": "Tags for agent discovery and categorization. Used by the agent registry for searching and filtering."
85
- },
86
- "author": {
87
- "type": "string",
88
- "description": "Agent template author"
89
- },
90
- "created_at": {
91
- "type": "string",
92
- "format": "date-time",
93
- "description": "Creation timestamp"
94
- },
95
- "updated_at": {
96
- "type": "string",
97
- "format": "date-time",
98
- "description": "Last update timestamp"
99
- }
100
- }
101
- },
102
- "capabilities": {
103
- "type": "object",
104
- "required": [
105
- "model",
106
- "tools",
107
- "resource_tier"
108
- ],
109
- "properties": {
110
- "model": {
111
- "type": "string",
112
- "enum": [
113
- "claude-3-haiku-20240307",
114
- "claude-3-5-haiku-20241022",
115
- "claude-3-sonnet-20240229",
116
- "claude-3-5-sonnet-20241022",
117
- "claude-3-5-sonnet-20240620",
118
- "claude-sonnet-4-20250514",
119
- "claude-4-sonnet-20250514",
120
- "claude-3-opus-20240229",
121
- "claude-opus-4-20250514",
122
- "claude-4-opus-20250514"
123
- ],
124
- "description": "Claude model to use for this agent. Choose based on task complexity and performance requirements."
125
- },
126
- "tools": {
127
- "type": "array",
128
- "items": {
129
- "type": "string",
130
- "enum": [
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"
152
- ]
153
- },
154
- "uniqueItems": true,
155
- "description": "Available tools for the agent. Tools determine what operations the agent can perform."
156
- },
157
- "resource_tier": {
158
- "type": "string",
159
- "enum": [
160
- "basic",
161
- "standard",
162
- "intensive",
163
- "lightweight"
164
- ],
165
- "description": "Resource allocation tier that determines memory, CPU, and timeout limits. See definitions section for specific limits."
166
- },
167
- "max_tokens": {
168
- "type": "integer",
169
- "minimum": 1000,
170
- "maximum": 200000,
171
- "default": 8192,
172
- "description": "Maximum tokens for response generation. Higher values allow longer responses but increase cost and latency."
173
- },
174
- "temperature": {
175
- "type": "number",
176
- "minimum": 0,
177
- "maximum": 1,
178
- "default": 0.7,
179
- "description": "Model temperature setting controlling response randomness. Lower values for consistency, higher for creativity."
180
- },
181
- "timeout": {
182
- "type": "integer",
183
- "minimum": 30,
184
- "maximum": 3600,
185
- "default": 300,
186
- "description": "Operation timeout in seconds. Should align with resource_tier settings."
187
- },
188
- "memory_limit": {
189
- "type": "integer",
190
- "minimum": 512,
191
- "maximum": 8192,
192
- "description": "Memory limit in MB (for resource tier)"
193
- },
194
- "cpu_limit": {
195
- "type": "integer",
196
- "minimum": 10,
197
- "maximum": 100,
198
- "description": "CPU limit percentage (for resource tier)"
199
- },
200
- "network_access": {
201
- "type": "boolean",
202
- "default": false,
203
- "description": "Whether agent needs network access"
204
- },
205
- "file_access": {
206
- "type": "object",
207
- "properties": {
208
- "read_paths": {
209
- "type": "array",
210
- "items": {"type": "string"},
211
- "description": "Allowed read paths"
212
- },
213
- "write_paths": {
214
- "type": "array",
215
- "items": {"type": "string"},
216
- "description": "Allowed write paths"
217
- }
218
- }
219
- },
220
- "allowed_tools": {
221
- "type": "array",
222
- "items": {"type": "string"},
223
- "description": "Glob patterns for allowed file paths. Restricts which files the agent can access (e.g., 'tests/**' for test files only)."
224
- },
225
- "disallowed_tools": {
226
- "type": "array",
227
- "items": {"type": "string"},
228
- "description": "Tool names to explicitly disallow, overriding the tools array. Use for security restrictions (e.g., 'Bash' to prevent shell access)."
229
- }
230
- }
231
- },
232
- "instructions": {
233
- "type": "string",
234
- "minLength": 100,
235
- "maxLength": 8000,
236
- "description": "Agent system instructions that define behavior, approach, and constraints. This becomes the agent's system prompt."
237
- },
238
- "knowledge": {
239
- "type": "object",
240
- "description": "Agent-specific knowledge and context",
241
- "properties": {
242
- "domain_expertise": {
243
- "type": "array",
244
- "items": {"type": "string"},
245
- "description": "Areas of expertise"
246
- },
247
- "best_practices": {
248
- "type": "array",
249
- "items": {"type": "string"},
250
- "description": "Best practices the agent follows"
251
- },
252
- "constraints": {
253
- "type": "array",
254
- "items": {"type": "string"},
255
- "description": "Operating constraints"
256
- },
257
- "examples": {
258
- "type": "array",
259
- "items": {
260
- "type": "object",
261
- "properties": {
262
- "scenario": {"type": "string"},
263
- "approach": {"type": "string"}
264
- }
265
- },
266
- "description": "Example scenarios and approaches"
267
- }
268
- }
269
- },
270
- "interactions": {
271
- "type": "object",
272
- "description": "Agent interaction patterns",
273
- "properties": {
274
- "input_format": {
275
- "type": "object",
276
- "properties": {
277
- "required_fields": {
278
- "type": "array",
279
- "items": {"type": "string"}
280
- },
281
- "optional_fields": {
282
- "type": "array",
283
- "items": {"type": "string"}
284
- }
285
- }
286
- },
287
- "output_format": {
288
- "type": "object",
289
- "properties": {
290
- "structure": {
291
- "type": "string",
292
- "enum": ["markdown", "json", "structured", "free-form"]
293
- },
294
- "includes": {
295
- "type": "array",
296
- "items": {"type": "string"}
297
- }
298
- }
299
- },
300
- "handoff_agents": {
301
- "type": "array",
302
- "items": {"type": "string"},
303
- "description": "Agents this agent can hand off to"
304
- },
305
- "triggers": {
306
- "type": "array",
307
- "items": {
308
- "type": "object",
309
- "properties": {
310
- "condition": {"type": "string"},
311
- "action": {"type": "string"}
312
- }
313
- },
314
- "description": "Conditions that trigger specific actions"
315
- }
316
- }
317
- },
318
- "testing": {
319
- "type": "object",
320
- "description": "Testing configuration for the agent",
321
- "properties": {
322
- "test_cases": {
323
- "type": "array",
324
- "items": {
325
- "type": "object",
326
- "required": ["input", "expected_behavior"],
327
- "properties": {
328
- "name": {"type": "string"},
329
- "input": {"type": "string"},
330
- "expected_behavior": {"type": "string"},
331
- "validation_criteria": {
332
- "type": "array",
333
- "items": {"type": "string"}
334
- }
335
- }
336
- }
337
- },
338
- "performance_benchmarks": {
339
- "type": "object",
340
- "properties": {
341
- "response_time": {"type": "integer"},
342
- "token_usage": {"type": "integer"},
343
- "success_rate": {"type": "number"}
344
- }
345
- }
346
- }
347
- },
348
- "hooks": {
349
- "type": "object",
350
- "description": "Hook configurations for extensibility",
351
- "properties": {
352
- "pre_execution": {
353
- "type": "array",
354
- "items": {
355
- "type": "object",
356
- "properties": {
357
- "name": {"type": "string"},
358
- "enabled": {"type": "boolean"}
359
- }
360
- }
361
- },
362
- "post_execution": {
363
- "type": "array",
364
- "items": {
365
- "type": "object",
366
- "properties": {
367
- "name": {"type": "string"},
368
- "enabled": {"type": "boolean"}
369
- }
370
- }
371
- }
372
- }
373
- }
374
- },
375
- "additionalProperties": false,
376
- "definitions": {
377
- "resource_tier_limits": {
378
- "intensive": {
379
- "memory_limit": {"min": 4096, "max": 8192},
380
- "cpu_limit": {"min": 60, "max": 100},
381
- "timeout": {"min": 600, "max": 3600}
382
- },
383
- "standard": {
384
- "memory_limit": {"min": 2048, "max": 4096},
385
- "cpu_limit": {"min": 30, "max": 60},
386
- "timeout": {"min": 300, "max": 1200}
387
- },
388
- "lightweight": {
389
- "memory_limit": {"min": 512, "max": 2048},
390
- "cpu_limit": {"min": 10, "max": 30},
391
- "timeout": {"min": 30, "max": 600}
392
- }
393
- }
394
- }
395
- }
@@ -1,181 +0,0 @@
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