@action-llama/action-llama 0.18.4 → 0.18.6

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 (168) hide show
  1. package/dist/agents/container-runner.d.ts +2 -2
  2. package/dist/agents/container-runner.d.ts.map +1 -1
  3. package/dist/agents/container-runner.js.map +1 -1
  4. package/dist/agents/credential-setup.d.ts.map +1 -1
  5. package/dist/agents/credential-setup.js +8 -3
  6. package/dist/agents/credential-setup.js.map +1 -1
  7. package/dist/build-info.json +1 -1
  8. package/dist/chat/container-launcher.d.ts +2 -2
  9. package/dist/chat/container-launcher.d.ts.map +1 -1
  10. package/dist/chat/container-launcher.js.map +1 -1
  11. package/dist/cli/commands/doctor.d.ts.map +1 -1
  12. package/dist/cli/commands/doctor.js +116 -7
  13. package/dist/cli/commands/doctor.js.map +1 -1
  14. package/dist/cli/commands/run-agent.d.ts +14 -0
  15. package/dist/cli/commands/run-agent.d.ts.map +1 -0
  16. package/dist/cli/commands/run-agent.js +344 -0
  17. package/dist/cli/commands/run-agent.js.map +1 -0
  18. package/dist/cli/main.js +10 -0
  19. package/dist/cli/main.js.map +1 -1
  20. package/dist/cloud/provider.d.ts +5 -5
  21. package/dist/cloud/provider.d.ts.map +1 -1
  22. package/dist/cloud/vps/provider.d.ts +3 -3
  23. package/dist/cloud/vps/provider.d.ts.map +1 -1
  24. package/dist/control/routes/stats.d.ts.map +1 -1
  25. package/dist/control/routes/stats.js +13 -0
  26. package/dist/control/routes/stats.js.map +1 -1
  27. package/dist/credentials/builtins/discord-bot.d.ts +4 -0
  28. package/dist/credentials/builtins/discord-bot.d.ts.map +1 -0
  29. package/dist/credentials/builtins/discord-bot.js +34 -0
  30. package/dist/credentials/builtins/discord-bot.js.map +1 -0
  31. package/dist/credentials/builtins/index.d.ts.map +1 -1
  32. package/dist/credentials/builtins/index.js +10 -0
  33. package/dist/credentials/builtins/index.js.map +1 -1
  34. package/dist/credentials/builtins/slack-bot-token.d.ts +4 -0
  35. package/dist/credentials/builtins/slack-bot-token.d.ts.map +1 -0
  36. package/dist/credentials/builtins/slack-bot-token.js +28 -0
  37. package/dist/credentials/builtins/slack-bot-token.js.map +1 -0
  38. package/dist/credentials/builtins/slack-signing-secret.d.ts +4 -0
  39. package/dist/credentials/builtins/slack-signing-secret.d.ts.map +1 -0
  40. package/dist/credentials/builtins/slack-signing-secret.js +19 -0
  41. package/dist/credentials/builtins/slack-signing-secret.js.map +1 -0
  42. package/dist/credentials/builtins/x-twitter-api.d.ts.map +1 -1
  43. package/dist/credentials/builtins/x-twitter-api.js +7 -11
  44. package/dist/credentials/builtins/x-twitter-api.js.map +1 -1
  45. package/dist/credentials/builtins/x-twitter-user-oauth1.d.ts +4 -0
  46. package/dist/credentials/builtins/x-twitter-user-oauth1.d.ts.map +1 -0
  47. package/dist/credentials/builtins/x-twitter-user-oauth1.js +17 -0
  48. package/dist/credentials/builtins/x-twitter-user-oauth1.js.map +1 -0
  49. package/dist/credentials/builtins/x-twitter-user-oauth2.d.ts +4 -0
  50. package/dist/credentials/builtins/x-twitter-user-oauth2.d.ts.map +1 -0
  51. package/dist/credentials/builtins/x-twitter-user-oauth2.js +195 -0
  52. package/dist/credentials/builtins/x-twitter-user-oauth2.js.map +1 -0
  53. package/dist/credentials/prompter.d.ts.map +1 -1
  54. package/dist/credentials/prompter.js +38 -9
  55. package/dist/credentials/prompter.js.map +1 -1
  56. package/dist/credentials/schema.d.ts +1 -0
  57. package/dist/credentials/schema.d.ts.map +1 -1
  58. package/dist/docker/host-user-runtime.d.ts +35 -0
  59. package/dist/docker/host-user-runtime.d.ts.map +1 -0
  60. package/dist/docker/host-user-runtime.js +292 -0
  61. package/dist/docker/host-user-runtime.js.map +1 -0
  62. package/dist/docker/local-runtime.d.ts +2 -2
  63. package/dist/docker/local-runtime.d.ts.map +1 -1
  64. package/dist/docker/runtime.d.ts +34 -24
  65. package/dist/docker/runtime.d.ts.map +1 -1
  66. package/dist/docker/runtime.js +4 -1
  67. package/dist/docker/runtime.js.map +1 -1
  68. package/dist/docker/ssh-docker-runtime.d.ts +2 -2
  69. package/dist/docker/ssh-docker-runtime.d.ts.map +1 -1
  70. package/dist/docker/ssh-docker-runtime.js.map +1 -1
  71. package/dist/events/routes/webhooks.d.ts.map +1 -1
  72. package/dist/events/routes/webhooks.js +57 -0
  73. package/dist/events/routes/webhooks.js.map +1 -1
  74. package/dist/events/webhook-setup.d.ts +11 -0
  75. package/dist/events/webhook-setup.d.ts.map +1 -1
  76. package/dist/events/webhook-setup.js +90 -9
  77. package/dist/events/webhook-setup.js.map +1 -1
  78. package/dist/execution/image-builder.d.ts +3 -3
  79. package/dist/execution/image-builder.d.ts.map +1 -1
  80. package/dist/execution/runner-setup.d.ts +3 -3
  81. package/dist/execution/runner-setup.d.ts.map +1 -1
  82. package/dist/execution/runtime-factory.d.ts +7 -6
  83. package/dist/execution/runtime-factory.d.ts.map +1 -1
  84. package/dist/execution/runtime-factory.js +18 -3
  85. package/dist/execution/runtime-factory.js.map +1 -1
  86. package/dist/extensions/loader.d.ts.map +1 -1
  87. package/dist/extensions/loader.js +2 -1
  88. package/dist/extensions/loader.js.map +1 -1
  89. package/dist/extensions/types.d.ts +2 -2
  90. package/dist/extensions/types.d.ts.map +1 -1
  91. package/dist/frontend/assets/index-D5QqK4BL.js +13 -0
  92. package/dist/frontend/assets/{index-B3IlFzCF.css → index-GJZXHhf1.css} +1 -1
  93. package/dist/frontend/index.html +2 -2
  94. package/dist/scheduler/gateway-setup.d.ts +2 -2
  95. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  96. package/dist/scheduler/gateway-setup.js.map +1 -1
  97. package/dist/scheduler/index.d.ts.map +1 -1
  98. package/dist/scheduler/index.js +11 -7
  99. package/dist/scheduler/index.js.map +1 -1
  100. package/dist/scheduler/watcher.d.ts +3 -3
  101. package/dist/scheduler/watcher.d.ts.map +1 -1
  102. package/dist/scheduler/watcher.js +35 -26
  103. package/dist/scheduler/watcher.js.map +1 -1
  104. package/dist/setup/validators.d.ts +1 -5
  105. package/dist/setup/validators.d.ts.map +1 -1
  106. package/dist/setup/validators.js +4 -7
  107. package/dist/setup/validators.js.map +1 -1
  108. package/dist/shared/config.d.ts +11 -0
  109. package/dist/shared/config.d.ts.map +1 -1
  110. package/dist/shared/config.js +1 -0
  111. package/dist/shared/config.js.map +1 -1
  112. package/dist/shared/credential-refs.d.ts.map +1 -1
  113. package/dist/shared/credential-refs.js +15 -9
  114. package/dist/shared/credential-refs.js.map +1 -1
  115. package/dist/shared/oauth1.d.ts +17 -0
  116. package/dist/shared/oauth1.d.ts.map +1 -0
  117. package/dist/shared/oauth1.js +45 -0
  118. package/dist/shared/oauth1.js.map +1 -0
  119. package/dist/shared/validation.d.ts.map +1 -1
  120. package/dist/shared/validation.js +6 -1
  121. package/dist/shared/validation.js.map +1 -1
  122. package/dist/stats/store.d.ts +1 -0
  123. package/dist/stats/store.d.ts.map +1 -1
  124. package/dist/stats/store.js +8 -4
  125. package/dist/stats/store.js.map +1 -1
  126. package/dist/webhooks/definitions/discord.d.ts +3 -0
  127. package/dist/webhooks/definitions/discord.d.ts.map +1 -0
  128. package/dist/webhooks/definitions/discord.js +23 -0
  129. package/dist/webhooks/definitions/discord.js.map +1 -0
  130. package/dist/webhooks/definitions/registry.d.ts.map +1 -1
  131. package/dist/webhooks/definitions/registry.js +4 -1
  132. package/dist/webhooks/definitions/registry.js.map +1 -1
  133. package/dist/webhooks/definitions/slack.d.ts +3 -0
  134. package/dist/webhooks/definitions/slack.d.ts.map +1 -0
  135. package/dist/webhooks/definitions/slack.js +25 -0
  136. package/dist/webhooks/definitions/slack.js.map +1 -0
  137. package/dist/webhooks/definitions/twitter.d.ts +3 -0
  138. package/dist/webhooks/definitions/twitter.d.ts.map +1 -0
  139. package/dist/webhooks/definitions/twitter.js +30 -0
  140. package/dist/webhooks/definitions/twitter.js.map +1 -0
  141. package/dist/webhooks/providers/discord.d.ts +9 -0
  142. package/dist/webhooks/providers/discord.d.ts.map +1 -0
  143. package/dist/webhooks/providers/discord.js +112 -0
  144. package/dist/webhooks/providers/discord.js.map +1 -0
  145. package/dist/webhooks/providers/index.d.ts +12 -0
  146. package/dist/webhooks/providers/index.d.ts.map +1 -1
  147. package/dist/webhooks/providers/index.js +118 -0
  148. package/dist/webhooks/providers/index.js.map +1 -1
  149. package/dist/webhooks/providers/slack.d.ts +9 -0
  150. package/dist/webhooks/providers/slack.d.ts.map +1 -0
  151. package/dist/webhooks/providers/slack.js +120 -0
  152. package/dist/webhooks/providers/slack.js.map +1 -0
  153. package/dist/webhooks/providers/twitter-subscribe.d.ts +26 -0
  154. package/dist/webhooks/providers/twitter-subscribe.d.ts.map +1 -0
  155. package/dist/webhooks/providers/twitter-subscribe.js +158 -0
  156. package/dist/webhooks/providers/twitter-subscribe.js.map +1 -0
  157. package/dist/webhooks/providers/twitter.d.ts +13 -0
  158. package/dist/webhooks/providers/twitter.d.ts.map +1 -0
  159. package/dist/webhooks/providers/twitter.js +202 -0
  160. package/dist/webhooks/providers/twitter.js.map +1 -0
  161. package/dist/webhooks/types.d.ts +24 -1
  162. package/dist/webhooks/types.d.ts.map +1 -1
  163. package/dist/webhooks/validation.d.ts +11 -0
  164. package/dist/webhooks/validation.d.ts.map +1 -1
  165. package/dist/webhooks/validation.js +45 -1
  166. package/dist/webhooks/validation.js.map +1 -1
  167. package/package.json +1 -1
  168. package/dist/frontend/assets/index-BotTEisS.js +0 -13
@@ -0,0 +1,292 @@
1
+ /**
2
+ * HostUserRuntime — runs agents as a separate OS user via `sudo -u`.
3
+ *
4
+ * Provides lightweight isolation without Docker:
5
+ * - Agent process runs as a dedicated OS user (can't access operator credentials)
6
+ * - Credentials staged to a temp dir, path passed via AL_CREDENTIALS_PATH
7
+ * - Working directory: /tmp/al-runs/<instance-id>/ (chowned to agent user)
8
+ * - Logs written to /tmp/al-runs/<instance-id>.log (owned by scheduler)
9
+ * - No image builds, no containers, no Docker dependency
10
+ */
11
+ import { spawn, execFileSync } from "child_process";
12
+ import { randomUUID } from "crypto";
13
+ import { mkdtempSync, mkdirSync, writeFileSync, rmSync, chmodSync, chownSync, readFileSync, existsSync, createWriteStream, } from "fs";
14
+ import { join } from "path";
15
+ import { tmpdir } from "os";
16
+ import { parseCredentialRef, getDefaultBackend } from "../shared/credentials.js";
17
+ import { CONSTANTS } from "../shared/constants.js";
18
+ const RUNS_DIR = join(tmpdir(), "al-runs");
19
+ /** Resolve the UID for an OS user. Returns undefined if user doesn't exist. */
20
+ function resolveUid(username) {
21
+ try {
22
+ const out = execFileSync("id", ["-u", username], {
23
+ encoding: "utf-8",
24
+ timeout: 5000,
25
+ stdio: ["pipe", "pipe", "pipe"],
26
+ }).trim();
27
+ return parseInt(out, 10);
28
+ }
29
+ catch {
30
+ return undefined;
31
+ }
32
+ }
33
+ /** Resolve the GID for an OS user. Returns undefined if user doesn't exist. */
34
+ function resolveGid(username) {
35
+ try {
36
+ const out = execFileSync("id", ["-g", username], {
37
+ encoding: "utf-8",
38
+ timeout: 5000,
39
+ stdio: ["pipe", "pipe", "pipe"],
40
+ }).trim();
41
+ return parseInt(out, 10);
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ }
47
+ export class HostUserRuntime {
48
+ needsGateway = false;
49
+ runAs;
50
+ processes = new Map();
51
+ runAgentNames = new Map();
52
+ constructor(runAs = "al-agent") {
53
+ this.runAs = runAs;
54
+ }
55
+ async isAgentRunning(agentName) {
56
+ for (const [, name] of this.runAgentNames) {
57
+ if (name === agentName)
58
+ return true;
59
+ }
60
+ return false;
61
+ }
62
+ async listRunningAgents() {
63
+ const agents = [];
64
+ for (const [runId, agentName] of this.runAgentNames) {
65
+ if (this.processes.has(runId)) {
66
+ agents.push({
67
+ agentName,
68
+ taskId: runId,
69
+ runtimeId: runId,
70
+ status: "running",
71
+ });
72
+ }
73
+ }
74
+ return agents;
75
+ }
76
+ async prepareCredentials(credRefs) {
77
+ const stagingDir = mkdtempSync(join(tmpdir(), CONSTANTS.CREDS_TEMP_PREFIX));
78
+ chmodSync(stagingDir, CONSTANTS.CREDS_DIR_MODE);
79
+ const uid = resolveUid(this.runAs);
80
+ const gid = resolveGid(this.runAs);
81
+ if (uid !== undefined && gid !== undefined) {
82
+ try {
83
+ chownSync(stagingDir, uid, gid);
84
+ }
85
+ catch { /* non-root */ }
86
+ }
87
+ const bundle = {};
88
+ const backend = getDefaultBackend();
89
+ for (const credRef of credRefs) {
90
+ const { type, instance } = parseCredentialRef(credRef);
91
+ const fields = await backend.readAll(type, instance);
92
+ if (!fields)
93
+ continue;
94
+ const typeDir = join(stagingDir, type);
95
+ const dstDir = join(typeDir, instance);
96
+ mkdirSync(dstDir, { recursive: true, mode: CONSTANTS.CREDS_DIR_MODE });
97
+ if (uid !== undefined && gid !== undefined) {
98
+ try {
99
+ chownSync(typeDir, uid, gid);
100
+ chownSync(dstDir, uid, gid);
101
+ }
102
+ catch { /* non-root */ }
103
+ }
104
+ if (!bundle[type])
105
+ bundle[type] = {};
106
+ bundle[type][instance] = {};
107
+ for (const [field, value] of Object.entries(fields)) {
108
+ try {
109
+ const filePath = join(dstDir, field);
110
+ writeFileSync(filePath, value + "\n", { mode: CONSTANTS.CREDS_FILE_MODE });
111
+ if (uid !== undefined && gid !== undefined) {
112
+ try {
113
+ chownSync(filePath, uid, gid);
114
+ }
115
+ catch { /* non-root */ }
116
+ }
117
+ bundle[type][instance][field] = value;
118
+ }
119
+ catch {
120
+ // Skip unwritable fields
121
+ }
122
+ }
123
+ }
124
+ return { strategy: "host-user", stagingDir, bundle };
125
+ }
126
+ cleanupCredentials(creds) {
127
+ try {
128
+ rmSync(creds.stagingDir, { recursive: true, force: true });
129
+ }
130
+ catch { /* best effort */ }
131
+ }
132
+ async launch(opts) {
133
+ const runId = `al-${opts.agentName}-${randomUUID().slice(0, 8)}`;
134
+ // Ensure runs directory exists
135
+ mkdirSync(RUNS_DIR, { recursive: true });
136
+ // Create working directory
137
+ const workDir = join(RUNS_DIR, runId);
138
+ mkdirSync(workDir, { recursive: true, mode: 0o755 });
139
+ const uid = resolveUid(this.runAs);
140
+ const gid = resolveGid(this.runAs);
141
+ if (uid !== undefined && gid !== undefined) {
142
+ try {
143
+ chownSync(workDir, uid, gid);
144
+ }
145
+ catch { /* non-root */ }
146
+ }
147
+ // Create log file (owned by scheduler user, not agent user)
148
+ const logPath = join(RUNS_DIR, `${runId}.log`);
149
+ const logStream = createWriteStream(logPath, { flags: "a" });
150
+ // Build env vars for the child process
151
+ const env = {
152
+ ...process.env,
153
+ ...opts.env,
154
+ AL_CREDENTIALS_PATH: opts.credentials.stagingDir,
155
+ AL_WORK_DIR: workDir,
156
+ AL_INSTANCE_ID: runId,
157
+ };
158
+ // Find the `al` binary path
159
+ const alBin = process.argv[1] || "al";
160
+ // Spawn: sudo -u <runAs> <al> _run-agent <agentName>
161
+ const proc = spawn("sudo", [
162
+ "-u", this.runAs,
163
+ "--preserve-env=AL_CREDENTIALS_PATH,AL_WORK_DIR,AL_INSTANCE_ID,PROMPT,GATEWAY_URL,SHUTDOWN_SECRET,OTEL_TRACE_PARENT,OTEL_EXPORTER_OTLP_ENDPOINT,PATH,HOME",
164
+ alBin, "_run-agent", opts.agentName,
165
+ "--project", process.cwd(),
166
+ ], {
167
+ stdio: ["ignore", "pipe", "pipe"],
168
+ env,
169
+ cwd: workDir,
170
+ });
171
+ // Pipe stdout/stderr to log file
172
+ proc.stdout?.pipe(logStream);
173
+ proc.stderr?.pipe(logStream);
174
+ this.processes.set(runId, proc);
175
+ this.runAgentNames.set(runId, opts.agentName);
176
+ // Clean up tracking on exit
177
+ proc.on("exit", () => {
178
+ logStream.end();
179
+ this.processes.delete(runId);
180
+ this.runAgentNames.delete(runId);
181
+ });
182
+ return runId;
183
+ }
184
+ streamLogs(runId, onLine, onStderr) {
185
+ const proc = this.processes.get(runId);
186
+ if (!proc)
187
+ return { stop: () => { } };
188
+ let buffer = "";
189
+ const onData = (chunk) => {
190
+ buffer += chunk.toString();
191
+ const lines = buffer.split("\n");
192
+ buffer = lines.pop() || "";
193
+ for (const line of lines) {
194
+ onLine(line);
195
+ }
196
+ };
197
+ proc.stdout?.on("data", onData);
198
+ proc.stderr?.on("data", (chunk) => {
199
+ const text = chunk.toString().trim();
200
+ if (text && onStderr)
201
+ onStderr(text);
202
+ });
203
+ return {
204
+ stop: () => {
205
+ proc.stdout?.removeListener("data", onData);
206
+ if (buffer.trim())
207
+ onLine(buffer);
208
+ },
209
+ };
210
+ }
211
+ waitForExit(runId, timeoutSeconds) {
212
+ return new Promise((resolve, reject) => {
213
+ const proc = this.processes.get(runId);
214
+ if (!proc) {
215
+ resolve(1);
216
+ return;
217
+ }
218
+ const timer = setTimeout(() => {
219
+ proc.kill("SIGTERM");
220
+ // Escalate to SIGKILL after 5s grace period
221
+ setTimeout(() => {
222
+ if (this.processes.has(runId)) {
223
+ proc.kill("SIGKILL");
224
+ }
225
+ }, 5000);
226
+ reject(new Error(`Agent ${runId} timed out after ${timeoutSeconds}s`));
227
+ }, timeoutSeconds * 1000);
228
+ proc.on("exit", (code) => {
229
+ clearTimeout(timer);
230
+ resolve(code ?? 1);
231
+ });
232
+ proc.on("error", (err) => {
233
+ clearTimeout(timer);
234
+ reject(err);
235
+ });
236
+ });
237
+ }
238
+ async kill(runId) {
239
+ const proc = this.processes.get(runId);
240
+ if (proc) {
241
+ proc.kill("SIGTERM");
242
+ // Escalate after grace period
243
+ setTimeout(() => {
244
+ if (this.processes.has(runId)) {
245
+ proc.kill("SIGKILL");
246
+ }
247
+ }, 5000);
248
+ }
249
+ }
250
+ async remove(runId) {
251
+ // Clean up working directory
252
+ const workDir = join(RUNS_DIR, runId);
253
+ try {
254
+ rmSync(workDir, { recursive: true, force: true });
255
+ }
256
+ catch { /* best effort */ }
257
+ }
258
+ async fetchLogs(agentName, limit) {
259
+ // Read from log files in RUNS_DIR matching this agent
260
+ try {
261
+ if (!existsSync(RUNS_DIR))
262
+ return [];
263
+ const { readdirSync } = await import("fs");
264
+ const files = readdirSync(RUNS_DIR)
265
+ .filter(f => f.startsWith(`al-${agentName}-`) && f.endsWith(".log"))
266
+ .sort()
267
+ .reverse();
268
+ const allLines = [];
269
+ for (const file of files) {
270
+ if (allLines.length >= limit)
271
+ break;
272
+ try {
273
+ const content = readFileSync(join(RUNS_DIR, file), "utf-8");
274
+ allLines.push(...content.split("\n").filter(Boolean));
275
+ }
276
+ catch { /* file may be gone */ }
277
+ }
278
+ return allLines.slice(-limit);
279
+ }
280
+ catch {
281
+ return [];
282
+ }
283
+ }
284
+ followLogs(_agentName, _onLine, _onStderr) {
285
+ // Follow is handled by the live process stream in streamLogs
286
+ return { stop: () => { } };
287
+ }
288
+ getTaskUrl() {
289
+ return null;
290
+ }
291
+ }
292
+ //# sourceMappingURL=host-user-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-user-runtime.js","sourceRoot":"","sources":["../../src/docker/host-user-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
1
+ import type { Runtime, ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
2
2
  /**
3
3
  * Parse a line of Docker BuildKit stderr output.
4
4
  * Returns a human-readable string for meaningful lines, or undefined to skip noise
5
5
  * (blank lines, transfer progress, BuildKit metadata).
6
6
  */
7
7
  export declare function parseBuildKitLine(raw: string): string | undefined;
8
- export declare class LocalDockerRuntime implements ContainerRuntime {
8
+ export declare class LocalDockerRuntime implements Runtime, ContainerRuntime {
9
9
  readonly needsGateway = true;
10
10
  isAgentRunning(agentName: string): Promise<boolean>;
11
11
  listRunningAgents(): Promise<RunningAgent[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"local-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/local-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAoB,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAc5I;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAejE;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,QAAQ,CAAC,YAAY,QAAQ;IAEvB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAsB5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6DzE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAQ7C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA6HjD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4CtD,UAAU,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAgCvB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BrE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2BpE,UAAU,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACjC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAKvB,UAAU,IAAI,MAAM,GAAG,IAAI;CAI5B"}
1
+ {"version":3,"file":"local-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/local-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAoB,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAcrJ;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAejE;AAED,qBAAa,kBAAmB,YAAW,OAAO,EAAE,gBAAgB;IAClE,QAAQ,CAAC,YAAY,QAAQ;IAEvB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAsB5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6DzE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAQ7C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA6HjD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4CtD,UAAU,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAgCvB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BrE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2BpE,UAAU,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACjC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAKvB,UAAU,IAAI,MAAM,GAAG,IAAI;CAI5B"}
@@ -18,6 +18,10 @@ export type RuntimeCredentials = {
18
18
  strategy: "tmpfs";
19
19
  stagingDir: string;
20
20
  bundle: CredentialBundle;
21
+ } | {
22
+ strategy: "host-user";
23
+ stagingDir: string;
24
+ bundle: CredentialBundle;
21
25
  };
22
26
  export type CredentialBundle = Record<string, Record<string, Record<string, string>>>;
23
27
  export interface BuildImageOpts {
@@ -61,40 +65,34 @@ export interface RunningAgent {
61
65
  startedAt?: Date;
62
66
  trigger?: string;
63
67
  }
64
- export interface ContainerRuntime {
65
- /** Whether containers launched by this runtime need a gateway URL */
68
+ /**
69
+ * Core runtime interface the lifecycle contract all runtimes must satisfy.
70
+ * Covers launching, killing, credential management, and log access.
71
+ */
72
+ export interface Runtime {
73
+ /** Whether agents launched by this runtime need a gateway URL */
66
74
  readonly needsGateway: boolean;
67
75
  /** Check if a specific agent is already running. */
68
76
  isAgentRunning(agentName: string): Promise<boolean>;
69
- /** List all running agent containers managed by this runtime. */
77
+ /** List all running agents managed by this runtime. */
70
78
  listRunningAgents(): Promise<RunningAgent[]>;
71
- /** Launch a container and return its name/ID */
79
+ /** Launch an agent and return its run ID */
72
80
  launch(opts: RuntimeLaunchOpts): Promise<string>;
73
- /** Stream container stdout line-by-line. Returns a handle to stop streaming. */
74
- streamLogs(containerName: string, onLine: (line: string) => void, onStderr?: (text: string) => void): {
81
+ /** Stream agent stdout line-by-line. Returns a handle to stop streaming. */
82
+ streamLogs(runId: string, onLine: (line: string) => void, onStderr?: (text: string) => void): {
75
83
  stop: () => void;
76
84
  };
77
- /** Wait for a container to exit. Returns the exit code. Throws on timeout. */
78
- waitForExit(containerName: string, timeoutSeconds: number): Promise<number>;
79
- /** Kill a running container */
80
- kill(containerName: string): Promise<void>;
81
- /** Remove a container */
82
- remove(containerName: string): Promise<void>;
85
+ /** Wait for an agent to exit. Returns the exit code. Throws on timeout. */
86
+ waitForExit(runId: string, timeoutSeconds: number): Promise<number>;
87
+ /** Kill a running agent */
88
+ kill(runId: string): Promise<void>;
89
+ /** Remove an agent run's resources */
90
+ remove(runId: string): Promise<void>;
83
91
  /**
84
92
  * Resolve credential refs into runtime-native credential specs.
85
- * Stages files to a temp dir, returns volume mount path.
93
+ * Stages files to a temp dir, returns credential payload.
86
94
  */
87
95
  prepareCredentials(credRefs: string[]): Promise<RuntimeCredentials>;
88
- /**
89
- * Build a Docker image locally.
90
- * Returns the image tag.
91
- */
92
- buildImage(opts: BuildImageOpts): Promise<string>;
93
- /**
94
- * Push a local Docker image to a registry.
95
- * Returns the remote image URI (or the input unchanged for local).
96
- */
97
- pushImage(localImage: string): Promise<string>;
98
96
  /**
99
97
  * Clean up credentials prepared by prepareCredentials().
100
98
  * Removes the staging directory.
@@ -112,6 +110,18 @@ export interface ContainerRuntime {
112
110
  stop: () => void;
113
111
  };
114
112
  /** Return a URL for this task/execution, or null. */
115
- getTaskUrl(containerName: string): string | null;
113
+ getTaskUrl(runId: string): string | null;
114
+ }
115
+ /**
116
+ * Container-specific operations — separate from the core Runtime interface.
117
+ * Runtimes that manage Docker images implement both Runtime and ContainerRuntime.
118
+ */
119
+ export interface ContainerRuntime {
120
+ /** Build a Docker image. Returns the image tag. */
121
+ buildImage(opts: BuildImageOpts): Promise<string>;
122
+ /** Push a local Docker image to a registry. Returns the remote image URI. */
123
+ pushImage(localImage: string): Promise<string>;
116
124
  }
125
+ /** Type guard to check if a runtime also supports container operations. */
126
+ export declare function isContainerRuntime(runtime: Runtime): runtime is Runtime & ContainerRuntime;
117
127
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/docker/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/docker/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
- export {};
1
+ /** Type guard to check if a runtime also supports container operations. */
2
+ export function isContainerRuntime(runtime) {
3
+ return "buildImage" in runtime && "pushImage" in runtime;
4
+ }
2
5
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/docker/runtime.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/docker/runtime.ts"],"names":[],"mappings":"AA6IA,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,YAAY,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;AAC3D,CAAC"}
@@ -2,9 +2,9 @@
2
2
  * SshDockerRuntime — ContainerRuntime that wraps Docker commands in SSH calls.
3
3
  * Used for VPS deployments where Docker runs on a remote server.
4
4
  */
5
- import type { ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
5
+ import type { Runtime, ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
6
6
  import { type SshConfig } from "../cloud/vps/ssh.js";
7
- export declare class SshDockerRuntime implements ContainerRuntime {
7
+ export declare class SshDockerRuntime implements Runtime, ContainerRuntime {
8
8
  readonly needsGateway = false;
9
9
  private sshConfig;
10
10
  constructor(sshConfig: SshConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-docker-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/ssh-docker-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACd,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAenF,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,SAAS;IAI1B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwB5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+BzE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAO7C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA+DvD,OAAO,CAAC,YAAY;IAmDd,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCtD,UAAU,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IA0BjB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B3E,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBpE,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IA2CvB,UAAU,IAAI,MAAM,GAAG,IAAI;CAG5B"}
1
+ {"version":3,"file":"ssh-docker-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/ssh-docker-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACd,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAenF,qBAAa,gBAAiB,YAAW,OAAO,EAAE,gBAAgB;IAChE,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,SAAS;IAI1B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwB5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+BzE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAO7C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA+DvD,OAAO,CAAC,YAAY;IAmDd,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCtD,UAAU,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IA0BjB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B3E,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBpE,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IA2CvB,UAAU,IAAI,MAAM,GAAG,IAAI;CAG5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-docker-runtime.js","sourceRoot":"","sources":["../../src/docker/ssh-docker-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh-docker-runtime.js","sourceRoot":"","sources":["../../src/docker/ssh-docker-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/events/routes/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAuBvD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACnD,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,aAAa,EAC7B,UAAU,CAAC,EAAE,UAAU,GACtB,IAAI,CA0MN"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/events/routes/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA4BvD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACnD,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,aAAa,EAC7B,UAAU,CAAC,EAAE,UAAU,GACtB,IAAI,CAsQN"}
@@ -6,6 +6,11 @@ const SIGNATURE_HEADERS = new Set([
6
6
  "sentry-hook-signature",
7
7
  "linear-signature",
8
8
  "mintlify-signature",
9
+ "x-signature-ed25519",
10
+ "x-signature-timestamp",
11
+ "x-slack-signature",
12
+ "x-slack-request-timestamp",
13
+ "x-twitter-webhooks-signature",
9
14
  ]);
10
15
  const MAX_STORED_BODY = 256 * 1024; // 256 KB
11
16
  function stripSignatureHeaders(headers) {
@@ -18,6 +23,27 @@ function stripSignatureHeaders(headers) {
18
23
  return JSON.stringify(safe);
19
24
  }
20
25
  export function registerWebhookRoutes(app, registry, webhookSecrets, webhookConfigs, logger, statusTracker, statsStore) {
26
+ // GET route for CRC challenge-response (e.g. Twitter Account Activity API)
27
+ app.get("/webhooks/:source", async (c) => {
28
+ const source = c.req.param("source");
29
+ const provider = registry.getProvider(source);
30
+ if (!provider || !provider.handleCrcChallenge) {
31
+ return c.json({ error: "CRC not supported for this source" }, 404);
32
+ }
33
+ const url = new URL(c.req.url);
34
+ const queryParams = {};
35
+ for (const [key, value] of url.searchParams.entries()) {
36
+ queryParams[key] = value;
37
+ }
38
+ const secrets = webhookSecrets[source];
39
+ const result = provider.handleCrcChallenge(queryParams, secrets);
40
+ if (!result) {
41
+ logger.warn({ source }, "CRC challenge failed — missing crc_token or no secrets");
42
+ return c.json({ error: "CRC challenge failed" }, 400);
43
+ }
44
+ logger.info({ source }, "CRC challenge-response completed");
45
+ return c.json(result.body, result.status);
46
+ });
21
47
  app.post("/webhooks/:source", async (c) => {
22
48
  const source = c.req.param("source");
23
49
  logger.debug({ source }, "webhook request received");
@@ -60,6 +86,29 @@ export function registerWebhookRoutes(app, registry, webhookSecrets, webhookConf
60
86
  delivery: headers["x-github-delivery"],
61
87
  hasSignature: !!headers["x-hub-signature-256"],
62
88
  }, "webhook headers");
89
+ // Discord Interactions Endpoint: respond to PING verification (type: 1)
90
+ if (source === "discord") {
91
+ try {
92
+ const parsedBody = JSON.parse(rawBody);
93
+ if (parsedBody.type === 1) {
94
+ // Validate signature before responding
95
+ const discordSecrets = webhookSecrets[source];
96
+ const discordConfig = webhookConfigs[source];
97
+ const discordProvider = registry.getProvider("discord");
98
+ if (discordProvider) {
99
+ const sigResult = discordProvider.validateRequest(headers, rawBody, discordSecrets, discordConfig?.allowUnsigned);
100
+ if (sigResult === null) {
101
+ return c.json({ error: "signature validation failed" }, 401);
102
+ }
103
+ }
104
+ logger.info({ source }, "Discord PING verified, responding with PONG");
105
+ return c.json({ type: 1 });
106
+ }
107
+ }
108
+ catch {
109
+ // If JSON parsing fails, fall through to normal dispatch
110
+ }
111
+ }
63
112
  // Dedupe check: if provider supports delivery IDs, check for existing receipt
64
113
  if (statsStore && provider.getDeliveryId) {
65
114
  const deliveryId = provider.getDeliveryId(headers);
@@ -102,6 +151,14 @@ export function registerWebhookRoutes(app, registry, webhookSecrets, webhookConf
102
151
  }
103
152
  const secrets = webhookSecrets[source];
104
153
  const config = webhookConfigs[source];
154
+ // Handle provider setup challenges (e.g., Slack URL verification)
155
+ if (provider.handleChallenge) {
156
+ const challengeResponse = provider.handleChallenge(headers, rawBody, secrets, config?.allowUnsigned);
157
+ if (challengeResponse) {
158
+ logger.info({ source }, "webhook setup challenge handled");
159
+ return c.json(challengeResponse);
160
+ }
161
+ }
105
162
  const result = registry.dispatch(source, headers, rawBody, { secrets, config }, receiptId);
106
163
  // Update receipt status based on dispatch result
107
164
  if (statsStore) {