@action-llama/action-llama 0.9.2 → 0.10.1

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 (188) hide show
  1. package/AGENTS.md +56 -28
  2. package/README.md +1 -1
  3. package/dist/agents/container-entry.d.ts +31 -0
  4. package/dist/agents/container-entry.d.ts.map +1 -1
  5. package/dist/agents/container-entry.js +83 -62
  6. package/dist/agents/container-entry.js.map +1 -1
  7. package/dist/agents/container-runner.d.ts +3 -4
  8. package/dist/agents/container-runner.d.ts.map +1 -1
  9. package/dist/agents/container-runner.js +21 -33
  10. package/dist/agents/container-runner.js.map +1 -1
  11. package/dist/agents/execution-engine.d.ts +17 -0
  12. package/dist/agents/execution-engine.d.ts.map +1 -0
  13. package/dist/agents/execution-engine.js +196 -0
  14. package/dist/agents/execution-engine.js.map +1 -0
  15. package/dist/agents/git-environment.d.ts +18 -0
  16. package/dist/agents/git-environment.d.ts.map +1 -0
  17. package/dist/agents/git-environment.js +63 -0
  18. package/dist/agents/git-environment.js.map +1 -0
  19. package/dist/agents/lambda-handler.d.ts +2 -5
  20. package/dist/agents/lambda-handler.d.ts.map +1 -1
  21. package/dist/agents/lambda-handler.js +9 -10
  22. package/dist/agents/lambda-handler.js.map +1 -1
  23. package/dist/agents/prompt.d.ts +4 -2
  24. package/dist/agents/prompt.d.ts.map +1 -1
  25. package/dist/agents/prompt.js +57 -5
  26. package/dist/agents/prompt.js.map +1 -1
  27. package/dist/agents/runner.d.ts +7 -1
  28. package/dist/agents/runner.d.ts.map +1 -1
  29. package/dist/agents/runner.js +54 -25
  30. package/dist/agents/runner.js.map +1 -1
  31. package/dist/agents/signals.d.ts +34 -0
  32. package/dist/agents/signals.d.ts.map +1 -0
  33. package/dist/agents/signals.js +116 -0
  34. package/dist/agents/signals.js.map +1 -0
  35. package/dist/agents/status-reporter.d.ts +34 -0
  36. package/dist/agents/status-reporter.d.ts.map +1 -0
  37. package/dist/agents/status-reporter.js +64 -0
  38. package/dist/agents/status-reporter.js.map +1 -0
  39. package/dist/cli/commands/chat.js +2 -2
  40. package/dist/cli/commands/chat.js.map +1 -1
  41. package/dist/cli/commands/creds.js +3 -3
  42. package/dist/cli/commands/creds.js.map +1 -1
  43. package/dist/cli/commands/doctor.js +3 -3
  44. package/dist/cli/commands/doctor.js.map +1 -1
  45. package/dist/cli/commands/kill.d.ts +4 -0
  46. package/dist/cli/commands/kill.d.ts.map +1 -0
  47. package/dist/cli/commands/kill.js +30 -0
  48. package/dist/cli/commands/kill.js.map +1 -0
  49. package/dist/cli/commands/new.js +2 -2
  50. package/dist/cli/commands/new.js.map +1 -1
  51. package/dist/cli/commands/pause.d.ts +4 -0
  52. package/dist/cli/commands/pause.d.ts.map +1 -0
  53. package/dist/cli/commands/pause.js +30 -0
  54. package/dist/cli/commands/pause.js.map +1 -0
  55. package/dist/cli/commands/resume.d.ts +4 -0
  56. package/dist/cli/commands/resume.d.ts.map +1 -0
  57. package/dist/cli/commands/resume.js +30 -0
  58. package/dist/cli/commands/resume.js.map +1 -0
  59. package/dist/cli/commands/run.d.ts +0 -1
  60. package/dist/cli/commands/run.d.ts.map +1 -1
  61. package/dist/cli/commands/run.js +7 -18
  62. package/dist/cli/commands/run.js.map +1 -1
  63. package/dist/cli/commands/start.d.ts +0 -1
  64. package/dist/cli/commands/start.d.ts.map +1 -1
  65. package/dist/cli/commands/start.js +7 -8
  66. package/dist/cli/commands/start.js.map +1 -1
  67. package/dist/cli/commands/status.d.ts.map +1 -1
  68. package/dist/cli/commands/status.js +74 -0
  69. package/dist/cli/commands/status.js.map +1 -1
  70. package/dist/cli/main.js +27 -4
  71. package/dist/cli/main.js.map +1 -1
  72. package/dist/cloud/scheduler-image.d.ts.map +1 -1
  73. package/dist/cloud/scheduler-image.js +9 -3
  74. package/dist/cloud/scheduler-image.js.map +1 -1
  75. package/dist/credentials/prompter.js +3 -3
  76. package/dist/credentials/prompter.js.map +1 -1
  77. package/dist/docker/aws-shared.d.ts.map +1 -1
  78. package/dist/docker/aws-shared.js +42 -19
  79. package/dist/docker/aws-shared.js.map +1 -1
  80. package/dist/docker/lambda-runtime.d.ts +2 -0
  81. package/dist/docker/lambda-runtime.d.ts.map +1 -1
  82. package/dist/docker/lambda-runtime.js +40 -14
  83. package/dist/docker/lambda-runtime.js.map +1 -1
  84. package/dist/docker/local-runtime.d.ts +2 -0
  85. package/dist/docker/local-runtime.d.ts.map +1 -1
  86. package/dist/docker/local-runtime.js +31 -0
  87. package/dist/docker/local-runtime.js.map +1 -1
  88. package/dist/docker/runtime.d.ts +4 -0
  89. package/dist/docker/runtime.d.ts.map +1 -1
  90. package/dist/gateway/call-store.d.ts +39 -0
  91. package/dist/gateway/call-store.d.ts.map +1 -0
  92. package/dist/gateway/call-store.js +101 -0
  93. package/dist/gateway/call-store.js.map +1 -0
  94. package/dist/gateway/index.d.ts +8 -0
  95. package/dist/gateway/index.d.ts.map +1 -1
  96. package/dist/gateway/index.js +23 -2
  97. package/dist/gateway/index.js.map +1 -1
  98. package/dist/gateway/routes/calls.d.ts +17 -0
  99. package/dist/gateway/routes/calls.d.ts.map +1 -0
  100. package/dist/gateway/routes/calls.js +63 -0
  101. package/dist/gateway/routes/calls.js.map +1 -0
  102. package/dist/gateway/routes/control.d.ts +10 -0
  103. package/dist/gateway/routes/control.d.ts.map +1 -0
  104. package/dist/gateway/routes/control.js +64 -0
  105. package/dist/gateway/routes/control.js.map +1 -0
  106. package/dist/gateway/routes/locks.d.ts.map +1 -1
  107. package/dist/gateway/routes/locks.js +12 -0
  108. package/dist/gateway/routes/locks.js.map +1 -1
  109. package/dist/gateway/routes/signals.d.ts +11 -0
  110. package/dist/gateway/routes/signals.d.ts.map +1 -0
  111. package/dist/gateway/routes/signals.js +103 -0
  112. package/dist/gateway/routes/signals.js.map +1 -0
  113. package/dist/gateway/types.d.ts +16 -0
  114. package/dist/gateway/types.d.ts.map +1 -1
  115. package/dist/scheduler/config-validator.d.ts +18 -0
  116. package/dist/scheduler/config-validator.d.ts.map +1 -0
  117. package/dist/scheduler/config-validator.js +53 -0
  118. package/dist/scheduler/config-validator.js.map +1 -0
  119. package/dist/scheduler/cron-manager.d.ts +14 -0
  120. package/dist/scheduler/cron-manager.d.ts.map +1 -0
  121. package/dist/scheduler/cron-manager.js +75 -0
  122. package/dist/scheduler/cron-manager.js.map +1 -0
  123. package/dist/scheduler/event-queue.d.ts +7 -4
  124. package/dist/scheduler/event-queue.d.ts.map +1 -1
  125. package/dist/scheduler/event-queue.js +4 -2
  126. package/dist/scheduler/event-queue.js.map +1 -1
  127. package/dist/scheduler/index.d.ts.map +1 -1
  128. package/dist/scheduler/index.js +126 -115
  129. package/dist/scheduler/index.js.map +1 -1
  130. package/dist/scheduler/runner-pool.d.ts +20 -0
  131. package/dist/scheduler/runner-pool.d.ts.map +1 -1
  132. package/dist/scheduler/runner-pool.js +32 -4
  133. package/dist/scheduler/runner-pool.js.map +1 -1
  134. package/dist/scheduler/runtime-factory.d.ts +11 -0
  135. package/dist/scheduler/runtime-factory.d.ts.map +1 -0
  136. package/dist/scheduler/runtime-factory.js +98 -0
  137. package/dist/scheduler/runtime-factory.js.map +1 -0
  138. package/dist/scheduler/shutdown-handler.d.ts +16 -0
  139. package/dist/scheduler/shutdown-handler.d.ts.map +1 -0
  140. package/dist/scheduler/shutdown-handler.js +44 -0
  141. package/dist/scheduler/shutdown-handler.js.map +1 -0
  142. package/dist/scheduler/trigger-dispatcher.d.ts +12 -0
  143. package/dist/scheduler/trigger-dispatcher.d.ts.map +1 -0
  144. package/dist/scheduler/trigger-dispatcher.js +46 -0
  145. package/dist/scheduler/trigger-dispatcher.js.map +1 -0
  146. package/dist/scheduler/types.d.ts +8 -0
  147. package/dist/scheduler/types.d.ts.map +1 -1
  148. package/dist/scheduler/webhook-setup.d.ts +28 -0
  149. package/dist/scheduler/webhook-setup.d.ts.map +1 -0
  150. package/dist/scheduler/webhook-setup.js +146 -0
  151. package/dist/scheduler/webhook-setup.js.map +1 -0
  152. package/dist/setup/prompts.js +4 -4
  153. package/dist/setup/prompts.js.map +1 -1
  154. package/dist/shared/config.d.ts +4 -0
  155. package/dist/shared/config.d.ts.map +1 -1
  156. package/dist/shared/config.js.map +1 -1
  157. package/dist/shared/credentials.d.ts +11 -31
  158. package/dist/shared/credentials.d.ts.map +1 -1
  159. package/dist/shared/credentials.js +22 -87
  160. package/dist/shared/credentials.js.map +1 -1
  161. package/dist/shared/exit-codes.d.ts +18 -0
  162. package/dist/shared/exit-codes.d.ts.map +1 -0
  163. package/dist/shared/exit-codes.js +40 -0
  164. package/dist/shared/exit-codes.js.map +1 -0
  165. package/dist/shared/filesystem-backend.d.ts +4 -0
  166. package/dist/shared/filesystem-backend.d.ts.map +1 -1
  167. package/dist/shared/filesystem-backend.js +35 -0
  168. package/dist/shared/filesystem-backend.js.map +1 -1
  169. package/dist/tui/status-tracker.d.ts +23 -0
  170. package/dist/tui/status-tracker.d.ts.map +1 -1
  171. package/dist/tui/status-tracker.js +36 -0
  172. package/dist/tui/status-tracker.js.map +1 -1
  173. package/docker/Dockerfile +6 -8
  174. package/docker/bin/al-call +8 -0
  175. package/docker/bin/al-check +4 -0
  176. package/docker/bin/al-exit +4 -0
  177. package/docker/bin/al-rerun +8 -0
  178. package/docker/bin/al-return +14 -0
  179. package/docker/bin/al-shutdown +5 -0
  180. package/docker/bin/al-status +9 -0
  181. package/docker/bin/al-wait +29 -0
  182. package/docker/bin/rlock +5 -0
  183. package/docker/bin/rlock-heartbeat +5 -0
  184. package/docker/bin/runlock +5 -0
  185. package/package.json +1 -1
  186. package/skills/environment.md +1 -1
  187. package/skills/resource-locks.md +1 -1
  188. package/skills/signals.md +67 -25
@@ -1,9 +1,7 @@
1
1
  import { randomUUID } from "crypto";
2
2
  export class ContainerAgentRunner {
3
3
  _running = false;
4
- _wantsRerun = false;
5
- _triggers = [];
6
- _triggerAccum = null;
4
+ _returnValue = undefined;
7
5
  runtime;
8
6
  globalConfig;
9
7
  agentConfig;
@@ -31,6 +29,12 @@ export class ContainerAgentRunner {
31
29
  get isRunning() {
32
30
  return this._running;
33
31
  }
32
+ abort() {
33
+ this.logger.info("Container agent runner abort requested");
34
+ // For container runners, we'd need to kill the container
35
+ // This is a placeholder - a full implementation would need to track
36
+ // the running container and kill it
37
+ }
34
38
  forwardLogLine(line) {
35
39
  if (!line.trim())
36
40
  return;
@@ -74,31 +78,18 @@ export class ContainerAgentRunner {
74
78
  catch {
75
79
  // Not JSON — treat as plain output
76
80
  }
77
- // Detect [STATUS: <text>] in plain output
78
- const statusMatch = line.match(/\[STATUS:\s*([^\]]+)\]/);
79
- if (statusMatch) {
80
- this.statusTracker?.setAgentStatusText(this.agentConfig.name, statusMatch[1].trim());
81
- }
82
- if (line === "[RERUN]") {
83
- this._wantsRerun = true;
84
- this.logger.info("rerun requested");
85
- this.statusTracker?.addLogLine(this.agentConfig.name, "rerun requested");
86
- }
87
- // Accumulate [TRIGGER: agent]...[/TRIGGER] blocks across lines
88
- const triggerOpen = line.match(/^\[TRIGGER:\s*(\S+)\]$/);
89
- if (triggerOpen) {
90
- this._triggerAccum = { agent: triggerOpen[1], lines: [] };
91
- return;
92
- }
93
- if (this._triggerAccum) {
94
- if (line === "[/TRIGGER]") {
95
- this._triggers.push({ agent: this._triggerAccum.agent, context: this._triggerAccum.lines.join("\n").trim() });
96
- this._triggerAccum = null;
97
- }
98
- else {
99
- this._triggerAccum.lines.push(line);
81
+ // Detect structured signal-result logs for return values
82
+ try {
83
+ const parsed = JSON.parse(line);
84
+ if (parsed._log && parsed.msg === "signal-result") {
85
+ if (parsed.type === "return" && parsed.value) {
86
+ this._returnValue = parsed.value;
87
+ }
100
88
  }
101
89
  }
90
+ catch {
91
+ // Not JSON — plain output, nothing to detect
92
+ }
102
93
  }
103
94
  async run(prompt, triggerInfo) {
104
95
  if (this._running) {
@@ -116,9 +107,7 @@ export class ContainerAgentRunner {
116
107
  // Best-effort check — proceed if it fails
117
108
  }
118
109
  this._running = true;
119
- this._wantsRerun = false;
120
- this._triggers = [];
121
- this._triggerAccum = null;
110
+ this._returnValue = undefined;
122
111
  const runReason = triggerInfo
123
112
  ? (triggerInfo.source
124
113
  ? (triggerInfo.type === 'agent' ? `triggered by ${triggerInfo.source}` : `${triggerInfo.type} (${triggerInfo.source})`)
@@ -195,8 +184,7 @@ export class ContainerAgentRunner {
195
184
  logStream.stop();
196
185
  logStream = undefined;
197
186
  if (exitCode === 42) {
198
- // Exit code 42 = rerun requested, used as out-of-band signal
199
- // to avoid race conditions with log-based [RERUN] detection
187
+ // Exit code 42 = rerun requested
200
188
  this.logger.info({ exitCode, elapsed: `${elapsed}s` }, "container finished (rerun requested)");
201
189
  runResult = "rerun";
202
190
  }
@@ -207,7 +195,7 @@ export class ContainerAgentRunner {
207
195
  }
208
196
  else {
209
197
  this.logger.info({ exitCode, elapsed: `${elapsed}s` }, "container finished");
210
- runResult = this._wantsRerun ? "rerun" : "completed";
198
+ runResult = "completed";
211
199
  }
212
200
  }
213
201
  catch (err) {
@@ -230,7 +218,7 @@ export class ContainerAgentRunner {
230
218
  this.statusTracker?.endRun(this.agentConfig.name, elapsed, runError);
231
219
  this._running = false;
232
220
  }
233
- return { result: runResult, triggers: this._triggers };
221
+ return { result: runResult, triggers: [], returnValue: this._returnValue };
234
222
  }
235
223
  }
236
224
  //# sourceMappingURL=container-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-runner.js","sourceRoot":"","sources":["../../src/agents/container-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-runner.js","sourceRoot":"","sources":["../../src/agents/container-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AgentConfig } from "../shared/config.js";
2
+ import type { Logger } from "../shared/logger.js";
3
+ import type { StatusTracker } from "../tui/status-tracker.js";
4
+ export type RunResult = "completed" | "rerun" | "error";
5
+ export interface ExecutionResult {
6
+ result: RunResult;
7
+ outputText: string;
8
+ unrecoverableErrors: number;
9
+ }
10
+ export declare class ExecutionEngine {
11
+ private agentConfig;
12
+ private logger;
13
+ private statusTracker?;
14
+ constructor(agentConfig: AgentConfig, logger: Logger, statusTracker?: StatusTracker);
15
+ execute(prompt: string, cwd: string): Promise<ExecutionResult>;
16
+ }
17
+ //# sourceMappingURL=execution-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-engine.d.ts","sourceRoot":"","sources":["../../src/agents/execution-engine.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAmBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IAM7E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAsLrE"}
@@ -0,0 +1,196 @@
1
+ import { getModel } from "@mariozechner/pi-ai";
2
+ import { AuthStorage, createAgentSession, DefaultResourceLoader, SessionManager, SettingsManager, createCodingTools, } from "@mariozechner/pi-coding-agent";
3
+ import { readFileSync, existsSync, mkdtempSync, rmSync } from "fs";
4
+ import { resolve, join } from "path";
5
+ import { tmpdir } from "os";
6
+ import { loadCredentialField } from "../shared/credentials.js";
7
+ import { installSignalCommands, readSignals } from "./signals.js";
8
+ const UNRECOVERABLE_PATTERNS = [
9
+ "permission denied",
10
+ "could not read from remote repository",
11
+ "resource not accessible by personal access token",
12
+ "bad credentials",
13
+ "authentication failed",
14
+ "the requested url returned error: 403",
15
+ "denied to ",
16
+ ];
17
+ function isUnrecoverableError(text) {
18
+ const lower = text.toLowerCase();
19
+ return UNRECOVERABLE_PATTERNS.some((p) => lower.includes(p));
20
+ }
21
+ const UNRECOVERABLE_THRESHOLD = 3;
22
+ export class ExecutionEngine {
23
+ agentConfig;
24
+ logger;
25
+ statusTracker;
26
+ constructor(agentConfig, logger, statusTracker) {
27
+ this.agentConfig = agentConfig;
28
+ this.logger = logger;
29
+ this.statusTracker = statusTracker;
30
+ }
31
+ async execute(prompt, cwd) {
32
+ // Set up file-based signal IPC
33
+ const signalTmpDir = mkdtempSync(join(tmpdir(), "al-signals-"));
34
+ const signalDir = join(signalTmpDir, "signals");
35
+ const signalBinDir = join(signalTmpDir, "bin");
36
+ installSignalCommands(signalBinDir, signalDir);
37
+ const savedPath = process.env.PATH;
38
+ process.env.PATH = `${signalBinDir}:${process.env.PATH || ""}`;
39
+ process.env.AL_SIGNAL_DIR = signalDir;
40
+ const agentsFile = resolve(cwd, "ACTIONS.md");
41
+ const { model } = this.agentConfig;
42
+ // ACTIONS.md must exist on disk (written during al new)
43
+ if (!existsSync(agentsFile)) {
44
+ throw new Error(`ACTIONS.md not found at ${agentsFile}. Run 'al new' to create it.`);
45
+ }
46
+ const agentsContent = readFileSync(agentsFile, "utf-8");
47
+ const llmModel = getModel(model.provider, model.model);
48
+ const authStorage = AuthStorage.create();
49
+ if (model.authType !== "pi_auth") {
50
+ // Try to load API key using provider-specific credential type
51
+ const credentialType = `${model.provider}_key`;
52
+ try {
53
+ const credential = await loadCredentialField(credentialType, "default", "token");
54
+ if (credential) {
55
+ authStorage.setRuntimeApiKey(model.provider, credential);
56
+ this.logger.debug(`Loaded ${credentialType} credential for ${model.provider}`);
57
+ }
58
+ else {
59
+ this.logger.warn(`${credentialType} credential not found — agent may fail to authenticate. Run 'al doctor' to configure it.`);
60
+ }
61
+ }
62
+ catch (err) {
63
+ this.logger.warn(`Failed to load credential for provider ${model.provider}: ${credentialType} credential type may not be configured.`);
64
+ }
65
+ }
66
+ const resourceLoader = new DefaultResourceLoader({
67
+ noExtensions: true,
68
+ agentsFilesOverride: () => ({
69
+ agentsFiles: [
70
+ { path: agentsFile, content: agentsContent },
71
+ ],
72
+ }),
73
+ });
74
+ await resourceLoader.reload();
75
+ const settingsManager = SettingsManager.inMemory({
76
+ compaction: { enabled: true },
77
+ retry: { enabled: true, maxRetries: 2 },
78
+ });
79
+ const { session } = await createAgentSession({
80
+ cwd,
81
+ model: llmModel,
82
+ thinkingLevel: model.thinkingLevel,
83
+ authStorage,
84
+ resourceLoader,
85
+ tools: createCodingTools(cwd),
86
+ sessionManager: SessionManager.inMemory(),
87
+ settingsManager,
88
+ });
89
+ // Subscribe to events for logging
90
+ const pendingCmds = new Map();
91
+ let outputText = "";
92
+ let currentTurnText = "";
93
+ let unrecoverableErrors = 0;
94
+ session.subscribe((event) => {
95
+ if (event.type === "message_update" && event.assistantMessageEvent?.type === "text_delta") {
96
+ const delta = event.assistantMessageEvent.delta;
97
+ outputText += delta;
98
+ currentTurnText += delta;
99
+ }
100
+ if (event.type === "message_end") {
101
+ if (currentTurnText.trim()) {
102
+ this.logger.info({ text: currentTurnText.trim() }, "assistant");
103
+ }
104
+ currentTurnText = "";
105
+ }
106
+ if (event.type === "tool_execution_start") {
107
+ const cmd = String(event.args?.command || "");
108
+ if (event.toolName === "bash") {
109
+ pendingCmds.set(event.toolCallId, cmd);
110
+ this.logger.info({ cmd: cmd.slice(0, 200) }, "bash");
111
+ }
112
+ else {
113
+ this.logger.debug({ tool: event.toolName }, "tool start");
114
+ }
115
+ }
116
+ if (event.type === "tool_execution_end") {
117
+ const resultStr = typeof event.result === "string"
118
+ ? event.result
119
+ : JSON.stringify(event.result);
120
+ const originCmd = pendingCmds.get(event.toolCallId);
121
+ pendingCmds.delete(event.toolCallId);
122
+ if (event.isError) {
123
+ this.logger.error({ tool: event.toolName, result: resultStr.slice(0, 1000) }, "tool error");
124
+ // Extract a human-readable error message from the result
125
+ let errorMsg = resultStr;
126
+ try {
127
+ const parsed = JSON.parse(resultStr);
128
+ if (parsed?.content?.[0]?.text) {
129
+ errorMsg = parsed.content[0].text;
130
+ }
131
+ }
132
+ catch { /* use raw string */ }
133
+ const cmdPrefix = originCmd ? `$ ${originCmd.slice(0, 80)} — ` : "";
134
+ const detail = `${cmdPrefix}${errorMsg.slice(0, 200)}`;
135
+ this.statusTracker?.setAgentError(this.agentConfig.name, detail);
136
+ this.statusTracker?.addLogLine(this.agentConfig.name, `ERROR: ${detail}`);
137
+ if (isUnrecoverableError(errorMsg)) {
138
+ unrecoverableErrors++;
139
+ if (unrecoverableErrors >= UNRECOVERABLE_THRESHOLD) {
140
+ this.logger.error("Aborting: repeated auth/permission failures — check credentials");
141
+ this.statusTracker?.addLogLine(this.agentConfig.name, "ABORT: repeated auth/permission failures — check credentials");
142
+ session.dispose();
143
+ }
144
+ }
145
+ }
146
+ else {
147
+ this.logger.debug({ tool: event.toolName, resultLength: resultStr.length }, "tool done");
148
+ }
149
+ }
150
+ });
151
+ // Retry on rate limit errors with exponential backoff
152
+ const MAX_PROMPT_RETRIES = 5;
153
+ const DEFAULT_BACKOFF_MS = 30_000;
154
+ const MAX_BACKOFF_MS = 300_000;
155
+ for (let attempt = 0; attempt <= MAX_PROMPT_RETRIES; attempt++) {
156
+ try {
157
+ await session.prompt(prompt);
158
+ break;
159
+ }
160
+ catch (promptErr) {
161
+ const msg = String(promptErr?.message || promptErr || "");
162
+ const isRateLimit = msg.includes("rate_limit") || msg.includes("429") || msg.includes("529") || msg.includes("overloaded");
163
+ if (!isRateLimit || attempt === MAX_PROMPT_RETRIES) {
164
+ throw promptErr;
165
+ }
166
+ const delayMs = Math.min(DEFAULT_BACKOFF_MS * Math.pow(2, attempt), MAX_BACKOFF_MS);
167
+ this.logger.warn({ attempt: attempt + 1, delayMs }, "rate limited, retrying prompt");
168
+ this.statusTracker?.addLogLine(this.agentConfig.name, `Rate limited, retrying in ${Math.round(delayMs / 1000)}s...`);
169
+ await new Promise((r) => setTimeout(r, delayMs));
170
+ }
171
+ }
172
+ session.dispose();
173
+ // Read signal files
174
+ const signals = readSignals(signalDir);
175
+ // Clean up signal dir and restore PATH
176
+ if (savedPath !== undefined) {
177
+ process.env.PATH = savedPath;
178
+ }
179
+ delete process.env.AL_SIGNAL_DIR;
180
+ try {
181
+ rmSync(signalTmpDir, { recursive: true, force: true });
182
+ }
183
+ catch { /* best-effort */ }
184
+ let result;
185
+ if (signals.rerun) {
186
+ this.logger.info({ outputLength: outputText.length }, "run completed, rerun requested");
187
+ result = "rerun";
188
+ }
189
+ else {
190
+ this.logger.info({ outputLength: outputText.length }, "run completed");
191
+ result = "completed";
192
+ }
193
+ return { result, outputText, unrecoverableErrors };
194
+ }
195
+ }
196
+ //# sourceMappingURL=execution-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-engine.js","sourceRoot":"","sources":["../../src/agents/execution-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Logger } from "../shared/logger.js";
2
+ export interface SavedEnv {
3
+ [key: string]: string | undefined;
4
+ }
5
+ export declare class GitEnvironment {
6
+ private logger;
7
+ constructor(logger: Logger);
8
+ /**
9
+ * Sets up git environment variables from credentials
10
+ * Returns the previous values so they can be restored later
11
+ */
12
+ setup(credentials: string[]): Promise<SavedEnv>;
13
+ /**
14
+ * Restores git environment variables to their previous values
15
+ */
16
+ restore(saved: SavedEnv): void;
17
+ }
18
+ //# sourceMappingURL=git-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-environment.d.ts","sourceRoot":"","sources":["../../src/agents/git-environment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AASlD,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgCrD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAW/B"}
@@ -0,0 +1,63 @@
1
+ import { parseCredentialRef, loadCredentialField } from "../shared/credentials.js";
2
+ const GIT_ENV_KEYS = [
3
+ "GIT_AUTHOR_NAME",
4
+ "GIT_COMMITTER_NAME",
5
+ "GIT_AUTHOR_EMAIL",
6
+ "GIT_COMMITTER_EMAIL",
7
+ ];
8
+ export class GitEnvironment {
9
+ logger;
10
+ constructor(logger) {
11
+ this.logger = logger;
12
+ }
13
+ /**
14
+ * Sets up git environment variables from credentials
15
+ * Returns the previous values so they can be restored later
16
+ */
17
+ async setup(credentials) {
18
+ // Save current git env vars so they can be restored later
19
+ const savedGitEnv = {};
20
+ for (const key of GIT_ENV_KEYS) {
21
+ savedGitEnv[key] = process.env[key];
22
+ }
23
+ // Set git author identity from git_ssh credential (scoped to this run)
24
+ const gitSshRef = credentials.find((ref) => parseCredentialRef(ref).type === "git_ssh");
25
+ if (gitSshRef) {
26
+ const { instance } = parseCredentialRef(gitSshRef);
27
+ try {
28
+ const gitName = await loadCredentialField("git_ssh", instance, "username");
29
+ if (gitName) {
30
+ process.env.GIT_AUTHOR_NAME = gitName;
31
+ process.env.GIT_COMMITTER_NAME = gitName;
32
+ this.logger.debug({ gitName }, "Set git author name from credential");
33
+ }
34
+ const gitEmail = await loadCredentialField("git_ssh", instance, "email");
35
+ if (gitEmail) {
36
+ process.env.GIT_AUTHOR_EMAIL = gitEmail;
37
+ process.env.GIT_COMMITTER_EMAIL = gitEmail;
38
+ this.logger.debug({ gitEmail }, "Set git author email from credential");
39
+ }
40
+ }
41
+ catch (err) {
42
+ this.logger.warn({ err, gitSshRef }, "Failed to load git SSH credential");
43
+ }
44
+ }
45
+ return savedGitEnv;
46
+ }
47
+ /**
48
+ * Restores git environment variables to their previous values
49
+ */
50
+ restore(saved) {
51
+ // Restore the git env vars we may have overwritten so other
52
+ // agents running in the same process get a clean slate.
53
+ for (const key of GIT_ENV_KEYS) {
54
+ if (saved[key] === undefined) {
55
+ delete process.env[key];
56
+ }
57
+ else {
58
+ process.env[key] = saved[key];
59
+ }
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=git-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-environment.js","sourceRoot":"","sources":["../../src/agents/git-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,MAAM,YAAY,GAAG;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;CACb,CAAC;AAMX,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,WAAqB;QAC/B,0DAA0D;QAC1D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,uEAAuE;QACvE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC3E,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;oBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzE,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,sCAAsC,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,mCAAmC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAe;QACrB,4DAA4D;QAC5D,wDAAwD;QACxD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -5,11 +5,8 @@
5
5
  * This handler replaces the default ENTRYPOINT on Lambda via ImageConfig,
6
6
  * keeping container-entry.ts as the direct entrypoint for Docker/ECS.
7
7
  *
8
- * During init (module load): only imports are executed — fast, well under
9
- * Lambda's 10-second init timeout.
10
- *
11
- * During invocation: runAgent() is called, which does all the real work
12
- * (loading config, credentials, running the LLM session).
8
+ * During init: initAgent() runs once (loads config, creates model/resourceLoader).
9
+ * During invocation: handleInvocation() runs per-request (credentials, session).
13
10
  */
14
11
  export {};
15
12
  //# sourceMappingURL=lambda-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-handler.d.ts","sourceRoot":"","sources":["../../src/agents/lambda-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"lambda-handler.d.ts","sourceRoot":"","sources":["../../src/agents/lambda-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -5,12 +5,10 @@
5
5
  * This handler replaces the default ENTRYPOINT on Lambda via ImageConfig,
6
6
  * keeping container-entry.ts as the direct entrypoint for Docker/ECS.
7
7
  *
8
- * During init (module load): only imports are executed — fast, well under
9
- * Lambda's 10-second init timeout.
10
- *
11
- * During invocation: runAgent() is called, which does all the real work
12
- * (loading config, credentials, running the LLM session).
8
+ * During init: initAgent() runs once (loads config, creates model/resourceLoader).
9
+ * During invocation: handleInvocation() runs per-request (credentials, session).
13
10
  */
11
+ import { initAgent, handleInvocation } from "./container-entry.js";
14
12
  const RUNTIME_API = process.env.AWS_LAMBDA_RUNTIME_API;
15
13
  function emitLog(level, msg, data) {
16
14
  console.log(JSON.stringify({ _log: true, level, msg, ...data, ts: Date.now() }));
@@ -19,8 +17,10 @@ async function main() {
19
17
  if (!RUNTIME_API) {
20
18
  throw new Error("AWS_LAMBDA_RUNTIME_API not set — this file should only run on Lambda");
21
19
  }
22
- // Lazy-import runAgent so module loading stays fast during init.
23
- const { runAgent } = await import("./container-entry.js");
20
+ // Init phase runs once during cold start. Hoists reusable work
21
+ // (PATH setup, signal dir, config parsing, model creation) out of
22
+ // the per-invocation hot path.
23
+ const init = await initAgent();
24
24
  // Lambda Runtime API loop. In practice, each agent invocation runs for
25
25
  // minutes, so this loop only executes once before the process exits.
26
26
  while (true) {
@@ -48,13 +48,13 @@ async function main() {
48
48
  catch {
49
49
  // Payload may be empty or malformed — continue without secrets
50
50
  }
51
- const exitCode = await runAgent();
51
+ const exitCode = await handleInvocation(init);
52
52
  await fetch(`http://${RUNTIME_API}/2018-06-01/runtime/invocation/${requestId}/response`, {
53
53
  method: "POST",
54
54
  body: JSON.stringify({ statusCode: exitCode === 0 ? 200 : exitCode }),
55
55
  });
56
56
  // Exit with the agent's exit code so Lambda's REPORT line reflects
57
- // success/failure and the scheduler can detect [RERUN] (exit 42).
57
+ // success/failure and the scheduler can detect rerun (exit 42).
58
58
  process.exit(exitCode);
59
59
  }
60
60
  catch (err) {
@@ -77,5 +77,4 @@ async function main() {
77
77
  }
78
78
  }
79
79
  main();
80
- export {};
81
80
  //# sourceMappingURL=lambda-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-handler.js","sourceRoot":"","sources":["../../src/agents/lambda-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda-handler.js","sourceRoot":"","sources":["../../src/agents/lambda-handler.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import type { AgentConfig } from "../shared/config.js";
2
2
  import type { WebhookContext } from "../webhooks/types.js";
3
3
  export interface PromptSkills {
4
4
  locking?: boolean;
5
+ calling?: boolean;
5
6
  }
6
7
  export declare function buildLockSkill(): string;
8
+ export declare function buildCallSkill(): string;
7
9
  export declare function buildCredentialContext(credentials: string[]): string;
8
10
  /**
9
11
  * Build the static portion of the prompt that is identical across all trigger types.
@@ -17,10 +19,10 @@ export declare function buildPromptSkeleton(agentConfig: AgentConfig, skills?: P
17
19
  */
18
20
  export declare function buildScheduledSuffix(): string;
19
21
  export declare function buildManualSuffix(): string;
20
- export declare function buildTriggeredSuffix(sourceAgent: string, context: string): string;
22
+ export declare function buildCalledSuffix(callerAgent: string, context: string): string;
21
23
  export declare function buildWebhookSuffix(context: WebhookContext): string;
22
24
  export declare function buildScheduledPrompt(agentConfig: AgentConfig, skills?: PromptSkills): string;
23
25
  export declare function buildManualPrompt(agentConfig: AgentConfig, skills?: PromptSkills): string;
24
- export declare function buildTriggeredPrompt(agentConfig: AgentConfig, sourceAgent: string, context: string, skills?: PromptSkills): string;
26
+ export declare function buildCalledPrompt(agentConfig: AgentConfig, callerAgent: string, context: string, skills?: PromptSkills): string;
25
27
  export declare function buildWebhookPrompt(agentConfig: AgentConfig, context: WebhookContext, skills?: PromptSkills): string;
26
28
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,IAAI,MAAM,CA8CvC;AAMD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAkCpE;AAqBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAM3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGjF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAGlE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE5F;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAEzF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAElI;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAEnH"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,IAAI,MAAM,CA8CvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAgDvC;AAMD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAkCpE;AAwBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAM3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAGlE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE5F;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAEzF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE/H;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAEnH"}