crewly 1.0.12 → 1.1.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/config/constants.ts +6 -0
- package/config/roles/orchestrator/self-evolution.md +72 -0
- package/config/skills/orchestrator/read-session-logs/execute.sh +14 -0
- package/config/skills/orchestrator/read-session-logs/instructions.md +33 -0
- package/config/skills/orchestrator/read-session-logs/skill.json +20 -0
- package/config/skills/orchestrator/read-system-logs/execute.sh +18 -0
- package/config/skills/orchestrator/read-system-logs/instructions.md +30 -0
- package/config/skills/orchestrator/read-system-logs/skill.json +20 -0
- package/config/skills/orchestrator/reply-slack/execute.sh +12 -0
- package/config/skills/orchestrator/reply-slack/instructions.md +16 -1
- package/config/skills/orchestrator/report-bug/execute.sh +49 -0
- package/config/skills/orchestrator/report-bug/instructions.md +30 -0
- package/config/skills/orchestrator/report-bug/skill.json +20 -0
- package/dist/backend/backend/src/constants.d.ts +24 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +25 -2
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +14 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +74 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +20 -34
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/terminal.routes.js +2 -0
- package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +191 -89
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +5 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.js +10 -17
- package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +16 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +111 -10
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +33 -2
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +388 -20
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +17 -2
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +105 -12
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.js +3 -2
- package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js +17 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +5 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +42 -2
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +39 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +121 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js +6 -0
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +8 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +1 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +28 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +4 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +9 -1
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/config/constants.d.ts +6 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +6 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/backend/config/index.d.ts +3 -0
- package/dist/backend/config/index.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +24 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +25 -2
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.js +3 -2
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +4 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +9 -1
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/cli/src/index.js +1 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/config/constants.d.ts +6 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +6 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/dist/cli/config/index.d.ts +3 -0
- package/dist/cli/config/index.d.ts.map +1 -1
- package/frontend/dist/assets/{index-0a245b0d.js → index-45eeea99.js} +2 -2
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -29,19 +29,43 @@ import { getTerminalGateway } from '../../websocket/terminal.gateway.js';
|
|
|
29
29
|
import { PtyActivityTrackerService } from './pty-activity-tracker.service.js';
|
|
30
30
|
import { RuntimeExitMonitorService } from './runtime-exit-monitor.service.js';
|
|
31
31
|
import { stripAnsiCodes } from '../../utils/terminal-output.utils.js';
|
|
32
|
+
import { getSettingsService } from '../settings/settings.service.js';
|
|
32
33
|
import { CONTEXT_WINDOW_MONITOR_CONSTANTS, RUNTIME_COMPACT_COMMANDS, RUNTIME_TYPES, AGENT_SUSPEND_CONSTANTS, SESSION_COMMAND_DELAYS, } from '../../constants.js';
|
|
33
34
|
// =============================================================================
|
|
34
35
|
// Regex patterns for detecting context usage percentages in PTY output
|
|
35
36
|
// =============================================================================
|
|
36
37
|
/**
|
|
37
|
-
* Patterns to match context window usage percentages from
|
|
38
|
+
* Patterns to match context window usage percentages from PTY output.
|
|
38
39
|
* Each pattern captures the percentage as group 1.
|
|
40
|
+
*
|
|
41
|
+
* Covers:
|
|
42
|
+
* - Claude Code: "85% context", "context: 85%", "85% ctx"
|
|
43
|
+
* - Gemini CLI: "85% context used", "context 85%"
|
|
44
|
+
* - Generic: "XX% of context"
|
|
39
45
|
*/
|
|
40
46
|
const CONTEXT_PERCENT_PATTERNS = [
|
|
41
47
|
/(\d{1,3})%\s*(?:of\s+)?context/i,
|
|
42
48
|
/context[:\s]+(\d{1,3})%/i,
|
|
43
49
|
/(\d{1,3})%\s*ctx/i,
|
|
44
50
|
];
|
|
51
|
+
/**
|
|
52
|
+
* Patterns to detect Gemini CLI token-count context display.
|
|
53
|
+
* Gemini CLI shows remaining context as token counts (e.g., "1M context left)",
|
|
54
|
+
* "500K context left)") rather than percentages.
|
|
55
|
+
*
|
|
56
|
+
* These patterns extract the numeric token count and unit suffix.
|
|
57
|
+
* Group 1: numeric value, Group 2: unit (K, M, or empty = raw number).
|
|
58
|
+
*/
|
|
59
|
+
const GEMINI_CONTEXT_TOKEN_PATTERNS = [
|
|
60
|
+
/(\d+(?:\.\d+)?)\s*(K|M|k|m)?\s*(?:tokens?\s+)?context\s+left/i,
|
|
61
|
+
/(\d+(?:\.\d+)?)\s*(K|M|k|m)?\s*context\s+(?:tokens?\s+)?(?:left|remaining)/i,
|
|
62
|
+
];
|
|
63
|
+
/**
|
|
64
|
+
* Known max context sizes for Gemini models (in tokens).
|
|
65
|
+
* Used to estimate context usage percentage from token counts.
|
|
66
|
+
* Conservative estimate: assume 1M tokens max (Gemini 2.0 Flash/Pro).
|
|
67
|
+
*/
|
|
68
|
+
const GEMINI_DEFAULT_MAX_CONTEXT_TOKENS = 1_000_000;
|
|
45
69
|
// =============================================================================
|
|
46
70
|
// Service
|
|
47
71
|
// =============================================================================
|
|
@@ -126,6 +150,7 @@ export class ContextWindowMonitorService {
|
|
|
126
150
|
redThreshold: CONTEXT_WINDOW_MONITOR_CONSTANTS.RED_THRESHOLD_PERCENT,
|
|
127
151
|
criticalThreshold: CONTEXT_WINDOW_MONITOR_CONSTANTS.CRITICAL_THRESHOLD_PERCENT,
|
|
128
152
|
});
|
|
153
|
+
void this.refreshProactiveCompactSetting();
|
|
129
154
|
this.checkTimer = setInterval(() => {
|
|
130
155
|
this.performCheck();
|
|
131
156
|
}, CONTEXT_WINDOW_MONITOR_CONSTANTS.CHECK_INTERVAL_MS);
|
|
@@ -191,6 +216,8 @@ export class ContextWindowMonitorService {
|
|
|
191
216
|
compactAttempts: 0,
|
|
192
217
|
compactInProgress: false,
|
|
193
218
|
lastCompactAt: 0,
|
|
219
|
+
preCompactPercent: 0,
|
|
220
|
+
compactWaitTimer: null,
|
|
194
221
|
};
|
|
195
222
|
this.contextStates.set(sessionName, state);
|
|
196
223
|
// Subscribe to PTY data
|
|
@@ -219,6 +246,12 @@ export class ContextWindowMonitorService {
|
|
|
219
246
|
sub.unsubscribe();
|
|
220
247
|
this.sessionSubscriptions.delete(sessionName);
|
|
221
248
|
}
|
|
249
|
+
// Clear any dangling compact wait timer to prevent stale callbacks
|
|
250
|
+
const state = this.contextStates.get(sessionName);
|
|
251
|
+
if (state?.compactWaitTimer) {
|
|
252
|
+
clearTimeout(state.compactWaitTimer);
|
|
253
|
+
state.compactWaitTimer = null;
|
|
254
|
+
}
|
|
222
255
|
this.contextStates.delete(sessionName);
|
|
223
256
|
this.proactiveCompactLastTriggered.delete(sessionName);
|
|
224
257
|
this.logger.debug('Stopped context window monitoring', { sessionName });
|
|
@@ -261,7 +294,7 @@ export class ContextWindowMonitorService {
|
|
|
261
294
|
sub.buffer = sub.buffer.slice(-CONTEXT_WINDOW_MONITOR_CONSTANTS.MAX_BUFFER_SIZE);
|
|
262
295
|
}
|
|
263
296
|
// Try to extract context percentage from buffer
|
|
264
|
-
const percent = this.extractContextPercent(sub.buffer);
|
|
297
|
+
const percent = this.extractContextPercent(sub.buffer, state.runtimeType);
|
|
265
298
|
if (percent !== null) {
|
|
266
299
|
this.updateContextUsage(sessionName, percent);
|
|
267
300
|
// Clear buffer after successful extraction to avoid re-matching
|
|
@@ -271,10 +304,16 @@ export class ContextWindowMonitorService {
|
|
|
271
304
|
/**
|
|
272
305
|
* Extract context usage percentage from terminal output.
|
|
273
306
|
*
|
|
307
|
+
* Tries percentage-based patterns first (Claude Code, generic), then
|
|
308
|
+
* Gemini CLI token-count patterns. Token counts are converted to an
|
|
309
|
+
* estimated usage percentage using GEMINI_DEFAULT_MAX_CONTEXT_TOKENS.
|
|
310
|
+
*
|
|
274
311
|
* @param text - Cleaned terminal output text
|
|
312
|
+
* @param runtimeType - Optional runtime type for runtime-specific parsing
|
|
275
313
|
* @returns The extracted percentage (0-100) or null if not found
|
|
276
314
|
*/
|
|
277
|
-
extractContextPercent(text) {
|
|
315
|
+
extractContextPercent(text, runtimeType) {
|
|
316
|
+
// Try standard percentage patterns first (works for all runtimes)
|
|
278
317
|
for (const pattern of CONTEXT_PERCENT_PATTERNS) {
|
|
279
318
|
const match = pattern.exec(text);
|
|
280
319
|
if (match) {
|
|
@@ -284,6 +323,23 @@ export class ContextWindowMonitorService {
|
|
|
284
323
|
}
|
|
285
324
|
}
|
|
286
325
|
}
|
|
326
|
+
// Try Gemini token-count patterns ("500K context left", "1M context left")
|
|
327
|
+
for (const pattern of GEMINI_CONTEXT_TOKEN_PATTERNS) {
|
|
328
|
+
const match = pattern.exec(text);
|
|
329
|
+
if (match) {
|
|
330
|
+
const value = parseFloat(match[1]);
|
|
331
|
+
const unit = (match[2] || '').toUpperCase();
|
|
332
|
+
let tokensRemaining = value;
|
|
333
|
+
if (unit === 'K')
|
|
334
|
+
tokensRemaining = value * 1_000;
|
|
335
|
+
else if (unit === 'M')
|
|
336
|
+
tokensRemaining = value * 1_000_000;
|
|
337
|
+
if (tokensRemaining >= 0 && tokensRemaining <= GEMINI_DEFAULT_MAX_CONTEXT_TOKENS * 2) {
|
|
338
|
+
const usedPercent = Math.round(((GEMINI_DEFAULT_MAX_CONTEXT_TOKENS - tokensRemaining) / GEMINI_DEFAULT_MAX_CONTEXT_TOKENS) * 100);
|
|
339
|
+
return Math.max(0, Math.min(100, usedPercent));
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
287
343
|
return null;
|
|
288
344
|
}
|
|
289
345
|
/**
|
|
@@ -479,6 +535,7 @@ export class ContextWindowMonitorService {
|
|
|
479
535
|
state.compactInProgress = true;
|
|
480
536
|
state.compactAttempts++;
|
|
481
537
|
state.lastCompactAt = Date.now();
|
|
538
|
+
state.preCompactPercent = state.contextPercent;
|
|
482
539
|
this.logger.info('Triggering context compaction', {
|
|
483
540
|
sessionName: state.sessionName,
|
|
484
541
|
runtimeType: state.runtimeType,
|
|
@@ -486,14 +543,39 @@ export class ContextWindowMonitorService {
|
|
|
486
543
|
attempt: state.compactAttempts,
|
|
487
544
|
contextPercent: state.contextPercent,
|
|
488
545
|
});
|
|
489
|
-
//
|
|
490
|
-
|
|
491
|
-
|
|
546
|
+
// Claude/Codex: Escape can safely clear in-progress input.
|
|
547
|
+
// Gemini: Escape cancels the current request ("Request cancelled"), so skip it.
|
|
548
|
+
if (state.runtimeType !== RUNTIME_TYPES.GEMINI_CLI) {
|
|
549
|
+
session.write('\x1b');
|
|
550
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
551
|
+
}
|
|
492
552
|
session.write(command + '\r');
|
|
553
|
+
// Clear any previous compact wait timer to avoid stale callbacks
|
|
554
|
+
if (state.compactWaitTimer) {
|
|
555
|
+
clearTimeout(state.compactWaitTimer);
|
|
556
|
+
}
|
|
493
557
|
// After COMPACT_WAIT_MS, mark compact as no longer in progress
|
|
494
|
-
//
|
|
495
|
-
setTimeout(() => {
|
|
558
|
+
// and verify that context usage actually decreased (post-compact verification).
|
|
559
|
+
state.compactWaitTimer = setTimeout(() => {
|
|
496
560
|
state.compactInProgress = false;
|
|
561
|
+
state.compactWaitTimer = null;
|
|
562
|
+
// Post-compact verification: if context % did not decrease,
|
|
563
|
+
// reset compact tracking so the next threshold evaluation retries.
|
|
564
|
+
if (state.contextPercent >= state.preCompactPercent && state.level !== 'normal') {
|
|
565
|
+
this.logger.warn('Post-compact verification: context did not decrease', {
|
|
566
|
+
sessionName: state.sessionName,
|
|
567
|
+
preCompactPercent: state.preCompactPercent,
|
|
568
|
+
currentPercent: state.contextPercent,
|
|
569
|
+
level: state.level,
|
|
570
|
+
});
|
|
571
|
+
}
|
|
572
|
+
else if (state.contextPercent < state.preCompactPercent) {
|
|
573
|
+
this.logger.info('Post-compact verification: context decreased', {
|
|
574
|
+
sessionName: state.sessionName,
|
|
575
|
+
preCompactPercent: state.preCompactPercent,
|
|
576
|
+
currentPercent: state.contextPercent,
|
|
577
|
+
});
|
|
578
|
+
}
|
|
497
579
|
}, CONTEXT_WINDOW_MONITOR_CONSTANTS.COMPACT_WAIT_MS);
|
|
498
580
|
// Broadcast compact status to frontend
|
|
499
581
|
const terminalGateway = getTerminalGateway();
|
|
@@ -714,8 +796,12 @@ export class ContextWindowMonitorService {
|
|
|
714
796
|
performCheck() {
|
|
715
797
|
const now = Date.now();
|
|
716
798
|
const staleThreshold = CONTEXT_WINDOW_MONITOR_CONSTANTS.STALE_DETECTION_THRESHOLD_MS;
|
|
717
|
-
// Proactive compact based on cumulative output volume
|
|
718
|
-
this.
|
|
799
|
+
// Proactive compact based on cumulative output volume (configurable)
|
|
800
|
+
if (this.proactiveCompactEnabled) {
|
|
801
|
+
this.checkProactiveCompact(now);
|
|
802
|
+
}
|
|
803
|
+
// Refresh cached setting in background so runtime config changes are picked up.
|
|
804
|
+
void this.refreshProactiveCompactSetting();
|
|
719
805
|
for (const [sessionName, state] of this.contextStates) {
|
|
720
806
|
const timeSinceLastDetection = now - state.lastDetectedAt;
|
|
721
807
|
// Clean up stale states (no context % detected for a while)
|
|
@@ -757,6 +843,21 @@ export class ContextWindowMonitorService {
|
|
|
757
843
|
}
|
|
758
844
|
/** Timestamp of last proactive compact per session for cooldown tracking */
|
|
759
845
|
proactiveCompactLastTriggered = new Map();
|
|
846
|
+
/** Cached toggle for proactive compact behavior (loaded from settings) */
|
|
847
|
+
proactiveCompactEnabled = true;
|
|
848
|
+
/**
|
|
849
|
+
* Refresh the cached proactive compact toggle from persisted settings.
|
|
850
|
+
* Non-fatal: any read failure keeps the previous cached value.
|
|
851
|
+
*/
|
|
852
|
+
async refreshProactiveCompactSetting() {
|
|
853
|
+
try {
|
|
854
|
+
const settings = await getSettingsService().getSettings();
|
|
855
|
+
this.proactiveCompactEnabled = settings?.general?.enableProactiveCompact ?? true;
|
|
856
|
+
}
|
|
857
|
+
catch {
|
|
858
|
+
// Keep last known value on read failures.
|
|
859
|
+
}
|
|
860
|
+
}
|
|
760
861
|
/**
|
|
761
862
|
* Check all monitored sessions for cumulative output volume and trigger
|
|
762
863
|
* proactive compact when the threshold is exceeded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-window-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/context-window-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-window-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/context-window-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,12 @@ import { type RuntimeType } from '../../constants.js';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
9
9
|
constructor(sessionHelper: SessionCommandHelper, projectRoot: string);
|
|
10
|
+
/**
|
|
11
|
+
* Gemini CLI can show an interactive trust gate on first launch:
|
|
12
|
+
* "Do you trust this folder?".
|
|
13
|
+
* Auto-accept the default "Trust folder" option so startup does not stall.
|
|
14
|
+
*/
|
|
15
|
+
waitForRuntimeReady(sessionName: string, timeout: number, checkInterval?: number): Promise<boolean>;
|
|
10
16
|
protected getRuntimeType(): RuntimeType;
|
|
11
17
|
/**
|
|
12
18
|
* Gemini CLI specific detection using '/' command
|
|
@@ -16,6 +22,7 @@ export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
16
22
|
* Gemini CLI specific ready patterns
|
|
17
23
|
*/
|
|
18
24
|
protected getRuntimeReadyPatterns(): string[];
|
|
25
|
+
private isGeminiTrustPrompt;
|
|
19
26
|
/**
|
|
20
27
|
* Gemini CLI specific exit patterns for runtime exit detection.
|
|
21
28
|
*
|
|
@@ -39,7 +46,7 @@ export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
39
46
|
* @param targetProjectPath - Optional target project path for MCP config.
|
|
40
47
|
* Falls back to this.projectRoot if not provided.
|
|
41
48
|
*/
|
|
42
|
-
postInitialize(sessionName: string, targetProjectPath?: string): Promise<void>;
|
|
49
|
+
postInitialize(sessionName: string, targetProjectPath?: string, additionalAllowlistPaths?: string[]): Promise<void>;
|
|
43
50
|
/**
|
|
44
51
|
* Ensure Gemini CLI MCP server configuration exists in the project directory.
|
|
45
52
|
*
|
|
@@ -58,6 +65,11 @@ export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
58
65
|
* @param projectPath - Project directory where `.env` will be created/updated
|
|
59
66
|
*/
|
|
60
67
|
private ensureGeminiEnvFile;
|
|
68
|
+
/**
|
|
69
|
+
* Ensure Gemini trusted folders contain the required paths.
|
|
70
|
+
* Gemini blocks `/directory add` for paths that are not pre-trusted.
|
|
71
|
+
*/
|
|
72
|
+
private ensureGeminiTrustedFolders;
|
|
61
73
|
/**
|
|
62
74
|
* Check if Gemini CLI is installed and configured
|
|
63
75
|
*/
|
|
@@ -81,9 +93,19 @@ export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
81
93
|
success: boolean;
|
|
82
94
|
message: string;
|
|
83
95
|
}>;
|
|
96
|
+
/**
|
|
97
|
+
* Heuristic to detect text that is still sitting in Gemini's input box.
|
|
98
|
+
* This indicates the message was typed but Enter was not processed.
|
|
99
|
+
*/
|
|
100
|
+
private isTextLikelyStuckAtPrompt;
|
|
101
|
+
/**
|
|
102
|
+
* Detect whether Gemini CLI output indicates a path is already allowlisted.
|
|
103
|
+
*/
|
|
104
|
+
private isPathAlreadyAllowlisted;
|
|
84
105
|
/**
|
|
85
106
|
* Add multiple project paths to Gemini CLI allowlist
|
|
86
|
-
*
|
|
107
|
+
* Attempts a single batched slash command first, then falls back to
|
|
108
|
+
* per-path commands for resiliency.
|
|
87
109
|
*/
|
|
88
110
|
addMultipleProjectsToAllowlist(sessionName: string, projectPaths: string[]): Promise<{
|
|
89
111
|
success: boolean;
|
|
@@ -94,5 +116,14 @@ export declare class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
94
116
|
error?: string;
|
|
95
117
|
}>;
|
|
96
118
|
}>;
|
|
119
|
+
/**
|
|
120
|
+
* Send a single batched `/directory add` command with comma-separated paths.
|
|
121
|
+
*/
|
|
122
|
+
private addProjectsToAllowlistBatch;
|
|
123
|
+
/**
|
|
124
|
+
* Wait until Gemini's slash-command queue is idle and the prompt is ready
|
|
125
|
+
* for normal text input.
|
|
126
|
+
*/
|
|
127
|
+
private waitForSlashQueueToDrain;
|
|
97
128
|
}
|
|
98
129
|
//# sourceMappingURL=gemini-runtime.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/gemini-runtime.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGhH;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAChD,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAIpE,SAAS,CAAC,cAAc,IAAI,WAAW;IAIvC;;OAEG;cACa,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B5E;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAW7C;;;;;;;;OAQG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAW5C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAY7C;;;;;;;;OAQG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/gemini-runtime.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGhH;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAChD,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAIpE;;;;OAIG;IACG,mBAAmB,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAa,GAC1B,OAAO,CAAC,OAAO,CAAC;IAwFnB,SAAS,CAAC,cAAc,IAAI,WAAW;IAIvC;;OAEG;cACa,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B5E;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAW7C,OAAO,CAAC,mBAAmB;IAK3B;;;;;;;;OAQG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAW5C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAY7C;;;;;;;;OAQG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DzH;;;;;;;OAOG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D;;;;;;;OAOG;YACW,mBAAmB;IAoEjC;;;OAGG;YACW,0BAA0B;IA8CxC;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC;QACxC,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAgBF;;OAEG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7D,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAeF;;;OAGG;IACG,qBAAqB,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAyJF;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAajC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;;OAIG;IACG,8BAA8B,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnE,CAAC;IAiFF;;OAEG;YACW,2BAA2B;IA6EzC;;;OAGG;YACW,wBAAwB;CAmCtC"}
|