crewly 1.0.12 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/constants.ts +6 -0
- package/config/roles/_common/memory-instructions.md +10 -1
- package/config/roles/architect/prompt.md +7 -0
- package/config/roles/backend-developer/prompt.md +7 -0
- package/config/roles/content-strategist/prompt.md +69 -0
- package/config/roles/designer/prompt.md +7 -0
- package/config/roles/developer/prompt.md +7 -0
- package/config/roles/frontend-developer/prompt.md +7 -0
- package/config/roles/fullstack-dev/prompt.md +7 -0
- package/config/roles/generalist/prompt.md +8 -1
- package/config/roles/orchestrator/prompt.md +16 -1
- package/config/roles/orchestrator/self-evolution.md +72 -0
- package/config/roles/product-manager/prompt.md +7 -0
- package/config/roles/qa/prompt.md +7 -0
- package/config/roles/qa-engineer/prompt.md +7 -0
- package/config/roles/sales/prompt.md +7 -0
- package/config/roles/support/prompt.md +7 -0
- package/config/roles/tpm/prompt.md +7 -0
- package/config/skills/agent/core/register-self/instructions.md +1 -1
- package/config/skills/agent/core/remember/instructions.md +3 -3
- package/config/skills/orchestrator/delegate-task/execute.sh +21 -1
- package/config/skills/orchestrator/delegate-task/instructions.md +1 -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/remember/instructions.md +1 -1
- package/config/skills/orchestrator/reply-slack/execute.sh +45 -2
- package/config/skills/orchestrator/reply-slack/instructions.md +30 -2
- 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/config/slack-app-manifest.json +37 -0
- package/dist/backend/backend/src/constants.d.ts +38 -2
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +44 -4
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/index.js +6 -0
- package/dist/backend/backend/src/controllers/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +80 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -0
- 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/oauth/oauth.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.js +127 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.js.map +1 -0
- 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/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js +73 -6
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +9 -5
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/user/user.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/user/user.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/user/user.routes.js +45 -0
- package/dist/backend/backend/src/controllers/user/user.routes.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +1 -1
- package/dist/backend/backend/src/index.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 +222 -101
- 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 +11 -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 +21 -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 +157 -11
- 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 +25 -2
- 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 +133 -16
- 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/core/logger.service.d.ts +1 -0
- package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/logger.service.js +22 -8
- package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.js +9 -4
- package/dist/backend/backend/src/services/mcp-client.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.d.ts +4 -2
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.js +77 -18
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +10 -1
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js +11 -2
- package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js +45 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js +27 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +43 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -0
- 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/messaging/messenger-adapter.interface.d.ts +25 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js +2 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts +14 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.js +20 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +3 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +15 -2
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.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/session/pty/pty-terminal-buffer.d.ts +4 -0
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +7 -3
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.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/slack/slack-orchestrator-bridge.js +2 -2
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +14 -0
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/user/user-identity.service.d.ts +42 -0
- package/dist/backend/backend/src/services/user/user-identity.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/user/user-identity.service.js +123 -0
- package/dist/backend/backend/src/services/user/user-identity.service.js.map +1 -0
- 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 +21 -2
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +109 -6
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/chat.types.js +2 -3
- package/dist/backend/backend/src/types/chat.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +8 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/memory.types.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +11 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +23 -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 +38 -2
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +44 -4
- 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/services/core/logger.service.d.ts +1 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/logger.service.js +22 -8
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.d.ts +4 -2
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +77 -18
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +10 -1
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js +11 -2
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/chat.types.js +2 -3
- package/dist/cli/backend/src/types/chat.types.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +8 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/memory.types.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +11 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +23 -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
|
@@ -12,6 +12,92 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
12
12
|
constructor(sessionHelper, projectRoot) {
|
|
13
13
|
super(sessionHelper, projectRoot);
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Gemini CLI can show an interactive trust gate on first launch:
|
|
17
|
+
* "Do you trust this folder?".
|
|
18
|
+
* Auto-accept the default "Trust folder" option so startup does not stall.
|
|
19
|
+
*/
|
|
20
|
+
async waitForRuntimeReady(sessionName, timeout, checkInterval = 2000) {
|
|
21
|
+
const startTime = Date.now();
|
|
22
|
+
let trustPromptAttempts = 0;
|
|
23
|
+
this.logger.info('Waiting for runtime to be ready', {
|
|
24
|
+
sessionName,
|
|
25
|
+
runtimeType: this.getRuntimeType(),
|
|
26
|
+
timeout,
|
|
27
|
+
checkInterval,
|
|
28
|
+
});
|
|
29
|
+
while (Date.now() - startTime < timeout) {
|
|
30
|
+
try {
|
|
31
|
+
const output = this.sessionHelper.capturePane(sessionName);
|
|
32
|
+
if (this.isGeminiTrustPrompt(output)) {
|
|
33
|
+
trustPromptAttempts++;
|
|
34
|
+
this.logger.info('Gemini trust prompt detected during startup, auto-confirming', {
|
|
35
|
+
sessionName,
|
|
36
|
+
attempt: trustPromptAttempts,
|
|
37
|
+
});
|
|
38
|
+
// Always use Enter to accept the currently selected default option.
|
|
39
|
+
// Typing "1" can leak into the normal input box after Gemini restarts.
|
|
40
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
41
|
+
await delay(1000);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const readyPatterns = this.getRuntimeReadyPatterns();
|
|
45
|
+
const hasReadySignal = readyPatterns.some((pattern) => output.includes(pattern));
|
|
46
|
+
if (hasReadySignal) {
|
|
47
|
+
const detectedPattern = readyPatterns.find((p) => output.includes(p));
|
|
48
|
+
this.logger.info('Runtime ready pattern detected', {
|
|
49
|
+
sessionName,
|
|
50
|
+
runtimeType: this.getRuntimeType(),
|
|
51
|
+
detectedPattern,
|
|
52
|
+
totalElapsed: Date.now() - startTime,
|
|
53
|
+
});
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
const errorPatterns = this.getRuntimeErrorPatterns();
|
|
57
|
+
const hasError = errorPatterns.some((pattern) => output.includes(pattern));
|
|
58
|
+
if (hasError) {
|
|
59
|
+
const detectedError = errorPatterns.find((p) => output.includes(p));
|
|
60
|
+
this.logger.error('Runtime error pattern detected during startup', {
|
|
61
|
+
sessionName,
|
|
62
|
+
runtimeType: this.getRuntimeType(),
|
|
63
|
+
detectedError,
|
|
64
|
+
totalElapsed: Date.now() - startTime,
|
|
65
|
+
});
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.logger.warn('Error while checking runtime ready signal', {
|
|
71
|
+
sessionName,
|
|
72
|
+
runtimeType: this.getRuntimeType(),
|
|
73
|
+
error: String(error),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
await delay(checkInterval);
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const lastOutput = this.sessionHelper.capturePane(sessionName);
|
|
80
|
+
const lastLines = lastOutput.split('\n').slice(-10).join('\n');
|
|
81
|
+
this.logger.warn('Timeout waiting for runtime ready signal', {
|
|
82
|
+
sessionName,
|
|
83
|
+
runtimeType: this.getRuntimeType(),
|
|
84
|
+
timeout,
|
|
85
|
+
checkInterval,
|
|
86
|
+
totalElapsed: Date.now() - startTime,
|
|
87
|
+
lastTerminalLines: lastLines,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
this.logger.warn('Timeout waiting for runtime ready signal', {
|
|
92
|
+
sessionName,
|
|
93
|
+
runtimeType: this.getRuntimeType(),
|
|
94
|
+
timeout,
|
|
95
|
+
checkInterval,
|
|
96
|
+
totalElapsed: Date.now() - startTime,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
15
101
|
getRuntimeType() {
|
|
16
102
|
return RUNTIME_TYPES.GEMINI_CLI;
|
|
17
103
|
}
|
|
@@ -55,6 +141,10 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
55
141
|
'context left)',
|
|
56
142
|
];
|
|
57
143
|
}
|
|
144
|
+
isGeminiTrustPrompt(output) {
|
|
145
|
+
return /Do you trust this folder\?/i.test(output)
|
|
146
|
+
&& /Trust folder/i.test(output);
|
|
147
|
+
}
|
|
58
148
|
/**
|
|
59
149
|
* Gemini CLI specific exit patterns for runtime exit detection.
|
|
60
150
|
*
|
|
@@ -97,7 +187,7 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
97
187
|
* @param targetProjectPath - Optional target project path for MCP config.
|
|
98
188
|
* Falls back to this.projectRoot if not provided.
|
|
99
189
|
*/
|
|
100
|
-
async postInitialize(sessionName, targetProjectPath) {
|
|
190
|
+
async postInitialize(sessionName, targetProjectPath, additionalAllowlistPaths) {
|
|
101
191
|
const effectiveProjectPath = targetProjectPath || this.projectRoot;
|
|
102
192
|
const crewlyHome = path.join(os.homedir(), CREWLY_CONSTANTS.PATHS.CREWLY_HOME);
|
|
103
193
|
this.logger.info('Gemini CLI post-init: adding paths to directory allowlist', {
|
|
@@ -105,6 +195,7 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
105
195
|
crewlyHome,
|
|
106
196
|
projectRoot: this.projectRoot,
|
|
107
197
|
targetProjectPath: effectiveProjectPath,
|
|
198
|
+
additionalPaths: additionalAllowlistPaths?.length ?? 0,
|
|
108
199
|
});
|
|
109
200
|
// Ensure MCP servers (e.g., playwright) are configured before the agent starts.
|
|
110
201
|
// This is done before the allowlist step because it's a filesystem operation
|
|
@@ -112,18 +203,29 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
112
203
|
await this.ensureGeminiMcpConfig(effectiveProjectPath);
|
|
113
204
|
// Ensure GOOGLE_GENAI_API_KEY is in the project .env file
|
|
114
205
|
await this.ensureGeminiEnvFile(effectiveProjectPath);
|
|
206
|
+
// Ensure required paths are trusted by Gemini CLI before /directory add.
|
|
207
|
+
// Include the system temp directory so agents can read temp files
|
|
208
|
+
// (e.g. screenshots saved to /tmp by skills like rednote-reader).
|
|
209
|
+
const tempDir = os.tmpdir();
|
|
210
|
+
const pathsToAdd = [crewlyHome, this.projectRoot, tempDir];
|
|
211
|
+
if (effectiveProjectPath !== this.projectRoot) {
|
|
212
|
+
pathsToAdd.push(effectiveProjectPath);
|
|
213
|
+
}
|
|
214
|
+
// Merge additional paths (e.g. orchestrator's existing project paths)
|
|
215
|
+
// so ALL /directory add commands run before the registration prompt.
|
|
216
|
+
if (additionalAllowlistPaths?.length) {
|
|
217
|
+
for (const p of additionalAllowlistPaths) {
|
|
218
|
+
if (!pathsToAdd.includes(p)) {
|
|
219
|
+
pathsToAdd.push(p);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
await this.ensureGeminiTrustedFolders(pathsToAdd);
|
|
115
224
|
// Wait for Gemini CLI's async auto-update check to complete before
|
|
116
225
|
// sending commands. The auto-update notification (e.g., "Automatic
|
|
117
226
|
// update failed") appears shortly after startup and can interfere
|
|
118
227
|
// with slash command processing if we send /directory add too early.
|
|
119
228
|
await delay(3000);
|
|
120
|
-
// Add ~/.crewly, the Crewly project root, and the target project to the allowlist.
|
|
121
|
-
// The target project path may differ from projectRoot when the agent works on a
|
|
122
|
-
// separate project (e.g., business_os vs crewly).
|
|
123
|
-
const pathsToAdd = [crewlyHome, this.projectRoot];
|
|
124
|
-
if (effectiveProjectPath !== this.projectRoot) {
|
|
125
|
-
pathsToAdd.push(effectiveProjectPath);
|
|
126
|
-
}
|
|
127
229
|
const result = await this.addMultipleProjectsToAllowlist(sessionName, pathsToAdd);
|
|
128
230
|
if (!result.success) {
|
|
129
231
|
this.logger.warn('Failed to add paths to Gemini CLI allowlist (non-fatal)', {
|
|
@@ -131,6 +233,10 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
131
233
|
results: result.results,
|
|
132
234
|
});
|
|
133
235
|
}
|
|
236
|
+
// Do not return to caller until Gemini is back at a clean prompt.
|
|
237
|
+
// Otherwise the immediate "Read the file ..." instruction can race with
|
|
238
|
+
// an in-flight slash command and get concatenated in the input box.
|
|
239
|
+
await this.waitForSlashQueueToDrain(sessionName);
|
|
134
240
|
}
|
|
135
241
|
/**
|
|
136
242
|
* Ensure Gemini CLI MCP server configuration exists in the project directory.
|
|
@@ -220,6 +326,54 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
220
326
|
});
|
|
221
327
|
}
|
|
222
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Ensure Gemini trusted folders contain the required paths.
|
|
331
|
+
* Gemini blocks `/directory add` for paths that are not pre-trusted.
|
|
332
|
+
*/
|
|
333
|
+
async ensureGeminiTrustedFolders(paths) {
|
|
334
|
+
const trustedFoldersPath = path.join(os.homedir(), '.gemini', 'trustedFolders.json');
|
|
335
|
+
const normalizedPaths = [...new Set(paths.map((p) => path.resolve(p)))];
|
|
336
|
+
try {
|
|
337
|
+
let trustedFolders = {};
|
|
338
|
+
try {
|
|
339
|
+
const raw = await fsPromises.readFile(trustedFoldersPath, 'utf8');
|
|
340
|
+
const parsed = JSON.parse(raw);
|
|
341
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
342
|
+
trustedFolders = parsed;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
catch (readError) {
|
|
346
|
+
// Missing file is expected on first run; malformed content is reset.
|
|
347
|
+
if (readError?.code !== 'ENOENT') {
|
|
348
|
+
this.logger.warn('Failed to read Gemini trusted folders, resetting file', {
|
|
349
|
+
trustedFoldersPath,
|
|
350
|
+
error: readError instanceof Error ? readError.message : String(readError),
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
let changed = false;
|
|
355
|
+
for (const folderPath of normalizedPaths) {
|
|
356
|
+
if (trustedFolders[folderPath] !== 'TRUST_FOLDER') {
|
|
357
|
+
trustedFolders[folderPath] = 'TRUST_FOLDER';
|
|
358
|
+
changed = true;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
if (!changed)
|
|
362
|
+
return;
|
|
363
|
+
await fsPromises.mkdir(path.dirname(trustedFoldersPath), { recursive: true });
|
|
364
|
+
await fsPromises.writeFile(trustedFoldersPath, `${JSON.stringify(trustedFolders, null, 2)}\n`, 'utf8');
|
|
365
|
+
this.logger.info('Gemini trusted folders updated', {
|
|
366
|
+
trustedFoldersPath,
|
|
367
|
+
addedCount: normalizedPaths.length,
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
this.logger.warn('Failed to update Gemini trusted folders (non-fatal)', {
|
|
372
|
+
trustedFoldersPath,
|
|
373
|
+
error: error instanceof Error ? error.message : String(error),
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
}
|
|
223
377
|
/**
|
|
224
378
|
* Check if Gemini CLI is installed and configured
|
|
225
379
|
*/
|
|
@@ -283,6 +437,18 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
283
437
|
// The "/directory add" success message appears in the upper messages
|
|
284
438
|
// area via addItem(), so 20 lines only captures the unchanging bottom.
|
|
285
439
|
const beforeOutput = this.sessionHelper.capturePane(sessionName, 100);
|
|
440
|
+
const alreadyAllowlistedBeforeSend = this.isPathAlreadyAllowlisted(beforeOutput, projectPath);
|
|
441
|
+
if (alreadyAllowlistedBeforeSend) {
|
|
442
|
+
this.logger.info('Project already in Gemini CLI workspace, skipping /directory add', {
|
|
443
|
+
sessionName,
|
|
444
|
+
projectPath,
|
|
445
|
+
attempt,
|
|
446
|
+
});
|
|
447
|
+
return {
|
|
448
|
+
success: true,
|
|
449
|
+
message: `Project path ${projectPath} is already in Gemini CLI workspace`,
|
|
450
|
+
};
|
|
451
|
+
}
|
|
286
452
|
// Send the directory add command
|
|
287
453
|
// Add a trailing space as sometimes Gemini CLI needs it to delimit the path properly
|
|
288
454
|
const addCommand = `/directory add ${projectPath} `;
|
|
@@ -292,14 +458,65 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
292
458
|
// Verify: check if output changed (slash commands produce confirmation)
|
|
293
459
|
const afterOutput = this.sessionHelper.capturePane(sessionName, 100);
|
|
294
460
|
const outputChanged = beforeOutput !== afterOutput;
|
|
295
|
-
|
|
296
|
-
|
|
461
|
+
// Do not treat the literal "/directory add ..." input text as confirmation.
|
|
462
|
+
// "directory" alone is too broad and causes false positives when the
|
|
463
|
+
// command is still stuck in the prompt.
|
|
464
|
+
const hasConfirmation = /added|✓|success/i.test(afterOutput);
|
|
465
|
+
const alreadyAllowlistedAfterSend = this.isPathAlreadyAllowlisted(afterOutput, projectPath);
|
|
466
|
+
const slashQueueBlocked = /slash commands cannot be queued/i.test(afterOutput);
|
|
467
|
+
const stuckAtPrompt = this.isTextLikelyStuckAtPrompt(afterOutput, addCommand);
|
|
468
|
+
// Gemini CLI can drop Enter while still accepting typed text, which causes
|
|
469
|
+
// subsequent commands to concatenate in the same input box. If we detect
|
|
470
|
+
// that the command text is still at the prompt, press Enter again before
|
|
471
|
+
// retrying so we do not append the next command to the same line.
|
|
472
|
+
if (stuckAtPrompt) {
|
|
473
|
+
this.logger.warn('Directory add command appears stuck at prompt, re-pressing Enter', {
|
|
474
|
+
sessionName,
|
|
475
|
+
projectPath,
|
|
476
|
+
attempt,
|
|
477
|
+
});
|
|
478
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
479
|
+
await delay(500);
|
|
480
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
481
|
+
await delay(1500);
|
|
482
|
+
const recoveredOutput = this.sessionHelper.capturePane(sessionName, 100);
|
|
483
|
+
const recoveredHasConfirmation = /added|✓|success/i.test(recoveredOutput);
|
|
484
|
+
const recoveredAlreadyAllowlisted = this.isPathAlreadyAllowlisted(recoveredOutput, projectPath);
|
|
485
|
+
const stillStuck = this.isTextLikelyStuckAtPrompt(recoveredOutput, addCommand);
|
|
486
|
+
if (recoveredHasConfirmation || recoveredAlreadyAllowlisted || !stillStuck) {
|
|
487
|
+
this.logger.info('Project added to Gemini CLI allowlist after Enter recovery', {
|
|
488
|
+
sessionName,
|
|
489
|
+
projectPath,
|
|
490
|
+
attempt,
|
|
491
|
+
recoveredHasConfirmation,
|
|
492
|
+
recoveredAlreadyAllowlisted,
|
|
493
|
+
});
|
|
494
|
+
return {
|
|
495
|
+
success: true,
|
|
496
|
+
message: `Project path ${projectPath} added to Gemini CLI allowlist`,
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
// Gemini can report queue contention when commands are fired too quickly.
|
|
501
|
+
// Treat this as a hard retry signal and do not mark success.
|
|
502
|
+
if (slashQueueBlocked) {
|
|
503
|
+
this.logger.warn('Gemini CLI slash command queue is busy, retrying /directory add', {
|
|
504
|
+
sessionName,
|
|
505
|
+
projectPath,
|
|
506
|
+
attempt,
|
|
507
|
+
});
|
|
508
|
+
await delay(2000);
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
// Only accept explicit confirmation signals. Generic output changes
|
|
512
|
+
// are too noisy in Gemini's TUI and can produce false positives.
|
|
513
|
+
if ((hasConfirmation || alreadyAllowlistedAfterSend) && !stuckAtPrompt) {
|
|
297
514
|
this.logger.info('Project added to Gemini CLI allowlist (verified)', {
|
|
298
515
|
sessionName,
|
|
299
516
|
projectPath,
|
|
300
517
|
attempt,
|
|
301
|
-
outputChanged,
|
|
302
518
|
hasConfirmation,
|
|
519
|
+
alreadyAllowlistedAfterSend,
|
|
303
520
|
});
|
|
304
521
|
return {
|
|
305
522
|
success: true,
|
|
@@ -335,19 +552,74 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
335
552
|
message: `Failed to add project path to allowlist after ${maxAttempts} attempts`,
|
|
336
553
|
};
|
|
337
554
|
}
|
|
555
|
+
/**
|
|
556
|
+
* Heuristic to detect text that is still sitting in Gemini's input box.
|
|
557
|
+
* This indicates the message was typed but Enter was not processed.
|
|
558
|
+
*/
|
|
559
|
+
isTextLikelyStuckAtPrompt(terminalOutput, message) {
|
|
560
|
+
if (!terminalOutput || !message)
|
|
561
|
+
return false;
|
|
562
|
+
const snippet = message.replace(/\s+/g, ' ').trim();
|
|
563
|
+
if (!snippet)
|
|
564
|
+
return false;
|
|
565
|
+
const bottomText = terminalOutput
|
|
566
|
+
.split('\n')
|
|
567
|
+
.slice(-15)
|
|
568
|
+
.join(' ')
|
|
569
|
+
.replace(/\s+/g, ' ')
|
|
570
|
+
.trim();
|
|
571
|
+
return bottomText.includes(snippet);
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Detect whether Gemini CLI output indicates a path is already allowlisted.
|
|
575
|
+
*/
|
|
576
|
+
isPathAlreadyAllowlisted(terminalOutput, projectPath) {
|
|
577
|
+
if (!terminalOutput || !projectPath)
|
|
578
|
+
return false;
|
|
579
|
+
const normalizedOutput = terminalOutput.replace(/\s+/g, ' ');
|
|
580
|
+
const normalizedPath = projectPath.replace(/\s+/g, ' ');
|
|
581
|
+
const hasAlreadyMarker = /already in (the )?workspace|already added|already allowed/i.test(normalizedOutput);
|
|
582
|
+
return hasAlreadyMarker && normalizedOutput.includes(normalizedPath);
|
|
583
|
+
}
|
|
338
584
|
/**
|
|
339
585
|
* Add multiple project paths to Gemini CLI allowlist
|
|
340
|
-
*
|
|
586
|
+
* Attempts a single batched slash command first, then falls back to
|
|
587
|
+
* per-path commands for resiliency.
|
|
341
588
|
*/
|
|
342
589
|
async addMultipleProjectsToAllowlist(sessionName, projectPaths) {
|
|
590
|
+
const uniqueProjectPaths = [...new Set(projectPaths)];
|
|
343
591
|
const results = [];
|
|
344
592
|
let successCount = 0;
|
|
345
593
|
this.logger.info('Adding multiple projects to Gemini CLI allowlist', {
|
|
346
594
|
sessionName,
|
|
347
|
-
projectCount:
|
|
348
|
-
projectPaths,
|
|
595
|
+
projectCount: uniqueProjectPaths.length,
|
|
596
|
+
projectPaths: uniqueProjectPaths,
|
|
349
597
|
});
|
|
350
|
-
|
|
598
|
+
// Fast path: Gemini CLI supports `/directory add path1,path2,...`.
|
|
599
|
+
// Use this first to avoid queueing many slash commands back-to-back.
|
|
600
|
+
if (uniqueProjectPaths.length > 1) {
|
|
601
|
+
const batchResult = await this.addProjectsToAllowlistBatch(sessionName, uniqueProjectPaths);
|
|
602
|
+
if (batchResult.success) {
|
|
603
|
+
for (const projectPath of uniqueProjectPaths) {
|
|
604
|
+
results.push({ path: projectPath, success: true });
|
|
605
|
+
}
|
|
606
|
+
successCount = uniqueProjectPaths.length;
|
|
607
|
+
this.logger.info('Completed adding multiple projects via batch command', {
|
|
608
|
+
sessionName,
|
|
609
|
+
totalProjects: uniqueProjectPaths.length,
|
|
610
|
+
});
|
|
611
|
+
return {
|
|
612
|
+
success: true,
|
|
613
|
+
message: `Added ${successCount}/${uniqueProjectPaths.length} projects to Gemini CLI allowlist`,
|
|
614
|
+
results,
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
this.logger.warn('Batch /directory add failed, falling back to per-path commands', {
|
|
618
|
+
sessionName,
|
|
619
|
+
reason: batchResult.message,
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
for (const projectPath of uniqueProjectPaths) {
|
|
351
623
|
try {
|
|
352
624
|
const result = await this.addProjectToAllowlist(sessionName, projectPath);
|
|
353
625
|
if (result.success) {
|
|
@@ -370,15 +642,15 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
370
642
|
error: errorMessage,
|
|
371
643
|
});
|
|
372
644
|
}
|
|
373
|
-
//
|
|
374
|
-
await delay(
|
|
645
|
+
// Keep spacing between slash commands to reduce queue contention in Gemini CLI.
|
|
646
|
+
await delay(1500);
|
|
375
647
|
}
|
|
376
|
-
const message = `Added ${successCount}/${
|
|
648
|
+
const message = `Added ${successCount}/${uniqueProjectPaths.length} projects to Gemini CLI allowlist`;
|
|
377
649
|
this.logger.info('Completed adding multiple projects to Gemini CLI allowlist', {
|
|
378
650
|
sessionName,
|
|
379
|
-
totalProjects:
|
|
651
|
+
totalProjects: uniqueProjectPaths.length,
|
|
380
652
|
successCount,
|
|
381
|
-
failureCount:
|
|
653
|
+
failureCount: uniqueProjectPaths.length - successCount,
|
|
382
654
|
});
|
|
383
655
|
return {
|
|
384
656
|
success: successCount > 0,
|
|
@@ -386,5 +658,101 @@ export class GeminiRuntimeService extends RuntimeAgentService {
|
|
|
386
658
|
results,
|
|
387
659
|
};
|
|
388
660
|
}
|
|
661
|
+
/**
|
|
662
|
+
* Send a single batched `/directory add` command with comma-separated paths.
|
|
663
|
+
*/
|
|
664
|
+
async addProjectsToAllowlistBatch(sessionName, projectPaths) {
|
|
665
|
+
const maxAttempts = 2;
|
|
666
|
+
const commandPayload = projectPaths.join(',');
|
|
667
|
+
const batchCommand = `/directory add ${commandPayload} `;
|
|
668
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
669
|
+
try {
|
|
670
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
671
|
+
await delay(1000);
|
|
672
|
+
const beforeOutput = this.sessionHelper.capturePane(sessionName, 120);
|
|
673
|
+
const allAlreadyPresent = projectPaths.every((p) => this.isPathAlreadyAllowlisted(beforeOutput, p));
|
|
674
|
+
if (allAlreadyPresent) {
|
|
675
|
+
return {
|
|
676
|
+
success: true,
|
|
677
|
+
message: 'All paths are already in Gemini CLI workspace',
|
|
678
|
+
};
|
|
679
|
+
}
|
|
680
|
+
await this.sessionHelper.sendMessage(sessionName, batchCommand);
|
|
681
|
+
await delay(2500);
|
|
682
|
+
const afterOutput = this.sessionHelper.capturePane(sessionName, 120);
|
|
683
|
+
const hasQueueWarning = /slash commands cannot be queued/i.test(afterOutput);
|
|
684
|
+
const stuckAtPrompt = this.isTextLikelyStuckAtPrompt(afterOutput, batchCommand);
|
|
685
|
+
const hasConfirmation = /added|✓|success/i.test(afterOutput);
|
|
686
|
+
const allPresentAfter = projectPaths.every((p) => this.isPathAlreadyAllowlisted(afterOutput, p));
|
|
687
|
+
if (hasQueueWarning) {
|
|
688
|
+
await delay(2000);
|
|
689
|
+
continue;
|
|
690
|
+
}
|
|
691
|
+
if (stuckAtPrompt) {
|
|
692
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
693
|
+
await delay(500);
|
|
694
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
695
|
+
await delay(1500);
|
|
696
|
+
const recoveredOutput = this.sessionHelper.capturePane(sessionName, 120);
|
|
697
|
+
const recoveredConfirmation = /added|✓|success/i.test(recoveredOutput);
|
|
698
|
+
const recoveredAllPresent = projectPaths.every((p) => this.isPathAlreadyAllowlisted(recoveredOutput, p));
|
|
699
|
+
const stillStuck = this.isTextLikelyStuckAtPrompt(recoveredOutput, batchCommand);
|
|
700
|
+
if ((recoveredConfirmation || recoveredAllPresent) && !stillStuck) {
|
|
701
|
+
return { success: true, message: 'Batch directory add command succeeded' };
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
if ((hasConfirmation || allPresentAfter) && !stuckAtPrompt) {
|
|
705
|
+
return { success: true, message: 'Batch directory add command succeeded' };
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
catch (error) {
|
|
709
|
+
if (attempt === maxAttempts) {
|
|
710
|
+
return {
|
|
711
|
+
success: false,
|
|
712
|
+
message: error instanceof Error ? error.message : String(error),
|
|
713
|
+
};
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
return {
|
|
718
|
+
success: false,
|
|
719
|
+
message: 'Batch directory add command not confirmed',
|
|
720
|
+
};
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* Wait until Gemini's slash-command queue is idle and the prompt is ready
|
|
724
|
+
* for normal text input.
|
|
725
|
+
*/
|
|
726
|
+
async waitForSlashQueueToDrain(sessionName) {
|
|
727
|
+
const maxChecks = 8;
|
|
728
|
+
for (let check = 1; check <= maxChecks; check++) {
|
|
729
|
+
const output = this.sessionHelper.capturePane(sessionName, 120);
|
|
730
|
+
const hasQueueWarning = /slash commands cannot be queued/i.test(output);
|
|
731
|
+
const hasReadyPrompt = this.getRuntimeReadyPatterns().some((pattern) => output.includes(pattern));
|
|
732
|
+
const addCommandStuck = this.isTextLikelyStuckAtPrompt(output, '/directory add');
|
|
733
|
+
if (hasReadyPrompt && !hasQueueWarning && !addCommandStuck) {
|
|
734
|
+
this.logger.debug('Gemini slash command queue appears idle', {
|
|
735
|
+
sessionName,
|
|
736
|
+
check,
|
|
737
|
+
});
|
|
738
|
+
return;
|
|
739
|
+
}
|
|
740
|
+
// If command text still sits in the input box, submit/clear it so the
|
|
741
|
+
// next non-slash instruction is not appended to the same line.
|
|
742
|
+
if (addCommandStuck || hasQueueWarning) {
|
|
743
|
+
this.logger.debug('Gemini slash queue not idle yet, nudging prompt with Enter', {
|
|
744
|
+
sessionName,
|
|
745
|
+
check,
|
|
746
|
+
hasQueueWarning,
|
|
747
|
+
addCommandStuck,
|
|
748
|
+
});
|
|
749
|
+
await this.sessionHelper.sendEnter(sessionName);
|
|
750
|
+
}
|
|
751
|
+
await delay(1000);
|
|
752
|
+
}
|
|
753
|
+
this.logger.warn('Timed out waiting for Gemini slash queue to drain (continuing anyway)', {
|
|
754
|
+
sessionName,
|
|
755
|
+
});
|
|
756
|
+
}
|
|
389
757
|
}
|
|
390
758
|
//# sourceMappingURL=gemini-runtime.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-runtime.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/gemini-runtime.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini-runtime.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/gemini-runtime.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,7 @@ export declare abstract class RuntimeAgentService {
|
|
|
70
70
|
* @param targetProjectPath - Optional target project path for the agent (where MCP configs should be written).
|
|
71
71
|
* Falls back to this.projectRoot if not provided.
|
|
72
72
|
*/
|
|
73
|
-
postInitialize(sessionName: string, targetProjectPath?: string): Promise<void>;
|
|
73
|
+
postInitialize(sessionName: string, targetProjectPath?: string, additionalAllowlistPaths?: string[]): Promise<void>;
|
|
74
74
|
/**
|
|
75
75
|
* Clear cached detection results for a session
|
|
76
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-agent.service.abstract.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-agent.service.abstract.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,8BAAsB,mBAAmB;IACxC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAGrD,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,gBAAgB,CACb;gBAEC,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAQpE,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAChD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,MAAM,EAAE;IACtD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,MAAM,EAAE;IACtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAErD;;;;;OAKG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;;;;;;;OAUG;IACG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFzI;;;OAGG;IACG,wBAAwB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,OAAe,GAC3B,OAAO,CAAC,OAAO,CAAC;IAiFnB;;;OAGG;IACG,mBAAmB,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAa,GAC1B,OAAO,CAAC,OAAO,CAAC;IAkFnB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-agent.service.abstract.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-agent.service.abstract.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,8BAAsB,mBAAmB;IACxC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAGrD,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,gBAAgB,CACb;gBAEC,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAQpE,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAChD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,MAAM,EAAE;IACtD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,MAAM,EAAE;IACtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAErD;;;;;OAKG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;;;;;;;OAUG;IACG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFzI;;;OAGG;IACG,wBAAwB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,OAAe,GAC3B,OAAO,CAAC,OAAO,CAAC;IAiFnB;;;OAGG;IACG,mBAAmB,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAa,GAC1B,OAAO,CAAC,OAAO,CAAC;IAkFnB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzH;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAU9C;;OAEG;IACH,uBAAuB,IAAI,aAAa,GAAG,IAAI;IAM/C;;;;;;;;;;;;;;;;OAgBG;cACa,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgG3F;;OAEG;YACW,uBAAuB;IA4BrC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,aAAa;IAgB3C;;OAEG;cACa,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrE;;OAEG;cACa,0BAA0B,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;CA0BhB"}
|