claude-team-mcp 0.6.0__tar.gz → 0.6.1__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_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.pebbles/events.jsonl +3 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.pebbles/pebbles.db +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/CHANGELOG.md +5 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/PKG-INFO +1 -1
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/pyproject.toml +1 -1
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/cli_backends/codex.py +4 -4
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/worker_prompt.py +1 -1
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_cli_backends.py +7 -7
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/uv.lock +1 -1
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.beads/issues.jsonl +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.claude/settings.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.claude/settings.local.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.claude-plugin/marketplace.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.claude-plugin/plugin.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.gitattributes +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.gitignore +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.mcp.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.pebbles/.gitignore +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/.pebbles/config.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/CLAUDE.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/HAPPY_INTEGRATION_RESEARCH.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/Makefile +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/NOTES.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/README.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/check-workers.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/cleanup-worktrees.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/merge-worker.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/pr-worker.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/spawn-workers.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/commands/team-summary.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/config/mcporter.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/docs/ISSUE_TRACKER_ABSTRACTION.md +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/scripts/install-commands.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/settings.json +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/__main__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/cli_backends/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/cli_backends/base.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/cli_backends/claude.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/colors.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/formatting.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/idle_detection.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/issue_tracker/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/iterm_utils.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/names.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/profile.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/registry.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/schemas/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/schemas/codex.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/server.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/session_state.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/subprocess_cache.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/adopt_worker.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/annotate_worker.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/check_idle_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/close_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/discover_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/examine_worker.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/issue_tracker_help.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/list_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/list_worktrees.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/message_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/read_worker_logs.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/spawn_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/wait_idle_workers.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/utils/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/utils/constants.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/utils/errors.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/utils/worktree_detection.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/worktree.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/__init__.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_codex_schema.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_colors.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_formatting.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_idle_detection.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_issue_tracker.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_issue_tracker_integration.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_iterm_utils.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_names.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_registry.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_session_state.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_worker_prompt.py +0 -0
- {claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/tests/test_worktree_detection.py +0 -0
|
@@ -54,3 +54,6 @@
|
|
|
54
54
|
{"type":"create","timestamp":"2026-01-21T19:06:11.932386Z","issue_id":"cic-c09","payload":{"description":"Three tests in test_cli_backends.py are failing because they expect --full-auto flag but implementation uses --dangerously-bypass-approvals-and-sandbox. Need to investigate which is correct and update either the implementation or tests accordingly.","priority":"2","title":"Fix failing Codex CLI tests","type":"task"}}
|
|
55
55
|
{"type":"status_update","timestamp":"2026-01-21T19:06:35.580259Z","issue_id":"cic-c09","payload":{"status":"in_progress"}}
|
|
56
56
|
{"type":"close","timestamp":"2026-01-21T19:08:45.621746Z","issue_id":"cic-c09","payload":{}}
|
|
57
|
+
{"type":"create","timestamp":"2026-01-21T19:49:17.679651Z","issue_id":"cic-13e","payload":{"description":"Codex CLI should use --dangerously-bypass-approvals-and-sandbox instead of --full-auto when skip_permissions is requested.","priority":"1","title":"Fix Codex skip permissions flag","type":"bug"}}
|
|
58
|
+
{"type":"status_update","timestamp":"2026-01-21T19:49:19.650961Z","issue_id":"cic-13e","payload":{"status":"in_progress"}}
|
|
59
|
+
{"type":"close","timestamp":"2026-01-21T19:50:32.252535Z","issue_id":"cic-13e","payload":{}}
|
|
Binary file
|
|
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.6.1] - 2026-01-21
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Correct Codex skip-permissions flag (use `--dangerously-bypass-approvals-and-sandbox`)
|
|
14
|
+
|
|
10
15
|
## [0.6.0] - 2026-01-21
|
|
11
16
|
|
|
12
17
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-team-mcp
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.1
|
|
4
4
|
Summary: MCP server for managing multiple Claude Code sessions via iTerm2
|
|
5
5
|
Project-URL: Homepage, https://github.com/Martian-Engineering/claude-team
|
|
6
6
|
Project-URL: Repository, https://github.com/Martian-Engineering/claude-team
|
|
@@ -22,7 +22,7 @@ class CodexCLI(AgentCLI):
|
|
|
22
22
|
|
|
23
23
|
Codex CLI characteristics:
|
|
24
24
|
- Uses `codex` command
|
|
25
|
-
- Has --
|
|
25
|
+
- Has --dangerously-bypass-approvals-and-sandbox flag for non-interactive mode
|
|
26
26
|
- No known Stop hook equivalent (may need JSONL streaming or timeouts)
|
|
27
27
|
"""
|
|
28
28
|
|
|
@@ -50,7 +50,7 @@ class CodexCLI(AgentCLI):
|
|
|
50
50
|
Build Codex CLI arguments for interactive mode.
|
|
51
51
|
|
|
52
52
|
Args:
|
|
53
|
-
dangerously_skip_permissions: Maps to --
|
|
53
|
+
dangerously_skip_permissions: Maps to --dangerously-bypass-approvals-and-sandbox for Codex
|
|
54
54
|
settings_file: Ignored - Codex doesn't support settings injection
|
|
55
55
|
|
|
56
56
|
Returns:
|
|
@@ -58,9 +58,9 @@ class CodexCLI(AgentCLI):
|
|
|
58
58
|
"""
|
|
59
59
|
args: list[str] = []
|
|
60
60
|
|
|
61
|
-
# Codex uses --
|
|
61
|
+
# Codex uses --dangerously-bypass-approvals-and-sandbox for autonomous operation.
|
|
62
62
|
if dangerously_skip_permissions:
|
|
63
|
-
args.append("--
|
|
63
|
+
args.append("--dangerously-bypass-approvals-and-sandbox")
|
|
64
64
|
|
|
65
65
|
# Note: settings_file is ignored - Codex doesn't support this
|
|
66
66
|
# Idle detection uses session file polling instead
|
|
@@ -254,7 +254,7 @@ def _generate_codex_worker_prompt(
|
|
|
254
254
|
Codex workers differ from Claude:
|
|
255
255
|
- No claude-team MCP markers (Codex doesn't parse JSONL markers)
|
|
256
256
|
- No Stop hook idle detection (uses output pattern matching or timeouts)
|
|
257
|
-
- Runs with --
|
|
257
|
+
- Runs with --dangerously-bypass-approvals-and-sandbox instead of --dangerously-skip-permissions
|
|
258
258
|
|
|
259
259
|
Args:
|
|
260
260
|
session_id: The unique identifier for this worker session
|
|
@@ -158,11 +158,11 @@ class TestCodexCLI:
|
|
|
158
158
|
args = cli.build_args()
|
|
159
159
|
assert args == []
|
|
160
160
|
|
|
161
|
-
def
|
|
162
|
-
"""skip_permissions should map to --
|
|
161
|
+
def test_build_args_skip_permissions_maps_to_bypass_approvals(self):
|
|
162
|
+
"""skip_permissions should map to --dangerously-bypass-approvals-and-sandbox for Codex."""
|
|
163
163
|
cli = CodexCLI()
|
|
164
164
|
args = cli.build_args(dangerously_skip_permissions=True)
|
|
165
|
-
assert "--
|
|
165
|
+
assert "--dangerously-bypass-approvals-and-sandbox" in args
|
|
166
166
|
|
|
167
167
|
def test_build_args_settings_file_ignored(self):
|
|
168
168
|
"""Settings file should be ignored (Codex doesn't support it)."""
|
|
@@ -195,20 +195,20 @@ class TestCodexCLI:
|
|
|
195
195
|
cmd = cli.build_full_command()
|
|
196
196
|
assert cmd == "codex"
|
|
197
197
|
|
|
198
|
-
def
|
|
199
|
-
"""build_full_command should add --
|
|
198
|
+
def test_build_full_command_with_bypass_approvals(self):
|
|
199
|
+
"""build_full_command should add --dangerously-bypass-approvals-and-sandbox."""
|
|
200
200
|
with patch.dict(os.environ, {}, clear=True):
|
|
201
201
|
os.environ.pop("CLAUDE_TEAM_CODEX_COMMAND", None)
|
|
202
202
|
cli = CodexCLI()
|
|
203
203
|
cmd = cli.build_full_command(dangerously_skip_permissions=True)
|
|
204
|
-
assert cmd == "codex --
|
|
204
|
+
assert cmd == "codex --dangerously-bypass-approvals-and-sandbox"
|
|
205
205
|
|
|
206
206
|
def test_build_full_command_with_env_var(self):
|
|
207
207
|
"""build_full_command should use CLAUDE_TEAM_CODEX_COMMAND."""
|
|
208
208
|
with patch.dict(os.environ, {"CLAUDE_TEAM_CODEX_COMMAND": "happy codex"}):
|
|
209
209
|
cli = CodexCLI()
|
|
210
210
|
cmd = cli.build_full_command(dangerously_skip_permissions=True)
|
|
211
|
-
assert cmd == "happy codex --
|
|
211
|
+
assert cmd == "happy codex --dangerously-bypass-approvals-and-sandbox"
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
class TestGetCliBackend:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/cli_backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/issue_tracker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/annotate_worker.py
RENAMED
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/check_idle_workers.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/discover_workers.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/issue_tracker_help.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/message_workers.py
RENAMED
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/read_worker_logs.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/tools/wait_idle_workers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_team_mcp-0.6.0 → claude_team_mcp-0.6.1}/src/claude_team_mcp/utils/worktree_detection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|