@action-llama/action-llama 0.4.2 → 0.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -12
- package/dist/agents/container-entry.js +9 -7
- package/dist/agents/container-entry.js.map +1 -1
- package/dist/agents/container-runner.d.ts +4 -1
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +10 -2
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/agents/runner.d.ts +4 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +41 -18
- package/dist/agents/runner.js.map +1 -1
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +63 -14
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +2 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/main.js +1 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/credentials/builtins/custom-key.d.ts +4 -0
- package/dist/credentials/builtins/custom-key.d.ts.map +1 -0
- package/dist/credentials/builtins/custom-key.js +35 -0
- package/dist/credentials/builtins/custom-key.js.map +1 -0
- package/dist/credentials/builtins/google-key.d.ts +4 -0
- package/dist/credentials/builtins/google-key.d.ts.map +1 -0
- package/dist/credentials/builtins/google-key.js +35 -0
- package/dist/credentials/builtins/google-key.js.map +1 -0
- package/dist/credentials/builtins/groq-key.d.ts +4 -0
- package/dist/credentials/builtins/groq-key.d.ts.map +1 -0
- package/dist/credentials/builtins/groq-key.js +37 -0
- package/dist/credentials/builtins/groq-key.js.map +1 -0
- package/dist/credentials/builtins/index.d.ts.map +1 -1
- package/dist/credentials/builtins/index.js +12 -0
- package/dist/credentials/builtins/index.js.map +1 -1
- package/dist/credentials/builtins/mistral-key.d.ts +4 -0
- package/dist/credentials/builtins/mistral-key.d.ts.map +1 -0
- package/dist/credentials/builtins/mistral-key.js +35 -0
- package/dist/credentials/builtins/mistral-key.js.map +1 -0
- package/dist/credentials/builtins/openrouter-key.d.ts +4 -0
- package/dist/credentials/builtins/openrouter-key.d.ts.map +1 -0
- package/dist/credentials/builtins/openrouter-key.js +37 -0
- package/dist/credentials/builtins/openrouter-key.js.map +1 -0
- package/dist/credentials/builtins/xai-key.d.ts +4 -0
- package/dist/credentials/builtins/xai-key.d.ts.map +1 -0
- package/dist/credentials/builtins/xai-key.js +37 -0
- package/dist/credentials/builtins/xai-key.js.map +1 -0
- package/dist/gateway/index.d.ts +2 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +20 -34
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/routes/credentials.d.ts +2 -2
- package/dist/gateway/routes/credentials.d.ts.map +1 -1
- package/dist/gateway/routes/credentials.js +7 -9
- package/dist/gateway/routes/credentials.js.map +1 -1
- package/dist/gateway/routes/dashboard.d.ts +4 -0
- package/dist/gateway/routes/dashboard.d.ts.map +1 -0
- package/dist/gateway/routes/dashboard.js +151 -0
- package/dist/gateway/routes/dashboard.js.map +1 -0
- package/dist/gateway/routes/logs.d.ts +2 -2
- package/dist/gateway/routes/logs.d.ts.map +1 -1
- package/dist/gateway/routes/logs.js +9 -12
- package/dist/gateway/routes/logs.js.map +1 -1
- package/dist/gateway/routes/shutdown.d.ts +2 -2
- package/dist/gateway/routes/shutdown.d.ts.map +1 -1
- package/dist/gateway/routes/shutdown.js +7 -11
- package/dist/gateway/routes/shutdown.js.map +1 -1
- package/dist/gateway/routes/webhooks.d.ts +2 -2
- package/dist/gateway/routes/webhooks.d.ts.map +1 -1
- package/dist/gateway/routes/webhooks.js +10 -14
- package/dist/gateway/routes/webhooks.js.map +1 -1
- package/dist/gateway/views/dashboard-page.d.ts +3 -0
- package/dist/gateway/views/dashboard-page.d.ts.map +1 -0
- package/dist/gateway/views/dashboard-page.js +246 -0
- package/dist/gateway/views/dashboard-page.js.map +1 -0
- package/dist/gateway/views/logs-page.d.ts +2 -0
- package/dist/gateway/views/logs-page.d.ts.map +1 -0
- package/dist/gateway/views/logs-page.js +180 -0
- package/dist/gateway/views/logs-page.js.map +1 -0
- package/dist/scheduler/event-queue.d.ts +18 -0
- package/dist/scheduler/event-queue.d.ts.map +1 -1
- package/dist/scheduler/event-queue.js +35 -0
- package/dist/scheduler/event-queue.js.map +1 -1
- package/dist/scheduler/index.d.ts +5 -2
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +89 -37
- package/dist/scheduler/index.js.map +1 -1
- package/dist/setup/prompts.d.ts.map +1 -1
- package/dist/setup/prompts.js +89 -19
- package/dist/setup/prompts.js.map +1 -1
- package/dist/setup/scaffold.d.ts.map +1 -1
- package/dist/setup/scaffold.js +52 -24
- package/dist/setup/scaffold.js.map +1 -1
- package/dist/shared/config.d.ts +2 -1
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +1 -1
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/plain-logger.d.ts.map +1 -1
- package/dist/tui/plain-logger.js +16 -6
- package/dist/tui/plain-logger.js.map +1 -1
- package/dist/tui/status-tracker.d.ts +3 -0
- package/dist/tui/status-tracker.d.ts.map +1 -1
- package/dist/tui/status-tracker.js +8 -0
- package/dist/tui/status-tracker.js.map +1 -1
- package/dist/webhooks/definitions/github.d.ts.map +1 -1
- package/dist/webhooks/definitions/github.js +2 -0
- package/dist/webhooks/definitions/github.js.map +1 -1
- package/dist/webhooks/providers/github.d.ts.map +1 -1
- package/dist/webhooks/providers/github.js +7 -0
- package/dist/webhooks/providers/github.js.map +1 -1
- package/dist/webhooks/types.d.ts +2 -0
- package/dist/webhooks/types.d.ts.map +1 -1
- package/package.json +10 -4
- package/dist/gateway/router.d.ts +0 -13
- package/dist/gateway/router.d.ts.map +0 -1
- package/dist/gateway/router.js +0 -71
- package/dist/gateway/router.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-page.js","sourceRoot":"","sources":["../../../src/gateway/views/dashboard-page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs-page.d.ts","sourceRoot":"","sources":["../../../src/gateway/views/logs-page.ts"],"names":[],"mappings":"AAQA,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2KxD"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
function escapeHtml(str) {
|
|
2
|
+
return str
|
|
3
|
+
.replace(/&/g, "&")
|
|
4
|
+
.replace(/</g, "<")
|
|
5
|
+
.replace(/>/g, ">")
|
|
6
|
+
.replace(/"/g, """);
|
|
7
|
+
}
|
|
8
|
+
export function renderLogsPage(agentName) {
|
|
9
|
+
return `<!DOCTYPE html>
|
|
10
|
+
<html lang="en">
|
|
11
|
+
<head>
|
|
12
|
+
<meta charset="utf-8">
|
|
13
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
14
|
+
<title>${escapeHtml(agentName)} — Logs — Action Llama</title>
|
|
15
|
+
<style>
|
|
16
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
17
|
+
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; background: #0f172a; color: #e2e8f0; padding: 16px; display: flex; flex-direction: column; height: 100vh; height: 100dvh; }
|
|
18
|
+
.top-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-shrink: 0; flex-wrap: wrap; }
|
|
19
|
+
.top-bar a { color: #60a5fa; text-decoration: none; font-size: 0.9rem; }
|
|
20
|
+
.top-bar a:hover { text-decoration: underline; }
|
|
21
|
+
h1 { font-size: 1.2rem; color: #f8fafc; }
|
|
22
|
+
.agent-state { font-size: 0.85rem; color: #94a3b8; }
|
|
23
|
+
.state-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; vertical-align: middle; }
|
|
24
|
+
.controls { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; flex-shrink: 0; flex-wrap: wrap; }
|
|
25
|
+
.controls button { background: #334155; color: #e2e8f0; border: 1px solid #475569; border-radius: 4px; padding: 6px 14px; cursor: pointer; font-size: 0.8rem; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
|
|
26
|
+
.controls button:hover { background: #475569; }
|
|
27
|
+
.controls button.active { background: #3b82f6; border-color: #3b82f6; }
|
|
28
|
+
.controls .status { font-size: 0.8rem; color: #64748b; }
|
|
29
|
+
.log-container { flex: 1; background: #1e293b; border-radius: 8px; padding: 12px; font-family: 'SF Mono', 'Fira Code', monospace; font-size: 0.75rem; line-height: 1.5; overflow-y: auto; min-height: 0; -webkit-overflow-scrolling: touch; }
|
|
30
|
+
.log-line { white-space: pre-wrap; word-break: break-all; }
|
|
31
|
+
.log-time { color: #64748b; }
|
|
32
|
+
.log-level { font-weight: 600; }
|
|
33
|
+
.log-level-trace { color: #64748b; }
|
|
34
|
+
.log-level-debug { color: #94a3b8; }
|
|
35
|
+
.log-level-info { color: #22c55e; }
|
|
36
|
+
.log-level-warn { color: #eab308; }
|
|
37
|
+
.log-level-error { color: #ef4444; }
|
|
38
|
+
.empty { color: #475569; font-style: italic; }
|
|
39
|
+
.connection-status { font-size: 0.75rem; padding: 2px 8px; border-radius: 3px; }
|
|
40
|
+
.connection-status.connected { color: #22c55e; }
|
|
41
|
+
.connection-status.disconnected { color: #ef4444; }
|
|
42
|
+
|
|
43
|
+
@media (max-width: 640px) {
|
|
44
|
+
body { padding: 10px; }
|
|
45
|
+
h1 { font-size: 1.05rem; }
|
|
46
|
+
.top-bar { gap: 8px; margin-bottom: 8px; }
|
|
47
|
+
.top-bar a { font-size: 0.8rem; }
|
|
48
|
+
.controls button { padding: 8px 14px; font-size: 0.8rem; }
|
|
49
|
+
.log-container { padding: 10px; font-size: 0.65rem; line-height: 1.45; border-radius: 6px; }
|
|
50
|
+
.agent-state { font-size: 0.75rem; }
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@media (min-width: 641px) {
|
|
54
|
+
body { padding: 24px; }
|
|
55
|
+
.log-container { padding: 16px; font-size: 0.8rem; line-height: 1.6; }
|
|
56
|
+
}
|
|
57
|
+
</style>
|
|
58
|
+
</head>
|
|
59
|
+
<body>
|
|
60
|
+
<div class="top-bar">
|
|
61
|
+
<a href="/dashboard">← Dashboard</a>
|
|
62
|
+
<h1>${escapeHtml(agentName)}</h1>
|
|
63
|
+
<span class="agent-state" id="agent-state"></span>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<div class="controls">
|
|
67
|
+
<button id="follow-btn" class="active" onclick="toggleFollow()">Follow</button>
|
|
68
|
+
<button onclick="clearLogs()">Clear</button>
|
|
69
|
+
<span class="status" id="line-count">0 lines</span>
|
|
70
|
+
<span class="connection-status connected" id="conn-status">connected</span>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
<div class="log-container" id="log-container">
|
|
74
|
+
<div class="empty" id="empty-msg">Waiting for logs...</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<script>
|
|
78
|
+
const agentName = ${JSON.stringify(agentName)};
|
|
79
|
+
const container = document.getElementById("log-container");
|
|
80
|
+
const emptyMsg = document.getElementById("empty-msg");
|
|
81
|
+
const followBtn = document.getElementById("follow-btn");
|
|
82
|
+
const lineCountEl = document.getElementById("line-count");
|
|
83
|
+
const connStatus = document.getElementById("conn-status");
|
|
84
|
+
const agentStateEl = document.getElementById("agent-state");
|
|
85
|
+
|
|
86
|
+
const stateColors = { running: "#22c55e", building: "#eab308", error: "#ef4444", idle: "#6b7280" };
|
|
87
|
+
let follow = true;
|
|
88
|
+
let lineCount = 0;
|
|
89
|
+
|
|
90
|
+
function esc(s) { const d = document.createElement("div"); d.textContent = s; return d.innerHTML; }
|
|
91
|
+
|
|
92
|
+
function toggleFollow() {
|
|
93
|
+
follow = !follow;
|
|
94
|
+
followBtn.classList.toggle("active", follow);
|
|
95
|
+
if (follow) container.scrollTop = container.scrollHeight;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function clearLogs() {
|
|
99
|
+
container.innerHTML = "";
|
|
100
|
+
lineCount = 0;
|
|
101
|
+
lineCountEl.textContent = "0 lines";
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const levelNames = { 10: "TRACE", 20: "DEBUG", 30: "INFO", 40: "WARN", 50: "ERROR", 60: "FATAL" };
|
|
105
|
+
const levelClasses = { 10: "trace", 20: "debug", 30: "info", 40: "warn", 50: "error", 60: "error" };
|
|
106
|
+
|
|
107
|
+
function formatLogEntry(entry) {
|
|
108
|
+
let time, level, msg;
|
|
109
|
+
try {
|
|
110
|
+
const parsed = JSON.parse(entry);
|
|
111
|
+
time = parsed.time ? new Date(parsed.time).toLocaleTimeString() : "";
|
|
112
|
+
const lvl = parsed.level || 30;
|
|
113
|
+
level = levelNames[lvl] || "INFO";
|
|
114
|
+
const cls = levelClasses[lvl] || "info";
|
|
115
|
+
msg = parsed.msg || entry;
|
|
116
|
+
return '<span class="log-time">' + esc(time) + '</span> <span class="log-level log-level-' + cls + '">' + level.padEnd(5) + '</span> ' + esc(msg);
|
|
117
|
+
} catch {
|
|
118
|
+
return esc(entry);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function appendLine(entry) {
|
|
123
|
+
if (emptyMsg && emptyMsg.parentNode) emptyMsg.remove();
|
|
124
|
+
const div = document.createElement("div");
|
|
125
|
+
div.className = "log-line";
|
|
126
|
+
div.innerHTML = formatLogEntry(entry);
|
|
127
|
+
container.appendChild(div);
|
|
128
|
+
lineCount++;
|
|
129
|
+
lineCountEl.textContent = lineCount + " line" + (lineCount !== 1 ? "s" : "");
|
|
130
|
+
if (follow) container.scrollTop = container.scrollHeight;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Pause follow when user scrolls up
|
|
134
|
+
container.addEventListener("scroll", () => {
|
|
135
|
+
const atBottom = container.scrollHeight - container.scrollTop - container.clientHeight < 50;
|
|
136
|
+
if (!atBottom && follow) {
|
|
137
|
+
follow = false;
|
|
138
|
+
followBtn.classList.remove("active");
|
|
139
|
+
} else if (atBottom && !follow) {
|
|
140
|
+
follow = true;
|
|
141
|
+
followBtn.classList.add("active");
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
// Log stream
|
|
146
|
+
const logEs = new EventSource("/dashboard/api/logs/" + encodeURIComponent(agentName) + "/stream");
|
|
147
|
+
logEs.onmessage = function(e) {
|
|
148
|
+
const data = JSON.parse(e.data);
|
|
149
|
+
if (Array.isArray(data.lines)) {
|
|
150
|
+
for (const line of data.lines) appendLine(line);
|
|
151
|
+
} else if (data.line) {
|
|
152
|
+
appendLine(data.line);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
logEs.onopen = function() {
|
|
156
|
+
connStatus.textContent = "connected";
|
|
157
|
+
connStatus.className = "connection-status connected";
|
|
158
|
+
};
|
|
159
|
+
logEs.onerror = function() {
|
|
160
|
+
connStatus.textContent = "disconnected";
|
|
161
|
+
connStatus.className = "connection-status disconnected";
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// Status stream for agent state
|
|
165
|
+
const statusEs = new EventSource("/dashboard/api/status-stream");
|
|
166
|
+
statusEs.onmessage = function(e) {
|
|
167
|
+
const data = JSON.parse(e.data);
|
|
168
|
+
if (data.agents) {
|
|
169
|
+
const agent = data.agents.find(a => a.name === agentName);
|
|
170
|
+
if (agent) {
|
|
171
|
+
const color = stateColors[agent.state] || "#6b7280";
|
|
172
|
+
agentStateEl.innerHTML = '<span class="state-dot" style="background:' + color + '"></span> ' + esc(agent.state);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
</script>
|
|
177
|
+
</body>
|
|
178
|
+
</html>`;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=logs-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs-page.js","sourceRoot":"","sources":["../../../src/gateway/views/logs-page.ts"],"names":[],"mappings":"AAAA,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO;;;;;SAKA,UAAU,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgDpB,UAAU,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;wBAgBP,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoGzC,CAAC;AACT,CAAC"}
|
|
@@ -9,4 +9,22 @@ export declare class EventQueue {
|
|
|
9
9
|
onEvent(listener: EventListener): void;
|
|
10
10
|
push(event: QueuedEvent): void;
|
|
11
11
|
}
|
|
12
|
+
export interface QueuedWebhookEvent<T> {
|
|
13
|
+
context: T;
|
|
14
|
+
receivedAt: Date;
|
|
15
|
+
}
|
|
16
|
+
export interface EnqueueResult<T> {
|
|
17
|
+
accepted: boolean;
|
|
18
|
+
dropped?: QueuedWebhookEvent<T>;
|
|
19
|
+
}
|
|
20
|
+
export declare class WebhookEventQueue<T> {
|
|
21
|
+
private queues;
|
|
22
|
+
private maxSize;
|
|
23
|
+
constructor(maxSize?: number);
|
|
24
|
+
enqueue(agentName: string, context: T): EnqueueResult<T>;
|
|
25
|
+
dequeue(agentName: string): QueuedWebhookEvent<T> | undefined;
|
|
26
|
+
size(agentName: string): number;
|
|
27
|
+
clear(agentName: string): void;
|
|
28
|
+
clearAll(): void;
|
|
29
|
+
}
|
|
12
30
|
//# sourceMappingURL=event-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-queue.d.ts","sourceRoot":"","sources":["../../src/scheduler/event-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEzD,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAItC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAK/B"}
|
|
1
|
+
{"version":3,"file":"event-queue.d.ts","sourceRoot":"","sources":["../../src/scheduler/event-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEzD,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAItC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAK/B;AAID,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACjC;AAED,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,SAAK;IAIxB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAcxD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS;IAM7D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI/B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,IAAI,IAAI;CAGjB"}
|
|
@@ -9,4 +9,39 @@ export class EventQueue {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
export class WebhookEventQueue {
|
|
13
|
+
queues = new Map();
|
|
14
|
+
maxSize;
|
|
15
|
+
constructor(maxSize = 20) {
|
|
16
|
+
this.maxSize = maxSize;
|
|
17
|
+
}
|
|
18
|
+
enqueue(agentName, context) {
|
|
19
|
+
let queue = this.queues.get(agentName);
|
|
20
|
+
if (!queue) {
|
|
21
|
+
queue = [];
|
|
22
|
+
this.queues.set(agentName, queue);
|
|
23
|
+
}
|
|
24
|
+
let dropped;
|
|
25
|
+
if (queue.length >= this.maxSize) {
|
|
26
|
+
dropped = queue.shift();
|
|
27
|
+
}
|
|
28
|
+
queue.push({ context, receivedAt: new Date() });
|
|
29
|
+
return { accepted: true, dropped };
|
|
30
|
+
}
|
|
31
|
+
dequeue(agentName) {
|
|
32
|
+
const queue = this.queues.get(agentName);
|
|
33
|
+
if (!queue || queue.length === 0)
|
|
34
|
+
return undefined;
|
|
35
|
+
return queue.shift();
|
|
36
|
+
}
|
|
37
|
+
size(agentName) {
|
|
38
|
+
return this.queues.get(agentName)?.length ?? 0;
|
|
39
|
+
}
|
|
40
|
+
clear(agentName) {
|
|
41
|
+
this.queues.delete(agentName);
|
|
42
|
+
}
|
|
43
|
+
clearAll() {
|
|
44
|
+
this.queues.clear();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
12
47
|
//# sourceMappingURL=event-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-queue.js","sourceRoot":"","sources":["../../src/scheduler/event-queue.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,UAAU;IACb,SAAS,GAAoB,EAAE,CAAC;IAExC,OAAO,CAAC,QAAuB;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"event-queue.js","sourceRoot":"","sources":["../../src/scheduler/event-queue.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,UAAU;IACb,SAAS,GAAoB,EAAE,CAAC;IAExC,OAAO,CAAC,QAAuB;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAcD,MAAM,OAAO,iBAAiB;IACpB,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;IACpD,OAAO,CAAS;IAExB,YAAY,OAAO,GAAG,EAAE;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,OAAU;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,OAA0C,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,SAAiB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACnD,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -6,9 +6,12 @@ import { WebhookRegistry } from "../webhooks/registry.js";
|
|
|
6
6
|
import type { GatewayServer } from "../gateway/index.js";
|
|
7
7
|
interface RunnerLike {
|
|
8
8
|
isRunning: boolean;
|
|
9
|
-
run(prompt: string
|
|
9
|
+
run(prompt: string, triggerInfo?: {
|
|
10
|
+
type: 'schedule' | 'webhook' | 'agent';
|
|
11
|
+
source?: string;
|
|
12
|
+
}): Promise<RunOutcome>;
|
|
10
13
|
}
|
|
11
|
-
export declare function startScheduler(projectPath: string, globalConfigOverride?: GlobalConfig, statusTracker?: StatusTracker, cloudMode?: boolean): Promise<{
|
|
14
|
+
export declare function startScheduler(projectPath: string, globalConfigOverride?: GlobalConfig, statusTracker?: StatusTracker, cloudMode?: boolean, webUI?: boolean): Promise<{
|
|
12
15
|
cronJobs: Cron<undefined>[];
|
|
13
16
|
runners: Record<string, RunnerLike>;
|
|
14
17
|
gateway: GatewayServer | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAIrE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAIrE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,UAAU,UAAU;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrH;AAgJD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO;;;;;;;GAicjK"}
|
package/dist/scheduler/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { WebhookRegistry } from "../webhooks/registry.js";
|
|
|
10
10
|
import { GitHubWebhookProvider } from "../webhooks/providers/github.js";
|
|
11
11
|
import { SentryWebhookProvider } from "../webhooks/providers/sentry.js";
|
|
12
12
|
import { AWS_CONSTANTS } from "../shared/aws-constants.js";
|
|
13
|
+
import { WebhookEventQueue } from "./event-queue.js";
|
|
13
14
|
// Provider type → credential type for loading secrets
|
|
14
15
|
const PROVIDER_TO_CREDENTIAL = {
|
|
15
16
|
github: "github_webhook_secret",
|
|
@@ -73,7 +74,7 @@ function dispatchTriggers(triggers, sourceAgent, depth, ctx) {
|
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
async function runTriggered(runner, agentConfig, prompt, sourceAgent, depth, ctx) {
|
|
76
|
-
const { result, triggers } = await runner.run(prompt);
|
|
77
|
+
const { result, triggers } = await runner.run(prompt, { type: 'agent', source: sourceAgent });
|
|
77
78
|
if (triggers.length > 0) {
|
|
78
79
|
dispatchTriggers(triggers, agentConfig.name, depth, ctx);
|
|
79
80
|
}
|
|
@@ -82,8 +83,25 @@ async function runTriggered(runner, agentConfig, prompt, sourceAgent, depth, ctx
|
|
|
82
83
|
ctx.logger.info(`${agentConfig.name} triggered run completed`);
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
async function drainWebhookQueue(runner, agentConfig, ctx) {
|
|
87
|
+
let event;
|
|
88
|
+
while (!ctx.shuttingDown && (event = ctx.webhookQueue.dequeue(agentConfig.name)) !== undefined) {
|
|
89
|
+
const ageMs = Date.now() - event.receivedAt.getTime();
|
|
90
|
+
ctx.logger.info({ agent: agentConfig.name, event: event.context.event, ageMs, remaining: ctx.webhookQueue.size(agentConfig.name) }, "processing queued webhook event");
|
|
91
|
+
try {
|
|
92
|
+
const prompt = buildWebhookPrompt(agentConfig, event.context);
|
|
93
|
+
const { triggers } = await runner.run(prompt, { type: 'webhook', source: event.context.event });
|
|
94
|
+
if (triggers.length > 0) {
|
|
95
|
+
dispatchTriggers(triggers, agentConfig.name, 0, ctx);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
ctx.logger.error({ err, agent: agentConfig.name }, "queued webhook run failed");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
85
103
|
async function runWithReruns(runner, agentConfig, depth, ctx) {
|
|
86
|
-
let { result, triggers } = await runner.run(buildScheduledPrompt(agentConfig));
|
|
104
|
+
let { result, triggers } = await runner.run(buildScheduledPrompt(agentConfig), { type: 'schedule' });
|
|
87
105
|
if (triggers.length > 0) {
|
|
88
106
|
dispatchTriggers(triggers, agentConfig.name, depth, ctx);
|
|
89
107
|
}
|
|
@@ -91,7 +109,7 @@ async function runWithReruns(runner, agentConfig, depth, ctx) {
|
|
|
91
109
|
while (result === "completed" && reruns < ctx.maxReruns) {
|
|
92
110
|
reruns++;
|
|
93
111
|
ctx.logger.info({ rerun: reruns, maxReruns: ctx.maxReruns }, `${agentConfig.name} did work, re-running immediately`);
|
|
94
|
-
({ result, triggers } = await runner.run(buildScheduledPrompt(agentConfig)));
|
|
112
|
+
({ result, triggers } = await runner.run(buildScheduledPrompt(agentConfig), { type: 'schedule' }));
|
|
95
113
|
if (triggers.length > 0) {
|
|
96
114
|
dispatchTriggers(triggers, agentConfig.name, depth, ctx);
|
|
97
115
|
}
|
|
@@ -99,8 +117,10 @@ async function runWithReruns(runner, agentConfig, depth, ctx) {
|
|
|
99
117
|
if (result === "completed" && reruns >= ctx.maxReruns) {
|
|
100
118
|
ctx.logger.warn({ maxReruns: ctx.maxReruns }, `${agentConfig.name} hit max reruns limit`);
|
|
101
119
|
}
|
|
120
|
+
// Drain any webhook events that arrived during the rerun cycle
|
|
121
|
+
await drainWebhookQueue(runner, agentConfig, ctx);
|
|
102
122
|
}
|
|
103
|
-
export async function startScheduler(projectPath, globalConfigOverride, statusTracker, cloudMode) {
|
|
123
|
+
export async function startScheduler(projectPath, globalConfigOverride, statusTracker, cloudMode, webUI) {
|
|
104
124
|
const mkLogger = statusTracker ? createFileOnlyLogger : createLogger;
|
|
105
125
|
const logger = mkLogger(projectPath, "scheduler");
|
|
106
126
|
logger.info("Starting scheduler...");
|
|
@@ -260,38 +280,51 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
260
280
|
onProgress: setBuildProgress,
|
|
261
281
|
});
|
|
262
282
|
}
|
|
263
|
-
// 3. Build per-agent images
|
|
283
|
+
// 3. Build per-agent custom images in parallel
|
|
264
284
|
const { existsSync } = await import("fs");
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
285
|
+
const agentsWithCustomImages = agentConfigs.filter(ac => existsSync(resolvePath(projectPath, ac.name, "Dockerfile")));
|
|
286
|
+
const totalCustomImages = agentsWithCustomImages.length;
|
|
287
|
+
// Agents without custom Dockerfiles use the base image
|
|
288
|
+
for (const ac of agentConfigs) {
|
|
289
|
+
if (!agentsWithCustomImages.includes(ac)) {
|
|
290
|
+
agentImages[ac.name] = baseImage;
|
|
270
291
|
}
|
|
271
|
-
statusTracker?.setAgentState(agentConfig.name, "building");
|
|
272
|
-
statusTracker?.setAgentStatusText(agentConfig.name, "Building custom image");
|
|
273
|
-
const agentImageTag = AWS_CONSTANTS.agentImage(agentConfig.name);
|
|
274
|
-
const image = await runtime.buildImage({
|
|
275
|
-
tag: agentImageTag,
|
|
276
|
-
dockerfile: agentDockerfile,
|
|
277
|
-
contextDir: packageRoot,
|
|
278
|
-
baseImage,
|
|
279
|
-
onProgress: (msg) => statusTracker?.setAgentStatusText(agentConfig.name, msg),
|
|
280
|
-
});
|
|
281
|
-
agentImages[agentConfig.name] = image;
|
|
282
|
-
logger.info({ agent: agentConfig.name, image }, "Built custom agent image");
|
|
283
292
|
}
|
|
284
|
-
//
|
|
293
|
+
// Build all custom images concurrently
|
|
294
|
+
if (totalCustomImages > 0) {
|
|
295
|
+
await Promise.all(agentsWithCustomImages.map(async (agentConfig, idx) => {
|
|
296
|
+
const customImageIndex = idx + 1;
|
|
297
|
+
const progressIndicator = totalCustomImages > 1 ? ` (${customImageIndex}/${totalCustomImages})` : "";
|
|
298
|
+
statusTracker?.setAgentState(agentConfig.name, "building");
|
|
299
|
+
statusTracker?.setAgentStatusText(agentConfig.name, `Building custom image${progressIndicator}`);
|
|
300
|
+
const agentDockerfile = resolvePath(projectPath, agentConfig.name, "Dockerfile");
|
|
301
|
+
const agentImageTag = AWS_CONSTANTS.agentImage(agentConfig.name);
|
|
302
|
+
const image = await runtime.buildImage({
|
|
303
|
+
tag: agentImageTag,
|
|
304
|
+
dockerfile: agentDockerfile,
|
|
305
|
+
contextDir: packageRoot,
|
|
306
|
+
baseImage,
|
|
307
|
+
onProgress: (msg) => statusTracker?.setAgentStatusText(agentConfig.name, `${msg}${progressIndicator}`),
|
|
308
|
+
});
|
|
309
|
+
agentImages[agentConfig.name] = image;
|
|
310
|
+
logger.info({ agent: agentConfig.name, image, progress: `${customImageIndex}/${totalCustomImages}` }, "Built custom agent image");
|
|
311
|
+
}));
|
|
312
|
+
}
|
|
313
|
+
// 4. Push images to remote registry in parallel (no-op for local, tags+pushes for cloud)
|
|
285
314
|
if (runtimeType !== "local") {
|
|
286
|
-
|
|
287
|
-
const currentImage = agentImages[
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
315
|
+
const imagesToPush = agentConfigs.filter(ac => {
|
|
316
|
+
const currentImage = agentImages[ac.name] || baseImage;
|
|
317
|
+
return !currentImage.includes("/");
|
|
318
|
+
});
|
|
319
|
+
if (imagesToPush.length > 0) {
|
|
320
|
+
await Promise.all(imagesToPush.map(async (agentConfig, idx) => {
|
|
321
|
+
const currentImage = agentImages[agentConfig.name] || baseImage;
|
|
322
|
+
const progressIndicator = imagesToPush.length > 1 ? ` (${idx + 1}/${imagesToPush.length})` : "";
|
|
323
|
+
statusTracker?.setAgentStatusText(agentConfig.name, `Pushing image to registry${progressIndicator}`);
|
|
291
324
|
const remoteImage = await runtime.pushImage(currentImage);
|
|
292
325
|
agentImages[agentConfig.name] = remoteImage;
|
|
293
|
-
logger.info({ agent: agentConfig.name, image: remoteImage }, "Pushed image to registry");
|
|
294
|
-
}
|
|
326
|
+
logger.info({ agent: agentConfig.name, image: remoteImage, progress: `${idx + 1}/${imagesToPush.length}` }, "Pushed image to registry");
|
|
327
|
+
}));
|
|
295
328
|
}
|
|
296
329
|
}
|
|
297
330
|
// Reset all agents back to idle after builds complete
|
|
@@ -299,8 +332,8 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
299
332
|
statusTracker?.setAgentState(ac.name, "idle");
|
|
300
333
|
}
|
|
301
334
|
logger.info("Docker infrastructure ready");
|
|
302
|
-
// 6. Start gateway if the runtime needs it
|
|
303
|
-
if (runtime.needsGateway || anyWebhooks) {
|
|
335
|
+
// 6. Start gateway if the runtime needs it, webhooks are configured, or web UI is enabled
|
|
336
|
+
if (runtime.needsGateway || anyWebhooks || webUI) {
|
|
304
337
|
const { startGateway } = await import("../gateway/index.js");
|
|
305
338
|
const gatewayPort = globalConfig.gateway?.port || 8080;
|
|
306
339
|
gateway = await startGateway({
|
|
@@ -310,11 +343,13 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
310
343
|
webhookRegistry,
|
|
311
344
|
webhookSecrets,
|
|
312
345
|
statusTracker,
|
|
346
|
+
projectPath,
|
|
347
|
+
webUI,
|
|
313
348
|
});
|
|
314
349
|
}
|
|
315
350
|
}
|
|
316
|
-
else if (anyWebhooks) {
|
|
317
|
-
// Start gateway even without docker when webhooks are configured
|
|
351
|
+
else if (anyWebhooks || webUI) {
|
|
352
|
+
// Start gateway even without docker when webhooks are configured or web UI is enabled
|
|
318
353
|
logger.info("Starting gateway for webhook support (no docker)");
|
|
319
354
|
const { startGateway } = await import("../gateway/index.js");
|
|
320
355
|
const gatewayPort = globalConfig.gateway?.port || 8080;
|
|
@@ -324,6 +359,8 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
324
359
|
webhookRegistry,
|
|
325
360
|
webhookSecrets,
|
|
326
361
|
statusTracker,
|
|
362
|
+
projectPath,
|
|
363
|
+
webUI,
|
|
327
364
|
});
|
|
328
365
|
}
|
|
329
366
|
// Create runners for each agent
|
|
@@ -349,7 +386,9 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
349
386
|
runners[agentConfig.name] = new AgentRunner(agentConfig, mkLogger(projectPath, agentConfig.name), projectPath, statusTracker);
|
|
350
387
|
}
|
|
351
388
|
}
|
|
352
|
-
const
|
|
389
|
+
const webhookQueueSize = globalConfig.webhookQueueSize ?? 20;
|
|
390
|
+
const webhookQueue = new WebhookEventQueue(webhookQueueSize);
|
|
391
|
+
const schedulerCtx = { runners, agentConfigs, maxReruns, maxTriggerDepth, logger, webhookQueue, shuttingDown: false };
|
|
353
392
|
// Set up webhook bindings
|
|
354
393
|
if (webhookRegistry) {
|
|
355
394
|
for (const agentConfig of agentConfigs) {
|
|
@@ -365,15 +404,23 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
365
404
|
filter,
|
|
366
405
|
trigger: (context) => {
|
|
367
406
|
if (runner.isRunning) {
|
|
368
|
-
|
|
407
|
+
const { accepted, dropped } = webhookQueue.enqueue(agentConfig.name, context);
|
|
408
|
+
if (accepted) {
|
|
409
|
+
logger.info({ agent: agentConfig.name, event: context.event, queueSize: webhookQueue.size(agentConfig.name) }, "agent busy, webhook event queued");
|
|
410
|
+
}
|
|
411
|
+
if (dropped) {
|
|
412
|
+
logger.warn({ agent: agentConfig.name, droppedEvent: dropped.context.event }, "webhook queue full, oldest event dropped");
|
|
413
|
+
}
|
|
369
414
|
return;
|
|
370
415
|
}
|
|
371
416
|
logger.info({ agent: agentConfig.name, event: context.event, action: context.action }, "webhook triggering agent");
|
|
372
417
|
const prompt = buildWebhookPrompt(agentConfig, context);
|
|
373
|
-
runner.run(prompt).then(({ triggers }) => {
|
|
418
|
+
runner.run(prompt, { type: 'webhook', source: context.event }).then(({ triggers }) => {
|
|
374
419
|
if (triggers.length > 0) {
|
|
375
420
|
dispatchTriggers(triggers, agentConfig.name, 0, schedulerCtx);
|
|
376
421
|
}
|
|
422
|
+
// Drain any events that queued while this webhook run was executing
|
|
423
|
+
return drainWebhookQueue(runner, agentConfig, schedulerCtx);
|
|
377
424
|
}).catch((err) => {
|
|
378
425
|
logger.error({ err }, `${agentConfig.name} webhook run failed`);
|
|
379
426
|
});
|
|
@@ -411,6 +458,9 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
411
458
|
webhookUrls.push(`http://localhost:${gatewayPort}/webhooks/${pt}`);
|
|
412
459
|
}
|
|
413
460
|
}
|
|
461
|
+
for (const url of webhookUrls) {
|
|
462
|
+
logger.info({ url }, "Webhook endpoint registered");
|
|
463
|
+
}
|
|
414
464
|
logger.info(`Scheduler running with ${cronJobs.length} scheduled jobs`);
|
|
415
465
|
// Fire initial run for scheduled agents
|
|
416
466
|
for (const agentConfig of agentConfigs) {
|
|
@@ -425,6 +475,8 @@ export async function startScheduler(projectPath, globalConfigOverride, statusTr
|
|
|
425
475
|
// Graceful shutdown
|
|
426
476
|
const shutdown = async () => {
|
|
427
477
|
logger.info("Shutting down scheduler...");
|
|
478
|
+
schedulerCtx.shuttingDown = true;
|
|
479
|
+
webhookQueue.clearAll();
|
|
428
480
|
for (const job of cronJobs) {
|
|
429
481
|
job.stop();
|
|
430
482
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/setup/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AA8BrE,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/setup/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AA8BrE,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC,CAyID"}
|