claudito 0.7.1 → 0.8.0
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.
- package/README.md +116 -2
- package/dist/agents/agent-manager.d.ts +15 -2
- package/dist/agents/agent-manager.d.ts.map +1 -1
- package/dist/agents/agent-manager.js +90 -10
- package/dist/agents/agent-manager.js.map +1 -1
- package/dist/agents/claude-agent.d.ts +20 -1
- package/dist/agents/claude-agent.d.ts.map +1 -1
- package/dist/agents/claude-agent.js +165 -18
- package/dist/agents/claude-agent.js.map +1 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -1
- package/dist/config/index.js.map +1 -1
- package/dist/middleware/auth-middleware.d.ts +24 -0
- package/dist/middleware/auth-middleware.d.ts.map +1 -0
- package/dist/middleware/auth-middleware.js +49 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +2 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +18 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/repositories/settings.d.ts +16 -0
- package/dist/repositories/settings.d.ts.map +1 -1
- package/dist/repositories/settings.js +32 -0
- package/dist/repositories/settings.js.map +1 -1
- package/dist/routes/auth.d.ts +14 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +65 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +17 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/projects.d.ts +3 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +274 -141
- package/dist/routes/projects.js.map +1 -1
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +67 -3
- package/dist/server/index.js.map +1 -1
- package/dist/services/auth-service.d.ts +39 -0
- package/dist/services/auth-service.d.ts.map +1 -0
- package/dist/services/auth-service.js +106 -0
- package/dist/services/auth-service.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/roadmap-generator.d.ts.map +1 -1
- package/dist/services/roadmap-generator.js +34 -1
- package/dist/services/roadmap-generator.js.map +1 -1
- package/dist/services/shell-service.d.ts +59 -0
- package/dist/services/shell-service.d.ts.map +1 -0
- package/dist/services/shell-service.js +307 -0
- package/dist/services/shell-service.js.map +1 -0
- package/dist/utils/qr-generator.d.ts +17 -0
- package/dist/utils/qr-generator.d.ts.map +1 -0
- package/dist/utils/qr-generator.js +101 -0
- package/dist/utils/qr-generator.js.map +1 -0
- package/dist/utils/word-lists.d.ts +12 -0
- package/dist/utils/word-lists.d.ts.map +1 -0
- package/dist/utils/word-lists.js +34 -0
- package/dist/utils/word-lists.js.map +1 -0
- package/dist/websocket/websocket-server.d.ts +21 -3
- package/dist/websocket/websocket-server.d.ts.map +1 -1
- package/dist/websocket/websocket-server.js +65 -1
- package/dist/websocket/websocket-server.js.map +1 -1
- package/package.json +7 -1
- package/public/css/styles.css +29 -0
- package/public/index.html +83 -6
- package/public/js/app.js +2825 -8570
- package/public/js/login.js +134 -0
- package/public/js/modules/api-client.js +575 -0
- package/public/js/modules/conversation-history-module.js +244 -0
- package/public/js/modules/debug-modal.js +596 -0
- package/public/js/modules/diff-engine.js +513 -0
- package/public/js/modules/escape-utils.js +48 -0
- package/public/js/modules/file-browser.js +803 -0
- package/public/js/modules/file-cache.js +146 -0
- package/public/js/modules/folder-browser-module.js +280 -0
- package/public/js/modules/formatters.js +217 -0
- package/public/js/modules/git-module.js +1023 -0
- package/public/js/modules/image-attachment-module.js +239 -0
- package/public/js/modules/local-storage.js +109 -0
- package/public/js/modules/message-renderer.js +358 -0
- package/public/js/modules/modals-module.js +376 -0
- package/public/js/modules/permission-mode-module.js +353 -0
- package/public/js/modules/roadmap-module.js +342 -0
- package/public/js/modules/search-module.js +476 -0
- package/public/js/modules/shell-module.js +408 -0
- package/public/js/modules/state-module.js +324 -0
- package/public/js/modules/task-display-module.js +534 -0
- package/public/js/modules/tool-renderer.js +585 -0
- package/public/js/modules/validators.js +95 -0
- package/public/js/modules/websocket-module.js +323 -0
- package/public/js/utils.js +313 -0
- package/public/login.html +72 -0
- package/public/vendor/addon-fit.js +2 -0
- package/public/vendor/addon-web-links.js +2 -0
- package/public/vendor/xterm.css +218 -0
- package/public/vendor/xterm.js +2 -0
package/README.md
CHANGED
|
@@ -10,6 +10,33 @@ A web-based manager for [Claude Code](https://docs.anthropic.com/en/docs/claude-
|
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
13
|
+
## What's New in 0.8.0
|
|
14
|
+
|
|
15
|
+
- **Shell Terminal**: Full PTY-based terminal integrated into the UI with proper terminal emulation via node-pty
|
|
16
|
+
- **Authentication**: Built-in login system
|
|
17
|
+
- **Bug Fixes & Stability**: Numerous fixes improving overall reliability
|
|
18
|
+
|
|
19
|
+
## Security Considerations
|
|
20
|
+
|
|
21
|
+
> **Important**: Claudito runs Claude Code agents that can execute code and modify files on your system. Take these precautions:
|
|
22
|
+
|
|
23
|
+
| Scenario | Recommended HOST | Notes |
|
|
24
|
+
|----------|------------------|-------|
|
|
25
|
+
| **Local development** | `127.0.0.1` or `localhost` | Only accessible from your machine (default) |
|
|
26
|
+
| **LAN access** | Your private IP (e.g., `192.168.1.x`) | Accessible from your local network |
|
|
27
|
+
| **All interfaces** | `0.0.0.0` | Accessible from anywhere - use with caution |
|
|
28
|
+
|
|
29
|
+
**Best Practices:**
|
|
30
|
+
1. **Use authentication**: Claudito requires login by default. Set custom credentials for production:
|
|
31
|
+
```bash
|
|
32
|
+
CLAUDITO_USERNAME=myuser CLAUDITO_PASSWORD=mystrongpassword claudito
|
|
33
|
+
```
|
|
34
|
+
2. **Avoid exposing to the internet**: Use a reverse proxy with HTTPS if needed
|
|
35
|
+
3. **Configure firewall rules**: Only allow trusted IP addresses
|
|
36
|
+
4. **Review permission rules**: Configure Claude Code permissions to restrict agent capabilities
|
|
37
|
+
|
|
38
|
+
See [Security Recommendations](#security-recommendations) for more details.
|
|
39
|
+
|
|
13
40
|
## Quick Start
|
|
14
41
|
|
|
15
42
|
```bash
|
|
@@ -25,6 +52,7 @@ Open your browser at **http://localhost:3000** to access the web UI.
|
|
|
25
52
|
|
|
26
53
|
## Table of Contents
|
|
27
54
|
|
|
55
|
+
- [Security Considerations](#security-considerations)
|
|
28
56
|
- [Requirements](#requirements)
|
|
29
57
|
- [Installation](#installation)
|
|
30
58
|
- [Usage](#usage)
|
|
@@ -33,7 +61,8 @@ Open your browser at **http://localhost:3000** to access the web UI.
|
|
|
33
61
|
- [Data Storage](#data-storage)
|
|
34
62
|
- [API Reference](#api-reference)
|
|
35
63
|
- [Development](#development)
|
|
36
|
-
- [
|
|
64
|
+
- [Security Recommendations](#security-recommendations)
|
|
65
|
+
- [Troubleshooting](#troubleshooting)
|
|
37
66
|
- [License](#license)
|
|
38
67
|
|
|
39
68
|
## Requirements
|
|
@@ -145,6 +174,9 @@ set PORT=8080 && set HOST=0.0.0.0 && claudito
|
|
|
145
174
|
| `LOG_LEVEL` | `info` | Log level (debug/info/warn/error) |
|
|
146
175
|
| `MAX_CONCURRENT_AGENTS` | `3` | Maximum concurrent agents |
|
|
147
176
|
| `DEV_MODE` | `true` (dev) / `false` (prod) | Enable development features |
|
|
177
|
+
| `CLAUDITO_USERNAME` | (generated) | Override login username |
|
|
178
|
+
| `CLAUDITO_PASSWORD` | (generated) | Override login password |
|
|
179
|
+
| `CLAUDITO_FORCE_SHELL_ENABLED` | `0` | Force-enable shell on all interfaces (security risk) |
|
|
148
180
|
|
|
149
181
|
## Features
|
|
150
182
|
|
|
@@ -176,11 +208,22 @@ Runs through ROADMAP.md milestones automatically.
|
|
|
176
208
|
- **Concurrent Execution**: Run multiple agents at once (configurable limit)
|
|
177
209
|
- **Queue System**: Automatic queuing when at max capacity
|
|
178
210
|
|
|
211
|
+
### Authentication
|
|
212
|
+
|
|
213
|
+
Claudito includes built-in authentication to protect your agent manager:
|
|
214
|
+
|
|
215
|
+
- **Auto-generated credentials**: On each server start, a unique username and password are generated
|
|
216
|
+
- **QR Code login**: Scan the QR code displayed in the terminal for quick access
|
|
217
|
+
- **Session persistence**: Sessions last 7 days
|
|
218
|
+
- **Custom credentials**: Set `CLAUDITO_USERNAME` and `CLAUDITO_PASSWORD` environment variables for persistent credentials
|
|
219
|
+
- **Logout**: Click the logout button in the sidebar header
|
|
220
|
+
|
|
179
221
|
### User Interface
|
|
180
222
|
|
|
181
223
|
| Feature | Description |
|
|
182
224
|
|---------|-------------|
|
|
183
|
-
| **Tabbed Interface** | Switch between Agent Output, Project Files, and Git |
|
|
225
|
+
| **Tabbed Interface** | Switch between Agent Output, Project Files, Shell, and Git |
|
|
226
|
+
| **Shell Terminal** | Full PTY terminal with directory restriction to project folder |
|
|
184
227
|
| **File Browser** | Browse, view, edit, create, delete files and folders |
|
|
185
228
|
| **Syntax Highlighting** | 30+ languages supported via highlight.js |
|
|
186
229
|
| **Tool Visualization** | See Claude's tool usage with icons and arguments |
|
|
@@ -226,6 +269,20 @@ Full Git support directly in the UI:
|
|
|
226
269
|
- **Color Coding**: Red for removed, green for added, orange for modified lines
|
|
227
270
|
- **Syntax Highlighting**: Language-aware highlighting preserved in diffs
|
|
228
271
|
|
|
272
|
+
### Shell Terminal
|
|
273
|
+
|
|
274
|
+
A full PTY-based terminal integrated into the UI:
|
|
275
|
+
|
|
276
|
+
| Feature | Description |
|
|
277
|
+
|---------|-------------|
|
|
278
|
+
| **PTY Support** | True terminal emulation with proper input handling |
|
|
279
|
+
| **Directory Restriction** | Users cannot navigate outside the project folder |
|
|
280
|
+
| **Resize Support** | Terminal resizes with the browser window |
|
|
281
|
+
| **PowerShell/Bash** | Uses PowerShell on Windows, bash on Unix |
|
|
282
|
+
| **Session Persistence** | Shell sessions persist while browsing other tabs |
|
|
283
|
+
|
|
284
|
+
> **Security Note**: The shell terminal is **automatically disabled** when the server is bound to all interfaces (`0.0.0.0`). This prevents remote shell access. To enable shell on all interfaces, set `CLAUDITO_FORCE_SHELL_ENABLED=1` (not recommended).
|
|
285
|
+
|
|
229
286
|
### Additional Features
|
|
230
287
|
|
|
231
288
|
- **CLAUDE.md Editor**: Edit global and project-specific CLAUDE.md files with preview
|
|
@@ -408,6 +465,24 @@ PUT /api/fs/write # Write file content
|
|
|
408
465
|
DELETE /api/fs/delete # Delete file or folder
|
|
409
466
|
```
|
|
410
467
|
|
|
468
|
+
### Shell
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
POST /api/projects/:id/shell/start # Start shell session
|
|
472
|
+
GET /api/projects/:id/shell/status # Get shell status
|
|
473
|
+
POST /api/projects/:id/shell/input # Send input to shell
|
|
474
|
+
POST /api/projects/:id/shell/resize # Resize terminal
|
|
475
|
+
POST /api/projects/:id/shell/stop # Stop shell session
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
### Authentication
|
|
479
|
+
|
|
480
|
+
```
|
|
481
|
+
POST /api/auth/login # Login with credentials
|
|
482
|
+
POST /api/auth/logout # Logout current session
|
|
483
|
+
GET /api/auth/check # Check session validity
|
|
484
|
+
```
|
|
485
|
+
|
|
411
486
|
### Settings
|
|
412
487
|
|
|
413
488
|
```
|
|
@@ -432,6 +507,9 @@ ws.send(JSON.stringify({ type: 'subscribe', projectId: 'your-project-id' }));
|
|
|
432
507
|
// - queue_change: Queue updates
|
|
433
508
|
// - roadmap_message: Roadmap generation output
|
|
434
509
|
// - session_recovery: Session couldn't be resumed, new conversation created
|
|
510
|
+
// - shell_output: Shell terminal output
|
|
511
|
+
// - shell_exit: Shell session exited
|
|
512
|
+
// - shell_error: Shell error occurred
|
|
435
513
|
```
|
|
436
514
|
|
|
437
515
|
## Development
|
|
@@ -591,6 +669,42 @@ cd ..
|
|
|
591
669
|
rm -rf /tmp/claudito-test
|
|
592
670
|
```
|
|
593
671
|
|
|
672
|
+
## Security Recommendations
|
|
673
|
+
|
|
674
|
+
### Network Binding
|
|
675
|
+
|
|
676
|
+
By default, Claudito binds to `localhost` which only accepts connections from the local machine. When exposing Claudito to other devices, consider these recommendations:
|
|
677
|
+
|
|
678
|
+
| Scenario | Recommended HOST | Notes |
|
|
679
|
+
|----------|------------------|-------|
|
|
680
|
+
| **Local development** | `127.0.0.1` or `localhost` | Only accessible from your machine |
|
|
681
|
+
| **LAN access** | Your private IP (e.g., `192.168.1.x`) | Accessible from your local network |
|
|
682
|
+
| **All interfaces** | `0.0.0.0` | Accessible from anywhere - use with caution |
|
|
683
|
+
|
|
684
|
+
```bash
|
|
685
|
+
# Local only (most secure)
|
|
686
|
+
claudito --host 127.0.0.1
|
|
687
|
+
|
|
688
|
+
# Specific network interface (LAN access)
|
|
689
|
+
claudito --host 192.168.1.100
|
|
690
|
+
|
|
691
|
+
# All interfaces (least secure - requires authentication)
|
|
692
|
+
claudito --host 0.0.0.0
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### Best Practices
|
|
696
|
+
|
|
697
|
+
1. **Use authentication**: Claudito requires login by default. Set custom credentials via environment variables for production use:
|
|
698
|
+
```bash
|
|
699
|
+
CLAUDITO_USERNAME=myuser CLAUDITO_PASSWORD=mystrongpassword claudito
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
2. **Avoid exposing to the internet**: Claudito is designed for local/LAN use. If you must expose it, use a reverse proxy with HTTPS.
|
|
703
|
+
|
|
704
|
+
3. **Firewall rules**: When using LAN access, configure your firewall to only allow trusted IP addresses.
|
|
705
|
+
|
|
706
|
+
4. **Review permission rules**: Configure Claude Code permission rules to restrict what agents can do.
|
|
707
|
+
|
|
594
708
|
## Troubleshooting
|
|
595
709
|
|
|
596
710
|
### "claude: command not found"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClaudeAgent, AgentMessage, AgentStatus, AgentMode, ProcessInfo, ContextUsage, PermissionConfig } from './claude-agent';
|
|
1
|
+
import { ClaudeAgent, AgentMessage, AgentStatus, AgentMode, ProcessInfo, ContextUsage, PermissionConfig, AgentLimits, AgentStreamingOptions } from './claude-agent';
|
|
2
2
|
import { PermissionGenerator } from '../services/permission-generator';
|
|
3
3
|
import { ProjectRepository, ConversationRepository, SettingsRepository } from '../repositories';
|
|
4
4
|
import { InstructionGenerator, RoadmapParser } from '../services';
|
|
@@ -61,6 +61,8 @@ export interface StartInteractiveAgentOptions {
|
|
|
61
61
|
images?: ImageData[];
|
|
62
62
|
sessionId?: string;
|
|
63
63
|
permissionMode?: 'acceptEdits' | 'plan';
|
|
64
|
+
/** If true, use --session-id to create new session. If false/undefined, use --resume for existing sessions. */
|
|
65
|
+
isNewSession?: boolean;
|
|
64
66
|
}
|
|
65
67
|
export interface FullAgentStatus {
|
|
66
68
|
status: AgentStatus;
|
|
@@ -105,8 +107,18 @@ export interface AgentManager {
|
|
|
105
107
|
on<K extends keyof AgentManagerEvents>(event: K, listener: AgentManagerEvents[K]): void;
|
|
106
108
|
off<K extends keyof AgentManagerEvents>(event: K, listener: AgentManagerEvents[K]): void;
|
|
107
109
|
}
|
|
110
|
+
export interface AgentFactoryOptions {
|
|
111
|
+
projectId: string;
|
|
112
|
+
projectPath: string;
|
|
113
|
+
mode: AgentMode;
|
|
114
|
+
permissions?: PermissionConfig;
|
|
115
|
+
limits?: AgentLimits;
|
|
116
|
+
streaming?: AgentStreamingOptions;
|
|
117
|
+
sessionId?: string;
|
|
118
|
+
isNewSession?: boolean;
|
|
119
|
+
}
|
|
108
120
|
export interface AgentFactory {
|
|
109
|
-
create(
|
|
121
|
+
create(options: AgentFactoryOptions): ClaudeAgent;
|
|
110
122
|
}
|
|
111
123
|
export interface AgentManagerDependencies {
|
|
112
124
|
projectRepository: ProjectRepository;
|
|
@@ -182,6 +194,7 @@ export declare class DefaultAgentManager implements AgentManager {
|
|
|
182
194
|
private setupAgentListeners;
|
|
183
195
|
private handleAgentExit;
|
|
184
196
|
private handleStatusChange;
|
|
197
|
+
private handleSessionNotFound;
|
|
185
198
|
private processQueue;
|
|
186
199
|
private saveContextUsageIfNeeded;
|
|
187
200
|
private emit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const claude_agent_1 = require("./claude-agent");
|
|
|
10
10
|
const permission_generator_1 = require("../services/permission-generator");
|
|
11
11
|
const utils_1 = require("../utils");
|
|
12
12
|
const defaultAgentFactory = {
|
|
13
|
-
create: (
|
|
13
|
+
create: (options) => new claude_agent_1.DefaultClaudeAgent(options),
|
|
14
14
|
};
|
|
15
15
|
class DefaultAgentManager {
|
|
16
16
|
agents = new Map();
|
|
@@ -85,16 +85,17 @@ class DefaultAgentManager {
|
|
|
85
85
|
if (!project) {
|
|
86
86
|
throw new Error('Project not found');
|
|
87
87
|
}
|
|
88
|
-
const { initialMessage, images, sessionId, permissionMode } = options || {};
|
|
88
|
+
const { initialMessage, images, sessionId, permissionMode, isNewSession: forceNewSession } = options || {};
|
|
89
89
|
this.logger.withProject(projectId).info('Starting interactive agent', {
|
|
90
90
|
hasMessage: !!initialMessage,
|
|
91
91
|
imageCount: images?.length || 0,
|
|
92
|
-
resumingSession: !!sessionId,
|
|
92
|
+
resumingSession: !!sessionId && !forceNewSession,
|
|
93
93
|
permissionMode,
|
|
94
|
+
forceNewSession,
|
|
94
95
|
});
|
|
95
96
|
// Determine the session ID to use and whether it's a new session
|
|
96
97
|
let effectiveSessionId = sessionId;
|
|
97
|
-
let isNewSession = false;
|
|
98
|
+
let isNewSession = forceNewSession ?? false;
|
|
98
99
|
let oldConversationId = null;
|
|
99
100
|
// Create a new conversation if none exists (for storing messages and sessionId)
|
|
100
101
|
if (!project.currentConversationId) {
|
|
@@ -158,10 +159,11 @@ class DefaultAgentManager {
|
|
|
158
159
|
const reason = 'This conversation is from an older application version and cannot be resumed. Started a new conversation.';
|
|
159
160
|
this.emit('sessionRecovery', projectId, oldConversationId, conversation.id, reason);
|
|
160
161
|
}
|
|
161
|
-
else {
|
|
162
|
-
// Valid UUID - it's a resume operation
|
|
162
|
+
else if (!forceNewSession) {
|
|
163
|
+
// Valid UUID and not forcing new session - it's a resume operation
|
|
163
164
|
isNewSession = false;
|
|
164
165
|
}
|
|
166
|
+
// If forceNewSession is true, keep isNewSession as true (set earlier)
|
|
165
167
|
}
|
|
166
168
|
// Build multimodal instructions if images are provided
|
|
167
169
|
const instructions = this.buildMultimodalContent(initialMessage || '', images);
|
|
@@ -462,7 +464,24 @@ class DefaultAgentManager {
|
|
|
462
464
|
permissionMode: permissionModeOverride || permArgs.permissionMode,
|
|
463
465
|
appendSystemPrompt: settings.appendSystemPrompt,
|
|
464
466
|
};
|
|
465
|
-
|
|
467
|
+
// Convert settings limits/streaming to agent config
|
|
468
|
+
const limits = {
|
|
469
|
+
maxTurns: settings.agentLimits.maxTurns > 0 ? settings.agentLimits.maxTurns : undefined,
|
|
470
|
+
};
|
|
471
|
+
const streaming = {
|
|
472
|
+
includePartialMessages: settings.agentStreaming.includePartialMessages,
|
|
473
|
+
noSessionPersistence: settings.agentStreaming.noSessionPersistence,
|
|
474
|
+
};
|
|
475
|
+
const agent = this.agentFactory.create({
|
|
476
|
+
projectId,
|
|
477
|
+
projectPath,
|
|
478
|
+
mode,
|
|
479
|
+
permissions,
|
|
480
|
+
limits,
|
|
481
|
+
streaming,
|
|
482
|
+
sessionId,
|
|
483
|
+
isNewSession,
|
|
484
|
+
});
|
|
466
485
|
this.setupAgentListeners(agent);
|
|
467
486
|
this.agents.set(projectId, agent);
|
|
468
487
|
await this.projectRepository.updateStatus(projectId, 'running');
|
|
@@ -503,7 +522,16 @@ class DefaultAgentManager {
|
|
|
503
522
|
: 'Could not resume the previous conversation. It may have been deleted by Claude or this is from an old version. Started a new conversation.';
|
|
504
523
|
this.emit('sessionRecovery', projectId, oldConversationId, newConversation.id, reason);
|
|
505
524
|
// Restart with the new conversation's UUID as the session ID (new session)
|
|
506
|
-
const freshAgent = this.agentFactory.create(
|
|
525
|
+
const freshAgent = this.agentFactory.create({
|
|
526
|
+
projectId,
|
|
527
|
+
projectPath,
|
|
528
|
+
mode,
|
|
529
|
+
permissions,
|
|
530
|
+
limits,
|
|
531
|
+
streaming,
|
|
532
|
+
sessionId: newConversation.id,
|
|
533
|
+
isNewSession: true,
|
|
534
|
+
});
|
|
507
535
|
this.setupAgentListeners(freshAgent);
|
|
508
536
|
this.agents.set(projectId, freshAgent);
|
|
509
537
|
freshAgent.start(instructions);
|
|
@@ -706,18 +734,25 @@ class DefaultAgentManager {
|
|
|
706
734
|
const exitListener = (code) => {
|
|
707
735
|
void this.handleAgentExit(agent, code);
|
|
708
736
|
};
|
|
737
|
+
const sessionNotFoundListener = (missingSessionId) => {
|
|
738
|
+
void this.handleSessionNotFound(agent, missingSessionId);
|
|
739
|
+
};
|
|
709
740
|
agent.on('message', messageListener);
|
|
710
741
|
agent.on('status', statusListener);
|
|
711
742
|
agent.on('waitingForInput', waitingListener);
|
|
712
743
|
agent.on('exit', exitListener);
|
|
744
|
+
agent.on('sessionNotFound', sessionNotFoundListener);
|
|
713
745
|
}
|
|
714
746
|
async handleAgentExit(agent, _code) {
|
|
715
747
|
const projectId = agent.projectId;
|
|
716
748
|
const projectLogger = this.logger.withProject(projectId);
|
|
717
749
|
const loopState = this.loopStates.get(projectId);
|
|
750
|
+
// Check if this agent is still the current one (a new agent may have been started during session recovery)
|
|
751
|
+
const currentAgent = this.agents.get(projectId);
|
|
752
|
+
const isCurrentAgent = currentAgent === agent;
|
|
718
753
|
// Save final context usage before cleaning up
|
|
719
754
|
const finalContextUsage = agent.contextUsage;
|
|
720
|
-
if (finalContextUsage) {
|
|
755
|
+
if (finalContextUsage && isCurrentAgent) {
|
|
721
756
|
projectLogger.debug('Saving final context usage on exit', {
|
|
722
757
|
totalTokens: finalContextUsage.totalTokens,
|
|
723
758
|
inputTokens: finalContextUsage.inputTokens,
|
|
@@ -733,7 +768,21 @@ class DefaultAgentManager {
|
|
|
733
768
|
.catch(() => { });
|
|
734
769
|
}
|
|
735
770
|
}
|
|
736
|
-
this
|
|
771
|
+
// Only delete from agents map if this is still the current agent
|
|
772
|
+
// (a new agent may have been started during session recovery)
|
|
773
|
+
if (isCurrentAgent) {
|
|
774
|
+
this.agents.delete(projectId);
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
projectLogger.debug('Skipping agent cleanup - a new agent was already started', {
|
|
778
|
+
exitingAgent: agent.sessionId,
|
|
779
|
+
currentAgent: currentAgent?.sessionId,
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
// Skip further processing if this agent was replaced (session recovery)
|
|
783
|
+
if (!isCurrentAgent) {
|
|
784
|
+
return;
|
|
785
|
+
}
|
|
737
786
|
// If we're in an autonomous loop, handle the completion
|
|
738
787
|
if (loopState && loopState.isLooping) {
|
|
739
788
|
const output = agent.collectedOutput;
|
|
@@ -785,6 +834,37 @@ class DefaultAgentManager {
|
|
|
785
834
|
}
|
|
786
835
|
}
|
|
787
836
|
}
|
|
837
|
+
async handleSessionNotFound(agent, missingSessionId) {
|
|
838
|
+
const projectId = agent.projectId;
|
|
839
|
+
const projectLogger = this.logger.withProject(projectId);
|
|
840
|
+
projectLogger.info('Handling session not found error', {
|
|
841
|
+
missingSessionId,
|
|
842
|
+
agentMode: agent.mode,
|
|
843
|
+
});
|
|
844
|
+
// Get project info
|
|
845
|
+
const project = await this.projectRepository.findById(projectId);
|
|
846
|
+
if (!project) {
|
|
847
|
+
projectLogger.error('Project not found during session recovery');
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
const oldConversationId = project.currentConversationId;
|
|
851
|
+
// Stop the current agent
|
|
852
|
+
if (agent.processInfo?.pid) {
|
|
853
|
+
this.pidTracker.removeProcess(agent.processInfo.pid);
|
|
854
|
+
}
|
|
855
|
+
await agent.stop();
|
|
856
|
+
this.agents.delete(projectId);
|
|
857
|
+
// Clear the current conversation (same as "Clear" button)
|
|
858
|
+
// This will cause the next agent start to create a fresh conversation
|
|
859
|
+
await this.projectRepository.setCurrentConversation(projectId, null);
|
|
860
|
+
projectLogger.info('Cleared conversation due to session not found', {
|
|
861
|
+
oldConversationId,
|
|
862
|
+
missingSessionId,
|
|
863
|
+
});
|
|
864
|
+
// Emit session recovery event to notify the UI
|
|
865
|
+
const reason = 'Session not found in Claude. The previous conversation may have been deleted. Please start a new conversation.';
|
|
866
|
+
this.emit('sessionRecovery', projectId, oldConversationId || missingSessionId, '', reason);
|
|
867
|
+
}
|
|
788
868
|
async processQueue() {
|
|
789
869
|
if (this.queue.length === 0 || this.agents.size >= this.maxConcurrentAgents) {
|
|
790
870
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ export interface AgentEvents {
|
|
|
46
46
|
status: (status: AgentStatus) => void;
|
|
47
47
|
exit: (code: number | null) => void;
|
|
48
48
|
waitingForInput: (status: WaitingStatus) => void;
|
|
49
|
+
sessionNotFound: (sessionId: string) => void;
|
|
49
50
|
}
|
|
50
51
|
export interface ProcessInfo {
|
|
51
52
|
pid: number;
|
|
@@ -98,6 +99,16 @@ export interface PermissionConfig {
|
|
|
98
99
|
permissionMode?: 'acceptEdits' | 'plan';
|
|
99
100
|
appendSystemPrompt?: string;
|
|
100
101
|
}
|
|
102
|
+
export interface AgentLimits {
|
|
103
|
+
/** Maximum number of agentic turns before stopping (print mode only) */
|
|
104
|
+
maxTurns?: number;
|
|
105
|
+
}
|
|
106
|
+
export interface AgentStreamingOptions {
|
|
107
|
+
/** Include partial streaming events in output (requires stream-json output) */
|
|
108
|
+
includePartialMessages?: boolean;
|
|
109
|
+
/** Disable session persistence - sessions won't be saved to disk */
|
|
110
|
+
noSessionPersistence?: boolean;
|
|
111
|
+
}
|
|
101
112
|
export interface ClaudeAgentConfig {
|
|
102
113
|
projectId: string;
|
|
103
114
|
projectPath: string;
|
|
@@ -105,6 +116,10 @@ export interface ClaudeAgentConfig {
|
|
|
105
116
|
/** @deprecated Use permissions instead */
|
|
106
117
|
skipPermissions?: boolean;
|
|
107
118
|
permissions?: PermissionConfig;
|
|
119
|
+
/** Agent limits (max turns, max budget) */
|
|
120
|
+
limits?: AgentLimits;
|
|
121
|
+
/** Streaming options (partial messages, session persistence) */
|
|
122
|
+
streaming?: AgentStreamingOptions;
|
|
108
123
|
processSpawner?: ProcessSpawner;
|
|
109
124
|
/** Session ID to resume or create with a specific ID */
|
|
110
125
|
sessionId?: string;
|
|
@@ -116,6 +131,8 @@ export declare class DefaultClaudeAgent implements ClaudeAgent {
|
|
|
116
131
|
private readonly projectPath;
|
|
117
132
|
private readonly _mode;
|
|
118
133
|
private readonly _permissions;
|
|
134
|
+
private readonly _limits;
|
|
135
|
+
private readonly _streaming;
|
|
119
136
|
private readonly processSpawner;
|
|
120
137
|
private readonly emitter;
|
|
121
138
|
private readonly logger;
|
|
@@ -164,11 +181,13 @@ export declare class DefaultClaudeAgent implements ClaudeAgent {
|
|
|
164
181
|
off<K extends keyof AgentEvents>(event: K, listener: AgentEvents[K]): void;
|
|
165
182
|
private buildArgs;
|
|
166
183
|
private addPermissionArgs;
|
|
167
|
-
private
|
|
184
|
+
private addLimitArgs;
|
|
185
|
+
private addStreamingArgs;
|
|
168
186
|
private setupProcessHandlers;
|
|
169
187
|
private processStreamLine;
|
|
170
188
|
private handleStreamEvent;
|
|
171
189
|
private updateUsageFromEvent;
|
|
190
|
+
private handleResultErrors;
|
|
172
191
|
private handleAssistantEvent;
|
|
173
192
|
private handleContentBlockStart;
|
|
174
193
|
private handleUserEvent;
|