@action-llama/action-llama 0.10.1 → 0.11.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 (313) hide show
  1. package/AGENTS.md +17 -6
  2. package/README.md +8 -4
  3. package/dist/agents/container-entry.d.ts.map +1 -1
  4. package/dist/agents/container-entry.js +37 -0
  5. package/dist/agents/container-entry.js.map +1 -1
  6. package/dist/agents/container-runner.d.ts +4 -0
  7. package/dist/agents/container-runner.d.ts.map +1 -1
  8. package/dist/agents/container-runner.js +82 -5
  9. package/dist/agents/container-runner.js.map +1 -1
  10. package/dist/agents/execution-engine.d.ts +2 -0
  11. package/dist/agents/execution-engine.d.ts.map +1 -1
  12. package/dist/agents/execution-engine.js +7 -16
  13. package/dist/agents/execution-engine.js.map +1 -1
  14. package/dist/agents/runner.d.ts +3 -0
  15. package/dist/agents/runner.d.ts.map +1 -1
  16. package/dist/agents/runner.js +47 -17
  17. package/dist/agents/runner.js.map +1 -1
  18. package/dist/cli/commands/chat.d.ts +5 -2
  19. package/dist/cli/commands/chat.d.ts.map +1 -1
  20. package/dist/cli/commands/chat.js +240 -23
  21. package/dist/cli/commands/chat.js.map +1 -1
  22. package/dist/cli/commands/cloud-deploy.d.ts.map +1 -1
  23. package/dist/cli/commands/cloud-deploy.js +5 -47
  24. package/dist/cli/commands/cloud-deploy.js.map +1 -1
  25. package/dist/cli/commands/cloud-setup.d.ts.map +1 -1
  26. package/dist/cli/commands/cloud-setup.js +20 -858
  27. package/dist/cli/commands/cloud-setup.js.map +1 -1
  28. package/dist/cli/commands/cloud-teardown.d.ts.map +1 -1
  29. package/dist/cli/commands/cloud-teardown.js +6 -126
  30. package/dist/cli/commands/cloud-teardown.js.map +1 -1
  31. package/dist/cli/commands/creds.d.ts.map +1 -1
  32. package/dist/cli/commands/creds.js +2 -4
  33. package/dist/cli/commands/creds.js.map +1 -1
  34. package/dist/cli/commands/doctor.d.ts +0 -3
  35. package/dist/cli/commands/doctor.d.ts.map +1 -1
  36. package/dist/cli/commands/doctor.js +76 -646
  37. package/dist/cli/commands/doctor.js.map +1 -1
  38. package/dist/cli/commands/kill.d.ts +1 -1
  39. package/dist/cli/commands/kill.d.ts.map +1 -1
  40. package/dist/cli/commands/kill.js +26 -18
  41. package/dist/cli/commands/kill.js.map +1 -1
  42. package/dist/cli/commands/logs.d.ts.map +1 -1
  43. package/dist/cli/commands/logs.js +104 -58
  44. package/dist/cli/commands/logs.js.map +1 -1
  45. package/dist/cli/commands/pause.d.ts +1 -1
  46. package/dist/cli/commands/pause.d.ts.map +1 -1
  47. package/dist/cli/commands/pause.js +19 -19
  48. package/dist/cli/commands/pause.js.map +1 -1
  49. package/dist/cli/commands/resume.d.ts +1 -1
  50. package/dist/cli/commands/resume.d.ts.map +1 -1
  51. package/dist/cli/commands/resume.js +19 -19
  52. package/dist/cli/commands/resume.js.map +1 -1
  53. package/dist/cli/commands/run.d.ts.map +1 -1
  54. package/dist/cli/commands/run.js +12 -54
  55. package/dist/cli/commands/run.js.map +1 -1
  56. package/dist/cli/commands/status.d.ts.map +1 -1
  57. package/dist/cli/commands/status.js +22 -39
  58. package/dist/cli/commands/status.js.map +1 -1
  59. package/dist/cli/gateway-client.d.ts +12 -0
  60. package/dist/cli/gateway-client.d.ts.map +1 -0
  61. package/dist/cli/gateway-client.js +27 -0
  62. package/dist/cli/gateway-client.js.map +1 -0
  63. package/dist/cli/main.js +79 -42
  64. package/dist/cli/main.js.map +1 -1
  65. package/dist/cli/with-command.d.ts +13 -0
  66. package/dist/cli/with-command.d.ts.map +1 -0
  67. package/dist/cli/with-command.js +45 -0
  68. package/dist/cli/with-command.js.map +1 -0
  69. package/dist/{shared/aws-constants.d.ts → cloud/aws/constants.d.ts} +3 -34
  70. package/dist/cloud/aws/constants.d.ts.map +1 -0
  71. package/dist/{shared/aws-constants.js → cloud/aws/constants.js} +3 -34
  72. package/dist/cloud/aws/constants.js.map +1 -0
  73. package/dist/cloud/{deploy-apprunner.d.ts → aws/deploy.d.ts} +6 -6
  74. package/dist/cloud/aws/deploy.d.ts.map +1 -0
  75. package/dist/cloud/{deploy-apprunner.js → aws/deploy.js} +2 -2
  76. package/dist/cloud/aws/deploy.js.map +1 -0
  77. package/dist/cloud/aws/iam.d.ts +37 -0
  78. package/dist/cloud/aws/iam.d.ts.map +1 -0
  79. package/dist/cloud/aws/iam.js +442 -0
  80. package/dist/cloud/aws/iam.js.map +1 -0
  81. package/dist/cloud/aws/provider.d.ts +69 -0
  82. package/dist/cloud/aws/provider.d.ts.map +1 -0
  83. package/dist/cloud/aws/provider.js +173 -0
  84. package/dist/cloud/aws/provider.js.map +1 -0
  85. package/dist/cloud/aws/provision.d.ts +9 -0
  86. package/dist/cloud/aws/provision.d.ts.map +1 -0
  87. package/dist/cloud/aws/provision.js +698 -0
  88. package/dist/cloud/aws/provision.js.map +1 -0
  89. package/dist/cloud/aws/teardown.d.ts +15 -0
  90. package/dist/cloud/aws/teardown.d.ts.map +1 -0
  91. package/dist/cloud/aws/teardown.js +74 -0
  92. package/dist/cloud/aws/teardown.js.map +1 -0
  93. package/dist/cloud/gcp/constants.d.ts +16 -0
  94. package/dist/cloud/gcp/constants.d.ts.map +1 -0
  95. package/dist/cloud/gcp/constants.js +16 -0
  96. package/dist/cloud/gcp/constants.js.map +1 -0
  97. package/dist/cloud/{deploy-cloudrun.d.ts → gcp/deploy.d.ts} +6 -6
  98. package/dist/cloud/gcp/deploy.d.ts.map +1 -0
  99. package/dist/cloud/{deploy-cloudrun.js → gcp/deploy.js} +7 -7
  100. package/dist/cloud/gcp/deploy.js.map +1 -0
  101. package/dist/cloud/gcp/iam.d.ts +20 -0
  102. package/dist/cloud/gcp/iam.d.ts.map +1 -0
  103. package/dist/cloud/gcp/iam.js +179 -0
  104. package/dist/cloud/gcp/iam.js.map +1 -0
  105. package/dist/cloud/gcp/provider.d.ts +28 -0
  106. package/dist/cloud/gcp/provider.d.ts.map +1 -0
  107. package/dist/cloud/gcp/provider.js +84 -0
  108. package/dist/cloud/gcp/provider.js.map +1 -0
  109. package/dist/cloud/gcp/provision.d.ts +14 -0
  110. package/dist/cloud/gcp/provision.d.ts.map +1 -0
  111. package/dist/cloud/gcp/provision.js +37 -0
  112. package/dist/cloud/gcp/provision.js.map +1 -0
  113. package/dist/cloud/gcp/teardown.d.ts +12 -0
  114. package/dist/cloud/gcp/teardown.d.ts.map +1 -0
  115. package/dist/cloud/gcp/teardown.js +67 -0
  116. package/dist/cloud/gcp/teardown.js.map +1 -0
  117. package/dist/cloud/image-builder.d.ts.map +1 -1
  118. package/dist/cloud/image-builder.js +115 -18
  119. package/dist/cloud/image-builder.js.map +1 -1
  120. package/dist/cloud/provider.d.ts +57 -0
  121. package/dist/cloud/provider.d.ts.map +1 -0
  122. package/dist/cloud/provider.js +21 -0
  123. package/dist/cloud/provider.js.map +1 -0
  124. package/dist/cloud/scheduler-image.d.ts.map +1 -1
  125. package/dist/cloud/scheduler-image.js +16 -3
  126. package/dist/cloud/scheduler-image.js.map +1 -1
  127. package/dist/cloud/state.d.ts +17 -0
  128. package/dist/cloud/state.d.ts.map +1 -0
  129. package/dist/cloud/state.js +48 -0
  130. package/dist/cloud/state.js.map +1 -0
  131. package/dist/docker/aws-shared.d.ts +6 -4
  132. package/dist/docker/aws-shared.d.ts.map +1 -1
  133. package/dist/docker/aws-shared.js +405 -23
  134. package/dist/docker/aws-shared.js.map +1 -1
  135. package/dist/docker/cloud-run-runtime.d.ts.map +1 -1
  136. package/dist/docker/cloud-run-runtime.js +10 -9
  137. package/dist/docker/cloud-run-runtime.js.map +1 -1
  138. package/dist/docker/ecs-runtime.d.ts +3 -1
  139. package/dist/docker/ecs-runtime.d.ts.map +1 -1
  140. package/dist/docker/ecs-runtime.js +78 -29
  141. package/dist/docker/ecs-runtime.js.map +1 -1
  142. package/dist/docker/image.d.ts +7 -0
  143. package/dist/docker/image.d.ts.map +1 -1
  144. package/dist/docker/image.js +31 -4
  145. package/dist/docker/image.js.map +1 -1
  146. package/dist/docker/lambda-runtime.js +1 -1
  147. package/dist/docker/lambda-runtime.js.map +1 -1
  148. package/dist/docker/local-runtime.js +4 -4
  149. package/dist/docker/local-runtime.js.map +1 -1
  150. package/dist/docker/network.d.ts.map +1 -1
  151. package/dist/docker/network.js +2 -2
  152. package/dist/docker/network.js.map +1 -1
  153. package/dist/docker/runtime.d.ts +23 -0
  154. package/dist/docker/runtime.d.ts.map +1 -1
  155. package/dist/gateway/api-key.d.ts +10 -0
  156. package/dist/gateway/api-key.d.ts.map +1 -0
  157. package/dist/gateway/api-key.js +19 -0
  158. package/dist/gateway/api-key.js.map +1 -0
  159. package/dist/gateway/auth.d.ts +16 -0
  160. package/dist/gateway/auth.d.ts.map +1 -0
  161. package/dist/gateway/auth.js +60 -0
  162. package/dist/gateway/auth.js.map +1 -0
  163. package/dist/gateway/index.d.ts +2 -0
  164. package/dist/gateway/index.d.ts.map +1 -1
  165. package/dist/gateway/index.js +38 -4
  166. package/dist/gateway/index.js.map +1 -1
  167. package/dist/gateway/rate-limiter.d.ts +16 -0
  168. package/dist/gateway/rate-limiter.d.ts.map +1 -0
  169. package/dist/gateway/rate-limiter.js +38 -0
  170. package/dist/gateway/rate-limiter.js.map +1 -0
  171. package/dist/gateway/routes/control.d.ts +6 -0
  172. package/dist/gateway/routes/control.d.ts.map +1 -1
  173. package/dist/gateway/routes/control.js +117 -0
  174. package/dist/gateway/routes/control.js.map +1 -1
  175. package/dist/gateway/routes/dashboard.d.ts +1 -1
  176. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  177. package/dist/gateway/routes/dashboard.js +148 -49
  178. package/dist/gateway/routes/dashboard.js.map +1 -1
  179. package/dist/gateway/routes/locks.d.ts +3 -1
  180. package/dist/gateway/routes/locks.d.ts.map +1 -1
  181. package/dist/gateway/routes/locks.js +18 -13
  182. package/dist/gateway/routes/locks.js.map +1 -1
  183. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  184. package/dist/gateway/routes/webhooks.js +14 -0
  185. package/dist/gateway/routes/webhooks.js.map +1 -1
  186. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  187. package/dist/gateway/views/dashboard-page.js +93 -20
  188. package/dist/gateway/views/dashboard-page.js.map +1 -1
  189. package/dist/gateway/views/login-page.d.ts +2 -0
  190. package/dist/gateway/views/login-page.d.ts.map +1 -0
  191. package/dist/gateway/views/login-page.js +54 -0
  192. package/dist/gateway/views/login-page.js.map +1 -0
  193. package/dist/scheduler/index.d.ts +1 -2
  194. package/dist/scheduler/index.d.ts.map +1 -1
  195. package/dist/scheduler/index.js +176 -216
  196. package/dist/scheduler/index.js.map +1 -1
  197. package/dist/scheduler/runner-pool.d.ts +5 -0
  198. package/dist/scheduler/runner-pool.d.ts.map +1 -1
  199. package/dist/scheduler/runner-pool.js +14 -0
  200. package/dist/scheduler/runner-pool.js.map +1 -1
  201. package/dist/scheduler/runtime-factory.d.ts +26 -4
  202. package/dist/scheduler/runtime-factory.d.ts.map +1 -1
  203. package/dist/scheduler/runtime-factory.js +43 -77
  204. package/dist/scheduler/runtime-factory.js.map +1 -1
  205. package/dist/scheduler/webhook-setup.d.ts +11 -20
  206. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  207. package/dist/scheduler/webhook-setup.js +22 -68
  208. package/dist/scheduler/webhook-setup.js.map +1 -1
  209. package/dist/setup/scaffold.d.ts.map +1 -1
  210. package/dist/setup/scaffold.js +25 -0
  211. package/dist/setup/scaffold.js.map +1 -1
  212. package/dist/shared/asm-backend.d.ts.map +1 -1
  213. package/dist/shared/asm-backend.js +2 -2
  214. package/dist/shared/asm-backend.js.map +1 -1
  215. package/dist/shared/config.d.ts +29 -13
  216. package/dist/shared/config.d.ts.map +1 -1
  217. package/dist/shared/config.js +53 -6
  218. package/dist/shared/config.js.map +1 -1
  219. package/dist/shared/constants.d.ts +34 -0
  220. package/dist/shared/constants.d.ts.map +1 -0
  221. package/dist/shared/constants.js +34 -0
  222. package/dist/shared/constants.js.map +1 -0
  223. package/dist/shared/credential-backend.d.ts +1 -1
  224. package/dist/shared/credentials.d.ts.map +1 -1
  225. package/dist/shared/credentials.js +2 -1
  226. package/dist/shared/credentials.js.map +1 -1
  227. package/dist/shared/errors.d.ts +34 -0
  228. package/dist/shared/errors.d.ts.map +1 -0
  229. package/dist/shared/errors.js +47 -0
  230. package/dist/shared/errors.js.map +1 -0
  231. package/dist/shared/filesystem-backend.d.ts +1 -1
  232. package/dist/shared/filesystem-backend.js +1 -1
  233. package/dist/shared/git.d.ts.map +1 -1
  234. package/dist/shared/git.js +3 -2
  235. package/dist/shared/git.js.map +1 -1
  236. package/dist/shared/gsm-backend.d.ts.map +1 -1
  237. package/dist/shared/gsm-backend.js +2 -2
  238. package/dist/shared/gsm-backend.js.map +1 -1
  239. package/dist/shared/paths.d.ts +2 -0
  240. package/dist/shared/paths.d.ts.map +1 -1
  241. package/dist/shared/paths.js +3 -1
  242. package/dist/shared/paths.js.map +1 -1
  243. package/dist/shared/remote.d.ts +1 -0
  244. package/dist/shared/remote.d.ts.map +1 -1
  245. package/dist/shared/remote.js +4 -16
  246. package/dist/shared/remote.js.map +1 -1
  247. package/dist/shared/usage.d.ts +22 -0
  248. package/dist/shared/usage.d.ts.map +1 -0
  249. package/dist/shared/usage.js +43 -0
  250. package/dist/shared/usage.js.map +1 -0
  251. package/dist/telemetry/index.d.ts +57 -0
  252. package/dist/telemetry/index.d.ts.map +1 -0
  253. package/dist/telemetry/index.js +189 -0
  254. package/dist/telemetry/index.js.map +1 -0
  255. package/dist/telemetry/providers/otel.d.ts +15 -0
  256. package/dist/telemetry/providers/otel.d.ts.map +1 -0
  257. package/dist/telemetry/providers/otel.js +77 -0
  258. package/dist/telemetry/providers/otel.js.map +1 -0
  259. package/dist/telemetry/providers/xray.d.ts +13 -0
  260. package/dist/telemetry/providers/xray.d.ts.map +1 -0
  261. package/dist/telemetry/providers/xray.js +33 -0
  262. package/dist/telemetry/providers/xray.js.map +1 -0
  263. package/dist/telemetry/types.d.ts +59 -0
  264. package/dist/telemetry/types.d.ts.map +1 -0
  265. package/dist/telemetry/types.js +2 -0
  266. package/dist/telemetry/types.js.map +1 -0
  267. package/dist/tui/App.d.ts.map +1 -1
  268. package/dist/tui/App.js +2 -0
  269. package/dist/tui/App.js.map +1 -1
  270. package/dist/tui/plain-logger.d.ts.map +1 -1
  271. package/dist/tui/plain-logger.js +8 -2
  272. package/dist/tui/plain-logger.js.map +1 -1
  273. package/dist/tui/status-tracker.d.ts +4 -1
  274. package/dist/tui/status-tracker.d.ts.map +1 -1
  275. package/dist/tui/status-tracker.js +11 -1
  276. package/dist/tui/status-tracker.js.map +1 -1
  277. package/dist/webhooks/providers/github.d.ts.map +1 -1
  278. package/dist/webhooks/providers/github.js +2 -21
  279. package/dist/webhooks/providers/github.js.map +1 -1
  280. package/dist/webhooks/providers/linear.d.ts.map +1 -1
  281. package/dist/webhooks/providers/linear.js +2 -21
  282. package/dist/webhooks/providers/linear.js.map +1 -1
  283. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  284. package/dist/webhooks/providers/sentry.js +2 -20
  285. package/dist/webhooks/providers/sentry.js.map +1 -1
  286. package/dist/webhooks/validation.d.ts +17 -0
  287. package/dist/webhooks/validation.d.ts.map +1 -0
  288. package/dist/webhooks/validation.js +37 -0
  289. package/dist/webhooks/validation.js.map +1 -0
  290. package/docker/adot-collector-config.yaml +57 -0
  291. package/package.json +9 -1
  292. package/dist/cloud/deploy-apprunner.d.ts.map +0 -1
  293. package/dist/cloud/deploy-apprunner.js.map +0 -1
  294. package/dist/cloud/deploy-cloudrun.d.ts.map +0 -1
  295. package/dist/cloud/deploy-cloudrun.js.map +0 -1
  296. package/dist/scheduler/config-validator.d.ts +0 -18
  297. package/dist/scheduler/config-validator.d.ts.map +0 -1
  298. package/dist/scheduler/config-validator.js +0 -53
  299. package/dist/scheduler/config-validator.js.map +0 -1
  300. package/dist/scheduler/cron-manager.d.ts +0 -14
  301. package/dist/scheduler/cron-manager.d.ts.map +0 -1
  302. package/dist/scheduler/cron-manager.js +0 -75
  303. package/dist/scheduler/cron-manager.js.map +0 -1
  304. package/dist/scheduler/shutdown-handler.d.ts +0 -16
  305. package/dist/scheduler/shutdown-handler.d.ts.map +0 -1
  306. package/dist/scheduler/shutdown-handler.js +0 -44
  307. package/dist/scheduler/shutdown-handler.js.map +0 -1
  308. package/dist/scheduler/trigger-dispatcher.d.ts +0 -12
  309. package/dist/scheduler/trigger-dispatcher.d.ts.map +0 -1
  310. package/dist/scheduler/trigger-dispatcher.js +0 -46
  311. package/dist/scheduler/trigger-dispatcher.js.map +0 -1
  312. package/dist/shared/aws-constants.d.ts.map +0 -1
  313. package/dist/shared/aws-constants.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runner-pool.d.ts","sourceRoot":"","sources":["../../src/scheduler/runner-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,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,GAAG,CAAC,CAAC;CAC9G;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAyC;gBAE9C,OAAO,EAAE,UAAU,EAAE;IAIjC;;OAEG;IACH,kBAAkB,IAAI,UAAU,GAAG,IAAI;IASvC;;;OAGG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAOlC;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,EAAE,CAE7B;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAWlC"}
1
+ {"version":3,"file":"runner-pool.d.ts","sourceRoot":"","sources":["../../src/scheduler/runner-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,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,GAAG,CAAC,CAAC;CAC9G;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAyC;gBAE9C,OAAO,EAAE,UAAU,EAAE;IAIjC;;OAEG;IACH,kBAAkB,IAAI,UAAU,GAAG,IAAI;IASvC;;;OAGG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAOlC;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,EAAE,CAE7B;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAYjC;;;OAGG;IACH,OAAO,IAAI,MAAM;CAUlB"}
@@ -82,5 +82,19 @@ export class RunnerPool {
82
82
  instance.status = 'killed';
83
83
  return true;
84
84
  }
85
+ /**
86
+ * Kill all running instances in this pool.
87
+ * Returns the number of runners that were aborted.
88
+ */
89
+ killAll() {
90
+ let killed = 0;
91
+ for (const runner of this.runners) {
92
+ if (runner.isRunning && runner.abort) {
93
+ runner.abort();
94
+ killed++;
95
+ }
96
+ }
97
+ return killed;
98
+ }
85
99
  }
86
100
  //# sourceMappingURL=runner-pool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-pool.js","sourceRoot":"","sources":["../../src/scheduler/runner-pool.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,UAAU;IACb,OAAO,GAAiB,EAAE,CAAC;IAC3B,eAAe,GAAG,CAAC,CAAC;IACpB,SAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;IAE1D,YAAY,OAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,EAAU;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"runner-pool.js","sourceRoot":"","sources":["../../src/scheduler/runner-pool.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,33 @@
1
+ /**
2
+ * Container runtime factory.
3
+ *
4
+ * Creates the appropriate ContainerRuntime (local Docker, Cloud Run, ECS/Lambda)
5
+ * based on the project's global config and cloud mode flag.
6
+ *
7
+ * Cloud runtime creation is delegated to the CloudProvider interface.
8
+ */
1
9
  import type { GlobalConfig, AgentConfig } from "../shared/config.js";
2
10
  import type { ContainerRuntime } from "../docker/runtime.js";
3
- import type { Logger } from "../shared/logger.js";
4
11
  import type { StatusTracker } from "../tui/status-tracker.js";
5
- export declare function createRuntime(globalConfig: GlobalConfig, cloudMode: boolean, logger: Logger): Promise<ContainerRuntime | undefined>;
6
- export declare function buildAgentImages(runtime: ContainerRuntime, projectPath: string, globalConfig: GlobalConfig, activeAgentConfigs: AgentConfig[], cloudMode: boolean, statusTracker?: StatusTracker, logger?: Logger): Promise<{
12
+ import type { Logger } from "../shared/logger.js";
13
+ import type { PromptSkills } from "../agents/prompt.js";
14
+ export interface RuntimeResult {
15
+ runtime: ContainerRuntime;
16
+ agentRuntimeOverrides: Record<string, ContainerRuntime>;
17
+ runtimeType: string;
18
+ }
19
+ export declare function createContainerRuntime(globalConfig: GlobalConfig, activeAgentConfigs: AgentConfig[], cloudMode: boolean | undefined, logger: Logger): Promise<RuntimeResult>;
20
+ export declare function buildAgentImages(opts: {
21
+ projectPath: string;
22
+ globalConfig: GlobalConfig;
23
+ activeAgentConfigs: AgentConfig[];
24
+ runtime: ContainerRuntime;
25
+ runtimeType: string;
26
+ statusTracker?: StatusTracker;
27
+ logger: Logger;
28
+ skills: PromptSkills;
29
+ }): Promise<{
7
30
  baseImage: string;
8
31
  agentImages: Record<string, string>;
9
32
  }>;
10
- export declare function selectAgentRuntimes(globalConfig: GlobalConfig, activeAgentConfigs: AgentConfig[], runtime: ContainerRuntime, cloudMode: boolean, logger: Logger): Record<string, ContainerRuntime>;
11
33
  //# sourceMappingURL=runtime-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-factory.d.ts","sourceRoot":"","sources":["../../src/scheduler/runtime-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,wBAAsB,aAAa,CACjC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA6DvC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,WAAW,EAAE,EACjC,SAAS,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,aAAa,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAC,CAAC,CAsBnE;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,WAAW,EAAE,EACjC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA2BlC"}
1
+ {"version":3,"file":"runtime-factory.d.ts","sourceRoot":"","sources":["../../src/scheduler/runtime-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,WAAW,EAAE,EACjC,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAkDxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAatE"}
@@ -1,98 +1,64 @@
1
- import { execFileSync } from "child_process";
1
+ /**
2
+ * Container runtime factory.
3
+ *
4
+ * Creates the appropriate ContainerRuntime (local Docker, Cloud Run, ECS/Lambda)
5
+ * based on the project's global config and cloud mode flag.
6
+ *
7
+ * Cloud runtime creation is delegated to the CloudProvider interface.
8
+ */
9
+ import { AgentError } from "../shared/errors.js";
2
10
  import { buildAllImages } from "../cloud/image-builder.js";
3
- import { ensureNetwork } from "../docker/network.js";
4
- export async function createRuntime(globalConfig, cloudMode, logger) {
11
+ export async function createContainerRuntime(globalConfig, activeAgentConfigs, cloudMode, logger) {
5
12
  const useCloudRuntime = cloudMode && globalConfig.cloud;
6
- const runtimeType = useCloudRuntime ? globalConfig.cloud.provider : "local";
7
- logger.info({ runtime: runtimeType }, "Docker mode enabled — initializing infrastructure");
8
- if (useCloudRuntime && globalConfig.cloud.provider === "cloud-run") {
9
- const { CloudRunJobRuntime } = await import("../docker/cloud-run-runtime.js");
10
- const { gcpProject, region, artifactRegistry, serviceAccount, secretPrefix } = globalConfig.cloud;
11
- if (!gcpProject || !region || !artifactRegistry || !serviceAccount) {
12
- throw new Error("Cloud Run runtime requires cloud.gcpProject, cloud.region, " +
13
- "cloud.artifactRegistry, and cloud.serviceAccount in config.toml");
13
+ if (useCloudRuntime) {
14
+ const { createCloudProvider } = await import("../cloud/provider.js");
15
+ const provider = await createCloudProvider(globalConfig.cloud);
16
+ const { runtime, agentRuntimeOverrides } = provider.createRuntimes(activeAgentConfigs, globalConfig);
17
+ const runtimeType = provider.providerName;
18
+ if (runtimeType === "cloud-run") {
19
+ const cc = globalConfig.cloud;
20
+ if (cc.provider === "cloud-run") {
21
+ logger.info({ gcpProject: cc.gcpProject, region: cc.region }, "Using Cloud Run Jobs runtime");
22
+ }
14
23
  }
15
- const runtime = new CloudRunJobRuntime({ gcpProject, region, artifactRegistry, serviceAccount, secretPrefix });
16
- logger.info({ gcpProject, region }, "Using Cloud Run Jobs runtime");
17
- return runtime;
18
- }
19
- if (useCloudRuntime && globalConfig.cloud.provider === "ecs") {
20
- const { ECSFargateRuntime } = await import("../docker/ecs-runtime.js");
21
- const cc = globalConfig.cloud;
22
- if (!cc.awsRegion || !cc.ecsCluster || !cc.ecrRepository || !cc.executionRoleArn || !cc.taskRoleArn || !cc.subnets?.length) {
23
- throw new Error("ECS runtime requires cloud.awsRegion, cloud.ecsCluster, cloud.ecrRepository, " +
24
- "cloud.executionRoleArn, cloud.taskRoleArn, and cloud.subnets in config.toml");
24
+ else if (runtimeType === "ecs") {
25
+ const cc = globalConfig.cloud;
26
+ if (cc.provider === "ecs") {
27
+ for (const [agentName] of Object.entries(agentRuntimeOverrides)) {
28
+ logger.info({ agent: agentName }, "Routing to Lambda (timeout <= 900s)");
29
+ }
30
+ logger.info({ region: cc.awsRegion, cluster: cc.ecsCluster }, "Using ECS Fargate runtime");
31
+ }
25
32
  }
26
- const runtime = new ECSFargateRuntime({
27
- awsRegion: cc.awsRegion,
28
- ecsCluster: cc.ecsCluster,
29
- ecrRepository: cc.ecrRepository,
30
- executionRoleArn: cc.executionRoleArn,
31
- taskRoleArn: cc.taskRoleArn,
32
- subnets: cc.subnets,
33
- securityGroups: cc.securityGroups,
34
- secretPrefix: cc.awsSecretPrefix,
35
- buildBucket: cc.buildBucket,
36
- });
37
- logger.info({ region: cc.awsRegion, cluster: cc.ecsCluster }, "Using ECS Fargate runtime");
38
- return runtime;
33
+ return { runtime, agentRuntimeOverrides, runtimeType };
39
34
  }
40
35
  // Local runtime needs Docker running
36
+ const { execFileSync } = await import("child_process");
41
37
  try {
42
38
  execFileSync("docker", ["info"], { stdio: "pipe", timeout: 10000 });
43
39
  }
44
40
  catch {
45
- throw new Error("Docker is not running. Start Docker Desktop (or the Docker daemon) and try again.");
41
+ throw new AgentError("Docker is not running. Start Docker Desktop (or the Docker daemon) and try again.");
46
42
  }
47
43
  const { LocalDockerRuntime } = await import("../docker/local-runtime.js");
48
44
  const runtime = new LocalDockerRuntime();
49
45
  // Local-only: ensure Docker network
50
46
  logger.info("Ensuring Docker network...");
47
+ const { ensureNetwork } = await import("../docker/network.js");
51
48
  ensureNetwork();
52
- return runtime;
49
+ return { runtime, agentRuntimeOverrides: {}, runtimeType: "local" };
53
50
  }
54
- export async function buildAgentImages(runtime, projectPath, globalConfig, activeAgentConfigs, cloudMode, statusTracker, logger) {
55
- const useCloudRuntime = cloudMode && globalConfig.cloud;
56
- const runtimeType = useCloudRuntime ? globalConfig.cloud.provider : "local";
57
- // Build base + per-agent images via shared image builder
58
- const buildSkills = { locking: true };
51
+ export async function buildAgentImages(opts) {
59
52
  const buildResult = await buildAllImages({
60
- projectPath,
61
- globalConfig,
62
- activeAgentConfigs,
63
- runtime,
64
- runtimeType,
65
- statusTracker,
66
- logger: logger, // We'll ensure it's provided when called
67
- skills: buildSkills,
53
+ projectPath: opts.projectPath,
54
+ globalConfig: opts.globalConfig,
55
+ activeAgentConfigs: opts.activeAgentConfigs,
56
+ runtime: opts.runtime,
57
+ runtimeType: opts.runtimeType,
58
+ statusTracker: opts.statusTracker,
59
+ logger: opts.logger,
60
+ skills: opts.skills,
68
61
  });
69
- return {
70
- baseImage: buildResult.baseImage,
71
- agentImages: buildResult.agentImages
72
- };
73
- }
74
- export function selectAgentRuntimes(globalConfig, activeAgentConfigs, runtime, cloudMode, logger) {
75
- const agentRuntimeOverrides = {};
76
- // Only for ECS cloud mode - create Lambda runtime for short-running agents
77
- if (cloudMode && globalConfig.cloud?.provider === "ecs") {
78
- const cc = globalConfig.cloud;
79
- // Import and create Lambda runtime (async import handled by caller)
80
- const createLambdaRuntime = async () => {
81
- const { LambdaRuntime } = await import("../docker/lambda-runtime.js");
82
- return new LambdaRuntime({
83
- awsRegion: cc.awsRegion,
84
- ecrRepository: cc.ecrRepository,
85
- secretPrefix: cc.awsSecretPrefix,
86
- buildBucket: cc.buildBucket,
87
- lambdaRoleArn: cc.lambdaRoleArn,
88
- lambdaSubnets: cc.lambdaSubnets,
89
- lambdaSecurityGroups: cc.lambdaSecurityGroups,
90
- });
91
- };
92
- // This function can't be async, so we'll return a promise to be handled by caller
93
- // For now, return empty overrides and handle Lambda runtime setup in scheduler
94
- return {};
95
- }
96
- return agentRuntimeOverrides;
62
+ return { baseImage: buildResult.baseImage, agentImages: buildResult.agentImages };
97
63
  }
98
64
  //# sourceMappingURL=runtime-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-factory.js","sourceRoot":"","sources":["../../src/scheduler/runtime-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-factory.js","sourceRoot":"","sources":["../../src/scheduler/runtime-factory.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,19 @@
1
- import type { GlobalConfig, AgentConfig, WebhookSourceConfig } from "../shared/config.js";
1
+ /**
2
+ * Webhook registry setup and helper functions.
3
+ *
4
+ * Extracted from scheduler/index.ts to keep webhook-specific logic separate
5
+ * from the main scheduling orchestrator.
6
+ */
7
+ import type { GlobalConfig, WebhookSourceConfig } from "../shared/config.js";
2
8
  import type { Logger } from "../shared/logger.js";
3
9
  import { WebhookRegistry } from "../webhooks/registry.js";
4
- import type { WebhookContext, WebhookFilter, WebhookTrigger } from "../webhooks/types.js";
5
- import type { RunnerPool } from "./runner-pool.js";
10
+ import type { WebhookFilter, WebhookTrigger } from "../webhooks/types.js";
11
+ export declare const PROVIDER_TO_CREDENTIAL: Record<string, string>;
6
12
  export declare function resolveWebhookSource(sourceName: string, agentName: string, webhookSources: Record<string, WebhookSourceConfig>): WebhookSourceConfig;
7
13
  export declare function buildFilterFromTrigger(trigger: WebhookTrigger, providerType: string): WebhookFilter | undefined;
8
- export declare function setupWebhookRegistry(globalConfig: GlobalConfig, activeAgentConfigs: AgentConfig[], logger: Logger): Promise<{
14
+ export interface WebhookSetupResult {
9
15
  registry?: WebhookRegistry;
10
16
  secrets: Record<string, Record<string, string>>;
11
- }>;
12
- export interface SchedulerContext {
13
- runnerPools: Record<string, RunnerPool>;
14
- agentConfigs: AgentConfig[];
15
- maxReruns: number;
16
- maxTriggerDepth: number;
17
- logger: Logger;
18
- webhookQueue: any;
19
- shuttingDown: boolean;
20
- skills?: any;
21
- useBakedImages: boolean;
22
- triggerDispatcher: any;
23
17
  }
24
- export declare function bindWebhooksToAgents(registry: WebhookRegistry, agentConfigs: AgentConfig[], runnerPools: Record<string, RunnerPool>, webhookSources: Record<string, WebhookSourceConfig>, ctx: SchedulerContext, makeWebhookPrompt: (agentConfig: AgentConfig, context: WebhookContext, ctx: SchedulerContext) => string, dispatchTriggers: (triggers: Array<{
25
- agent: string;
26
- context: string;
27
- }>, sourceAgent: string, depth: number, ctx: SchedulerContext) => void, drainWebhookQueue: (agentConfig: AgentConfig, ctx: SchedulerContext) => Promise<void>, statusTracker?: any): void;
18
+ export declare function setupWebhookRegistry(globalConfig: GlobalConfig, logger: Logger): Promise<WebhookSetupResult>;
28
19
  //# sourceMappingURL=webhook-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-setup.d.ts","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAiE,MAAM,sBAAsB,CAAC;AACzJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAClD,mBAAmB,CAUrB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA4B/G;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,WAAW,EAAE,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAC,CAAC,CAsCxF;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,WAAW,EAAE,EAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACnD,GAAG,EAAE,gBAAgB,EACrB,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,KAAK,MAAM,EACvG,gBAAgB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,EAC1I,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,EACrF,aAAa,CAAC,EAAE,GAAG,GAClB,IAAI,CA4DN"}
1
+ {"version":3,"file":"webhook-setup.d.ts","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAiE,MAAM,sBAAsB,CAAC;AAGzI,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAClD,mBAAmB,CAUrB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA4B/G;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAiC7B"}
@@ -1,10 +1,16 @@
1
+ /**
2
+ * Webhook registry setup and helper functions.
3
+ *
4
+ * Extracted from scheduler/index.ts to keep webhook-specific logic separate
5
+ * from the main scheduling orchestrator.
6
+ */
1
7
  import { listCredentialInstances, loadCredentialField } from "../shared/credentials.js";
2
8
  import { WebhookRegistry } from "../webhooks/registry.js";
3
9
  import { GitHubWebhookProvider } from "../webhooks/providers/github.js";
4
10
  import { SentryWebhookProvider } from "../webhooks/providers/sentry.js";
5
11
  import { LinearWebhookProvider } from "../webhooks/providers/linear.js";
6
12
  // Provider type → credential type for loading secrets
7
- const PROVIDER_TO_CREDENTIAL = {
13
+ export const PROVIDER_TO_CREDENTIAL = {
8
14
  github: "github_webhook_secret",
9
15
  sentry: "sentry_client_secret",
10
16
  linear: "linear_webhook_secret",
@@ -61,86 +67,34 @@ export function buildFilterFromTrigger(trigger, providerType) {
61
67
  }
62
68
  return undefined;
63
69
  }
64
- export async function setupWebhookRegistry(globalConfig, activeAgentConfigs, logger) {
65
- const anyWebhooks = activeAgentConfigs.some((a) => a.webhooks?.length);
66
- if (!anyWebhooks) {
70
+ export async function setupWebhookRegistry(globalConfig, logger) {
71
+ const webhookSources = globalConfig.webhooks ?? {};
72
+ const providerTypes = new Set(Object.values(webhookSources).map(s => s.type));
73
+ if (providerTypes.size === 0) {
67
74
  return { secrets: {} };
68
75
  }
69
- const webhookRegistry = new WebhookRegistry(logger);
70
- // Register providers
71
- webhookRegistry.registerProvider(new GitHubWebhookProvider());
72
- webhookRegistry.registerProvider(new SentryWebhookProvider());
73
- webhookRegistry.registerProvider(new LinearWebhookProvider());
74
- // Resolve webhook sources from global config
75
- const webhookSources = globalConfig.webhooks ?? {};
76
+ const registry = new WebhookRegistry(logger);
77
+ registry.registerProvider(new GitHubWebhookProvider());
78
+ registry.registerProvider(new SentryWebhookProvider());
79
+ registry.registerProvider(new LinearWebhookProvider());
76
80
  // Load secrets for each provider type referenced by webhook sources
77
- const providerTypes = new Set(Object.values(webhookSources).map(s => s.type));
78
- const webhookSecrets = {};
81
+ const secrets = {};
79
82
  for (const providerType of providerTypes) {
80
83
  const credType = PROVIDER_TO_CREDENTIAL[providerType];
81
84
  if (!credType)
82
85
  continue;
83
86
  const instances = await listCredentialInstances(credType);
84
- const secrets = {};
87
+ const providerSecrets = {};
85
88
  for (const inst of instances) {
86
89
  const secret = await loadCredentialField(credType, inst, "secret");
87
90
  if (secret)
88
- secrets[inst] = secret;
91
+ providerSecrets[inst] = secret;
89
92
  }
90
- if (Object.keys(secrets).length > 0) {
91
- webhookSecrets[providerType] = secrets;
92
- logger.info({ providerType, count: Object.keys(secrets).length }, "loaded webhook secrets");
93
- }
94
- }
95
- return { registry: webhookRegistry, secrets: webhookSecrets };
96
- }
97
- export function bindWebhooksToAgents(registry, agentConfigs, runnerPools, webhookSources, ctx, makeWebhookPrompt, dispatchTriggers, drainWebhookQueue, statusTracker // StatusTracker
98
- ) {
99
- const activeAgentConfigs = agentConfigs.filter((a) => (a.scale ?? 1) > 0);
100
- for (const agentConfig of activeAgentConfigs) {
101
- if (!agentConfig.webhooks?.length)
102
- continue;
103
- const pool = runnerPools[agentConfig.name];
104
- for (const trigger of agentConfig.webhooks) {
105
- const sourceConfig = resolveWebhookSource(trigger.source, agentConfig.name, webhookSources);
106
- const providerType = sourceConfig.type;
107
- const filter = buildFilterFromTrigger(trigger, providerType);
108
- registry.addBinding({
109
- agentName: agentConfig.name,
110
- source: sourceConfig.credential,
111
- type: providerType,
112
- filter,
113
- trigger: (context) => {
114
- // Skip if agent is disabled
115
- if (statusTracker && !statusTracker.isAgentEnabled(agentConfig.name)) {
116
- ctx.logger.info({ agent: agentConfig.name, event: context.event }, "agent is disabled, ignoring webhook event");
117
- return;
118
- }
119
- const availableRunner = pool.getAvailableRunner();
120
- if (!availableRunner) {
121
- const { accepted, dropped } = ctx.webhookQueue.enqueue(agentConfig.name, context);
122
- if (accepted) {
123
- ctx.logger.info({ agent: agentConfig.name, event: context.event, queueSize: ctx.webhookQueue.size(agentConfig.name), running: pool.runningJobCount, scale: pool.size }, "all agent runners busy, webhook event queued");
124
- }
125
- if (dropped) {
126
- ctx.logger.warn({ agent: agentConfig.name, droppedEvent: dropped.context.event }, "webhook queue full, oldest event dropped");
127
- }
128
- return;
129
- }
130
- ctx.logger.info({ agent: agentConfig.name, event: context.event, action: context.action, running: pool.runningJobCount, scale: pool.size }, "webhook triggering agent");
131
- const prompt = makeWebhookPrompt(agentConfig, context, ctx);
132
- availableRunner.run(prompt, { type: 'webhook', source: context.event }).then(({ triggers }) => {
133
- if (triggers.length > 0) {
134
- dispatchTriggers(triggers, agentConfig.name, 0, ctx);
135
- }
136
- // Drain any events that queued while this webhook run was executing
137
- return drainWebhookQueue(agentConfig, ctx);
138
- }).catch((err) => {
139
- ctx.logger.error({ err }, `${agentConfig.name} webhook run failed`);
140
- });
141
- },
142
- });
93
+ if (Object.keys(providerSecrets).length > 0) {
94
+ secrets[providerType] = providerSecrets;
95
+ logger.info({ providerType, count: Object.keys(providerSecrets).length }, "loaded webhook secrets");
143
96
  }
144
97
  }
98
+ return { registry, secrets };
145
99
  }
146
100
  //# sourceMappingURL=webhook-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-setup.js","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAIxE,sDAAsD;AACtD,MAAM,sBAAsB,GAA2B;IACrD,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,uBAAuB;CAChC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,SAAiB,EACjB,cAAmD;IAEnD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,gCAAgC,UAAU,IAAI;YACjE,8DAA8D,SAAS,EAAE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB,EAAE,YAAoB;IAClF,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAwB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO;YAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK;YAAE,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ;YAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpD,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ;YAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAwB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,SAAS;YAAE,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAwB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO;YAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,aAAa;YAAE,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ;YAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpD,IAAI,OAAO,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAA0B,EAC1B,kBAAiC,EACjC,MAAc;IAEd,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAEpD,qBAAqB;IACrB,eAAe,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAC9D,eAAe,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAC9D,eAAe,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAE9D,6CAA6C;IAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEnD,oEAAoE;IACpE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,cAAc,GAA2C,EAAE,CAAC;IAElE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAChE,CAAC;AAeD,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,YAA2B,EAC3B,WAAuC,EACvC,cAAmD,EACnD,GAAqB,EACrB,iBAAuG,EACvG,gBAA0I,EAC1I,iBAAqF,EACrF,aAAmB,CAAC,gBAAgB;;IAEpC,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1E,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;YAAE,SAAS;QAE5C,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5F,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;YACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAE7D,QAAQ,CAAC,UAAU,CAAC;gBAClB,SAAS,EAAE,WAAW,CAAC,IAAI;gBAC3B,MAAM,EAAE,YAAY,CAAC,UAAU;gBAC/B,IAAI,EAAE,YAAY;gBAClB,MAAM;gBACN,OAAO,EAAE,CAAC,OAAuB,EAAE,EAAE;oBACnC,4BAA4B;oBAC5B,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,2CAA2C,CAAC,CAAC;wBAChH,OAAO;oBACT,CAAC;oBAED,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAClD,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBAClF,IAAI,QAAQ,EAAE,CAAC;4BACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EACtJ,8CAA8C,CAC/C,CAAC;wBACJ,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAChE,0CAA0C,CAC3C,CAAC;wBACJ,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAC1H,0BAA0B,CAC3B,CAAC;oBACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC5D,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;wBAC5F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBACvD,CAAC;wBACD,oEAAoE;wBACpE,OAAO,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,qBAAqB,CAAC,CAAC;oBACtE,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"webhook-setup.js","sourceRoot":"","sources":["../../src/scheduler/webhook-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/setup/scaffold.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAgBvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAgB7E;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,aAAa,EAAO,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CA+EN"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/setup/scaffold.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAgBvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAgB7E;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,aAAa,EAAO,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAyGN"}
@@ -85,6 +85,31 @@ export function scaffoldProject(projectPath, globalConfig, agents = [], projectN
85
85
  catch {
86
86
  // Fallback: skip if skills directory can't be read
87
87
  }
88
+ // Write project Dockerfile (base image for all agents)
89
+ const dockerfilePath = resolve(projectPath, "Dockerfile");
90
+ if (!existsSync(dockerfilePath)) {
91
+ writeFileSync(dockerfilePath, [
92
+ "# Project base image — shared by all agents in this project.",
93
+ "# This extends the Action Llama base image (al-agent:latest).",
94
+ "#",
95
+ "# SAFE TO CUSTOMIZE:",
96
+ "# - Add system packages (RUN apk add ...)",
97
+ "# - Set environment variables (ENV ...)",
98
+ "# - Install language runtimes or CLI tools",
99
+ "#",
100
+ "# DO NOT MODIFY:",
101
+ "# - The FROM line (it must reference al-agent:latest)",
102
+ "# - Action Llama rewrites it at build time to the correct base image",
103
+ "#",
104
+ "# Examples:",
105
+ "# RUN apk add --no-cache python3 py3-pip",
106
+ "# RUN apk add --no-cache github-cli",
107
+ "# ENV MY_VAR=value",
108
+ "",
109
+ "FROM al-agent:latest",
110
+ "",
111
+ ].join("\n"));
112
+ }
88
113
  // Create workspace directory
89
114
  mkdirSync(resolve(projectPath, ".workspace"), { recursive: true });
90
115
  // Create .gitignore
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/setup/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/setup/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"asm-backend.d.ts","sourceRoot":"","sources":["../../src/shared/asm-backend.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,SAAS,EAAE,MAAM,EAAE,YAAY,SAAsC;IAKjF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IAMjB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYhF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalF,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAwBlC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAapF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQrD"}
1
+ {"version":3,"file":"asm-backend.d.ts","sourceRoot":"","sources":["../../src/shared/asm-backend.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,SAAS,EAAE,MAAM,EAAE,YAAY,SAAkC;IAK7E,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IAMjB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYhF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalF,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAwBlC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAapF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQrD"}
@@ -1,5 +1,5 @@
1
1
  import { SecretsManagerClient, GetSecretValueCommand, CreateSecretCommand, PutSecretValueCommand, ListSecretsCommand, } from "@aws-sdk/client-secrets-manager";
2
- import { AWS_CONSTANTS } from "./aws-constants.js";
2
+ import { CONSTANTS } from "./constants.js";
3
3
  /**
4
4
  * AWS Secrets Manager credential backend.
5
5
  * Maps type/instance/field -> secret name: <prefix>/<type>/<instance>/<field>
@@ -12,7 +12,7 @@ import { AWS_CONSTANTS } from "./aws-constants.js";
12
12
  export class AwsSecretsManagerBackend {
13
13
  client;
14
14
  prefix;
15
- constructor(awsRegion, secretPrefix = AWS_CONSTANTS.DEFAULT_SECRET_PREFIX) {
15
+ constructor(awsRegion, secretPrefix = CONSTANTS.DEFAULT_SECRET_PREFIX) {
16
16
  this.client = new SecretsManagerClient({ region: awsRegion });
17
17
  this.prefix = secretPrefix;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asm-backend.js","sourceRoot":"","sources":["../../src/shared/asm-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asm-backend.js","sourceRoot":"","sources":["../../src/shared/asm-backend.ts"],"names":[],"mappings":"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"}