@action-llama/action-llama 0.13.7 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/agent-docs/AGENTS.md +123 -207
  2. package/dist/agents/container-entry.d.ts +1 -3
  3. package/dist/agents/container-entry.d.ts.map +1 -1
  4. package/dist/agents/container-entry.js +208 -154
  5. package/dist/agents/container-entry.js.map +1 -1
  6. package/dist/agents/container-runner.d.ts.map +1 -1
  7. package/dist/agents/container-runner.js +19 -8
  8. package/dist/agents/container-runner.js.map +1 -1
  9. package/dist/agents/context-injection.d.ts +7 -0
  10. package/dist/agents/context-injection.d.ts.map +1 -0
  11. package/dist/agents/context-injection.js +27 -0
  12. package/dist/agents/context-injection.js.map +1 -0
  13. package/dist/agents/execution-engine.d.ts.map +1 -1
  14. package/dist/agents/execution-engine.js +99 -109
  15. package/dist/agents/execution-engine.js.map +1 -1
  16. package/dist/agents/feedback-monitor.d.ts +56 -0
  17. package/dist/agents/feedback-monitor.d.ts.map +1 -0
  18. package/dist/agents/feedback-monitor.js +176 -0
  19. package/dist/agents/feedback-monitor.js.map +1 -0
  20. package/dist/agents/feedback-runner.d.ts +28 -0
  21. package/dist/agents/feedback-runner.d.ts.map +1 -0
  22. package/dist/agents/feedback-runner.js +138 -0
  23. package/dist/agents/feedback-runner.js.map +1 -0
  24. package/dist/agents/model-fallback.d.ts +18 -0
  25. package/dist/agents/model-fallback.d.ts.map +1 -0
  26. package/dist/agents/model-fallback.js +40 -0
  27. package/dist/agents/model-fallback.js.map +1 -0
  28. package/dist/agents/prompt.d.ts +9 -2
  29. package/dist/agents/prompt.d.ts.map +1 -1
  30. package/dist/agents/prompt.js +21 -49
  31. package/dist/agents/prompt.js.map +1 -1
  32. package/dist/agents/runner.d.ts +6 -0
  33. package/dist/agents/runner.d.ts.map +1 -1
  34. package/dist/agents/runner.js +153 -124
  35. package/dist/agents/runner.js.map +1 -1
  36. package/dist/agents/session-factory.d.ts +13 -0
  37. package/dist/agents/session-factory.d.ts.map +1 -0
  38. package/dist/agents/session-factory.js +27 -0
  39. package/dist/agents/session-factory.js.map +1 -0
  40. package/dist/build-info.json +1 -1
  41. package/dist/cli/commands/agent.d.ts.map +1 -1
  42. package/dist/cli/commands/agent.js +89 -23
  43. package/dist/cli/commands/agent.js.map +1 -1
  44. package/dist/cli/commands/chat.d.ts.map +1 -1
  45. package/dist/cli/commands/chat.js +26 -43
  46. package/dist/cli/commands/chat.js.map +1 -1
  47. package/dist/cli/commands/claude.d.ts +4 -0
  48. package/dist/cli/commands/claude.d.ts.map +1 -0
  49. package/dist/cli/commands/claude.js +8 -0
  50. package/dist/cli/commands/claude.js.map +1 -0
  51. package/dist/cli/commands/doctor.d.ts.map +1 -1
  52. package/dist/cli/commands/doctor.js +24 -6
  53. package/dist/cli/commands/doctor.js.map +1 -1
  54. package/dist/cli/commands/mcp.d.ts +8 -0
  55. package/dist/cli/commands/mcp.d.ts.map +1 -0
  56. package/dist/cli/commands/mcp.js +31 -0
  57. package/dist/cli/commands/mcp.js.map +1 -0
  58. package/dist/cli/commands/new.d.ts.map +1 -1
  59. package/dist/cli/commands/new.js +15 -6
  60. package/dist/cli/commands/new.js.map +1 -1
  61. package/dist/cli/commands/run.js +1 -1
  62. package/dist/cli/commands/run.js.map +1 -1
  63. package/dist/cli/commands/start.js +3 -3
  64. package/dist/cli/commands/start.js.map +1 -1
  65. package/dist/cli/commands/stats.d.ts +9 -0
  66. package/dist/cli/commands/stats.d.ts.map +1 -0
  67. package/dist/cli/commands/stats.js +149 -0
  68. package/dist/cli/commands/stats.js.map +1 -0
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +3 -0
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/main.js +50 -3
  73. package/dist/cli/main.js.map +1 -1
  74. package/dist/gateway/index.d.ts +3 -0
  75. package/dist/gateway/index.d.ts.map +1 -1
  76. package/dist/gateway/index.js +7 -1
  77. package/dist/gateway/index.js.map +1 -1
  78. package/dist/gateway/lock-store.d.ts +10 -0
  79. package/dist/gateway/lock-store.d.ts.map +1 -1
  80. package/dist/gateway/lock-store.js +38 -0
  81. package/dist/gateway/lock-store.js.map +1 -1
  82. package/dist/gateway/routes/control.d.ts +2 -0
  83. package/dist/gateway/routes/control.d.ts.map +1 -1
  84. package/dist/gateway/routes/control.js +56 -0
  85. package/dist/gateway/routes/control.js.map +1 -1
  86. package/dist/gateway/routes/dashboard.d.ts +2 -1
  87. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  88. package/dist/gateway/routes/dashboard.js +112 -6
  89. package/dist/gateway/routes/dashboard.js.map +1 -1
  90. package/dist/gateway/routes/locks.d.ts.map +1 -1
  91. package/dist/gateway/routes/locks.js +39 -0
  92. package/dist/gateway/routes/locks.js.map +1 -1
  93. package/dist/gateway/routes/logs.d.ts.map +1 -1
  94. package/dist/gateway/routes/logs.js +4 -5
  95. package/dist/gateway/routes/logs.js.map +1 -1
  96. package/dist/gateway/routes/stats.d.ts +4 -0
  97. package/dist/gateway/routes/stats.d.ts.map +1 -0
  98. package/dist/gateway/routes/stats.js +25 -0
  99. package/dist/gateway/routes/stats.js.map +1 -0
  100. package/dist/gateway/views/agent-detail-page.d.ts +14 -0
  101. package/dist/gateway/views/agent-detail-page.d.ts.map +1 -0
  102. package/dist/gateway/views/agent-detail-page.js +416 -0
  103. package/dist/gateway/views/agent-detail-page.js.map +1 -0
  104. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  105. package/dist/gateway/views/dashboard-page.js +213 -245
  106. package/dist/gateway/views/dashboard-page.js.map +1 -1
  107. package/dist/gateway/views/instance-detail-page.d.ts +30 -0
  108. package/dist/gateway/views/instance-detail-page.d.ts.map +1 -0
  109. package/dist/gateway/views/instance-detail-page.js +360 -0
  110. package/dist/gateway/views/instance-detail-page.js.map +1 -0
  111. package/dist/gateway/views/layout.d.ts +17 -0
  112. package/dist/gateway/views/layout.d.ts.map +1 -0
  113. package/dist/gateway/views/layout.js +153 -0
  114. package/dist/gateway/views/layout.js.map +1 -0
  115. package/dist/gateway/views/login-page.d.ts.map +1 -1
  116. package/dist/gateway/views/login-page.js +24 -37
  117. package/dist/gateway/views/login-page.js.map +1 -1
  118. package/dist/gateway/views/project-config-page.d.ts +12 -0
  119. package/dist/gateway/views/project-config-page.d.ts.map +1 -0
  120. package/dist/gateway/views/project-config-page.js +199 -0
  121. package/dist/gateway/views/project-config-page.js.map +1 -0
  122. package/dist/hooks/runner.d.ts +12 -0
  123. package/dist/hooks/runner.d.ts.map +1 -0
  124. package/dist/hooks/runner.js +32 -0
  125. package/dist/hooks/runner.js.map +1 -0
  126. package/dist/mcp/server.d.ts +5 -0
  127. package/dist/mcp/server.d.ts.map +1 -0
  128. package/dist/mcp/server.js +336 -0
  129. package/dist/mcp/server.js.map +1 -0
  130. package/dist/scheduler/call-dispatcher.d.ts +2 -2
  131. package/dist/scheduler/call-dispatcher.js +3 -3
  132. package/dist/scheduler/call-dispatcher.js.map +1 -1
  133. package/dist/scheduler/execution.d.ts +5 -2
  134. package/dist/scheduler/execution.d.ts.map +1 -1
  135. package/dist/scheduler/execution.js +75 -4
  136. package/dist/scheduler/execution.js.map +1 -1
  137. package/dist/scheduler/gateway-setup.d.ts +2 -0
  138. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  139. package/dist/scheduler/gateway-setup.js +21 -2
  140. package/dist/scheduler/gateway-setup.js.map +1 -1
  141. package/dist/scheduler/image-builder.js +3 -3
  142. package/dist/scheduler/image-builder.js.map +1 -1
  143. package/dist/scheduler/index.d.ts.map +1 -1
  144. package/dist/scheduler/index.js +90 -3
  145. package/dist/scheduler/index.js.map +1 -1
  146. package/dist/scheduler/shutdown.d.ts +2 -0
  147. package/dist/scheduler/shutdown.d.ts.map +1 -1
  148. package/dist/scheduler/shutdown.js +4 -1
  149. package/dist/scheduler/shutdown.js.map +1 -1
  150. package/dist/scheduler/validation.d.ts.map +1 -1
  151. package/dist/scheduler/validation.js +5 -3
  152. package/dist/scheduler/validation.js.map +1 -1
  153. package/dist/scheduler/watcher.d.ts +1 -1
  154. package/dist/scheduler/watcher.js +1 -1
  155. package/dist/scheduler/webhook-setup.d.ts +2 -0
  156. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  157. package/dist/scheduler/webhook-setup.js +2 -0
  158. package/dist/scheduler/webhook-setup.js.map +1 -1
  159. package/dist/setup/prompts.d.ts.map +1 -1
  160. package/dist/setup/prompts.js +35 -6
  161. package/dist/setup/prompts.js.map +1 -1
  162. package/dist/setup/scaffold.d.ts +6 -0
  163. package/dist/setup/scaffold.d.ts.map +1 -1
  164. package/dist/setup/scaffold.js +185 -7
  165. package/dist/setup/scaffold.js.map +1 -1
  166. package/dist/shared/config.d.ts +42 -5
  167. package/dist/shared/config.d.ts.map +1 -1
  168. package/dist/shared/config.js +126 -20
  169. package/dist/shared/config.js.map +1 -1
  170. package/dist/shared/credential-refs.d.ts.map +1 -1
  171. package/dist/shared/credential-refs.js +8 -0
  172. package/dist/shared/credential-refs.js.map +1 -1
  173. package/dist/shared/default-feedback-agent.d.ts +10 -0
  174. package/dist/shared/default-feedback-agent.d.ts.map +1 -0
  175. package/dist/shared/default-feedback-agent.js +114 -0
  176. package/dist/shared/default-feedback-agent.js.map +1 -0
  177. package/dist/shared/environment.d.ts +0 -1
  178. package/dist/shared/environment.d.ts.map +1 -1
  179. package/dist/shared/environment.js +19 -3
  180. package/dist/shared/environment.js.map +1 -1
  181. package/dist/shared/frontmatter.d.ts +11 -0
  182. package/dist/shared/frontmatter.d.ts.map +1 -0
  183. package/dist/shared/frontmatter.js +30 -0
  184. package/dist/shared/frontmatter.js.map +1 -0
  185. package/dist/shared/paths.d.ts +1 -0
  186. package/dist/shared/paths.d.ts.map +1 -1
  187. package/dist/shared/paths.js +3 -0
  188. package/dist/shared/paths.js.map +1 -1
  189. package/dist/shared/usage.d.ts.map +1 -1
  190. package/dist/shared/usage.js +52 -7
  191. package/dist/shared/usage.js.map +1 -1
  192. package/dist/stats/index.d.ts +3 -0
  193. package/dist/stats/index.d.ts.map +1 -0
  194. package/dist/stats/index.js +2 -0
  195. package/dist/stats/index.js.map +1 -0
  196. package/dist/stats/store.d.ts +89 -0
  197. package/dist/stats/store.d.ts.map +1 -0
  198. package/dist/stats/store.js +242 -0
  199. package/dist/stats/store.js.map +1 -0
  200. package/dist/tui/App.d.ts +2 -1
  201. package/dist/tui/App.d.ts.map +1 -1
  202. package/dist/tui/App.js +132 -5
  203. package/dist/tui/App.js.map +1 -1
  204. package/dist/tui/render.d.ts +1 -1
  205. package/dist/tui/render.d.ts.map +1 -1
  206. package/dist/tui/render.js +2 -2
  207. package/dist/tui/render.js.map +1 -1
  208. package/dist/tui/status-tracker.d.ts +18 -1
  209. package/dist/tui/status-tracker.d.ts.map +1 -1
  210. package/dist/tui/status-tracker.js +32 -1
  211. package/dist/tui/status-tracker.js.map +1 -1
  212. package/docker/bin/{al-call → al-subagent} +2 -2
  213. package/docker/bin/{al-check → al-subagent-check} +2 -2
  214. package/docker/bin/{al-wait → al-subagent-wait} +2 -2
  215. package/package.json +8 -21
  216. package/LICENSE +0 -21
  217. package/README.md +0 -192
  218. package/dist/gateway/views/logs-page.d.ts +0 -2
  219. package/dist/gateway/views/logs-page.d.ts.map +0 -1
  220. package/dist/gateway/views/logs-page.js +0 -280
  221. package/dist/gateway/views/logs-page.js.map +0 -1
  222. package/dist/preflight/interpolate.d.ts +0 -10
  223. package/dist/preflight/interpolate.d.ts.map +0 -1
  224. package/dist/preflight/interpolate.js +0 -33
  225. package/dist/preflight/interpolate.js.map +0 -1
  226. package/dist/preflight/providers/git-clone.d.ts +0 -3
  227. package/dist/preflight/providers/git-clone.d.ts.map +0 -1
  228. package/dist/preflight/providers/git-clone.js +0 -36
  229. package/dist/preflight/providers/git-clone.js.map +0 -1
  230. package/dist/preflight/providers/http.d.ts +0 -3
  231. package/dist/preflight/providers/http.d.ts.map +0 -1
  232. package/dist/preflight/providers/http.js +0 -36
  233. package/dist/preflight/providers/http.js.map +0 -1
  234. package/dist/preflight/providers/shell.d.ts +0 -3
  235. package/dist/preflight/providers/shell.d.ts.map +0 -1
  236. package/dist/preflight/providers/shell.js +0 -28
  237. package/dist/preflight/providers/shell.js.map +0 -1
  238. package/dist/preflight/registry.d.ts +0 -4
  239. package/dist/preflight/registry.d.ts.map +0 -1
  240. package/dist/preflight/registry.js +0 -20
  241. package/dist/preflight/registry.js.map +0 -1
  242. package/dist/preflight/runner.d.ts +0 -7
  243. package/dist/preflight/runner.d.ts.map +0 -1
  244. package/dist/preflight/runner.js +0 -28
  245. package/dist/preflight/runner.js.map +0 -1
  246. package/dist/preflight/schema.d.ts +0 -21
  247. package/dist/preflight/schema.d.ts.map +0 -1
  248. package/dist/preflight/schema.js +0 -9
  249. package/dist/preflight/schema.js.map +0 -1
@@ -0,0 +1,336 @@
1
+ import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod";
4
+ import { spawn } from "child_process";
5
+ import { resolve } from "path";
6
+ import { readFileSync } from "fs";
7
+ import { fileURLToPath } from "url";
8
+ import { dirname } from "path";
9
+ import { discoverAgents, loadAgentConfig, loadAgentBody, loadGlobalConfig, } from "../shared/config.js";
10
+ import { gatewayFetch, gatewayJson } from "../cli/gateway-client.js";
11
+ const __dirname = dirname(fileURLToPath(import.meta.url));
12
+ const pkg = JSON.parse(readFileSync(resolve(__dirname, "../../package.json"), "utf-8"));
13
+ async function callGateway(projectPath, envName, path, method = "GET", body) {
14
+ try {
15
+ const response = await gatewayFetch({
16
+ project: projectPath,
17
+ path,
18
+ method,
19
+ body,
20
+ env: envName,
21
+ });
22
+ const data = await gatewayJson(response);
23
+ if (response.ok) {
24
+ return { ok: true, data, status: response.status };
25
+ }
26
+ return { ok: false, error: data.error || `HTTP ${response.status}`, status: response.status };
27
+ }
28
+ catch (err) {
29
+ const msg = err instanceof Error ? err.message : String(err);
30
+ if (msg.includes("ECONNREFUSED") || msg.includes("fetch failed")) {
31
+ return { ok: false, error: "Scheduler not running. Start it with the al_start tool or 'al start' in a terminal." };
32
+ }
33
+ return { ok: false, error: msg };
34
+ }
35
+ }
36
+ function text(content) {
37
+ return { content: [{ type: "text", text: content }] };
38
+ }
39
+ const LEVEL_NAMES = {
40
+ 10: "trace",
41
+ 20: "debug",
42
+ 30: "info",
43
+ 40: "warn",
44
+ 50: "error",
45
+ 60: "fatal",
46
+ };
47
+ const LEVEL_VALUES = {
48
+ trace: 10,
49
+ debug: 20,
50
+ info: 30,
51
+ warn: 40,
52
+ error: 50,
53
+ fatal: 60,
54
+ };
55
+ function formatLogEntries(entries, raw, level) {
56
+ let filtered = entries;
57
+ if (level && LEVEL_VALUES[level] !== undefined) {
58
+ const minLevel = LEVEL_VALUES[level];
59
+ filtered = entries.filter((e) => e.level >= minLevel);
60
+ }
61
+ if (raw) {
62
+ return filtered.map((e) => JSON.stringify(e)).join("\n");
63
+ }
64
+ // Conversation-style formatting
65
+ const lines = [];
66
+ for (const entry of filtered) {
67
+ const ts = new Date(entry.time).toISOString().slice(11, 19);
68
+ const lvl = LEVEL_NAMES[entry.level] || String(entry.level);
69
+ if (entry.text) {
70
+ lines.push(`[${ts}] assistant: ${entry.text}`);
71
+ }
72
+ else if (entry.cmd) {
73
+ lines.push(`[${ts}] bash: ${entry.cmd}`);
74
+ }
75
+ else if (entry.tool && entry.msg === "tool_start") {
76
+ lines.push(`[${ts}] tool: ${entry.tool}`);
77
+ }
78
+ else if (entry.err) {
79
+ lines.push(`[${ts}] error: ${entry.err}`);
80
+ }
81
+ else if (lvl === "debug") {
82
+ continue; // skip noise
83
+ }
84
+ else if (entry.msg === "tool_done") {
85
+ continue; // skip noise
86
+ }
87
+ else {
88
+ lines.push(`[${ts}] ${lvl}: ${entry.msg}`);
89
+ }
90
+ }
91
+ return lines.join("\n") || "(no log entries)";
92
+ }
93
+ // --- MCP server ---
94
+ export async function startMcpServer(opts) {
95
+ const { projectPath, envName } = opts;
96
+ const server = new McpServer({
97
+ name: "action-llama",
98
+ version: pkg.version,
99
+ });
100
+ // Helper to get gateway base URL for al_start polling
101
+ function getBaseUrl() {
102
+ try {
103
+ const globalConfig = loadGlobalConfig(projectPath, envName);
104
+ const port = globalConfig.gateway?.port || 8080;
105
+ return globalConfig.gateway?.url || `http://localhost:${port}`;
106
+ }
107
+ catch {
108
+ return "http://localhost:8080";
109
+ }
110
+ }
111
+ // --- Tools ---
112
+ server.tool("al_start", "Start the Action Llama scheduler. Spawns 'al start --headless' as a background process and waits for the gateway to become ready.", {}, async () => {
113
+ // Check if already running
114
+ try {
115
+ const res = await fetch(`${getBaseUrl()}/health`);
116
+ if (res.ok)
117
+ return text("Scheduler is already running.");
118
+ }
119
+ catch { /* not running */ }
120
+ const args = ["start", "--headless", "-p", projectPath];
121
+ if (envName)
122
+ args.push("-E", envName);
123
+ const child = spawn("al", args, { detached: true, stdio: "ignore" });
124
+ child.unref();
125
+ // Poll /health until ready
126
+ for (let i = 0; i < 30; i++) {
127
+ await new Promise((r) => setTimeout(r, 500));
128
+ try {
129
+ const res = await fetch(`${getBaseUrl()}/health`);
130
+ if (res.ok)
131
+ return text("Scheduler started.");
132
+ }
133
+ catch { /* not ready yet */ }
134
+ }
135
+ return text("Scheduler process spawned but gateway not responding yet. It may still be starting up.");
136
+ });
137
+ server.tool("al_stop", "Gracefully stop the Action Llama scheduler.", {}, async () => {
138
+ const result = await callGateway(projectPath, envName, "/control/stop", "POST");
139
+ if (result.ok)
140
+ return text(result.data.message || "Scheduler stopped.");
141
+ return text(`Failed to stop: ${result.error}`);
142
+ });
143
+ server.tool("al_status", "Show scheduler status, agent states, running instances, and queue sizes.", {}, async () => {
144
+ const result = await callGateway(projectPath, envName, "/control/status");
145
+ if (!result.ok)
146
+ return text(`Failed to get status: ${result.error}`);
147
+ const d = result.data;
148
+ const lines = [];
149
+ lines.push(`Scheduler: ${d.state || "unknown"}`);
150
+ if (d.uptime)
151
+ lines.push(`Uptime: ${Math.round(d.uptime)}s`);
152
+ if (d.agents && Array.isArray(d.agents)) {
153
+ lines.push("");
154
+ lines.push("Agents:");
155
+ for (const a of d.agents) {
156
+ const parts = [` ${a.name}: ${a.state || a.status || "unknown"}`];
157
+ if (a.running !== undefined)
158
+ parts.push(`running=${a.running}`);
159
+ if (a.queued !== undefined)
160
+ parts.push(`queued=${a.queued}`);
161
+ if (a.schedule)
162
+ parts.push(`schedule="${a.schedule}"`);
163
+ lines.push(parts.join(" "));
164
+ }
165
+ }
166
+ if (d.instances && Array.isArray(d.instances) && d.instances.length > 0) {
167
+ lines.push("");
168
+ lines.push("Running instances:");
169
+ for (const inst of d.instances) {
170
+ lines.push(` ${inst.id || inst.instanceId}: ${inst.agent} (started ${inst.startedAt || "unknown"})`);
171
+ }
172
+ }
173
+ return text(lines.join("\n"));
174
+ });
175
+ server.tool("al_agents", "List agents in the project with their config, schedule, and webhook triggers. Optionally get details for a specific agent including SKILL.md body. Works offline (reads filesystem); enriches with live status when the gateway is running.", { name: z.string().optional().describe("Agent name to get details for (omit to list all)") }, async ({ name }) => {
176
+ const agents = discoverAgents(projectPath);
177
+ if (agents.length === 0)
178
+ return text("No agents found in this project.");
179
+ if (name) {
180
+ if (!agents.includes(name))
181
+ return text(`Agent "${name}" not found. Available: ${agents.join(", ")}`);
182
+ const config = loadAgentConfig(projectPath, name);
183
+ const body = loadAgentBody(projectPath, name);
184
+ const lines = [`# ${name}`];
185
+ if (config.description)
186
+ lines.push(`Description: ${config.description}`);
187
+ if (config.schedule)
188
+ lines.push(`Schedule: ${config.schedule}`);
189
+ if (config.webhooks?.length)
190
+ lines.push(`Webhooks: ${config.webhooks.map((w) => `${w.source}:${(w.events || []).join(",")}`).join(", ")}`);
191
+ lines.push(`Models: ${config.models.length > 0 ? config.models.map(m => `${m.provider}/${m.model}`).join(", ") : "none"}`);
192
+ if (config.credentials?.length)
193
+ lines.push(`Credentials: ${config.credentials.join(", ")}`);
194
+ if (config.scale && config.scale > 1)
195
+ lines.push(`Scale: ${config.scale}`);
196
+ if (config.timeout)
197
+ lines.push(`Timeout: ${config.timeout}s`);
198
+ // Try to enrich with live status
199
+ const statusResult = await callGateway(projectPath, envName, "/control/status");
200
+ if (statusResult.ok && statusResult.data.agents) {
201
+ const live = statusResult.data.agents.find((a) => a.name === name);
202
+ if (live) {
203
+ lines.push("");
204
+ lines.push(`Live state: ${live.state || live.status || "unknown"}`);
205
+ if (live.running !== undefined)
206
+ lines.push(`Running instances: ${live.running}`);
207
+ }
208
+ }
209
+ if (body.trim()) {
210
+ lines.push("");
211
+ lines.push("---");
212
+ lines.push(body.trim());
213
+ }
214
+ return text(lines.join("\n"));
215
+ }
216
+ // List all agents
217
+ const lines = [];
218
+ // Try to get live status for enrichment
219
+ const statusResult = await callGateway(projectPath, envName, "/control/status");
220
+ const liveMap = new Map();
221
+ if (statusResult.ok && statusResult.data.agents) {
222
+ for (const a of statusResult.data.agents) {
223
+ liveMap.set(a.name, a);
224
+ }
225
+ }
226
+ for (const agentName of agents) {
227
+ try {
228
+ const config = loadAgentConfig(projectPath, agentName);
229
+ const parts = [`**${agentName}**`];
230
+ if (config.description)
231
+ parts.push(`— ${config.description}`);
232
+ if (config.schedule)
233
+ parts.push(`| schedule: ${config.schedule}`);
234
+ if (config.webhooks?.length)
235
+ parts.push(`| webhooks: ${config.webhooks.map((w) => `${w.source}:${(w.events || []).join(",")}`).join(", ")}`);
236
+ const live = liveMap.get(agentName);
237
+ if (live)
238
+ parts.push(`| state: ${live.state || live.status || "unknown"}`);
239
+ lines.push(parts.join(" "));
240
+ }
241
+ catch {
242
+ lines.push(`**${agentName}** — (config error)`);
243
+ }
244
+ }
245
+ return text(lines.join("\n"));
246
+ });
247
+ server.tool("al_run", "Manually trigger an agent run.", { name: z.string().describe("Agent name to run") }, async ({ name }) => {
248
+ const result = await callGateway(projectPath, envName, `/control/trigger/${encodeURIComponent(name)}`, "POST");
249
+ if (result.ok)
250
+ return text(result.data.message || `Triggered ${name}.`);
251
+ return text(`Failed to trigger ${name}: ${result.error}`);
252
+ });
253
+ server.tool("al_logs", "View agent or scheduler logs. Supports time filtering, instance filtering, and level filtering.", {
254
+ name: z.string().describe('Agent name, or "scheduler" for scheduler logs'),
255
+ lines: z.number().optional().default(100).describe("Number of log entries to fetch (max 1000)"),
256
+ instance: z.string().optional().describe("Instance ID to filter (for scale > 1 agents)"),
257
+ after: z.string().optional().describe("ISO 8601 timestamp — only entries after this time"),
258
+ before: z.string().optional().describe("ISO 8601 timestamp — only entries before this time"),
259
+ level: z.enum(["trace", "debug", "info", "warn", "error"]).optional().describe("Minimum log level"),
260
+ raw: z.boolean().optional().default(false).describe("Return full JSON log entries instead of conversation view"),
261
+ }, async ({ name, lines, instance, after, before, level, raw }) => {
262
+ const clampedLines = Math.min(Math.max(lines, 1), 1000);
263
+ const params = new URLSearchParams({ lines: String(clampedLines) });
264
+ if (after)
265
+ params.set("after", String(new Date(after).getTime()));
266
+ if (before)
267
+ params.set("before", String(new Date(before).getTime()));
268
+ let path;
269
+ if (name === "scheduler") {
270
+ path = `/api/logs/scheduler?${params}`;
271
+ }
272
+ else if (instance) {
273
+ path = `/api/logs/agents/${encodeURIComponent(name)}/${encodeURIComponent(instance)}?${params}`;
274
+ }
275
+ else {
276
+ path = `/api/logs/agents/${encodeURIComponent(name)}?${params}`;
277
+ }
278
+ const result = await callGateway(projectPath, envName, path);
279
+ if (!result.ok)
280
+ return text(`Failed to fetch logs: ${result.error}`);
281
+ const entries = result.data.entries || result.data || [];
282
+ if (!Array.isArray(entries) || entries.length === 0)
283
+ return text("(no log entries)");
284
+ return text(formatLogEntries(entries, raw, level));
285
+ });
286
+ server.tool("al_pause", "Pause the scheduler (all agents) or a single agent by name.", { name: z.string().optional().describe("Agent name to pause (omit to pause entire scheduler)") }, async ({ name }) => {
287
+ const path = name
288
+ ? `/control/agents/${encodeURIComponent(name)}/pause`
289
+ : "/control/pause";
290
+ const result = await callGateway(projectPath, envName, path, "POST");
291
+ if (result.ok)
292
+ return text(result.data.message || `Paused ${name || "scheduler"}.`);
293
+ return text(`Failed to pause: ${result.error}`);
294
+ });
295
+ server.tool("al_resume", "Resume the scheduler (all agents) or a single agent by name.", { name: z.string().optional().describe("Agent name to resume (omit to resume entire scheduler)") }, async ({ name }) => {
296
+ const path = name
297
+ ? `/control/agents/${encodeURIComponent(name)}/resume`
298
+ : "/control/resume";
299
+ const result = await callGateway(projectPath, envName, path, "POST");
300
+ if (result.ok)
301
+ return text(result.data.message || `Resumed ${name || "scheduler"}.`);
302
+ return text(`Failed to resume: ${result.error}`);
303
+ });
304
+ server.tool("al_kill", "Kill an agent (all instances) or a single instance by ID.", { target: z.string().describe("Agent name or instance ID") }, async ({ target }) => {
305
+ // Try agent-level kill first
306
+ const result = await callGateway(projectPath, envName, `/control/agents/${encodeURIComponent(target)}/kill`, "POST");
307
+ if (result.ok)
308
+ return text(result.data.message || `Killed ${target}.`);
309
+ // On 404, try instance-level kill
310
+ if (result.status === 404) {
311
+ const instResult = await callGateway(projectPath, envName, `/control/kill/${encodeURIComponent(target)}`, "POST");
312
+ if (instResult.ok)
313
+ return text(instResult.data.message || `Killed instance ${target}.`);
314
+ return text(`Failed to kill: ${instResult.error}`);
315
+ }
316
+ return text(`Failed to kill: ${result.error}`);
317
+ });
318
+ // --- Resources ---
319
+ server.resource("agent-skill", new ResourceTemplate("al://agents/{name}/skill", { list: undefined }), async (uri, { name }) => {
320
+ const agentName = Array.isArray(name) ? name[0] : name;
321
+ const body = loadAgentBody(projectPath, agentName);
322
+ return {
323
+ contents: [
324
+ {
325
+ uri: uri.href,
326
+ mimeType: "text/markdown",
327
+ text: body || "(empty SKILL.md)",
328
+ },
329
+ ],
330
+ };
331
+ });
332
+ // --- Connect ---
333
+ const transport = new StdioServerTransport();
334
+ await server.connect(transport);
335
+ }
336
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Wire up the al-call dispatch handler on the gateway.
2
+ * Wire up the al-subagent dispatch handler on the gateway.
3
3
  *
4
- * When a container issues an al-call, the gateway invokes the dispatcher to
4
+ * When a container issues an al-subagent call, the gateway invokes the dispatcher to
5
5
  * route the call to the target agent's runner pool.
6
6
  */
7
7
  import type { GatewayServer } from "../gateway/index.js";
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Wire up the al-call dispatch handler on the gateway.
2
+ * Wire up the al-subagent dispatch handler on the gateway.
3
3
  *
4
- * When a container issues an al-call, the gateway invokes the dispatcher to
4
+ * When a container issues an al-subagent call, the gateway invokes the dispatcher to
5
5
  * route the call to the target agent's runner pool.
6
6
  */
7
7
  import { executeRun, drainQueues, makeTriggeredPrompt, } from "./execution.js";
@@ -56,7 +56,7 @@ export function wireCallDispatcher(gateway, schedulerCtx, statusTracker) {
56
56
  });
57
57
  logger.info({ caller: entry.callerAgent, target: entry.targetAgent }, "all runners busy, call queued");
58
58
  drainQueues(schedulerCtx).catch((err) => {
59
- logger.error({ err }, "drain after al-call queue failed");
59
+ logger.error({ err }, "drain after al-subagent queue failed");
60
60
  });
61
61
  }
62
62
  return { ok: true };
@@ -1 +1 @@
1
- {"version":3,"file":"call-dispatcher.js","sourceRoot":"","sources":["../../src/scheduler/call-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call-dispatcher.js","sourceRoot":"","sources":["../../src/scheduler/call-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,mBAAmB,GAC7C,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,YAA8B,EAC9B,aAA6B;IAE7B,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAEpC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IAAI,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;YACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,WAAW,aAAa,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,WAAW,eAAe,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9G,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,YAAY,CAAC;iBACvH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;gBAChC,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;oBACjD,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;gBAChD,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,+BAA+B,CAAC,CAAC;YACvG,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -7,6 +7,7 @@ import type { createLogger } from "../shared/logger.js";
7
7
  import type { SchedulerEventBus } from "./events.js";
8
8
  import type { CallStore } from "../gateway/call-store.js";
9
9
  import type { StatusTracker } from "../tui/status-tracker.js";
10
+ import type { StatsStore } from "../stats/index.js";
10
11
  export declare const DEFAULT_MAX_RERUNS = 10;
11
12
  export declare const DEFAULT_MAX_TRIGGER_DEPTH = 3;
12
13
  export type WorkItem = {
@@ -40,12 +41,14 @@ export interface SchedulerContext {
40
41
  onRunComplete?: (event: RunCompleteEvent) => void;
41
42
  /** Optional event bus for lifecycle instrumentation (used by integration tests). */
42
43
  events?: SchedulerEventBus;
43
- /** Optional call store for updating al-call lifecycle status. */
44
+ /** Optional call store for updating al-subagent lifecycle status. */
44
45
  callStore?: CallStore;
45
46
  /** Optional status tracker — used to check global pause state. */
46
47
  statusTracker?: StatusTracker;
47
48
  /** Returns false if the named agent has been paused/disabled; undefined = treat as enabled. */
48
49
  isAgentEnabled?: (name: string) => boolean;
50
+ /** Optional stats store for recording run history and call edges. */
51
+ statsStore?: StatsStore;
49
52
  }
50
53
  export declare function makeScheduledPrompt(agentConfig: AgentConfig, ctx: SchedulerContext): string;
51
54
  export declare function makeWebhookPrompt(agentConfig: AgentConfig, context: WebhookContext, ctx: SchedulerContext): string;
@@ -65,7 +68,7 @@ export declare function executeRun(runner: PoolRunner, prompt: string, triggerIn
65
68
  export declare function dispatchTriggers(triggers: Array<{
66
69
  agent: string;
67
70
  context: string;
68
- }>, sourceAgent: string, depth: number, ctx: SchedulerContext): void;
71
+ }>, sourceAgent: string, depth: number, ctx: SchedulerContext, callerInstanceId?: string): void;
69
72
  /** Drain all agents' work queues — fires runs without blocking. */
70
73
  export declare function drainQueues(ctx: SchedulerContext): Promise<void>;
71
74
  export declare function runWithReruns(runner: PoolRunner, agentConfig: AgentConfig, depth: number, ctx: SchedulerContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/scheduler/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/scheduler/execution.ts"],"names":[],"mappings":"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"}
@@ -14,15 +14,17 @@ export function makeTriggeredPrompt(agentConfig, sourceAgent, context, ctx) {
14
14
  }
15
15
  /** Run a single agent and dispatch any resulting triggers. */
16
16
  export async function executeRun(runner, prompt, triggerInfo, agentName, depth, ctx) {
17
+ const startedAt = Date.now();
17
18
  ctx.events?.emit("run:start", {
18
19
  agentName,
19
20
  instanceId: runner.instanceId,
20
21
  trigger: triggerInfo.source ? `${triggerInfo.type}:${triggerInfo.source}` : triggerInfo.type,
21
22
  });
22
23
  const outcome = await runner.run(prompt, triggerInfo);
24
+ const durationMs = Date.now() - startedAt;
23
25
  const triggers = outcome.triggers ?? [];
24
26
  if (triggers.length > 0)
25
- dispatchTriggers(triggers, agentName, depth, ctx);
27
+ dispatchTriggers(triggers, agentName, depth, ctx, runner.instanceId);
26
28
  ctx.events?.emit("run:end", {
27
29
  agentName,
28
30
  instanceId: runner.instanceId,
@@ -30,10 +32,38 @@ export async function executeRun(runner, prompt, triggerInfo, agentName, depth,
30
32
  exitCode: outcome.exitCode,
31
33
  error: outcome.exitReason,
32
34
  });
35
+ // Record run in stats store
36
+ if (ctx.statsStore) {
37
+ try {
38
+ ctx.statsStore.recordRun({
39
+ instanceId: runner.instanceId,
40
+ agentName,
41
+ triggerType: triggerInfo.type,
42
+ triggerSource: triggerInfo.source,
43
+ result: outcome.result,
44
+ exitCode: outcome.exitCode,
45
+ startedAt,
46
+ durationMs,
47
+ inputTokens: outcome.usage?.inputTokens,
48
+ outputTokens: outcome.usage?.outputTokens,
49
+ cacheReadTokens: outcome.usage?.cacheReadTokens,
50
+ cacheWriteTokens: outcome.usage?.cacheWriteTokens,
51
+ totalTokens: outcome.usage?.totalTokens,
52
+ costUsd: outcome.usage?.cost,
53
+ turnCount: outcome.usage?.turnCount,
54
+ errorMessage: outcome.exitReason,
55
+ preHookMs: outcome.preHookMs,
56
+ postHookMs: outcome.postHookMs,
57
+ });
58
+ }
59
+ catch (err) {
60
+ ctx.logger.warn({ err, agent: agentName }, "failed to record run stats");
61
+ }
62
+ }
33
63
  ctx.onRunComplete?.({ agentName, result: outcome.result, triggerType: triggerInfo.type });
34
64
  return { result: outcome.result, triggers, returnValue: outcome.returnValue };
35
65
  }
36
- export function dispatchTriggers(triggers, sourceAgent, depth, ctx) {
66
+ export function dispatchTriggers(triggers, sourceAgent, depth, ctx, callerInstanceId) {
37
67
  for (const { agent, context } of triggers) {
38
68
  if (agent === sourceAgent) {
39
69
  ctx.logger.warn({ source: sourceAgent }, "agent cannot trigger itself, skipping");
@@ -53,6 +83,23 @@ export function dispatchTriggers(triggers, sourceAgent, depth, ctx) {
53
83
  ctx.logger.info({ source: sourceAgent, target: agent }, "target disabled (scale=0), skipping");
54
84
  continue;
55
85
  }
86
+ // Record call edge
87
+ let callEdgeId;
88
+ if (ctx.statsStore && callerInstanceId) {
89
+ try {
90
+ callEdgeId = ctx.statsStore.recordCallEdge({
91
+ callerAgent: sourceAgent,
92
+ callerInstance: callerInstanceId,
93
+ targetAgent: agent,
94
+ depth: depth + 1,
95
+ startedAt: Date.now(),
96
+ status: "pending",
97
+ });
98
+ }
99
+ catch (err) {
100
+ ctx.logger.warn({ err }, "failed to record call edge");
101
+ }
102
+ }
56
103
  if (ctx.isAgentEnabled && !ctx.isAgentEnabled(agent)) {
57
104
  ctx.workQueue.enqueue(agent, { type: 'agent-trigger', sourceAgent, context, depth });
58
105
  ctx.logger.info({ source: sourceAgent, target: agent }, "target agent is paused, trigger queued");
@@ -66,9 +113,33 @@ export function dispatchTriggers(triggers, sourceAgent, depth, ctx) {
66
113
  }
67
114
  ctx.logger.info({ source: sourceAgent, target: agent, depth }, "agent trigger firing");
68
115
  const prompt = makeTriggeredPrompt(targetConfig, sourceAgent, context, ctx);
116
+ const edgeStartedAt = Date.now();
69
117
  executeRun(runner, prompt, { type: 'agent', source: sourceAgent }, agent, depth + 1, ctx)
70
- .then(() => drainQueues(ctx))
71
- .catch((err) => ctx.logger.error({ err, target: agent }, "triggered run failed"));
118
+ .then((outcome) => {
119
+ if (callEdgeId != null && ctx.statsStore) {
120
+ try {
121
+ ctx.statsStore.updateCallEdge(callEdgeId, {
122
+ durationMs: Date.now() - edgeStartedAt,
123
+ status: outcome.result === "error" ? "error" : "completed",
124
+ targetInstance: runner.instanceId,
125
+ });
126
+ }
127
+ catch { /* best-effort */ }
128
+ }
129
+ return drainQueues(ctx);
130
+ })
131
+ .catch((err) => {
132
+ if (callEdgeId != null && ctx.statsStore) {
133
+ try {
134
+ ctx.statsStore.updateCallEdge(callEdgeId, {
135
+ durationMs: Date.now() - edgeStartedAt,
136
+ status: "error",
137
+ });
138
+ }
139
+ catch { /* best-effort */ }
140
+ }
141
+ ctx.logger.error({ err, target: agent }, "triggered run failed");
142
+ });
72
143
  }
73
144
  }
74
145
  /** Drain all agents' work queues — fires runs without blocking. */
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/scheduler/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/scheduler/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAC3D,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,GAE5D,MAAM,qBAAqB,CAAC;AAW7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAqC3C,wFAAwF;AACxF,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,WAAwB,EAAE,GAAqB;IACjF,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,OAAuB,EAAE,GAAqB;IACxG,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACjH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB,EAAE,WAAmB,EAAE,OAAe,EAAE,GAAqB;IACvH,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACzI,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAkB,EAAE,MAAc,EAClC,WAAwE,EACxE,SAAiB,EAAE,KAAa,EAAE,GAAqB;IAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;QAC5B,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI;KAC7F,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE9F,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;QAC1B,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,UAAU;KAC1B,CAAC,CAAC;IAEH,4BAA4B;IAC5B,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS;gBACT,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,aAAa,EAAE,WAAW,CAAC,MAAM;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS;gBACT,UAAU;gBACV,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW;gBACvC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY;gBACzC,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,eAAe;gBAC/C,gBAAgB,EAAE,OAAO,CAAC,KAAK,EAAE,gBAAgB;gBACjD,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW;gBACvC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI;gBAC5B,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS;gBACnC,YAAY,EAAE,OAAO,CAAC,UAAU;gBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAmD,EACnD,WAAmB,EAAE,KAAa,EAAE,GAAqB,EACzD,gBAAyB;IAEzB,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1C,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,uCAAuC,CAAC,CAAC;YAClF,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,oCAAoC,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,UAA8B,CAAC;QACnC,IAAI,GAAG,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;oBACzC,WAAW,EAAE,WAAW;oBACxB,cAAc,EAAE,gBAAgB;oBAChC,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,KAAK,GAAG,CAAC;oBAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACrF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,wCAAwC,CAAC,CAAC;YAClG,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACrF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;aACtF,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,UAAU,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE;wBACxC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;wBACtC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;wBAC1D,cAAc,EAAE,MAAM,CAAC,UAAU;qBAClC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,UAAU,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE;wBACxC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;wBACtC,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAqB;IACrD,IAAI,GAAG,CAAC,YAAY;QAAE,OAAO;IAC7B,IAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE;QAAE,OAAO;IAC1C,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QAClE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI;gBAAE,MAAM;YACjB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,IAA8B,EAAE,MAAkB,EAClD,WAAwB,EAAE,GAAqB;IAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAErD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC;aAClG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC5B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEjG,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,eAAe;YAAE,OAAO;QAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC7H,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;aAC3G,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,OAAO;oBAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;oBAC/F,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IAEP,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACrF,wDAAwD;QACxD,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC;aACvC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAkB,EAAE,WAAwB,EAAE,KAAa,EAAE,GAAqB;IAElF,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC/B,MAAM,EAAE,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAClG,CAAC;IAEF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,KAAK,OAAO,IAAI,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAC9E,MAAM;QACR,CAAC;QACD,MAAM,EAAE,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,kBAAkB,CAAC,CAAC;QACpG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC5B,MAAM,EAAE,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,EAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAC/F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,uBAAuB,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -11,6 +11,7 @@ import type { GatewayServer } from "../gateway/index.js";
11
11
  import type { WebhookRegistry } from "../webhooks/registry.js";
12
12
  import type { StatusTracker } from "../tui/status-tracker.js";
13
13
  import type { StateStore } from "../shared/state-store.js";
14
+ import type { StatsStore } from "../stats/store.js";
14
15
  import type { Logger } from "../shared/logger.js";
15
16
  import { createLogger, createFileOnlyLogger } from "../shared/logger.js";
16
17
  import type { SchedulerEventBus } from "./events.js";
@@ -29,6 +30,7 @@ export declare function setupGateway(opts: {
29
30
  webhookRegistry?: WebhookRegistry;
30
31
  webhookSecrets: Record<string, Record<string, string>>;
31
32
  stateStore?: StateStore;
33
+ statsStore?: StatsStore;
32
34
  events: SchedulerEventBus;
33
35
  telemetry?: any;
34
36
  mkLogger: typeof createLogger | typeof createFileOnlyLogger;