@action-llama/action-llama 0.27.4 → 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 (242) 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/commands/logs.d.ts.map +1 -1
  25. package/dist/cli/commands/logs.js +2 -3
  26. package/dist/cli/commands/logs.js.map +1 -1
  27. package/dist/cli/main.js +1 -30
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/control/routes/dashboard-api.js +1 -1
  30. package/dist/control/routes/dashboard-api.js.map +1 -1
  31. package/dist/control/routes/log-helpers.d.ts +4 -4
  32. package/dist/control/routes/log-helpers.d.ts.map +1 -1
  33. package/dist/control/routes/log-helpers.js +12 -7
  34. package/dist/control/routes/log-helpers.js.map +1 -1
  35. package/dist/control/routes/log-summary.d.ts.map +1 -1
  36. package/dist/control/routes/log-summary.js +22 -9
  37. package/dist/control/routes/log-summary.js.map +1 -1
  38. package/dist/control/routes/logs.d.ts.map +1 -1
  39. package/dist/control/routes/logs.js +10 -10
  40. package/dist/control/routes/logs.js.map +1 -1
  41. package/dist/docker/providers/index.d.ts +0 -4
  42. package/dist/docker/providers/index.d.ts.map +1 -1
  43. package/dist/docker/providers/index.js +0 -38
  44. package/dist/docker/providers/index.js.map +1 -1
  45. package/dist/execution/execution.d.ts +0 -1
  46. package/dist/execution/execution.d.ts.map +1 -1
  47. package/dist/execution/execution.js +5 -9
  48. package/dist/execution/execution.js.map +1 -1
  49. package/dist/execution/index.d.ts +1 -11
  50. package/dist/execution/index.d.ts.map +1 -1
  51. package/dist/execution/index.js +1 -8
  52. package/dist/execution/index.js.map +1 -1
  53. package/dist/execution/runner-setup.d.ts +6 -11
  54. package/dist/execution/runner-setup.d.ts.map +1 -1
  55. package/dist/execution/runner-setup.js +18 -14
  56. package/dist/execution/runner-setup.js.map +1 -1
  57. package/dist/execution/runtime-factory.d.ts +1 -15
  58. package/dist/execution/runtime-factory.d.ts.map +1 -1
  59. package/dist/execution/runtime-factory.js +1 -18
  60. package/dist/execution/runtime-factory.js.map +1 -1
  61. package/dist/frontend/assets/{index-a78B5S5H.js → index-DnSu-8Kw.js} +1 -1
  62. package/dist/frontend/assets/index-DnSu-8Kw.js.map +1 -0
  63. package/dist/frontend/index.html +1 -1
  64. package/dist/gateway/index.d.ts +1 -1
  65. package/dist/gateway/index.d.ts.map +1 -1
  66. package/dist/gateway/index.js +6 -47
  67. package/dist/gateway/index.js.map +1 -1
  68. package/dist/gateway/routes/system.d.ts +1 -4
  69. package/dist/gateway/routes/system.d.ts.map +1 -1
  70. package/dist/gateway/routes/system.js +3 -8
  71. package/dist/gateway/routes/system.js.map +1 -1
  72. package/dist/gateway/stores.d.ts +0 -4
  73. package/dist/gateway/stores.d.ts.map +1 -1
  74. package/dist/gateway/stores.js +2 -10
  75. package/dist/gateway/stores.js.map +1 -1
  76. package/dist/gateway/types.d.ts +0 -13
  77. package/dist/gateway/types.d.ts.map +1 -1
  78. package/dist/mcp/server.d.ts.map +1 -1
  79. package/dist/mcp/server.js +11 -0
  80. package/dist/mcp/server.js.map +1 -1
  81. package/dist/models/providers/custom.d.ts.map +1 -1
  82. package/dist/models/providers/custom.js +3 -2
  83. package/dist/models/providers/custom.js.map +1 -1
  84. package/dist/models/providers/openai.d.ts.map +1 -1
  85. package/dist/models/providers/openai.js +3 -2
  86. package/dist/models/providers/openai.js.map +1 -1
  87. package/dist/scheduler/gateway-setup.d.ts +0 -2
  88. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  89. package/dist/scheduler/gateway-setup.js +2 -11
  90. package/dist/scheduler/gateway-setup.js.map +1 -1
  91. package/dist/scheduler/index.d.ts.map +1 -1
  92. package/dist/scheduler/index.js +95 -55
  93. package/dist/scheduler/index.js.map +1 -1
  94. package/dist/scheduler/validation.js +1 -1
  95. package/dist/scheduler/validation.js.map +1 -1
  96. package/dist/scheduler/watcher.d.ts +2 -8
  97. package/dist/scheduler/watcher.d.ts.map +1 -1
  98. package/dist/scheduler/watcher.js +7 -104
  99. package/dist/scheduler/watcher.js.map +1 -1
  100. package/dist/shared/config/load-agent.js +2 -2
  101. package/dist/shared/config/load-agent.js.map +1 -1
  102. package/dist/shared/config/load-project.js +2 -2
  103. package/dist/shared/config/load-project.js.map +1 -1
  104. package/dist/shared/config/types.d.ts +10 -2
  105. package/dist/shared/config/types.d.ts.map +1 -1
  106. package/dist/shared/constants.d.ts +1 -1
  107. package/dist/shared/constants.d.ts.map +1 -1
  108. package/dist/shared/constants.js +2 -2
  109. package/dist/shared/constants.js.map +1 -1
  110. package/dist/shared/credential-refs.js +1 -1
  111. package/dist/shared/credential-refs.js.map +1 -1
  112. package/dist/shared/paths.d.ts.map +1 -1
  113. package/dist/shared/paths.js +2 -2
  114. package/dist/shared/paths.js.map +1 -1
  115. package/dist/shared/validation.js +1 -1
  116. package/dist/shared/validation.js.map +1 -1
  117. package/dist/transport/docker-exec.d.ts +41 -0
  118. package/dist/transport/docker-exec.d.ts.map +1 -0
  119. package/dist/transport/docker-exec.js +331 -0
  120. package/dist/transport/docker-exec.js.map +1 -0
  121. package/dist/transport/host-user.d.ts +37 -0
  122. package/dist/transport/host-user.d.ts.map +1 -0
  123. package/dist/transport/host-user.js +232 -0
  124. package/dist/transport/host-user.js.map +1 -0
  125. package/dist/transport/index.d.ts +8 -0
  126. package/dist/transport/index.d.ts.map +1 -0
  127. package/dist/transport/index.js +7 -0
  128. package/dist/transport/index.js.map +1 -0
  129. package/dist/transport/memory.d.ts +35 -0
  130. package/dist/transport/memory.d.ts.map +1 -0
  131. package/dist/transport/memory.js +110 -0
  132. package/dist/transport/memory.js.map +1 -0
  133. package/dist/transport/operations.d.ts +68 -0
  134. package/dist/transport/operations.d.ts.map +1 -0
  135. package/dist/transport/operations.js +164 -0
  136. package/dist/transport/operations.js.map +1 -0
  137. package/dist/transport/ssh.d.ts +43 -0
  138. package/dist/transport/ssh.d.ts.map +1 -0
  139. package/dist/transport/ssh.js +225 -0
  140. package/dist/transport/ssh.js.map +1 -0
  141. package/dist/transport/transport.d.ts +59 -0
  142. package/dist/transport/transport.d.ts.map +1 -0
  143. package/dist/transport/transport.js +29 -0
  144. package/dist/transport/transport.js.map +1 -0
  145. package/package.json +1 -1
  146. package/dist/agents/container-entry.d.ts +0 -31
  147. package/dist/agents/container-entry.d.ts.map +0 -1
  148. package/dist/agents/container-entry.js +0 -302
  149. package/dist/agents/container-entry.js.map +0 -1
  150. package/dist/agents/container-runner.d.ts +0 -59
  151. package/dist/agents/container-runner.d.ts.map +0 -1
  152. package/dist/agents/container-runner.js +0 -472
  153. package/dist/agents/container-runner.js.map +0 -1
  154. package/dist/agents/harness/claude-cli-harness.d.ts +0 -15
  155. package/dist/agents/harness/claude-cli-harness.d.ts.map +0 -1
  156. package/dist/agents/harness/claude-cli-harness.js +0 -240
  157. package/dist/agents/harness/claude-cli-harness.js.map +0 -1
  158. package/dist/agents/harness/consumer.d.ts +0 -31
  159. package/dist/agents/harness/consumer.d.ts.map +0 -1
  160. package/dist/agents/harness/consumer.js +0 -161
  161. package/dist/agents/harness/consumer.js.map +0 -1
  162. package/dist/agents/harness/factory.d.ts +0 -9
  163. package/dist/agents/harness/factory.d.ts.map +0 -1
  164. package/dist/agents/harness/factory.js +0 -25
  165. package/dist/agents/harness/factory.js.map +0 -1
  166. package/dist/agents/harness/index.d.ts +0 -9
  167. package/dist/agents/harness/index.d.ts.map +0 -1
  168. package/dist/agents/harness/index.js +0 -5
  169. package/dist/agents/harness/index.js.map +0 -1
  170. package/dist/agents/harness/pi-harness.d.ts +0 -18
  171. package/dist/agents/harness/pi-harness.d.ts.map +0 -1
  172. package/dist/agents/harness/pi-harness.js +0 -259
  173. package/dist/agents/harness/pi-harness.js.map +0 -1
  174. package/dist/agents/harness/types.d.ts +0 -57
  175. package/dist/agents/harness/types.d.ts.map +0 -1
  176. package/dist/agents/harness/types.js +0 -2
  177. package/dist/agents/harness/types.js.map +0 -1
  178. package/dist/agents/session-loop.d.ts +0 -36
  179. package/dist/agents/session-loop.d.ts.map +0 -1
  180. package/dist/agents/session-loop.js +0 -216
  181. package/dist/agents/session-loop.js.map +0 -1
  182. package/dist/agents/signals.d.ts +0 -34
  183. package/dist/agents/signals.d.ts.map +0 -1
  184. package/dist/agents/signals.js +0 -122
  185. package/dist/agents/signals.js.map +0 -1
  186. package/dist/cli/commands/claude.d.ts +0 -4
  187. package/dist/cli/commands/claude.d.ts.map +0 -1
  188. package/dist/cli/commands/claude.js +0 -6
  189. package/dist/cli/commands/claude.js.map +0 -1
  190. package/dist/cli/commands/run-agent.d.ts +0 -14
  191. package/dist/cli/commands/run-agent.d.ts.map +0 -1
  192. package/dist/cli/commands/run-agent.js +0 -270
  193. package/dist/cli/commands/run-agent.js.map +0 -1
  194. package/dist/docker/cloud-run-runtime.d.ts +0 -48
  195. package/dist/docker/cloud-run-runtime.d.ts.map +0 -1
  196. package/dist/docker/cloud-run-runtime.js +0 -490
  197. package/dist/docker/cloud-run-runtime.js.map +0 -1
  198. package/dist/docker/image.d.ts +0 -19
  199. package/dist/docker/image.d.ts.map +0 -1
  200. package/dist/docker/image.js +0 -111
  201. package/dist/docker/image.js.map +0 -1
  202. package/dist/execution/call-dispatcher.d.ts +0 -11
  203. package/dist/execution/call-dispatcher.d.ts.map +0 -1
  204. package/dist/execution/call-dispatcher.js +0 -75
  205. package/dist/execution/call-dispatcher.js.map +0 -1
  206. package/dist/execution/container-registry.d.ts +0 -42
  207. package/dist/execution/container-registry.d.ts.map +0 -1
  208. package/dist/execution/container-registry.js +0 -76
  209. package/dist/execution/container-registry.js.map +0 -1
  210. package/dist/execution/image-builder.d.ts +0 -48
  211. package/dist/execution/image-builder.d.ts.map +0 -1
  212. package/dist/execution/image-builder.js +0 -155
  213. package/dist/execution/image-builder.js.map +0 -1
  214. package/dist/execution/routes/calls.d.ts +0 -18
  215. package/dist/execution/routes/calls.d.ts.map +0 -1
  216. package/dist/execution/routes/calls.js +0 -74
  217. package/dist/execution/routes/calls.js.map +0 -1
  218. package/dist/execution/routes/locks.d.ts +0 -10
  219. package/dist/execution/routes/locks.d.ts.map +0 -1
  220. package/dist/execution/routes/locks.js +0 -166
  221. package/dist/execution/routes/locks.js.map +0 -1
  222. package/dist/execution/routes/shutdown.d.ts +0 -5
  223. package/dist/execution/routes/shutdown.d.ts.map +0 -1
  224. package/dist/execution/routes/shutdown.js +0 -24
  225. package/dist/execution/routes/shutdown.js.map +0 -1
  226. package/dist/execution/routes/signals.d.ts +0 -12
  227. package/dist/execution/routes/signals.d.ts.map +0 -1
  228. package/dist/execution/routes/signals.js +0 -123
  229. package/dist/execution/routes/signals.js.map +0 -1
  230. package/dist/execution/types.d.ts +0 -23
  231. package/dist/execution/types.d.ts.map +0 -1
  232. package/dist/execution/types.js +0 -2
  233. package/dist/execution/types.js.map +0 -1
  234. package/dist/frontend/assets/index-a78B5S5H.js.map +0 -1
  235. package/dist/gateway/routes/execution.d.ts +0 -24
  236. package/dist/gateway/routes/execution.d.ts.map +0 -1
  237. package/dist/gateway/routes/execution.js +0 -13
  238. package/dist/gateway/routes/execution.js.map +0 -1
  239. package/dist/scheduler/orphan-recovery.d.ts +0 -25
  240. package/dist/scheduler/orphan-recovery.d.ts.map +0 -1
  241. package/dist/scheduler/orphan-recovery.js +0 -144
  242. package/dist/scheduler/orphan-recovery.js.map +0 -1
@@ -1,34 +0,0 @@
1
- /**
2
- * File-based signal IPC for agent communication.
3
- *
4
- * Shell commands (al-rerun, al-status, al-return, al-exit) write
5
- * signal files to $AL_SIGNAL_DIR. Runners read them after the session ends
6
- * via readSignals(). In container mode, commands also POST to $GATEWAY_URL
7
- * for real-time TUI updates.
8
- */
9
- export interface AgentSignals {
10
- rerun: boolean;
11
- status?: string;
12
- returnValue?: string;
13
- exitCode?: number;
14
- }
15
- /**
16
- * Ensure the signal directory exists and clean any stale signal files.
17
- * Scripts are baked into the image at /app/bin/ — this only creates the
18
- * per-run signal directory.
19
- */
20
- export declare function ensureSignalDir(signalDir: string): void;
21
- /**
22
- * Install signal shell commands into a bin directory.
23
- * The bin dir should be prepended to PATH so agents can use these commands.
24
- *
25
- * In container mode, scripts are baked into the image at /app/bin/ and this
26
- * function is not called. It remains for host-mode agent runners.
27
- */
28
- export declare function installSignalCommands(binDir: string, signalDir: string): void;
29
- /**
30
- * Read signal files written by the shell commands.
31
- * Call this after the agent session ends.
32
- */
33
- export declare function readSignals(signalDir: string): AgentSignals;
34
- //# sourceMappingURL=signals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/agents/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAgE7E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAqC3D"}
@@ -1,122 +0,0 @@
1
- /**
2
- * File-based signal IPC for agent communication.
3
- *
4
- * Shell commands (al-rerun, al-status, al-return, al-exit) write
5
- * signal files to $AL_SIGNAL_DIR. Runners read them after the session ends
6
- * via readSignals(). In container mode, commands also POST to $GATEWAY_URL
7
- * for real-time TUI updates.
8
- */
9
- import { mkdirSync, writeFileSync, readFileSync, existsSync } from "fs";
10
- import { join, dirname } from "path";
11
- import { fileURLToPath } from "url";
12
- /**
13
- * Ensure the signal directory exists and clean any stale signal files.
14
- * Scripts are baked into the image at /app/bin/ — this only creates the
15
- * per-run signal directory.
16
- */
17
- export function ensureSignalDir(signalDir) {
18
- mkdirSync(signalDir, { recursive: true });
19
- }
20
- /**
21
- * Install signal shell commands into a bin directory.
22
- * The bin dir should be prepended to PATH so agents can use these commands.
23
- *
24
- * In container mode, scripts are baked into the image at /app/bin/ and this
25
- * function is not called. It remains for host-mode agent runners.
26
- */
27
- export function installSignalCommands(binDir, signalDir) {
28
- mkdirSync(binDir, { recursive: true });
29
- mkdirSync(signalDir, { recursive: true });
30
- // al-rerun — request an immediate rerun
31
- const alRerun = `#!/bin/sh
32
- touch "$AL_SIGNAL_DIR/rerun"
33
- if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
34
- curl -s -X POST "$GATEWAY_URL/signals/rerun" \\
35
- -H 'Content-Type: application/json' \\
36
- -d '{"secret":"'"$SHUTDOWN_SECRET"'"}' > /dev/null 2>&1 || true
37
- fi
38
- echo '{"ok":true}'
39
- `;
40
- // al-status — update status text
41
- const alStatus = `#!/bin/sh
42
- if [ -z "$1" ]; then echo '{"ok":false,"error":"usage: al-status \\"<text>\\""}'; exit 1; fi
43
- printf '%s' "$1" > "$AL_SIGNAL_DIR/status"
44
- if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
45
- curl -s -X POST "$GATEWAY_URL/signals/status" \\
46
- -H 'Content-Type: application/json' \\
47
- -d "$(printf '{"secret":"%s","text":"%s"}' "$SHUTDOWN_SECRET" "$1")" > /dev/null 2>&1 || true
48
- fi
49
- echo '{"ok":true}'
50
- `;
51
- // al-return — return a value to the calling agent (arg or stdin)
52
- const alReturn = `#!/bin/sh
53
- if [ $# -gt 0 ]; then
54
- VALUE="$*"
55
- else
56
- VALUE=$(cat)
57
- fi
58
- printf '%s' "$VALUE" > "$AL_SIGNAL_DIR/return"
59
- if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
60
- PAYLOAD=$(printf '{"secret":"%s","value":%s}' "$SHUTDOWN_SECRET" "$(printf '%s' "$VALUE" | jq -Rs .)")
61
- curl -s -X POST "$GATEWAY_URL/signals/return" \\
62
- -H 'Content-Type: application/json' \\
63
- -d "$PAYLOAD" > /dev/null 2>&1 || true
64
- fi
65
- echo '{"ok":true}'
66
- `;
67
- // al-exit — terminate with an exit code
68
- // Uses string concatenation to avoid template literal ${} conflicts
69
- const alExit = [
70
- "#!/bin/sh",
71
- 'CODE="${1:-15}"',
72
- "printf '%s' \"$CODE\" > \"$AL_SIGNAL_DIR/exit\"",
73
- "echo '{\"ok\":true}'",
74
- "",
75
- ].join("\n");
76
- writeFileSync(join(binDir, "al-rerun"), alRerun, { mode: 0o755 });
77
- writeFileSync(join(binDir, "al-status"), alStatus, { mode: 0o755 });
78
- writeFileSync(join(binDir, "al-return"), alReturn, { mode: 0o755 });
79
- writeFileSync(join(binDir, "al-exit"), alExit, { mode: 0o755 });
80
- // Copy environment helper scripts from docker/bin/ (included in the npm package).
81
- const thisDir = dirname(fileURLToPath(import.meta.url));
82
- const packageRoot = join(thisDir, "..", "..");
83
- const exportSrc = join(packageRoot, "docker", "bin", "al-export");
84
- writeFileSync(join(binDir, "al-export"), readFileSync(exportSrc), { mode: 0o755 });
85
- }
86
- /**
87
- * Read signal files written by the shell commands.
88
- * Call this after the agent session ends.
89
- */
90
- export function readSignals(signalDir) {
91
- const signals = {
92
- rerun: false,
93
- };
94
- if (!existsSync(signalDir)) {
95
- return signals;
96
- }
97
- // rerun
98
- if (existsSync(join(signalDir, "rerun"))) {
99
- signals.rerun = true;
100
- }
101
- // status
102
- const statusPath = join(signalDir, "status");
103
- if (existsSync(statusPath)) {
104
- signals.status = readFileSync(statusPath, "utf-8").trim();
105
- }
106
- // return value
107
- const returnPath = join(signalDir, "return");
108
- if (existsSync(returnPath)) {
109
- signals.returnValue = readFileSync(returnPath, "utf-8").trim();
110
- }
111
- // exit code
112
- const exitPath = join(signalDir, "exit");
113
- if (existsSync(exitPath)) {
114
- const raw = readFileSync(exitPath, "utf-8").trim();
115
- const code = parseInt(raw, 10);
116
- if (!isNaN(code)) {
117
- signals.exitCode = code;
118
- }
119
- }
120
- return signals;
121
- }
122
- //# sourceMappingURL=signals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/agents/signals.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare function init(_opts: {
2
- project: string;
3
- }): Promise<void>;
4
- //# sourceMappingURL=claude.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claude.ts"],"names":[],"mappings":"AAAA,wBAAsB,IAAI,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE"}
@@ -1,6 +0,0 @@
1
- export async function init(_opts) {
2
- console.log("To install Action Llama skills for Claude Code, run:\n");
3
- console.log(" npx skills add Action-Llama/skill\n");
4
- console.log("This installs the al plugin with skills for creating, running, and debugging agents.");
5
- }
6
- //# sourceMappingURL=claude.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/cli/commands/claude.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAA0B;IACnD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;AACtG,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Hidden `_run-agent` subcommand — entry point for host-user mode.
3
- *
4
- * Invoked by HostUserRuntime as: sudo -u <user> al _run-agent <agent> --project <dir>
5
- *
6
- * Reuses the same agent harness as container-entry.ts but:
7
- * - Reads credentials from AL_CREDENTIALS_PATH (not /credentials)
8
- * - Runs in AL_WORK_DIR (not /tmp)
9
- * - No Docker, no image, no volume mounts
10
- */
11
- export declare function execute(agent: string, opts: {
12
- project: string;
13
- }): Promise<void>;
14
- //# sourceMappingURL=run-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuHH,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6KrF"}
@@ -1,270 +0,0 @@
1
- /**
2
- * Hidden `_run-agent` subcommand — entry point for host-user mode.
3
- *
4
- * Invoked by HostUserRuntime as: sudo -u <user> al _run-agent <agent> --project <dir>
5
- *
6
- * Reuses the same agent harness as container-entry.ts but:
7
- * - Reads credentials from AL_CREDENTIALS_PATH (not /credentials)
8
- * - Runs in AL_WORK_DIR (not /tmp)
9
- * - No Docker, no image, no volume mounts
10
- */
11
- import { existsSync, readFileSync, readdirSync, statSync, mkdirSync, writeFileSync } from "fs";
12
- import { resolve, dirname } from "path";
13
- import { fileURLToPath } from "url";
14
- import { setMaxListeners } from "node:events";
15
- import { loadAgentConfig, loadAgentBody, loadGlobalConfig } from "../../shared/config.js";
16
- import { DEFAULT_AGENT_TIMEOUT } from "../../shared/constants.js";
17
- import { parseCredentialRef } from "../../shared/credentials.js";
18
- import { builtinCredentials } from "../../credentials/builtins/index.js";
19
- import { buildPromptSkeleton } from "../../agents/prompt.js";
20
- import { resolveHarnessEnv } from "../../agents/credential-setup.js";
21
- // The pi library creates AbortSignals shared across parallel tool/API calls,
22
- // which accumulate >10 abort listeners and trigger a benign Node.js warning.
23
- // Patch AbortController to raise the limit on every new signal.
24
- const _OrigAC = globalThis.AbortController;
25
- globalThis.AbortController = class extends _OrigAC {
26
- constructor() { super(); setMaxListeners(20, this.signal); }
27
- };
28
- function emitLog(level, msg, data) {
29
- console.log(JSON.stringify({ _log: true, level, msg, ...data, ts: Date.now() }));
30
- }
31
- function loadCredentialsFromPath(credPath) {
32
- const bundle = {};
33
- for (const type of readdirSync(credPath)) {
34
- const typePath = `${credPath}/${type}`;
35
- try {
36
- if (!statSync(typePath).isDirectory())
37
- continue;
38
- }
39
- catch {
40
- continue;
41
- }
42
- bundle[type] = {};
43
- for (const instance of readdirSync(typePath)) {
44
- const instPath = `${typePath}/${instance}`;
45
- try {
46
- if (!statSync(instPath).isDirectory())
47
- continue;
48
- }
49
- catch {
50
- continue;
51
- }
52
- bundle[type][instance] = {};
53
- for (const field of readdirSync(instPath)) {
54
- bundle[type][instance][field] = readFileSync(`${instPath}/${field}`, "utf-8").trim();
55
- }
56
- }
57
- }
58
- return bundle;
59
- }
60
- function loadAndInjectCredentials(agentConfig, credPath) {
61
- const bundle = loadCredentialsFromPath(credPath);
62
- emitLog("info", "credentials loaded from host-user staging dir");
63
- // Load provider API keys
64
- const providerKeys = new Map();
65
- for (const mc of agentConfig.models) {
66
- if (mc.authType === "pi_auth")
67
- continue;
68
- const credType = `${mc.provider}_key`;
69
- if (providerKeys.has(mc.provider))
70
- continue;
71
- const key = bundle[credType]?.default?.token;
72
- if (key)
73
- providerKeys.set(mc.provider, key);
74
- }
75
- if (providerKeys.size === 0 && agentConfig.models.every((m) => m.authType !== "pi_auth")) {
76
- throw new Error("missing provider API key credentials");
77
- }
78
- // Inject env vars from credential definitions
79
- for (const credRef of agentConfig.credentials) {
80
- const { type, instance } = parseCredentialRef(credRef);
81
- const def = builtinCredentials[type];
82
- if (!def?.envVars)
83
- continue;
84
- const fields = bundle[type]?.[instance] || {};
85
- for (const [fieldName, envVar] of Object.entries(def.envVars)) {
86
- if (fields[fieldName]) {
87
- process.env[envVar] = fields[fieldName];
88
- }
89
- }
90
- if (type === "github_token" && fields.token) {
91
- process.env.GH_TOKEN = fields.token;
92
- }
93
- }
94
- // Git HTTPS credential helper
95
- if (process.env.GITHUB_TOKEN) {
96
- process.env.GIT_TERMINAL_PROMPT = "0";
97
- const idx = parseInt(process.env.GIT_CONFIG_COUNT || "0", 10);
98
- process.env.GIT_CONFIG_COUNT = String(idx + 1);
99
- process.env[`GIT_CONFIG_KEY_${idx}`] = "credential.helper";
100
- process.env[`GIT_CONFIG_VALUE_${idx}`] = `!f() { echo username=x-access-token; echo password=$GITHUB_TOKEN; }; f`;
101
- emitLog("info", "git HTTPS credential helper configured");
102
- }
103
- // SSH key setup
104
- const gitSshRef = agentConfig.credentials.find((ref) => parseCredentialRef(ref).type === "git_ssh");
105
- if (gitSshRef) {
106
- const { instance } = parseCredentialRef(gitSshRef);
107
- const sshKey = bundle.git_ssh?.[instance]?.id_rsa;
108
- if (sshKey) {
109
- const sshDir = resolve(process.env.AL_WORK_DIR || "/tmp", ".ssh");
110
- mkdirSync(sshDir, { recursive: true, mode: 0o700 });
111
- const keyPath = `${sshDir}/id_rsa`;
112
- writeFileSync(keyPath, sshKey + "\n", { mode: 0o600 });
113
- process.env.GIT_SSH_COMMAND = `ssh -i "${keyPath}" -o StrictHostKeyChecking=accept-new -o IdentitiesOnly=yes`;
114
- emitLog("info", "SSH key configured for git");
115
- }
116
- const gitName = bundle.git_ssh?.[instance]?.username;
117
- if (gitName) {
118
- process.env.GIT_AUTHOR_NAME = gitName;
119
- process.env.GIT_COMMITTER_NAME = gitName;
120
- }
121
- const gitEmail = bundle.git_ssh?.[instance]?.email;
122
- if (gitEmail) {
123
- process.env.GIT_AUTHOR_EMAIL = gitEmail;
124
- process.env.GIT_COMMITTER_EMAIL = gitEmail;
125
- }
126
- }
127
- return providerKeys;
128
- }
129
- export async function execute(agent, opts) {
130
- const projectPath = resolve(opts.project);
131
- const credPath = process.env.AL_CREDENTIALS_PATH;
132
- const workDir = process.env.AL_WORK_DIR;
133
- if (!credPath) {
134
- throw new Error("AL_CREDENTIALS_PATH not set — this command should be invoked by HostUserRuntime");
135
- }
136
- // Set working directory
137
- if (workDir) {
138
- process.chdir(workDir);
139
- process.env.HOME = workDir;
140
- }
141
- // Scope the legacy shell export file to this agent instance.
142
- // In Docker, /tmp/env.sh is fine because each container is isolated.
143
- // In host-user mode, all instances share /tmp, so we must scope per-run.
144
- const envFile = resolve(workDir || "/tmp", ".env.sh");
145
- process.env.AL_ENV_FILE = envFile;
146
- // Add bin scripts (rlock, al-status, etc.) to PATH so the agent can find them.
147
- // In Docker these live at /app/bin; in host-user mode we resolve from the package.
148
- const binDir = resolve(dirname(fileURLToPath(import.meta.url)), "../../../docker/bin");
149
- if (existsSync(binDir)) {
150
- process.env.PATH = `${binDir}:${process.env.PATH || ""}`;
151
- }
152
- emitLog("info", "host-user agent starting", { agent, workDir, credPath });
153
- // Load agent config from project
154
- const agentConfig = loadAgentConfig(projectPath, agent);
155
- const skillBody = loadAgentBody(projectPath, agent);
156
- const globalConfig = loadGlobalConfig(projectPath);
157
- const timeoutSeconds = agentConfig.timeout ?? globalConfig.local?.timeout ?? DEFAULT_AGENT_TIMEOUT;
158
- // Load and inject credentials
159
- const providerKeys = loadAndInjectCredentials(agentConfig, credPath);
160
- // Container-level timeout — self-terminates even if scheduler dies
161
- const timer = setTimeout(() => {
162
- emitLog("error", "agent timeout reached, self-terminating", { timeoutSeconds });
163
- process.exit(124);
164
- }, timeoutSeconds * 1000);
165
- timer.unref();
166
- // Wait for gateway if configured
167
- const gatewayUrl = process.env.GATEWAY_URL;
168
- if (gatewayUrl) {
169
- const maxAttempts = 30;
170
- for (let i = 0; i < maxAttempts; i++) {
171
- try {
172
- const res = await fetch(`${gatewayUrl}/health`, { signal: AbortSignal.timeout(2000) });
173
- if (res.ok)
174
- break;
175
- }
176
- catch { /* retry */ }
177
- await new Promise((r) => setTimeout(r, 500));
178
- }
179
- }
180
- // Run pre hooks
181
- if (agentConfig.hooks?.pre && agentConfig.hooks.pre.length > 0) {
182
- const { runHooks } = await import("../../hooks/runner.js");
183
- await runHooks(agentConfig.hooks.pre, "pre", {
184
- env: { ...process.env },
185
- logger: emitLog,
186
- });
187
- }
188
- // Process context injection
189
- const { processContextInjection } = await import("../../agents/context-injection.js");
190
- const processedBody = processContextInjection(skillBody || `# ${agentConfig.name} Agent\n\nCustom agent.\n`, { ...process.env });
191
- // Build prompt
192
- const skills = { locking: !!gatewayUrl, hostUser: true };
193
- const skeleton = buildPromptSkeleton(agentConfig, skills);
194
- const dynamicSuffix = process.env.PROMPT || "";
195
- const fullPrompt = dynamicSuffix ? `${skeleton}\n\n${dynamicSuffix}` : skeleton;
196
- // Set up agent session
197
- const { DefaultResourceLoader, SettingsManager, } = await import("@mariozechner/pi-coding-agent");
198
- const { ensureSignalDir, readSignals } = await import("../../agents/signals.js");
199
- const { getExitCodeMessage } = await import("../../shared/exit-codes.js");
200
- const { consumeHarness, createHarness } = await import("../../agents/harness/index.js");
201
- // Signal directory
202
- const signalDir = resolve(workDir || "/tmp", "signals");
203
- ensureSignalDir(signalDir);
204
- process.env.AL_SIGNAL_DIR = signalDir;
205
- const cwd = workDir || "/tmp";
206
- const resourceLoader = new DefaultResourceLoader({
207
- noExtensions: true,
208
- agentsFilesOverride: () => ({
209
- agentsFiles: [{ path: "/tmp/SKILL.md", content: processedBody }],
210
- }),
211
- });
212
- await resourceLoader.reload();
213
- const settingsManager = SettingsManager.inMemory({
214
- compaction: { enabled: true },
215
- retry: { enabled: true, maxRetries: 2 },
216
- });
217
- const harness = createHarness(agentConfig, {
218
- resourceLoader,
219
- settingsManager,
220
- providerKeys,
221
- });
222
- let abortedDueToErrors = false;
223
- const loopResult = await consumeHarness(harness, harness.run(fullPrompt, {
224
- cwd,
225
- env: {
226
- ...resolveHarnessEnv(agentConfig, providerKeys),
227
- },
228
- }), {
229
- log: emitLog,
230
- onUnrecoverableAbort: () => { abortedDueToErrors = true; },
231
- });
232
- const { outputText } = loopResult;
233
- clearTimeout(timer);
234
- // Post hooks
235
- if (agentConfig.hooks?.post && agentConfig.hooks.post.length > 0) {
236
- try {
237
- const { runHooks } = await import("../../hooks/runner.js");
238
- await runHooks(agentConfig.hooks.post, "post", {
239
- env: { ...process.env },
240
- logger: emitLog,
241
- });
242
- }
243
- catch (err) {
244
- emitLog("error", "post hook failed", { error: err?.message });
245
- }
246
- }
247
- if (abortedDueToErrors)
248
- process.exit(1);
249
- if (loopResult.allModelsExhausted) {
250
- emitLog("error", "all models exhausted — rate limited across all retries");
251
- process.exit(12);
252
- }
253
- // Read signals
254
- const signals = readSignals(signalDir);
255
- if (signals.exitCode !== undefined) {
256
- const reason = getExitCodeMessage(signals.exitCode);
257
- emitLog("info", "signal-result", { type: "exit", exitCode: signals.exitCode, reason });
258
- process.exit(signals.exitCode);
259
- }
260
- if (signals.rerun) {
261
- emitLog("info", "signal-result", { type: "rerun" });
262
- process.exit(42);
263
- }
264
- if (signals.returnValue !== undefined) {
265
- emitLog("info", "signal-result", { type: "return", value: signals.returnValue.slice(0, 1000) });
266
- }
267
- emitLog("info", "run completed", { outputLength: outputText.length });
268
- process.exit(0);
269
- }
270
- //# sourceMappingURL=run-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../../src/cli/commands/run-agent.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Google Cloud Run Jobs runtime.
3
- * Implements Runtime and ContainerRuntime by launching agents as Cloud Run Jobs.
4
- */
5
- import type { Runtime, ContainerRuntime, RuntimeLaunchOpts, RuntimeCredentials, BuildImageOpts, RunningAgent } from "./runtime.js";
6
- import type { GcpAuth } from "../cloud/gcp/auth.js";
7
- export interface CloudRunRuntimeConfig {
8
- auth: GcpAuth;
9
- project: string;
10
- region: string;
11
- artifactRegistry: string;
12
- serviceAccount?: string;
13
- }
14
- export declare class CloudRunRuntime implements Runtime, ContainerRuntime {
15
- readonly needsGateway = true;
16
- private config;
17
- /** Map from jobId -> executionName (to support waitForExit) */
18
- private executionNames;
19
- constructor(config: CloudRunRuntimeConfig);
20
- private get auth();
21
- private get project();
22
- private get region();
23
- private get artifactRegistry();
24
- prepareCredentials(credRefs: string[]): Promise<RuntimeCredentials>;
25
- cleanupCredentials(creds: RuntimeCredentials): void;
26
- buildImage(opts: BuildImageOpts): Promise<string>;
27
- pushImage(localImage: string): Promise<string>;
28
- private _dockerExec;
29
- launch(opts: RuntimeLaunchOpts): Promise<string>;
30
- isAgentRunning(agentName: string): Promise<boolean>;
31
- listRunningAgents(): Promise<RunningAgent[]>;
32
- kill(runId: string): Promise<void>;
33
- remove(runId: string): Promise<void>;
34
- streamLogs(runId: string, onLine: (line: string) => void, _onStderr?: (text: string) => void): {
35
- stop: () => void;
36
- };
37
- waitForExit(runId: string, timeoutSeconds: number): Promise<number>;
38
- private _extractExitCode;
39
- fetchLogs(agentName: string, limit: number, _taskId?: string): Promise<string[]>;
40
- followLogs(agentName: string, onLine: (line: string) => void, onStderr?: (text: string) => void, _taskId?: string): {
41
- stop: () => void;
42
- };
43
- getTaskUrl(runId: string): string | null;
44
- inspectContainer(_containerName: string): Promise<{
45
- env: Record<string, string>;
46
- } | null>;
47
- }
48
- //# sourceMappingURL=cloud-run-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-run-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/cloud-run-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACd,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqCpD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAaD,qBAAa,eAAgB,YAAW,OAAO,EAAE,gBAAgB;IAC/D,QAAQ,CAAC,YAAY,QAAQ;IAE7B,OAAO,CAAC,MAAM,CAAwB;IACtC,+DAA+D;IAC/D,OAAO,CAAC,cAAc,CAA6B;gBAEvC,MAAM,EAAE,qBAAqB;IAIzC,OAAO,KAAK,IAAI,GAA+B;IAC/C,OAAO,KAAK,OAAO,GAAkC;IACrD,OAAO,KAAK,MAAM,GAAiC;IACnD,OAAO,KAAK,gBAAgB,GAA2C;IAIjE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsCzE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAW7C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA+GjD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBpD,OAAO,CAAC,WAAW;IAeb,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiEhD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiC5C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,UAAU,CACR,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACjC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAmCjB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAmB3D,gBAAgB;IA+BxB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BtF,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,CAAC,EAAE,MAAM,GACf;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAyCvB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIlC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;CAKhG"}