ccmanager 4.0.0 → 4.0.1

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.
@@ -32,7 +32,7 @@ const DEFAULT_COMMANDS = {
32
32
  claude: 'claude',
33
33
  gemini: 'gemini',
34
34
  codex: 'codex',
35
- cursor: 'cursor',
35
+ cursor: 'agent',
36
36
  'github-copilot': 'copilot',
37
37
  cline: 'cline',
38
38
  opencode: 'opencode',
@@ -6,7 +6,10 @@ export class CursorStateDetector extends BaseStateDetector {
6
6
  // Check for waiting prompts - Priority 1
7
7
  if (lowerContent.includes('(y) (enter)') ||
8
8
  lowerContent.includes('keep (n)') ||
9
- /auto .* \(shift\+tab\)/.test(lowerContent)) {
9
+ /auto .* \(shift\+tab\)/.test(lowerContent) ||
10
+ /allow .+ \(y\)/.test(lowerContent) ||
11
+ /run .+ \(y\)/.test(lowerContent) ||
12
+ lowerContent.includes('skip (esc or n)')) {
10
13
  return 'waiting_input';
11
14
  }
12
15
  // Check for busy state - Priority 2
@@ -79,6 +79,41 @@ describe('CursorStateDetector', () => {
79
79
  // Assert
80
80
  expect(state).toBe('waiting_input');
81
81
  });
82
+ it('should detect waiting_input state for Allow ... (y) pattern', () => {
83
+ // Arrange
84
+ terminal = createMockTerminal([
85
+ 'Allow this web search?',
86
+ ' → Allow search (y)',
87
+ ' Run Everything (shift+tab)',
88
+ ' Skip (esc or n)',
89
+ ]);
90
+ // Act
91
+ const state = detector.detectState(terminal, 'idle');
92
+ // Assert
93
+ expect(state).toBe('waiting_input');
94
+ });
95
+ it('should detect waiting_input state for Run ... (y) pattern', () => {
96
+ // Arrange
97
+ terminal = createMockTerminal([
98
+ 'Run this command?',
99
+ 'Not in allowlist: cd /some/path, npm run test',
100
+ ' → Run (once) (y)',
101
+ ' Run Everything (shift+tab)',
102
+ ' Skip (esc or n)',
103
+ ]);
104
+ // Act
105
+ const state = detector.detectState(terminal, 'idle');
106
+ // Assert
107
+ expect(state).toBe('waiting_input');
108
+ });
109
+ it('should detect waiting_input state for Skip (esc or n) pattern', () => {
110
+ // Arrange
111
+ terminal = createMockTerminal(['Some prompt', ' Skip (esc or n)']);
112
+ // Act
113
+ const state = detector.detectState(terminal, 'idle');
114
+ // Assert
115
+ expect(state).toBe('waiting_input');
116
+ });
82
117
  it('should detect busy state for ctrl+c to stop pattern', () => {
83
118
  // Arrange
84
119
  terminal = createMockTerminal([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccmanager",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "TUI application for managing multiple Claude Code sessions across Git worktrees",
5
5
  "license": "MIT",
6
6
  "author": "Kodai Kabasawa",
@@ -41,11 +41,11 @@
41
41
  "bin"
42
42
  ],
43
43
  "optionalDependencies": {
44
- "@kodaikabasawa/ccmanager-darwin-arm64": "4.0.0",
45
- "@kodaikabasawa/ccmanager-darwin-x64": "4.0.0",
46
- "@kodaikabasawa/ccmanager-linux-arm64": "4.0.0",
47
- "@kodaikabasawa/ccmanager-linux-x64": "4.0.0",
48
- "@kodaikabasawa/ccmanager-win32-x64": "4.0.0"
44
+ "@kodaikabasawa/ccmanager-darwin-arm64": "4.0.1",
45
+ "@kodaikabasawa/ccmanager-darwin-x64": "4.0.1",
46
+ "@kodaikabasawa/ccmanager-linux-arm64": "4.0.1",
47
+ "@kodaikabasawa/ccmanager-linux-x64": "4.0.1",
48
+ "@kodaikabasawa/ccmanager-win32-x64": "4.0.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@eslint/js": "^9.28.0",