claudito 0.3.0 → 0.6.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 +21 -12
- package/dist/agents/agent-manager.d.ts +10 -3
- package/dist/agents/agent-manager.d.ts.map +1 -1
- package/dist/agents/agent-manager.js +199 -17
- package/dist/agents/agent-manager.js.map +1 -1
- package/dist/agents/claude-agent.d.ts +34 -5
- package/dist/agents/claude-agent.d.ts.map +1 -1
- package/dist/agents/claude-agent.js +193 -14
- package/dist/agents/claude-agent.js.map +1 -1
- package/dist/repositories/conversation.d.ts +23 -1
- package/dist/repositories/conversation.d.ts.map +1 -1
- package/dist/repositories/conversation.js +177 -32
- package/dist/repositories/conversation.js.map +1 -1
- package/dist/repositories/project.d.ts +2 -1
- package/dist/repositories/project.d.ts.map +1 -1
- package/dist/repositories/project.js +5 -1
- package/dist/repositories/project.js.map +1 -1
- package/dist/repositories/settings.d.ts +4 -2
- package/dist/repositories/settings.d.ts.map +1 -1
- package/dist/repositories/settings.js +7 -2
- package/dist/repositories/settings.js.map +1 -1
- package/dist/routes/filesystem.d.ts +2 -0
- package/dist/routes/filesystem.d.ts.map +1 -1
- package/dist/routes/filesystem.js +26 -0
- package/dist/routes/filesystem.js.map +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +6 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/projects.d.ts +2 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +147 -13
- package/dist/routes/projects.js.map +1 -1
- package/dist/services/permission-generator.d.ts +1 -1
- package/dist/services/permission-generator.d.ts.map +1 -1
- package/dist/services/permission-generator.js +5 -3
- package/dist/services/permission-generator.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/uuid.d.ts +10 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +25 -0
- package/dist/utils/uuid.js.map +1 -0
- package/dist/websocket/websocket-server.d.ts +9 -4
- package/dist/websocket/websocket-server.d.ts.map +1 -1
- package/dist/websocket/websocket-server.js +13 -2
- package/dist/websocket/websocket-server.js.map +1 -1
- package/package.json +1 -1
- package/public/android-chrome-192x192.png +0 -0
- package/public/android-chrome-512x512.png +0 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/css/styles.css +64 -6
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/index.html +228 -39
- package/public/js/app.js +1774 -82
- package/public/site.webmanifest +1 -0
package/README.md
CHANGED
|
@@ -152,7 +152,7 @@ Chat with Claude in real-time. The agent auto-starts when you send your first me
|
|
|
152
152
|
- See tool usage as it happens (file reads, edits, bash commands)
|
|
153
153
|
- Code diffs with syntax highlighting
|
|
154
154
|
- Send follow-up messages naturally
|
|
155
|
-
- Toggle permission mode (
|
|
155
|
+
- Toggle permission mode (Plan/Accept Edits) at runtime
|
|
156
156
|
|
|
157
157
|
#### Autonomous Mode
|
|
158
158
|
Runs through ROADMAP.md milestones automatically.
|
|
@@ -174,15 +174,19 @@ Runs through ROADMAP.md milestones automatically.
|
|
|
174
174
|
| Feature | Description |
|
|
175
175
|
|---------|-------------|
|
|
176
176
|
| **Tabbed Interface** | Switch between Agent Output and Project Files |
|
|
177
|
-
| **File Browser** | Browse, view,
|
|
177
|
+
| **File Browser** | Browse, view, edit, create files and folders |
|
|
178
178
|
| **Syntax Highlighting** | 30+ languages supported via highlight.js |
|
|
179
179
|
| **Tool Visualization** | See Claude's tool usage with icons and arguments |
|
|
180
180
|
| **Code Diffs** | Side-by-side diff view for file changes |
|
|
181
181
|
| **Context Monitor** | View token usage and context window utilization |
|
|
182
|
+
| **Task Tracking** | View Claude's current tasks and progress |
|
|
183
|
+
| **Project Optimizations** | Check for CLAUDE.md issues and optimization suggestions |
|
|
182
184
|
| **Font Controls** | Adjust text size with +/- buttons |
|
|
183
185
|
| **Keyboard Shortcuts** | Configurable keybindings (Ctrl+Enter or Enter to send) |
|
|
184
|
-
| **
|
|
185
|
-
| **
|
|
186
|
+
| **Image Support** | Paste or drag-and-drop images into messages |
|
|
187
|
+
| **Mobile Support** | Responsive design with collapsible sidebar, full-screen file browsing |
|
|
188
|
+
| **Permission Mode Toggle** | Switch between Plan and Accept Edits modes at runtime |
|
|
189
|
+
| **Desktop Notifications** | Get notified when agent needs input (optional) |
|
|
186
190
|
|
|
187
191
|
### Real-time Features
|
|
188
192
|
|
|
@@ -193,9 +197,12 @@ Runs through ROADMAP.md milestones automatically.
|
|
|
193
197
|
|
|
194
198
|
### Additional Features
|
|
195
199
|
|
|
196
|
-
- **CLAUDE.md Editor**: Edit global and project-specific CLAUDE.md files
|
|
197
|
-
- **Conversation History**: Browse and
|
|
198
|
-
- **
|
|
200
|
+
- **CLAUDE.md Editor**: Edit global and project-specific CLAUDE.md files with preview
|
|
201
|
+
- **Conversation History**: Browse, restore, and rename previous conversations
|
|
202
|
+
- **Session Resumption**: Resume Claude sessions across restarts
|
|
203
|
+
- **Debug Panel**: View logs, Claude I/O, process info, and troubleshoot issues
|
|
204
|
+
- **Optimizations Check**: Detect missing or oversized CLAUDE.md files
|
|
205
|
+
- **Append System Prompt**: Add custom instructions to Claude's system prompt
|
|
199
206
|
- **Offline Ready**: All assets served locally (no CDN dependencies)
|
|
200
207
|
|
|
201
208
|
## Configuration
|
|
@@ -215,13 +222,15 @@ Access settings via the gear icon in the UI sidebar.
|
|
|
215
222
|
|
|
216
223
|
Control what Claude agents can do without prompting. Access via Settings > Claude Code Permissions.
|
|
217
224
|
|
|
225
|
+
> **⚠️ Important Limitation**: Claudito currently only supports **Accept Edits** and **Plan** permission modes. The **Default** mode (which prompts for permission on each action) is not yet supported because Claudito cannot currently handle Claude's permission prompts. We're working on adding this functionality in a future release.
|
|
226
|
+
|
|
218
227
|
#### Permission Modes
|
|
219
228
|
|
|
220
|
-
| Mode | Description |
|
|
221
|
-
|
|
222
|
-
| `
|
|
223
|
-
| `
|
|
224
|
-
| `
|
|
229
|
+
| Mode | Description | Supported |
|
|
230
|
+
|------|-------------|-----------|
|
|
231
|
+
| `acceptEdits` | Auto-approve file edits | ✅ Yes |
|
|
232
|
+
| `plan` | Review plan before execution | ✅ Yes |
|
|
233
|
+
| `default` | Ask for each action | ❌ Not yet |
|
|
225
234
|
|
|
226
235
|
#### Permission Rules
|
|
227
236
|
|
|
@@ -5,12 +5,13 @@ import { InstructionGenerator, RoadmapParser } from '../services';
|
|
|
5
5
|
export interface AgentManagerEvents {
|
|
6
6
|
message: (projectId: string, message: AgentMessage) => void;
|
|
7
7
|
status: (projectId: string, status: AgentStatus) => void;
|
|
8
|
-
waitingForInput: (projectId: string, isWaiting: boolean) => void;
|
|
8
|
+
waitingForInput: (projectId: string, isWaiting: boolean, version: number) => void;
|
|
9
9
|
queueChange: (queue: QueuedProject[]) => void;
|
|
10
10
|
milestoneStarted: (projectId: string, milestone: MilestoneRef) => void;
|
|
11
11
|
milestoneCompleted: (projectId: string, milestone: MilestoneRef, reason: string) => void;
|
|
12
12
|
milestoneFailed: (projectId: string, milestone: MilestoneRef | null, reason: string) => void;
|
|
13
13
|
loopCompleted: (projectId: string) => void;
|
|
14
|
+
sessionRecovery: (projectId: string, oldConversationId: string, newConversationId: string, reason: string) => void;
|
|
14
15
|
}
|
|
15
16
|
export interface QueuedProject {
|
|
16
17
|
projectId: string;
|
|
@@ -59,7 +60,7 @@ export interface StartInteractiveAgentOptions {
|
|
|
59
60
|
initialMessage?: string;
|
|
60
61
|
images?: ImageData[];
|
|
61
62
|
sessionId?: string;
|
|
62
|
-
permissionMode?: '
|
|
63
|
+
permissionMode?: 'acceptEdits' | 'plan';
|
|
63
64
|
}
|
|
64
65
|
export interface AgentManager {
|
|
65
66
|
startAgent(projectId: string, instructions: string): Promise<void>;
|
|
@@ -72,6 +73,7 @@ export interface AgentManager {
|
|
|
72
73
|
isRunning(projectId: string): boolean;
|
|
73
74
|
isQueued(projectId: string): boolean;
|
|
74
75
|
isWaitingForInput(projectId: string): boolean;
|
|
76
|
+
getWaitingVersion(projectId: string): number;
|
|
75
77
|
getResourceStatus(): AgentResourceStatus;
|
|
76
78
|
removeFromQueue(projectId: string): void;
|
|
77
79
|
setMaxConcurrentAgents(max: number): void;
|
|
@@ -93,7 +95,7 @@ export interface AgentManager {
|
|
|
93
95
|
off<K extends keyof AgentManagerEvents>(event: K, listener: AgentManagerEvents[K]): void;
|
|
94
96
|
}
|
|
95
97
|
export interface AgentFactory {
|
|
96
|
-
create(projectId: string, projectPath: string, mode: AgentMode, permissions?: PermissionConfig, sessionId?: string): ClaudeAgent;
|
|
98
|
+
create(projectId: string, projectPath: string, mode: AgentMode, permissions?: PermissionConfig, sessionId?: string, isNewSession?: boolean): ClaudeAgent;
|
|
97
99
|
}
|
|
98
100
|
export interface AgentManagerDependencies {
|
|
99
101
|
projectRepository: ProjectRepository;
|
|
@@ -119,6 +121,7 @@ export declare class DefaultAgentManager implements AgentManager {
|
|
|
119
121
|
private _maxConcurrentAgents;
|
|
120
122
|
private readonly logger;
|
|
121
123
|
private readonly pidTracker;
|
|
124
|
+
private readonly pendingMessageSaves;
|
|
122
125
|
private readonly listeners;
|
|
123
126
|
constructor(deps: AgentManagerDependencies);
|
|
124
127
|
setMaxConcurrentAgents(max: number): void;
|
|
@@ -144,6 +147,7 @@ export declare class DefaultAgentManager implements AgentManager {
|
|
|
144
147
|
private loadRoadmap;
|
|
145
148
|
private parseAgentResponse;
|
|
146
149
|
private startAgentImmediately;
|
|
150
|
+
private delay;
|
|
147
151
|
private addToQueue;
|
|
148
152
|
private emitQueueChange;
|
|
149
153
|
stopAgent(projectId: string): Promise<void>;
|
|
@@ -152,6 +156,7 @@ export declare class DefaultAgentManager implements AgentManager {
|
|
|
152
156
|
isRunning(projectId: string): boolean;
|
|
153
157
|
isQueued(projectId: string): boolean;
|
|
154
158
|
isWaitingForInput(projectId: string): boolean;
|
|
159
|
+
getWaitingVersion(projectId: string): number;
|
|
155
160
|
getResourceStatus(): AgentResourceStatus;
|
|
156
161
|
removeFromQueue(projectId: string): void;
|
|
157
162
|
getTrackedProcesses(): TrackedProcessInfo[];
|
|
@@ -160,6 +165,8 @@ export declare class DefaultAgentManager implements AgentManager {
|
|
|
160
165
|
restartAllRunningAgents(): Promise<void>;
|
|
161
166
|
on<K extends keyof AgentManagerEvents>(event: K, listener: AgentManagerEvents[K]): void;
|
|
162
167
|
off<K extends keyof AgentManagerEvents>(event: K, listener: AgentManagerEvents[K]): void;
|
|
168
|
+
private trackMessageSave;
|
|
169
|
+
private flushPendingMessageSaves;
|
|
163
170
|
private setupAgentListeners;
|
|
164
171
|
private handleAgentExit;
|
|
165
172
|
private handleStatusChange;
|
|
@@ -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,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA8B,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EACL,iBAAiB,EAEjB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,aAAa,EAGd,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACzD,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;
|
|
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: (projectId, projectPath, mode, permissions, sessionId) => new claude_agent_1.DefaultClaudeAgent({ projectId, projectPath, mode, permissions, sessionId }),
|
|
13
|
+
create: (projectId, projectPath, mode, permissions, sessionId, isNewSession) => new claude_agent_1.DefaultClaudeAgent({ projectId, projectPath, mode, permissions, sessionId, isNewSession }),
|
|
14
14
|
};
|
|
15
15
|
class DefaultAgentManager {
|
|
16
16
|
agents = new Map();
|
|
@@ -26,6 +26,7 @@ class DefaultAgentManager {
|
|
|
26
26
|
_maxConcurrentAgents;
|
|
27
27
|
logger;
|
|
28
28
|
pidTracker;
|
|
29
|
+
pendingMessageSaves = new Set();
|
|
29
30
|
listeners = {
|
|
30
31
|
message: new Set(),
|
|
31
32
|
status: new Set(),
|
|
@@ -35,6 +36,7 @@ class DefaultAgentManager {
|
|
|
35
36
|
milestoneCompleted: new Set(),
|
|
36
37
|
milestoneFailed: new Set(),
|
|
37
38
|
loopCompleted: new Set(),
|
|
39
|
+
sessionRecovery: new Set(),
|
|
38
40
|
};
|
|
39
41
|
constructor(deps) {
|
|
40
42
|
this.projectRepository = deps.projectRepository;
|
|
@@ -90,9 +92,80 @@ class DefaultAgentManager {
|
|
|
90
92
|
resumingSession: !!sessionId,
|
|
91
93
|
permissionMode,
|
|
92
94
|
});
|
|
95
|
+
// Determine the session ID to use and whether it's a new session
|
|
96
|
+
let effectiveSessionId = sessionId;
|
|
97
|
+
let isNewSession = false;
|
|
98
|
+
let oldConversationId = null;
|
|
99
|
+
// Create a new conversation if none exists (for storing messages and sessionId)
|
|
100
|
+
if (!project.currentConversationId) {
|
|
101
|
+
const conversation = await this.conversationRepository.create(projectId, null);
|
|
102
|
+
await this.projectRepository.setCurrentConversation(projectId, conversation.id);
|
|
103
|
+
// Use the new conversation's UUID as the session ID for Claude
|
|
104
|
+
effectiveSessionId = conversation.id;
|
|
105
|
+
isNewSession = true; // New conversation = new session
|
|
106
|
+
this.logger.withProject(projectId).debug('Created new conversation for interactive session', {
|
|
107
|
+
conversationId: conversation.id,
|
|
108
|
+
sessionId: effectiveSessionId,
|
|
109
|
+
isNewSession,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else if (!sessionId) {
|
|
113
|
+
// If we have an existing conversation but no session ID provided, use the conversation ID to resume
|
|
114
|
+
const candidateSessionId = project.currentConversationId;
|
|
115
|
+
// Validate that the session ID is a valid UUID (old conversations may have non-UUID IDs)
|
|
116
|
+
if (!(0, utils_1.isValidUUID)(candidateSessionId)) {
|
|
117
|
+
this.logger.withProject(projectId).warn('Existing conversation has invalid session ID, creating new conversation', {
|
|
118
|
+
invalidSessionId: candidateSessionId,
|
|
119
|
+
});
|
|
120
|
+
// Store old conversation ID for the recovery event
|
|
121
|
+
oldConversationId = candidateSessionId;
|
|
122
|
+
// Delete the old conversation with invalid session ID
|
|
123
|
+
await this.conversationRepository.deleteConversation(projectId, candidateSessionId);
|
|
124
|
+
// Create a new conversation with a valid UUID
|
|
125
|
+
const conversation = await this.conversationRepository.create(projectId, null);
|
|
126
|
+
await this.projectRepository.setCurrentConversation(projectId, conversation.id);
|
|
127
|
+
effectiveSessionId = conversation.id;
|
|
128
|
+
isNewSession = true;
|
|
129
|
+
// Emit session recovery event to notify frontend
|
|
130
|
+
const reason = 'This conversation is from an older application version and cannot be resumed. Started a new conversation.';
|
|
131
|
+
this.emit('sessionRecovery', projectId, oldConversationId, conversation.id, reason);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
effectiveSessionId = candidateSessionId;
|
|
135
|
+
isNewSession = false; // Existing conversation = resume session
|
|
136
|
+
this.logger.withProject(projectId).debug('Using existing conversation ID as session ID', {
|
|
137
|
+
conversationId: project.currentConversationId,
|
|
138
|
+
isNewSession,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Session ID was provided - validate it before attempting to resume
|
|
144
|
+
if (!(0, utils_1.isValidUUID)(sessionId)) {
|
|
145
|
+
this.logger.withProject(projectId).warn('Provided session ID is not a valid UUID, creating new conversation', {
|
|
146
|
+
invalidSessionId: sessionId,
|
|
147
|
+
});
|
|
148
|
+
// Store old session ID for the recovery event
|
|
149
|
+
oldConversationId = sessionId;
|
|
150
|
+
// Delete the old conversation if it exists
|
|
151
|
+
await this.conversationRepository.deleteConversation(projectId, sessionId);
|
|
152
|
+
// Create a new conversation with a valid UUID
|
|
153
|
+
const conversation = await this.conversationRepository.create(projectId, null);
|
|
154
|
+
await this.projectRepository.setCurrentConversation(projectId, conversation.id);
|
|
155
|
+
effectiveSessionId = conversation.id;
|
|
156
|
+
isNewSession = true;
|
|
157
|
+
// Emit session recovery event to notify frontend
|
|
158
|
+
const reason = 'This conversation is from an older application version and cannot be resumed. Started a new conversation.';
|
|
159
|
+
this.emit('sessionRecovery', projectId, oldConversationId, conversation.id, reason);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Valid UUID - it's a resume operation
|
|
163
|
+
isNewSession = false;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
93
166
|
// Build multimodal instructions if images are provided
|
|
94
167
|
const instructions = this.buildMultimodalContent(initialMessage || '', images);
|
|
95
|
-
await this.startAgentImmediately(projectId, project.path, instructions, 'interactive',
|
|
168
|
+
await this.startAgentImmediately(projectId, project.path, instructions, 'interactive', effectiveSessionId, permissionMode, isNewSession);
|
|
96
169
|
}
|
|
97
170
|
sendInput(projectId, input, images) {
|
|
98
171
|
const agent = this.agents.get(projectId);
|
|
@@ -109,13 +182,26 @@ class DefaultAgentManager {
|
|
|
109
182
|
timestamp: new Date().toISOString(),
|
|
110
183
|
};
|
|
111
184
|
// Save to conversation history (but don't emit - frontend already shows it)
|
|
112
|
-
|
|
185
|
+
const savePromise = this.projectRepository.findById(projectId).then((project) => {
|
|
113
186
|
if (project?.currentConversationId) {
|
|
114
|
-
this.conversationRepository
|
|
187
|
+
return this.conversationRepository
|
|
115
188
|
.addMessage(projectId, project.currentConversationId, message)
|
|
116
|
-
.catch(() => {
|
|
189
|
+
.catch((err) => {
|
|
190
|
+
this.logger.error('Failed to save user message to conversation', {
|
|
191
|
+
projectId,
|
|
192
|
+
conversationId: project.currentConversationId,
|
|
193
|
+
error: err instanceof Error ? err.message : String(err),
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this.logger.warn('No currentConversationId for project, user message not saved', {
|
|
199
|
+
projectId,
|
|
200
|
+
});
|
|
117
201
|
}
|
|
202
|
+
return Promise.resolve();
|
|
118
203
|
});
|
|
204
|
+
void this.trackMessageSave(savePromise);
|
|
119
205
|
// Build multimodal content if images are provided
|
|
120
206
|
const content = this.buildMultimodalContent(input, images);
|
|
121
207
|
agent.sendInput(content);
|
|
@@ -350,7 +436,7 @@ class DefaultAgentManager {
|
|
|
350
436
|
}
|
|
351
437
|
return null;
|
|
352
438
|
}
|
|
353
|
-
async startAgentImmediately(projectId, projectPath, instructions, mode = 'autonomous', sessionId, permissionModeOverride) {
|
|
439
|
+
async startAgentImmediately(projectId, projectPath, instructions, mode = 'autonomous', sessionId, permissionModeOverride, isNewSession = true) {
|
|
354
440
|
const settings = await this.settingsRepository.get();
|
|
355
441
|
const project = await this.projectRepository.findById(projectId);
|
|
356
442
|
const projectOverrides = project?.permissionOverrides ?? null;
|
|
@@ -363,7 +449,7 @@ class DefaultAgentManager {
|
|
|
363
449
|
permissionMode: permissionModeOverride || permArgs.permissionMode,
|
|
364
450
|
appendSystemPrompt: settings.appendSystemPrompt,
|
|
365
451
|
};
|
|
366
|
-
const agent = this.agentFactory.create(projectId, projectPath, mode, permissions, sessionId);
|
|
452
|
+
const agent = this.agentFactory.create(projectId, projectPath, mode, permissions, sessionId, isNewSession);
|
|
367
453
|
this.setupAgentListeners(agent);
|
|
368
454
|
this.agents.set(projectId, agent);
|
|
369
455
|
await this.projectRepository.updateStatus(projectId, 'running');
|
|
@@ -372,6 +458,49 @@ class DefaultAgentManager {
|
|
|
372
458
|
if (agent.processInfo?.pid) {
|
|
373
459
|
this.pidTracker.addProcess(agent.processInfo.pid, projectId);
|
|
374
460
|
}
|
|
461
|
+
// Wait briefly for potential session errors
|
|
462
|
+
await this.delay(150);
|
|
463
|
+
// Check if session ID was rejected (session not found or already in use)
|
|
464
|
+
if (agent.sessionError && sessionId) {
|
|
465
|
+
const oldConversationId = sessionId;
|
|
466
|
+
this.logger.warn('Session error detected, creating fresh conversation', {
|
|
467
|
+
projectId,
|
|
468
|
+
oldConversationId,
|
|
469
|
+
error: agent.sessionError,
|
|
470
|
+
});
|
|
471
|
+
// Stop the failed agent
|
|
472
|
+
if (agent.processInfo?.pid) {
|
|
473
|
+
this.pidTracker.removeProcess(agent.processInfo.pid);
|
|
474
|
+
}
|
|
475
|
+
await agent.stop();
|
|
476
|
+
this.agents.delete(projectId);
|
|
477
|
+
// Delete the old conversation that had the invalid session
|
|
478
|
+
await this.conversationRepository.deleteConversation(projectId, oldConversationId);
|
|
479
|
+
// Create a new conversation with a fresh UUID
|
|
480
|
+
const newConversation = await this.conversationRepository.create(projectId, null);
|
|
481
|
+
await this.projectRepository.setCurrentConversation(projectId, newConversation.id);
|
|
482
|
+
this.logger.info('Created fresh conversation after session error', {
|
|
483
|
+
projectId,
|
|
484
|
+
oldConversationId,
|
|
485
|
+
newConversationId: newConversation.id,
|
|
486
|
+
});
|
|
487
|
+
// Emit session recovery event to notify frontend
|
|
488
|
+
const reason = agent.sessionError.includes('already in use')
|
|
489
|
+
? 'Session was already in use. Started a new conversation.'
|
|
490
|
+
: 'Could not resume the previous conversation. It may have been deleted by Claude or this is from an old version. Started a new conversation.';
|
|
491
|
+
this.emit('sessionRecovery', projectId, oldConversationId, newConversation.id, reason);
|
|
492
|
+
// Restart with the new conversation's UUID as the session ID (new session)
|
|
493
|
+
const freshAgent = this.agentFactory.create(projectId, projectPath, mode, permissions, newConversation.id, true);
|
|
494
|
+
this.setupAgentListeners(freshAgent);
|
|
495
|
+
this.agents.set(projectId, freshAgent);
|
|
496
|
+
freshAgent.start(instructions);
|
|
497
|
+
if (freshAgent.processInfo?.pid) {
|
|
498
|
+
this.pidTracker.addProcess(freshAgent.processInfo.pid, projectId);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
delay(ms) {
|
|
503
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
375
504
|
}
|
|
376
505
|
async addToQueue(projectId, instructions) {
|
|
377
506
|
this.queue.push({
|
|
@@ -408,6 +537,12 @@ class DefaultAgentManager {
|
|
|
408
537
|
// Clear the queue as well
|
|
409
538
|
this.queue.length = 0;
|
|
410
539
|
this.emit('queueChange', []);
|
|
540
|
+
// Ensure all pending message saves complete (including findById lookups)
|
|
541
|
+
this.logger.info('Flushing pending message saves...');
|
|
542
|
+
await this.flushPendingMessageSaves();
|
|
543
|
+
// Ensure all pending conversation writes complete before returning
|
|
544
|
+
this.logger.info('Flushing pending conversation writes...');
|
|
545
|
+
await this.conversationRepository.flush();
|
|
411
546
|
this.logger.info('All agents stopped');
|
|
412
547
|
}
|
|
413
548
|
getAgentStatus(projectId) {
|
|
@@ -424,6 +559,10 @@ class DefaultAgentManager {
|
|
|
424
559
|
const agent = this.agents.get(projectId);
|
|
425
560
|
return agent?.isWaitingForInput ?? false;
|
|
426
561
|
}
|
|
562
|
+
getWaitingVersion(projectId) {
|
|
563
|
+
const agent = this.agents.get(projectId);
|
|
564
|
+
return agent?.waitingVersion ?? 0;
|
|
565
|
+
}
|
|
427
566
|
getResourceStatus() {
|
|
428
567
|
return {
|
|
429
568
|
runningCount: this.agents.size,
|
|
@@ -489,6 +628,16 @@ class DefaultAgentManager {
|
|
|
489
628
|
off(event, listener) {
|
|
490
629
|
this.listeners[event].delete(listener);
|
|
491
630
|
}
|
|
631
|
+
trackMessageSave(promise) {
|
|
632
|
+
this.pendingMessageSaves.add(promise);
|
|
633
|
+
void promise.finally(() => this.pendingMessageSaves.delete(promise));
|
|
634
|
+
return promise;
|
|
635
|
+
}
|
|
636
|
+
async flushPendingMessageSaves() {
|
|
637
|
+
while (this.pendingMessageSaves.size > 0) {
|
|
638
|
+
await Promise.all(Array.from(this.pendingMessageSaves));
|
|
639
|
+
}
|
|
640
|
+
}
|
|
492
641
|
setupAgentListeners(agent) {
|
|
493
642
|
const messageListener = (message) => {
|
|
494
643
|
this.emit('message', agent.projectId, message);
|
|
@@ -496,31 +645,50 @@ class DefaultAgentManager {
|
|
|
496
645
|
const loopState = this.loopStates.get(agent.projectId);
|
|
497
646
|
if (loopState?.currentConversationId) {
|
|
498
647
|
// Autonomous mode - use loop state conversation
|
|
499
|
-
this.conversationRepository
|
|
648
|
+
const savePromise = this.conversationRepository
|
|
500
649
|
.addMessage(agent.projectId, loopState.currentConversationId, message)
|
|
501
650
|
.catch(() => { });
|
|
651
|
+
void this.trackMessageSave(savePromise);
|
|
502
652
|
// Save context usage if available
|
|
503
653
|
this.saveContextUsageIfNeeded(agent, loopState.currentConversationId);
|
|
504
654
|
}
|
|
505
655
|
else if (agent.mode === 'interactive') {
|
|
506
656
|
// Interactive mode - use project's current conversation
|
|
507
|
-
|
|
657
|
+
const savePromise = this.projectRepository.findById(agent.projectId).then((project) => {
|
|
508
658
|
if (project?.currentConversationId) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
.
|
|
512
|
-
|
|
513
|
-
|
|
659
|
+
const conversationId = project.currentConversationId;
|
|
660
|
+
return this.conversationRepository
|
|
661
|
+
.addMessage(agent.projectId, conversationId, message)
|
|
662
|
+
.then(() => {
|
|
663
|
+
// Save context usage if available
|
|
664
|
+
this.saveContextUsageIfNeeded(agent, conversationId);
|
|
665
|
+
})
|
|
666
|
+
.catch((err) => {
|
|
667
|
+
this.logger.error('Failed to save message to conversation', {
|
|
668
|
+
projectId: agent.projectId,
|
|
669
|
+
conversationId,
|
|
670
|
+
messageType: message.type,
|
|
671
|
+
error: err instanceof Error ? err.message : String(err),
|
|
672
|
+
});
|
|
673
|
+
});
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
this.logger.warn('No currentConversationId for project, message not saved', {
|
|
677
|
+
projectId: agent.projectId,
|
|
678
|
+
messageType: message.type,
|
|
679
|
+
});
|
|
514
680
|
}
|
|
681
|
+
return Promise.resolve();
|
|
515
682
|
});
|
|
683
|
+
void this.trackMessageSave(savePromise);
|
|
516
684
|
}
|
|
517
685
|
};
|
|
518
686
|
const statusListener = (status) => {
|
|
519
687
|
this.emit('status', agent.projectId, status);
|
|
520
688
|
void this.handleStatusChange(agent.projectId, status);
|
|
521
689
|
};
|
|
522
|
-
const waitingListener = (isWaiting) => {
|
|
523
|
-
this.emit('waitingForInput', agent.projectId, isWaiting);
|
|
690
|
+
const waitingListener = ({ isWaiting, version }) => {
|
|
691
|
+
this.emit('waitingForInput', agent.projectId, isWaiting, version);
|
|
524
692
|
};
|
|
525
693
|
const exitListener = (code) => {
|
|
526
694
|
void this.handleAgentExit(agent, code);
|
|
@@ -591,6 +759,18 @@ class DefaultAgentManager {
|
|
|
591
759
|
async handleStatusChange(projectId, status) {
|
|
592
760
|
const projectStatus = status === 'running' ? 'running' : status === 'error' ? 'error' : 'stopped';
|
|
593
761
|
await this.projectRepository.updateStatus(projectId, projectStatus);
|
|
762
|
+
// Save session ID to conversation when agent starts running
|
|
763
|
+
if (status === 'running') {
|
|
764
|
+
const agent = this.agents.get(projectId);
|
|
765
|
+
if (agent?.sessionId) {
|
|
766
|
+
const project = await this.projectRepository.findById(projectId);
|
|
767
|
+
if (project?.currentConversationId) {
|
|
768
|
+
await this.conversationRepository
|
|
769
|
+
.updateMetadata(projectId, project.currentConversationId, { sessionId: agent.sessionId })
|
|
770
|
+
.catch(() => { });
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
}
|
|
594
774
|
}
|
|
595
775
|
async processQueue() {
|
|
596
776
|
if (this.queue.length === 0 || this.agents.size >= this.maxConcurrentAgents) {
|
|
@@ -614,10 +794,12 @@ class DefaultAgentManager {
|
|
|
614
794
|
return;
|
|
615
795
|
}
|
|
616
796
|
// Save to conversation metadata
|
|
617
|
-
this.conversationRepository
|
|
797
|
+
const savePromise = this.conversationRepository
|
|
618
798
|
.updateMetadata(agent.projectId, conversationId, { contextUsage })
|
|
619
799
|
.catch(() => { });
|
|
800
|
+
void this.trackMessageSave(savePromise);
|
|
620
801
|
// Also save to project status for persistence when agent is stopped
|
|
802
|
+
// (this is synchronous internally, no need to track)
|
|
621
803
|
this.projectRepository
|
|
622
804
|
.updateContextUsage(agent.projectId, contextUsage)
|
|
623
805
|
.catch(() => { });
|
|
@@ -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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"}
|