@action-llama/action-llama 0.27.5 → 0.28.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 (226) hide show
  1. package/dist/agents/credential-setup.d.ts +0 -1
  2. package/dist/agents/credential-setup.d.ts.map +1 -1
  3. package/dist/agents/credential-setup.js +2 -23
  4. package/dist/agents/credential-setup.js.map +1 -1
  5. package/dist/agents/prompt.js +1 -1
  6. package/dist/agents/prompt.js.map +1 -1
  7. package/dist/agents/scheduler-tools.d.ts +40 -0
  8. package/dist/agents/scheduler-tools.d.ts.map +1 -0
  9. package/dist/agents/scheduler-tools.js +178 -0
  10. package/dist/agents/scheduler-tools.js.map +1 -0
  11. package/dist/agents/transport-runner.d.ts +95 -0
  12. package/dist/agents/transport-runner.d.ts.map +1 -0
  13. package/dist/agents/transport-runner.js +653 -0
  14. package/dist/agents/transport-runner.js.map +1 -0
  15. package/dist/build-info.json +1 -1
  16. package/dist/cli/commands/add.d.ts +1 -0
  17. package/dist/cli/commands/add.d.ts.map +1 -1
  18. package/dist/cli/commands/add.js +24 -9
  19. package/dist/cli/commands/add.js.map +1 -1
  20. package/dist/cli/commands/agent.d.ts +0 -3
  21. package/dist/cli/commands/agent.d.ts.map +1 -1
  22. package/dist/cli/commands/agent.js +3 -67
  23. package/dist/cli/commands/agent.js.map +1 -1
  24. package/dist/cli/main.js +1 -30
  25. package/dist/cli/main.js.map +1 -1
  26. package/dist/control/routes/dashboard-api.js +1 -1
  27. package/dist/control/routes/dashboard-api.js.map +1 -1
  28. package/dist/control/routes/log-helpers.d.ts +4 -4
  29. package/dist/control/routes/log-helpers.d.ts.map +1 -1
  30. package/dist/control/routes/log-helpers.js +12 -7
  31. package/dist/control/routes/log-helpers.js.map +1 -1
  32. package/dist/control/routes/logs.d.ts.map +1 -1
  33. package/dist/control/routes/logs.js +10 -10
  34. package/dist/control/routes/logs.js.map +1 -1
  35. package/dist/docker/providers/index.d.ts +0 -4
  36. package/dist/docker/providers/index.d.ts.map +1 -1
  37. package/dist/docker/providers/index.js +0 -38
  38. package/dist/docker/providers/index.js.map +1 -1
  39. package/dist/execution/execution.d.ts +0 -1
  40. package/dist/execution/execution.d.ts.map +1 -1
  41. package/dist/execution/execution.js +5 -9
  42. package/dist/execution/execution.js.map +1 -1
  43. package/dist/execution/index.d.ts +1 -11
  44. package/dist/execution/index.d.ts.map +1 -1
  45. package/dist/execution/index.js +1 -8
  46. package/dist/execution/index.js.map +1 -1
  47. package/dist/execution/runner-setup.d.ts +6 -11
  48. package/dist/execution/runner-setup.d.ts.map +1 -1
  49. package/dist/execution/runner-setup.js +18 -14
  50. package/dist/execution/runner-setup.js.map +1 -1
  51. package/dist/execution/runtime-factory.d.ts +1 -15
  52. package/dist/execution/runtime-factory.d.ts.map +1 -1
  53. package/dist/execution/runtime-factory.js +1 -18
  54. package/dist/execution/runtime-factory.js.map +1 -1
  55. package/dist/gateway/index.d.ts +1 -1
  56. package/dist/gateway/index.d.ts.map +1 -1
  57. package/dist/gateway/index.js +6 -47
  58. package/dist/gateway/index.js.map +1 -1
  59. package/dist/gateway/routes/system.d.ts +1 -4
  60. package/dist/gateway/routes/system.d.ts.map +1 -1
  61. package/dist/gateway/routes/system.js +3 -8
  62. package/dist/gateway/routes/system.js.map +1 -1
  63. package/dist/gateway/stores.d.ts +0 -4
  64. package/dist/gateway/stores.d.ts.map +1 -1
  65. package/dist/gateway/stores.js +2 -10
  66. package/dist/gateway/stores.js.map +1 -1
  67. package/dist/gateway/types.d.ts +0 -13
  68. package/dist/gateway/types.d.ts.map +1 -1
  69. package/dist/mcp/server.d.ts.map +1 -1
  70. package/dist/mcp/server.js +11 -0
  71. package/dist/mcp/server.js.map +1 -1
  72. package/dist/scheduler/gateway-setup.d.ts +0 -2
  73. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  74. package/dist/scheduler/gateway-setup.js +2 -11
  75. package/dist/scheduler/gateway-setup.js.map +1 -1
  76. package/dist/scheduler/index.d.ts.map +1 -1
  77. package/dist/scheduler/index.js +95 -55
  78. package/dist/scheduler/index.js.map +1 -1
  79. package/dist/scheduler/validation.js +1 -1
  80. package/dist/scheduler/validation.js.map +1 -1
  81. package/dist/scheduler/watcher.d.ts +2 -8
  82. package/dist/scheduler/watcher.d.ts.map +1 -1
  83. package/dist/scheduler/watcher.js +7 -104
  84. package/dist/scheduler/watcher.js.map +1 -1
  85. package/dist/shared/config/load-agent.js +2 -2
  86. package/dist/shared/config/load-agent.js.map +1 -1
  87. package/dist/shared/config/load-project.js +2 -2
  88. package/dist/shared/config/load-project.js.map +1 -1
  89. package/dist/shared/config/types.d.ts +10 -2
  90. package/dist/shared/config/types.d.ts.map +1 -1
  91. package/dist/shared/constants.d.ts +1 -1
  92. package/dist/shared/constants.d.ts.map +1 -1
  93. package/dist/shared/constants.js +2 -2
  94. package/dist/shared/constants.js.map +1 -1
  95. package/dist/shared/credential-refs.js +1 -1
  96. package/dist/shared/credential-refs.js.map +1 -1
  97. package/dist/shared/paths.d.ts.map +1 -1
  98. package/dist/shared/paths.js +2 -2
  99. package/dist/shared/paths.js.map +1 -1
  100. package/dist/shared/validation.js +1 -1
  101. package/dist/shared/validation.js.map +1 -1
  102. package/dist/transport/docker-exec.d.ts +41 -0
  103. package/dist/transport/docker-exec.d.ts.map +1 -0
  104. package/dist/transport/docker-exec.js +331 -0
  105. package/dist/transport/docker-exec.js.map +1 -0
  106. package/dist/transport/host-user.d.ts +37 -0
  107. package/dist/transport/host-user.d.ts.map +1 -0
  108. package/dist/transport/host-user.js +232 -0
  109. package/dist/transport/host-user.js.map +1 -0
  110. package/dist/transport/index.d.ts +8 -0
  111. package/dist/transport/index.d.ts.map +1 -0
  112. package/dist/transport/index.js +7 -0
  113. package/dist/transport/index.js.map +1 -0
  114. package/dist/transport/memory.d.ts +35 -0
  115. package/dist/transport/memory.d.ts.map +1 -0
  116. package/dist/transport/memory.js +110 -0
  117. package/dist/transport/memory.js.map +1 -0
  118. package/dist/transport/operations.d.ts +68 -0
  119. package/dist/transport/operations.d.ts.map +1 -0
  120. package/dist/transport/operations.js +164 -0
  121. package/dist/transport/operations.js.map +1 -0
  122. package/dist/transport/ssh.d.ts +43 -0
  123. package/dist/transport/ssh.d.ts.map +1 -0
  124. package/dist/transport/ssh.js +225 -0
  125. package/dist/transport/ssh.js.map +1 -0
  126. package/dist/transport/transport.d.ts +59 -0
  127. package/dist/transport/transport.d.ts.map +1 -0
  128. package/dist/transport/transport.js +29 -0
  129. package/dist/transport/transport.js.map +1 -0
  130. package/package.json +1 -1
  131. package/dist/agents/container-entry.d.ts +0 -31
  132. package/dist/agents/container-entry.d.ts.map +0 -1
  133. package/dist/agents/container-entry.js +0 -302
  134. package/dist/agents/container-entry.js.map +0 -1
  135. package/dist/agents/container-runner.d.ts +0 -59
  136. package/dist/agents/container-runner.d.ts.map +0 -1
  137. package/dist/agents/container-runner.js +0 -472
  138. package/dist/agents/container-runner.js.map +0 -1
  139. package/dist/agents/harness/claude-cli-harness.d.ts +0 -15
  140. package/dist/agents/harness/claude-cli-harness.d.ts.map +0 -1
  141. package/dist/agents/harness/claude-cli-harness.js +0 -260
  142. package/dist/agents/harness/claude-cli-harness.js.map +0 -1
  143. package/dist/agents/harness/consumer.d.ts +0 -31
  144. package/dist/agents/harness/consumer.d.ts.map +0 -1
  145. package/dist/agents/harness/consumer.js +0 -165
  146. package/dist/agents/harness/consumer.js.map +0 -1
  147. package/dist/agents/harness/factory.d.ts +0 -9
  148. package/dist/agents/harness/factory.d.ts.map +0 -1
  149. package/dist/agents/harness/factory.js +0 -25
  150. package/dist/agents/harness/factory.js.map +0 -1
  151. package/dist/agents/harness/index.d.ts +0 -9
  152. package/dist/agents/harness/index.d.ts.map +0 -1
  153. package/dist/agents/harness/index.js +0 -5
  154. package/dist/agents/harness/index.js.map +0 -1
  155. package/dist/agents/harness/pi-harness.d.ts +0 -18
  156. package/dist/agents/harness/pi-harness.d.ts.map +0 -1
  157. package/dist/agents/harness/pi-harness.js +0 -278
  158. package/dist/agents/harness/pi-harness.js.map +0 -1
  159. package/dist/agents/harness/types.d.ts +0 -57
  160. package/dist/agents/harness/types.d.ts.map +0 -1
  161. package/dist/agents/harness/types.js +0 -2
  162. package/dist/agents/harness/types.js.map +0 -1
  163. package/dist/agents/session-loop.d.ts +0 -36
  164. package/dist/agents/session-loop.d.ts.map +0 -1
  165. package/dist/agents/session-loop.js +0 -216
  166. package/dist/agents/session-loop.js.map +0 -1
  167. package/dist/agents/signals.d.ts +0 -34
  168. package/dist/agents/signals.d.ts.map +0 -1
  169. package/dist/agents/signals.js +0 -122
  170. package/dist/agents/signals.js.map +0 -1
  171. package/dist/cli/commands/claude.d.ts +0 -4
  172. package/dist/cli/commands/claude.d.ts.map +0 -1
  173. package/dist/cli/commands/claude.js +0 -6
  174. package/dist/cli/commands/claude.js.map +0 -1
  175. package/dist/cli/commands/run-agent.d.ts +0 -14
  176. package/dist/cli/commands/run-agent.d.ts.map +0 -1
  177. package/dist/cli/commands/run-agent.js +0 -270
  178. package/dist/cli/commands/run-agent.js.map +0 -1
  179. package/dist/docker/cloud-run-runtime.d.ts +0 -48
  180. package/dist/docker/cloud-run-runtime.d.ts.map +0 -1
  181. package/dist/docker/cloud-run-runtime.js +0 -490
  182. package/dist/docker/cloud-run-runtime.js.map +0 -1
  183. package/dist/docker/image.d.ts +0 -19
  184. package/dist/docker/image.d.ts.map +0 -1
  185. package/dist/docker/image.js +0 -111
  186. package/dist/docker/image.js.map +0 -1
  187. package/dist/execution/call-dispatcher.d.ts +0 -11
  188. package/dist/execution/call-dispatcher.d.ts.map +0 -1
  189. package/dist/execution/call-dispatcher.js +0 -75
  190. package/dist/execution/call-dispatcher.js.map +0 -1
  191. package/dist/execution/container-registry.d.ts +0 -42
  192. package/dist/execution/container-registry.d.ts.map +0 -1
  193. package/dist/execution/container-registry.js +0 -76
  194. package/dist/execution/container-registry.js.map +0 -1
  195. package/dist/execution/image-builder.d.ts +0 -48
  196. package/dist/execution/image-builder.d.ts.map +0 -1
  197. package/dist/execution/image-builder.js +0 -155
  198. package/dist/execution/image-builder.js.map +0 -1
  199. package/dist/execution/routes/calls.d.ts +0 -18
  200. package/dist/execution/routes/calls.d.ts.map +0 -1
  201. package/dist/execution/routes/calls.js +0 -74
  202. package/dist/execution/routes/calls.js.map +0 -1
  203. package/dist/execution/routes/locks.d.ts +0 -10
  204. package/dist/execution/routes/locks.d.ts.map +0 -1
  205. package/dist/execution/routes/locks.js +0 -166
  206. package/dist/execution/routes/locks.js.map +0 -1
  207. package/dist/execution/routes/shutdown.d.ts +0 -5
  208. package/dist/execution/routes/shutdown.d.ts.map +0 -1
  209. package/dist/execution/routes/shutdown.js +0 -24
  210. package/dist/execution/routes/shutdown.js.map +0 -1
  211. package/dist/execution/routes/signals.d.ts +0 -12
  212. package/dist/execution/routes/signals.d.ts.map +0 -1
  213. package/dist/execution/routes/signals.js +0 -123
  214. package/dist/execution/routes/signals.js.map +0 -1
  215. package/dist/execution/types.d.ts +0 -23
  216. package/dist/execution/types.d.ts.map +0 -1
  217. package/dist/execution/types.js +0 -2
  218. package/dist/execution/types.js.map +0 -1
  219. package/dist/gateway/routes/execution.d.ts +0 -24
  220. package/dist/gateway/routes/execution.d.ts.map +0 -1
  221. package/dist/gateway/routes/execution.js +0 -13
  222. package/dist/gateway/routes/execution.js.map +0 -1
  223. package/dist/scheduler/orphan-recovery.d.ts +0 -25
  224. package/dist/scheduler/orphan-recovery.d.ts.map +0 -1
  225. package/dist/scheduler/orphan-recovery.js +0 -144
  226. package/dist/scheduler/orphan-recovery.js.map +0 -1
@@ -1,11 +0,0 @@
1
- /**
2
- * Wire up the al-subagent dispatch handler on the gateway.
3
- *
4
- * When a container issues an al-subagent call, the gateway invokes the dispatcher to
5
- * route the call to the target agent's runner pool.
6
- */
7
- import type { GatewayServer } from "../gateway/index.js";
8
- import type { StatusTracker } from "../tui/status-tracker.js";
9
- import type { SchedulerContext } from "./execution.js";
10
- export declare function wireCallDispatcher(gateway: GatewayServer, schedulerCtx: SchedulerContext, statusTracker?: StatusTracker): void;
11
- //# sourceMappingURL=call-dispatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-dispatcher.d.ts","sourceRoot":"","sources":["../../src/execution/call-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,gBAAgB,EAC9B,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAmEN"}
@@ -1,75 +0,0 @@
1
- /**
2
- * Wire up the al-subagent dispatch handler on the gateway.
3
- *
4
- * When a container issues an al-subagent call, the gateway invokes the dispatcher to
5
- * route the call to the target agent's runner pool.
6
- */
7
- import { executeRun, drainQueues, makeTriggeredPrompt, } from "./execution.js";
8
- import { dispatchOrQueue } from "./dispatch-policy.js";
9
- export function wireCallDispatcher(gateway, schedulerCtx, statusTracker) {
10
- const { agentConfigs, maxTriggerDepth, logger, runnerPools } = schedulerCtx;
11
- const callStore = gateway.callStore;
12
- gateway.setCallDispatcher((entry) => {
13
- // Global pause check — first regardless of other validations
14
- if (statusTracker?.isPaused()) {
15
- return { ok: false, reason: "scheduler is paused" };
16
- }
17
- // Call-specific validation (not part of dispatch policy)
18
- if (entry.callerAgent === entry.targetAgent) {
19
- return { ok: false, reason: "agent cannot call itself" };
20
- }
21
- if (entry.depth >= maxTriggerDepth) {
22
- return { ok: false, reason: "trigger depth limit reached" };
23
- }
24
- const targetConfig = agentConfigs.find((a) => a.name === entry.targetAgent);
25
- if (!targetConfig) {
26
- return { ok: false, reason: `target agent "${entry.targetAgent}" not found` };
27
- }
28
- const pool = runnerPools[entry.targetAgent];
29
- // Pool missing or scale=0 is a hard rejection for sub-agent calls (caller gets immediate error)
30
- if (!pool || pool.size === 0) {
31
- return { ok: false, reason: `target agent "${entry.targetAgent}" is disabled` };
32
- }
33
- const result = dispatchOrQueue(entry.targetAgent, {
34
- type: 'agent-trigger',
35
- sourceAgent: entry.callerAgent,
36
- context: entry.context,
37
- depth: entry.depth,
38
- callId: entry.callId,
39
- }, {
40
- pool,
41
- workQueue: schedulerCtx.workQueue,
42
- isAgentEnabled: schedulerCtx.isAgentEnabled,
43
- });
44
- if (result.action === "dispatched") {
45
- logger.info({ caller: entry.callerAgent, target: entry.targetAgent, depth: entry.depth }, "dispatching call");
46
- callStore?.setRunning(entry.callId);
47
- const prompt = makeTriggeredPrompt(targetConfig, entry.callerAgent, entry.context, schedulerCtx);
48
- executeRun(result.runner, prompt, { type: 'agent', source: entry.callerAgent }, entry.targetAgent, entry.depth + 1, schedulerCtx)
49
- .then(({ result: runResult, returnValue }) => {
50
- if (runResult === "completed" || runResult === "rerun") {
51
- callStore?.complete(entry.callId, returnValue);
52
- }
53
- else {
54
- callStore?.fail(entry.callId, "agent run failed");
55
- }
56
- return drainQueues(schedulerCtx);
57
- })
58
- .catch((err) => {
59
- callStore?.fail(entry.callId, err?.message || "unknown error");
60
- logger.error({ err, target: entry.targetAgent }, "called agent run failed");
61
- });
62
- return { ok: true };
63
- }
64
- if (result.action === "queued") {
65
- logger.info({ caller: entry.callerAgent, target: entry.targetAgent }, "all runners busy, call queued");
66
- drainQueues(schedulerCtx).catch((err) => {
67
- logger.error({ err }, "drain after al-subagent queue failed");
68
- });
69
- return { ok: true };
70
- }
71
- // rejected
72
- return { ok: false, reason: result.reason };
73
- });
74
- }
75
- //# sourceMappingURL=call-dispatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-dispatcher.js","sourceRoot":"","sources":["../../src/execution/call-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,mBAAmB,GAC7C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,YAA8B,EAC9B,aAA6B;IAE7B,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAEpC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,6DAA6D;QAC7D,IAAI,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACtD,CAAC;QACD,yDAAyD;QACzD,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;YACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,WAAW,aAAa,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,gGAAgG;QAChG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,WAAW,eAAe,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE;YAChD,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EAAE;YACD,IAAI;YACJ,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,cAAc,EAAE,YAAY,CAAC,cAAc;SAC5C,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9G,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,YAAY,CAAC;iBAC9H,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;gBAC3C,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBACvD,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YACL,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,+BAA+B,CAAC,CAAC;YACvG,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,WAAW;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,42 +0,0 @@
1
- import type { ContainerRegistration } from "./types.js";
2
- import type { StateStore } from "../shared/state-store.js";
3
- /**
4
- * Container registry backed by a StateStore.
5
- *
6
- * Keeps an in-memory cache for fast synchronous lookups (used by every
7
- * route handler). Writes go to both the cache and the persistent store,
8
- * so registrations survive scheduler restarts.
9
- */
10
- export declare class ContainerRegistry {
11
- private cache;
12
- private store?;
13
- constructor(store?: StateStore);
14
- /** Hydrate the in-memory cache from the persistent store. */
15
- init(): Promise<void>;
16
- /** Synchronous lookup — used by route handlers on every request. */
17
- get(secret: string): ContainerRegistration | undefined;
18
- /** Register a container. Persists to store. */
19
- register(secret: string, reg: ContainerRegistration): Promise<void>;
20
- /** Unregister a container. Persists to store. */
21
- unregister(secret: string): Promise<void>;
22
- /**
23
- * Check if a container with the given instanceId is currently registered.
24
- * Used by the lock store to detect orphan locks held by dead containers.
25
- */
26
- hasInstance(instanceId: string): boolean;
27
- /** Return all current registrations as an array (used during startup cleanup). */
28
- listAll(): ContainerRegistration[];
29
- /**
30
- * Find the secret and registration for a container by its container name.
31
- * Used during re-adoption of orphan containers on scheduler restart.
32
- */
33
- findByContainerName(containerName: string): {
34
- secret: string;
35
- reg: ContainerRegistration;
36
- } | undefined;
37
- /** Remove all registrations from both the cache and the persistent store. */
38
- clear(): Promise<void>;
39
- /** Number of registered containers. */
40
- get size(): number;
41
- }
42
- //# sourceMappingURL=container-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-registry.d.ts","sourceRoot":"","sources":["../../src/execution/container-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,KAAK,CAAC,CAAa;gBAEf,KAAK,CAAC,EAAE,UAAU;IAI9B,6DAA6D;IACvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,oEAAoE;IACpE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAItD,+CAA+C;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,iDAAiD;IAC3C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;OAGG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOxC,kFAAkF;IAClF,OAAO,IAAI,qBAAqB,EAAE;IAIlC;;;OAGG;IACH,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,qBAAqB,CAAA;KAAE,GAAG,SAAS;IAOtG,6EAA6E;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,uCAAuC;IACvC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -1,76 +0,0 @@
1
- const NS = "containers";
2
- /**
3
- * Container registry backed by a StateStore.
4
- *
5
- * Keeps an in-memory cache for fast synchronous lookups (used by every
6
- * route handler). Writes go to both the cache and the persistent store,
7
- * so registrations survive scheduler restarts.
8
- */
9
- export class ContainerRegistry {
10
- cache = new Map();
11
- store;
12
- constructor(store) {
13
- this.store = store;
14
- }
15
- /** Hydrate the in-memory cache from the persistent store. */
16
- async init() {
17
- if (!this.store)
18
- return;
19
- const entries = await this.store.list(NS);
20
- for (const { key, value } of entries) {
21
- this.cache.set(key, value);
22
- }
23
- }
24
- /** Synchronous lookup — used by route handlers on every request. */
25
- get(secret) {
26
- return this.cache.get(secret);
27
- }
28
- /** Register a container. Persists to store. */
29
- async register(secret, reg) {
30
- this.cache.set(secret, reg);
31
- await this.store?.set(NS, secret, reg);
32
- }
33
- /** Unregister a container. Persists to store. */
34
- async unregister(secret) {
35
- this.cache.delete(secret);
36
- await this.store?.delete(NS, secret);
37
- }
38
- /**
39
- * Check if a container with the given instanceId is currently registered.
40
- * Used by the lock store to detect orphan locks held by dead containers.
41
- */
42
- hasInstance(instanceId) {
43
- for (const reg of this.cache.values()) {
44
- if (reg.instanceId === instanceId)
45
- return true;
46
- }
47
- return false;
48
- }
49
- /** Return all current registrations as an array (used during startup cleanup). */
50
- listAll() {
51
- return Array.from(this.cache.values());
52
- }
53
- /**
54
- * Find the secret and registration for a container by its container name.
55
- * Used during re-adoption of orphan containers on scheduler restart.
56
- */
57
- findByContainerName(containerName) {
58
- for (const [secret, reg] of this.cache.entries()) {
59
- if (reg.containerName === containerName)
60
- return { secret, reg };
61
- }
62
- return undefined;
63
- }
64
- /** Remove all registrations from both the cache and the persistent store. */
65
- async clear() {
66
- for (const key of this.cache.keys()) {
67
- await this.store?.delete(NS, key);
68
- }
69
- this.cache.clear();
70
- }
71
- /** Number of registered containers. */
72
- get size() {
73
- return this.cache.size;
74
- }
75
- }
76
- //# sourceMappingURL=container-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-registry.js","sourceRoot":"","sources":["../../src/execution/container-registry.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,YAAY,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACpB,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;IACjD,KAAK,CAAc;IAE3B,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,GAA0B;QACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,UAAkB;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kFAAkF;IAClF,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,aAAqB;QACvC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,aAAa,KAAK,aAAa;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Shared image build logic for `al start` (scheduler).
3
- *
4
- * Builds the base Docker image and per-agent images for local Docker execution.
5
- */
6
- import { type AgentConfig, type GlobalConfig } from "../shared/config.js";
7
- import type { Runtime, ContainerRuntime } from "../docker/runtime.js";
8
- import { type PromptSkills } from "../agents/prompt.js";
9
- import type { StatusTracker } from "../tui/status-tracker.js";
10
- import type { Logger } from "../shared/logger.js";
11
- export interface ImageBuildOpts {
12
- projectPath: string;
13
- globalConfig: GlobalConfig;
14
- activeAgentConfigs: AgentConfig[];
15
- runtime: Runtime & ContainerRuntime;
16
- statusTracker?: StatusTracker;
17
- logger: Logger;
18
- skills?: PromptSkills;
19
- /** Optional progress callback for headless/CLI output (label, message) */
20
- onProgress?: (label: string, message: string) => void;
21
- }
22
- export interface ImageBuildResult {
23
- baseImage: string;
24
- agentImages: Record<string, string>;
25
- }
26
- /**
27
- * Build the base image and per-agent images.
28
- *
29
- * Returns the resolved base image tag and a map of agent name → image tag.
30
- */
31
- export declare function buildAllImages(opts: ImageBuildOpts): Promise<ImageBuildResult>;
32
- export interface SingleAgentBuildOpts {
33
- agentConfig: AgentConfig;
34
- projectPath: string;
35
- globalConfig: GlobalConfig;
36
- runtime: Runtime & ContainerRuntime;
37
- baseImage: string;
38
- statusTracker?: StatusTracker;
39
- logger: Logger;
40
- skills?: PromptSkills;
41
- onProgress?: (msg: string) => void;
42
- }
43
- /**
44
- * Build a single agent's Docker image.
45
- * Returns the image tag.
46
- */
47
- export declare function buildSingleAgentImage(opts: SingleAgentBuildOpts): Promise<string>;
48
- //# sourceMappingURL=image-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-builder.d.ts","sourceRoot":"","sources":["../../src/execution/image-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAmBD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+FpF;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCvF"}
@@ -1,155 +0,0 @@
1
- /**
2
- * Shared image build logic for `al start` (scheduler).
3
- *
4
- * Builds the base Docker image and per-agent images for local Docker execution.
5
- */
6
- import { existsSync, readFileSync } from "fs";
7
- import { resolve as resolvePath, dirname } from "path";
8
- import { fileURLToPath } from "url";
9
- import { loadSharedFiles } from "../shared/config.js";
10
- import { CONSTANTS, DEFAULT_AGENT_TIMEOUT, imageTags } from "../shared/constants.js";
11
- import { buildPromptSkeleton } from "../agents/prompt.js";
12
- /** Resolve to the package root (two levels up from src/scheduler/) */
13
- const packageRoot = resolvePath(dirname(fileURLToPath(import.meta.url)), "..", "..");
14
- /**
15
- * Check whether the project Dockerfile has user customizations beyond a bare FROM.
16
- */
17
- function isProjectDockerfileCustomized(projectPath) {
18
- const dockerfilePath = resolvePath(projectPath, "Dockerfile");
19
- if (!existsSync(dockerfilePath))
20
- return false;
21
- const instructions = readFileSync(dockerfilePath, "utf-8")
22
- .split("\n")
23
- .map(l => l.trim())
24
- .filter(l => l && !l.startsWith("#"));
25
- // Unmodified = empty or a single FROM line
26
- if (instructions.length <= 1)
27
- return false;
28
- return true;
29
- }
30
- /**
31
- * Build the base image and per-agent images.
32
- *
33
- * Returns the resolved base image tag and a map of agent name → image tag.
34
- */
35
- export async function buildAllImages(opts) {
36
- const { projectPath, globalConfig, activeAgentConfigs, runtime, statusTracker, logger, skills, onProgress } = opts;
37
- // 1. Build base image
38
- let baseImage = globalConfig.local?.image || CONSTANTS.DEFAULT_IMAGE;
39
- logger.info({ image: baseImage }, "Building base image (this may take a few minutes on first run)...");
40
- const setSharedBuildProgress = (msg) => {
41
- for (const agentConfig of activeAgentConfigs) {
42
- statusTracker?.setAgentState(agentConfig.name, msg ? "building" : "idle");
43
- statusTracker?.setAgentStatusText(agentConfig.name, msg);
44
- }
45
- };
46
- const setBaseImageProgress = (msg) => {
47
- statusTracker?.setBaseImageStatus(msg);
48
- setSharedBuildProgress(msg);
49
- onProgress?.("base", msg);
50
- };
51
- const { imageExists } = await import("../docker/image.js");
52
- if (!imageExists(baseImage)) {
53
- setBaseImageProgress("Building");
54
- const [, ...baseAliases] = imageTags("al-agent");
55
- await runtime.buildImage({
56
- tag: baseImage, dockerfile: "docker/Dockerfile", contextDir: packageRoot,
57
- onProgress: setBaseImageProgress,
58
- additionalTags: baseAliases,
59
- useLockfileHash: true,
60
- });
61
- }
62
- statusTracker?.setBaseImageStatus(null);
63
- // 1.5. Build project base image (if project has a customized Dockerfile)
64
- let effectiveBaseImage = baseImage;
65
- const projectDockerfile = resolvePath(projectPath, "Dockerfile");
66
- if (isProjectDockerfileCustomized(projectPath)) {
67
- const projectBaseTag = CONSTANTS.PROJECT_BASE_IMAGE;
68
- logger.info("Building project base image...");
69
- const setProjectBaseProgress = (msg) => {
70
- statusTracker?.setBaseImageStatus(msg);
71
- setSharedBuildProgress(msg);
72
- onProgress?.("project-base", msg);
73
- };
74
- const [, ...projAliases] = imageTags("al-project-base");
75
- setProjectBaseProgress("Building project base image");
76
- effectiveBaseImage = await runtime.buildImage({
77
- tag: projectBaseTag,
78
- dockerfile: projectDockerfile,
79
- contextDir: packageRoot,
80
- baseImage,
81
- onProgress: setProjectBaseProgress,
82
- additionalTags: projAliases,
83
- });
84
- statusTracker?.setBaseImageStatus(null);
85
- logger.info({ image: effectiveBaseImage }, "Project base image built");
86
- }
87
- // 2. Build per-agent images
88
- const agentImages = {};
89
- for (const agentConfig of activeAgentConfigs) {
90
- statusTracker?.setAgentState(agentConfig.name, "building");
91
- statusTracker?.setAgentStatusText(agentConfig.name, "Building agent image");
92
- onProgress?.(agentConfig.name, "Building agent image");
93
- }
94
- const buildPromises = activeAgentConfigs.map(async (agentConfig) => {
95
- const progressCb = (msg) => { statusTracker?.setAgentStatusText(agentConfig.name, msg); onProgress?.(agentConfig.name, msg); };
96
- const image = await buildSingleAgentImage({
97
- agentConfig,
98
- projectPath,
99
- globalConfig,
100
- runtime,
101
- baseImage: effectiveBaseImage,
102
- statusTracker,
103
- logger,
104
- skills,
105
- onProgress: progressCb,
106
- });
107
- agentImages[agentConfig.name] = image;
108
- });
109
- await Promise.all(buildPromises);
110
- // Reset all agents back to idle after builds complete
111
- setSharedBuildProgress(null);
112
- logger.info("Docker infrastructure ready");
113
- return { baseImage: effectiveBaseImage, agentImages };
114
- }
115
- /**
116
- * Build a single agent's Docker image.
117
- * Returns the image tag.
118
- */
119
- export async function buildSingleAgentImage(opts) {
120
- const { agentConfig, projectPath, globalConfig, runtime, baseImage, skills, onProgress, logger } = opts;
121
- const agentPath = resolvePath(projectPath, "agents", agentConfig.name);
122
- const hasCustomDockerfile = existsSync(resolvePath(agentPath, "Dockerfile"));
123
- const skillPath = resolvePath(agentPath, "SKILL.md");
124
- const skillMd = existsSync(skillPath) ? readFileSync(skillPath, "utf-8") : "";
125
- const timeout = String(agentConfig.timeout ?? globalConfig.local?.timeout ?? DEFAULT_AGENT_TIMEOUT);
126
- const extraFiles = {
127
- "agent-config.json": JSON.stringify(agentConfig),
128
- "SKILL.md": skillMd,
129
- "prompt-static.txt": buildPromptSkeleton(agentConfig, skills),
130
- "timeout": timeout,
131
- ...loadSharedFiles(projectPath),
132
- };
133
- const testScriptPath = resolvePath(agentPath, "test-script.sh");
134
- if (existsSync(testScriptPath)) {
135
- extraFiles["test-script.sh"] = readFileSync(testScriptPath, "utf-8");
136
- }
137
- const agentImageTag = CONSTANTS.agentImage(agentConfig.name);
138
- const [, ...agentAliases] = imageTags(`al-${agentConfig.name}`);
139
- const progressCb = onProgress ?? (() => { });
140
- const image = await runtime.buildImage({
141
- tag: agentImageTag,
142
- dockerfile: hasCustomDockerfile
143
- ? resolvePath(projectPath, "agents", agentConfig.name, "Dockerfile")
144
- : "Dockerfile",
145
- contextDir: packageRoot,
146
- dockerfileContent: hasCustomDockerfile ? undefined : `FROM ${baseImage}\n`,
147
- baseImage: hasCustomDockerfile ? baseImage : undefined,
148
- extraFiles,
149
- onProgress: progressCb,
150
- additionalTags: agentAliases,
151
- });
152
- logger.info({ agent: agentConfig.name, image }, "Built agent image");
153
- return image;
154
- }
155
- //# sourceMappingURL=image-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-builder.js","sourceRoot":"","sources":["../../src/execution/image-builder.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { Hono } from "hono";
2
- import type { ContainerRegistry } from "../container-registry.js";
3
- import type { CallStore } from "../call-store.js";
4
- import type { Logger } from "../../shared/logger.js";
5
- import type { SchedulerEventBus } from "../../scheduler/events.js";
6
- export type CallDispatcher = (entry: {
7
- callId: string;
8
- callerAgent: string;
9
- callerInstanceId: string;
10
- targetAgent: string;
11
- context: string;
12
- depth: number;
13
- }) => {
14
- ok: boolean;
15
- reason?: string;
16
- };
17
- export declare function registerCallRoutes(app: Hono, containerRegistry: ContainerRegistry, callStore: CallStore, getDispatcher: () => CallDispatcher | undefined, logger: Logger, events?: SchedulerEventBus): void;
18
- //# sourceMappingURL=calls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/execution/routes/calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjM,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,EACT,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,cAAc,GAAG,SAAS,EAC/C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,iBAAiB,GACzB,IAAI,CAiFN"}
@@ -1,74 +0,0 @@
1
- export function registerCallRoutes(app, containerRegistry, callStore, getDispatcher, logger, events) {
2
- app.post("/calls", async (c) => {
3
- let body;
4
- try {
5
- body = await c.req.json();
6
- }
7
- catch {
8
- logger.warn({ route: "/calls" }, "invalid JSON body");
9
- return c.json({ error: "invalid JSON body" }, 400);
10
- }
11
- const { secret, targetAgent, context } = body;
12
- if (!secret || typeof secret !== "string") {
13
- logger.warn({ route: "/calls" }, "missing secret");
14
- return c.json({ error: "missing secret" }, 400);
15
- }
16
- if (!targetAgent || typeof targetAgent !== "string") {
17
- logger.warn({ route: "/calls" }, "missing targetAgent");
18
- return c.json({ error: "missing targetAgent" }, 400);
19
- }
20
- if (context === undefined || context === null || typeof context !== "string") {
21
- logger.warn({ route: "/calls" }, "missing context");
22
- return c.json({ error: "missing context" }, 400);
23
- }
24
- const reg = containerRegistry.get(secret);
25
- if (!reg) {
26
- logger.warn({ route: "/calls", targetAgent }, "invalid secret");
27
- return c.json({ error: "invalid secret" }, 403);
28
- }
29
- const dispatcher = getDispatcher();
30
- if (!dispatcher) {
31
- logger.warn({ route: "/calls", agent: reg.agentName, targetAgent }, "call dispatcher not ready");
32
- return c.json({ ok: false, reason: "call dispatcher not ready" }, 503);
33
- }
34
- // Look up existing calls from this caller to determine depth
35
- const entry = callStore.create({
36
- callerAgent: reg.agentName,
37
- callerInstanceId: reg.instanceId,
38
- targetAgent,
39
- context,
40
- depth: 0, // Will be set by dispatcher
41
- });
42
- const result = dispatcher(entry);
43
- if (!result.ok) {
44
- // Clean up the entry since it won't be dispatched
45
- callStore.fail(entry.callId, result.reason || "dispatch rejected");
46
- logger.warn({ caller: reg.agentName, target: targetAgent, reason: result.reason }, "call rejected");
47
- events?.emit("call", { callerAgent: reg.agentName, targetAgent, ok: false, reason: result.reason });
48
- return c.json({ ok: false, reason: result.reason }, 409);
49
- }
50
- logger.info({ caller: reg.agentName, target: targetAgent, callId: entry.callId }, "call dispatched");
51
- events?.emit("call", { callerAgent: reg.agentName, targetAgent, ok: true, callId: entry.callId });
52
- return c.json({ ok: true, callId: entry.callId });
53
- });
54
- app.get("/calls/:callId", (c) => {
55
- const secret = c.req.query("secret");
56
- if (!secret) {
57
- logger.warn({ route: "/calls/:callId" }, "missing secret");
58
- return c.json({ error: "missing secret" }, 400);
59
- }
60
- const reg = containerRegistry.get(secret);
61
- if (!reg) {
62
- logger.warn({ route: "/calls/:callId" }, "invalid secret");
63
- return c.json({ error: "invalid secret" }, 403);
64
- }
65
- const callId = c.req.param("callId");
66
- const result = callStore.check(callId, reg.instanceId);
67
- if (!result) {
68
- logger.debug({ agent: reg.agentName, callId }, "call not found");
69
- return c.json({ error: "call not found" }, 404);
70
- }
71
- return c.json(result);
72
- });
73
- }
74
- //# sourceMappingURL=calls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/execution/routes/calls.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { Hono } from "hono";
2
- import type { ContainerRegistry } from "../container-registry.js";
3
- import type { LockStore } from "../lock-store.js";
4
- import type { Logger } from "../../shared/logger.js";
5
- import type { SchedulerEventBus } from "../../scheduler/events.js";
6
- export declare function registerLockRoutes(app: Hono, containerRegistry: ContainerRegistry, lockStore: LockStore, logger: Logger, opts?: {
7
- skipStatusEndpoint?: boolean;
8
- events?: SchedulerEventBus;
9
- }): void;
10
- //# sourceMappingURL=locks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../../src/execution/routes/locks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,EACT,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAClE,IAAI,CA+LN"}