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.
Files changed (59) hide show
  1. package/README.md +21 -12
  2. package/dist/agents/agent-manager.d.ts +10 -3
  3. package/dist/agents/agent-manager.d.ts.map +1 -1
  4. package/dist/agents/agent-manager.js +199 -17
  5. package/dist/agents/agent-manager.js.map +1 -1
  6. package/dist/agents/claude-agent.d.ts +34 -5
  7. package/dist/agents/claude-agent.d.ts.map +1 -1
  8. package/dist/agents/claude-agent.js +193 -14
  9. package/dist/agents/claude-agent.js.map +1 -1
  10. package/dist/repositories/conversation.d.ts +23 -1
  11. package/dist/repositories/conversation.d.ts.map +1 -1
  12. package/dist/repositories/conversation.js +177 -32
  13. package/dist/repositories/conversation.js.map +1 -1
  14. package/dist/repositories/project.d.ts +2 -1
  15. package/dist/repositories/project.d.ts.map +1 -1
  16. package/dist/repositories/project.js +5 -1
  17. package/dist/repositories/project.js.map +1 -1
  18. package/dist/repositories/settings.d.ts +4 -2
  19. package/dist/repositories/settings.d.ts.map +1 -1
  20. package/dist/repositories/settings.js +7 -2
  21. package/dist/repositories/settings.js.map +1 -1
  22. package/dist/routes/filesystem.d.ts +2 -0
  23. package/dist/routes/filesystem.d.ts.map +1 -1
  24. package/dist/routes/filesystem.js +26 -0
  25. package/dist/routes/filesystem.js.map +1 -1
  26. package/dist/routes/index.d.ts.map +1 -1
  27. package/dist/routes/index.js +6 -0
  28. package/dist/routes/index.js.map +1 -1
  29. package/dist/routes/projects.d.ts +2 -0
  30. package/dist/routes/projects.d.ts.map +1 -1
  31. package/dist/routes/projects.js +147 -13
  32. package/dist/routes/projects.js.map +1 -1
  33. package/dist/services/permission-generator.d.ts +1 -1
  34. package/dist/services/permission-generator.d.ts.map +1 -1
  35. package/dist/services/permission-generator.js +5 -3
  36. package/dist/services/permission-generator.js.map +1 -1
  37. package/dist/utils/index.d.ts +1 -0
  38. package/dist/utils/index.d.ts.map +1 -1
  39. package/dist/utils/index.js +1 -0
  40. package/dist/utils/index.js.map +1 -1
  41. package/dist/utils/uuid.d.ts +10 -0
  42. package/dist/utils/uuid.d.ts.map +1 -0
  43. package/dist/utils/uuid.js +25 -0
  44. package/dist/utils/uuid.js.map +1 -0
  45. package/dist/websocket/websocket-server.d.ts +9 -4
  46. package/dist/websocket/websocket-server.d.ts.map +1 -1
  47. package/dist/websocket/websocket-server.js +13 -2
  48. package/dist/websocket/websocket-server.js.map +1 -1
  49. package/package.json +1 -1
  50. package/public/android-chrome-192x192.png +0 -0
  51. package/public/android-chrome-512x512.png +0 -0
  52. package/public/apple-touch-icon.png +0 -0
  53. package/public/css/styles.css +64 -6
  54. package/public/favicon-16x16.png +0 -0
  55. package/public/favicon-32x32.png +0 -0
  56. package/public/favicon.ico +0 -0
  57. package/public/index.html +228 -39
  58. package/public/js/app.js +1774 -82
  59. 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 (Default/Plan/Accept Edits) at runtime
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, and edit project files |
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
- | **Mobile Support** | Responsive design with collapsible sidebar, full-screen file browsing with back navigation |
185
- | **Permission Mode Toggle** | Switch between Default, Plan, and Accept Edits modes at runtime |
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 restore previous conversations
198
- - **Debug Panel**: View logs, process info, and troubleshoot issues
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
- | `default` | Ask for each action |
223
- | `acceptEdits` | Auto-approve file edits |
224
- | `plan` | Review plan before execution |
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?: 'default' | 'acceptEdits' | 'plan';
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":"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"}
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', sessionId, permissionMode);
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
- void this.projectRepository.findById(projectId).then((project) => {
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
- void this.projectRepository.findById(agent.projectId).then((project) => {
657
+ const savePromise = this.projectRepository.findById(agent.projectId).then((project) => {
508
658
  if (project?.currentConversationId) {
509
- this.conversationRepository
510
- .addMessage(agent.projectId, project.currentConversationId, message)
511
- .catch(() => { });
512
- // Save context usage if available
513
- this.saveContextUsageIfNeeded(agent, project.currentConversationId);
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":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,iDASwB;AACxB,2EAAmG;AAanG,oCAAwE;AA2GxE,MAAM,mBAAmB,GAAiB;IACxC,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,iCAAkB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;CACnJ,CAAC;AAwBF,MAAa,mBAAmB;IACb,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC7C,KAAK,GAAoB,EAAE,CAAC;IAC5B,UAAU,GAAmC,IAAI,GAAG,EAAE,CAAC;IACvD,iBAAiB,CAAoB;IACrC,sBAAsB,CAAyB;IAC/C,kBAAkB,CAAqB;IACvC,oBAAoB,CAAuB;IAC3C,aAAa,CAAgB;IAC7B,YAAY,CAAe;IAC3B,mBAAmB,CAAsB;IAClD,oBAAoB,CAAS;IACpB,MAAM,CAAS;IACf,UAAU,CAAa;IACvB,SAAS,GAAmB;QAC3C,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,eAAe,EAAE,IAAI,GAAG,EAAE;QAC1B,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,eAAe,EAAE,IAAI,GAAG,EAAE;QAC1B,aAAa,EAAE,IAAI,GAAG,EAAE;KACzB,CAAC;IAEF,YAAY,IAA8B;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,iDAA0B,EAAE,CAAC;QACxF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAA,iBAAS,EAAC,eAAe,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAC;IACpC,CAAC;IAED,sBAAsB,CAAC,GAAW;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,YAAoB;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,OAAsC;QACnF,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACpE,UAAU,EAAE,CAAC,CAAC,cAAc;YAC5B,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;YAC/B,eAAe,EAAE,CAAC,CAAC,SAAS;YAC5B,cAAc;SACf,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACpH,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,KAAa,EAAE,MAAoB;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,GAAiB;YAC5B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,4EAA4E;QAC5E,KAAK,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/D,IAAI,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBACnC,IAAI,CAAC,sBAAsB;qBACxB,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;qBAC7D,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAEO,sBAAsB,CAAC,IAAY,EAAE,MAAoB;QAC/D,kCAAkC;QAClC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,8EAA8E;QAC9E,MAAM,aAAa,GAAwG,EAAE,CAAC;QAE9H,mBAAmB;QACnB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;iBACf;aACF,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,EAAE,CAAC;YACT,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,iFAAiF;QACjF,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE;YAC7B,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;SACnD,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,kBAAkB,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,cAAc,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,KAAa;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAEzF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,SAAS,CAAC,gBAAgB,GAAG,YAAY,CAAC;QAE1C,sDAAsD;QACtD,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,gBAAgB,GAAqB;YACzC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAClC,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC1C,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,cAAc,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE;SAC5D,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC3F,SAAS,CAAC,qBAAqB,GAAG,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAEhF,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK;YACnC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK;YAC3C,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC,MAAM;SACnD,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAEvD,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAChG,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK;YACxC,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK;YAChD,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,aAAa,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAA6B;QACtD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC/B,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;YACjC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK;YACvC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACvD,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,SAAiB;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC3C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,MAAc;QACvC,0CAA0C;QAC1C,MAAM,WAAW,GAAG,yFAAyF,CAAC;QAC9G,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE9C,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,KAAK,IAAI;gBACf,QAAQ,IAAI,MAAM;gBAClB,QAAQ,IAAI,MAAM;gBAClB,CAAE,MAA6B,CAAC,MAAM,KAAK,UAAU,IAAK,MAA6B,CAAC,MAAM,KAAK,QAAQ,CAAC,EAC5G,CAAC;gBACD,MAAM,WAAW,GAAG,MAA4D,CAAC;gBACjF,OAAO;oBACL,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,oBAAoB;iBACnD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,OAAkB,YAAY,EAC9B,SAAkB,EAClB,sBAA2D;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,OAAO,EAAE,mBAAmB,IAAI,IAAI,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAErG,MAAM,WAAW,GAAqB;YACpC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,mDAAmD;YACnD,cAAc,EAAE,sBAAsB,IAAI,QAAQ,CAAC,cAAc;YACjE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;SAChD,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC7F,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE1B,8CAA8C;QAC9C,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,YAAoB;QAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,SAAS;YACT,YAAY;YACZ,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEnC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtE,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEhC,0BAA0B;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,MAAM,KAAK,SAAS,CAAC;IACxF,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,iBAAiB,IAAI,KAAK,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC9B,aAAa,EAAE,IAAI,CAAC,mBAAmB;YACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC9B,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAErE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;IAClD,CAAC;IAED,oBAAoB;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEtD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;YACvE,KAAK,EAAE,iBAAiB,CAAC,MAAM;YAC/B,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QAEH,sDAAsD;QACtD,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAExB,iBAAiB;YACjB,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAEhC,mCAAmC;YACnC,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,wEAAwE;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;oBAC3C,SAAS;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAqC,KAAQ,EAAE,QAA+B;QAC9E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAqC,KAAQ,EAAE,QAA+B;QAC/E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,mBAAmB,CAAC,KAAkB;QAC5C,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAQ,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,gCAAgC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEvD,IAAI,SAAS,EAAE,qBAAqB,EAAE,CAAC;gBACrC,gDAAgD;gBAChD,IAAI,CAAC,sBAAsB;qBACxB,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC;qBACrE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAEnB,kCAAkC;gBAClC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACxC,wDAAwD;gBACxD,KAAK,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBACrE,IAAI,OAAO,EAAE,qBAAqB,EAAE,CAAC;wBACnC,IAAI,CAAC,sBAAsB;6BACxB,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;6BACnE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAEnB,kCAAkC;wBAClC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAQ,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAQ,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAQ,EAAE;YACjD,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAC7C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAkB,EAAE,KAAoB;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC;QAE7C,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACxD,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,YAAY,EAAE,iBAAiB,CAAC,YAAY;aAC7C,CAAC,CAAC;YAEH,yCAAyC;YACzC,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAE9E,oCAAoC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEjE,IAAI,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,sBAAsB;qBAC9B,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;qBAC7F,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE9B,wDAAwD;QACxD,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAEpD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvE,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAChF,CAAC;oBAED,qDAAqD;oBACrD,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;wBAC7B,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAClC,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC;wBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACzE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,kDAAkD,CAAC,CAAC;gBAC9G,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,MAAmB;QACrE,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACpF,CAAC;IAEO,wBAAwB,CAAC,KAAkB,EAAE,cAAsB;QACzE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAExC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,sBAAsB;aACxB,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,CAAC;aACjE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,oEAAoE;QACpE,IAAI,CAAC,iBAAiB;aACnB,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC;aACjD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAEO,IAAI,CACV,KAAQ,EACR,GAAG,IAAuC;QAE1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,QAAiE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AAhwBD,kDAgwBC"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"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"}