@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.
Files changed (119) hide show
  1. package/README.md +8 -12
  2. package/dist/agents/container-entry.js +9 -7
  3. package/dist/agents/container-entry.js.map +1 -1
  4. package/dist/agents/container-runner.d.ts +4 -1
  5. package/dist/agents/container-runner.d.ts.map +1 -1
  6. package/dist/agents/container-runner.js +10 -2
  7. package/dist/agents/container-runner.js.map +1 -1
  8. package/dist/agents/runner.d.ts +4 -1
  9. package/dist/agents/runner.d.ts.map +1 -1
  10. package/dist/agents/runner.js +41 -18
  11. package/dist/agents/runner.js.map +1 -1
  12. package/dist/cli/commands/new.d.ts.map +1 -1
  13. package/dist/cli/commands/new.js +63 -14
  14. package/dist/cli/commands/new.js.map +1 -1
  15. package/dist/cli/commands/start.d.ts +1 -0
  16. package/dist/cli/commands/start.d.ts.map +1 -1
  17. package/dist/cli/commands/start.js +2 -1
  18. package/dist/cli/commands/start.js.map +1 -1
  19. package/dist/cli/main.js +1 -0
  20. package/dist/cli/main.js.map +1 -1
  21. package/dist/credentials/builtins/custom-key.d.ts +4 -0
  22. package/dist/credentials/builtins/custom-key.d.ts.map +1 -0
  23. package/dist/credentials/builtins/custom-key.js +35 -0
  24. package/dist/credentials/builtins/custom-key.js.map +1 -0
  25. package/dist/credentials/builtins/google-key.d.ts +4 -0
  26. package/dist/credentials/builtins/google-key.d.ts.map +1 -0
  27. package/dist/credentials/builtins/google-key.js +35 -0
  28. package/dist/credentials/builtins/google-key.js.map +1 -0
  29. package/dist/credentials/builtins/groq-key.d.ts +4 -0
  30. package/dist/credentials/builtins/groq-key.d.ts.map +1 -0
  31. package/dist/credentials/builtins/groq-key.js +37 -0
  32. package/dist/credentials/builtins/groq-key.js.map +1 -0
  33. package/dist/credentials/builtins/index.d.ts.map +1 -1
  34. package/dist/credentials/builtins/index.js +12 -0
  35. package/dist/credentials/builtins/index.js.map +1 -1
  36. package/dist/credentials/builtins/mistral-key.d.ts +4 -0
  37. package/dist/credentials/builtins/mistral-key.d.ts.map +1 -0
  38. package/dist/credentials/builtins/mistral-key.js +35 -0
  39. package/dist/credentials/builtins/mistral-key.js.map +1 -0
  40. package/dist/credentials/builtins/openrouter-key.d.ts +4 -0
  41. package/dist/credentials/builtins/openrouter-key.d.ts.map +1 -0
  42. package/dist/credentials/builtins/openrouter-key.js +37 -0
  43. package/dist/credentials/builtins/openrouter-key.js.map +1 -0
  44. package/dist/credentials/builtins/xai-key.d.ts +4 -0
  45. package/dist/credentials/builtins/xai-key.d.ts.map +1 -0
  46. package/dist/credentials/builtins/xai-key.js +37 -0
  47. package/dist/credentials/builtins/xai-key.js.map +1 -0
  48. package/dist/gateway/index.d.ts +2 -0
  49. package/dist/gateway/index.d.ts.map +1 -1
  50. package/dist/gateway/index.js +20 -34
  51. package/dist/gateway/index.js.map +1 -1
  52. package/dist/gateway/routes/credentials.d.ts +2 -2
  53. package/dist/gateway/routes/credentials.d.ts.map +1 -1
  54. package/dist/gateway/routes/credentials.js +7 -9
  55. package/dist/gateway/routes/credentials.js.map +1 -1
  56. package/dist/gateway/routes/dashboard.d.ts +4 -0
  57. package/dist/gateway/routes/dashboard.d.ts.map +1 -0
  58. package/dist/gateway/routes/dashboard.js +151 -0
  59. package/dist/gateway/routes/dashboard.js.map +1 -0
  60. package/dist/gateway/routes/logs.d.ts +2 -2
  61. package/dist/gateway/routes/logs.d.ts.map +1 -1
  62. package/dist/gateway/routes/logs.js +9 -12
  63. package/dist/gateway/routes/logs.js.map +1 -1
  64. package/dist/gateway/routes/shutdown.d.ts +2 -2
  65. package/dist/gateway/routes/shutdown.d.ts.map +1 -1
  66. package/dist/gateway/routes/shutdown.js +7 -11
  67. package/dist/gateway/routes/shutdown.js.map +1 -1
  68. package/dist/gateway/routes/webhooks.d.ts +2 -2
  69. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  70. package/dist/gateway/routes/webhooks.js +10 -14
  71. package/dist/gateway/routes/webhooks.js.map +1 -1
  72. package/dist/gateway/views/dashboard-page.d.ts +3 -0
  73. package/dist/gateway/views/dashboard-page.d.ts.map +1 -0
  74. package/dist/gateway/views/dashboard-page.js +246 -0
  75. package/dist/gateway/views/dashboard-page.js.map +1 -0
  76. package/dist/gateway/views/logs-page.d.ts +2 -0
  77. package/dist/gateway/views/logs-page.d.ts.map +1 -0
  78. package/dist/gateway/views/logs-page.js +180 -0
  79. package/dist/gateway/views/logs-page.js.map +1 -0
  80. package/dist/scheduler/event-queue.d.ts +18 -0
  81. package/dist/scheduler/event-queue.d.ts.map +1 -1
  82. package/dist/scheduler/event-queue.js +35 -0
  83. package/dist/scheduler/event-queue.js.map +1 -1
  84. package/dist/scheduler/index.d.ts +5 -2
  85. package/dist/scheduler/index.d.ts.map +1 -1
  86. package/dist/scheduler/index.js +89 -37
  87. package/dist/scheduler/index.js.map +1 -1
  88. package/dist/setup/prompts.d.ts.map +1 -1
  89. package/dist/setup/prompts.js +89 -19
  90. package/dist/setup/prompts.js.map +1 -1
  91. package/dist/setup/scaffold.d.ts.map +1 -1
  92. package/dist/setup/scaffold.js +52 -24
  93. package/dist/setup/scaffold.js.map +1 -1
  94. package/dist/shared/config.d.ts +2 -1
  95. package/dist/shared/config.d.ts.map +1 -1
  96. package/dist/shared/config.js.map +1 -1
  97. package/dist/tui/App.d.ts.map +1 -1
  98. package/dist/tui/App.js +1 -1
  99. package/dist/tui/App.js.map +1 -1
  100. package/dist/tui/plain-logger.d.ts.map +1 -1
  101. package/dist/tui/plain-logger.js +16 -6
  102. package/dist/tui/plain-logger.js.map +1 -1
  103. package/dist/tui/status-tracker.d.ts +3 -0
  104. package/dist/tui/status-tracker.d.ts.map +1 -1
  105. package/dist/tui/status-tracker.js +8 -0
  106. package/dist/tui/status-tracker.js.map +1 -1
  107. package/dist/webhooks/definitions/github.d.ts.map +1 -1
  108. package/dist/webhooks/definitions/github.js +2 -0
  109. package/dist/webhooks/definitions/github.js.map +1 -1
  110. package/dist/webhooks/providers/github.d.ts.map +1 -1
  111. package/dist/webhooks/providers/github.js +7 -0
  112. package/dist/webhooks/providers/github.js.map +1 -1
  113. package/dist/webhooks/types.d.ts +2 -0
  114. package/dist/webhooks/types.d.ts.map +1 -1
  115. package/package.json +10 -4
  116. package/dist/gateway/router.d.ts +0 -13
  117. package/dist/gateway/router.d.ts.map +0 -1
  118. package/dist/gateway/router.js +0 -71
  119. 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,2 @@
1
+ export declare function renderLogsPage(agentName: string): string;
2
+ //# sourceMappingURL=logs-page.d.ts.map
@@ -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, "&lt;")
5
+ .replace(/>/g, "&gt;")
6
+ .replace(/"/g, "&quot;");
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">&larr; 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): Promise<RunOutcome>;
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;AAKzD,UAAU,UAAU;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1C;AAmHD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,OAAO;;;;;;;GAqZhJ"}
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"}
@@ -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 for agents with a custom Dockerfile
283
+ // 3. Build per-agent custom images in parallel
264
284
  const { existsSync } = await import("fs");
265
- for (const agentConfig of agentConfigs) {
266
- const agentDockerfile = resolvePath(projectPath, agentConfig.name, "Dockerfile");
267
- if (!existsSync(agentDockerfile)) {
268
- agentImages[agentConfig.name] = baseImage;
269
- continue;
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
- // 4. Push images to remote registry if needed (no-op for local, tags+pushes for cloud)
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
- for (const agentConfig of agentConfigs) {
287
- const currentImage = agentImages[agentConfig.name] || baseImage;
288
- if (!currentImage.includes("/")) {
289
- // Looks like a local tag — needs pushing
290
- statusTracker?.setAgentStatusText(agentConfig.name, "Pushing image to registry");
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 or webhooks are configured
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 schedulerCtx = { runners, agentConfigs, maxReruns, maxTriggerDepth, logger };
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
- logger.warn(`${agentConfig.name} is busy, skipping webhook trigger`);
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,CAoED"}
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"}