@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
@@ -47,6 +47,55 @@ export function buildLockSkill() {
47
47
  ];
48
48
  return lines.join("\n");
49
49
  }
50
+ export function buildCallSkill() {
51
+ const lines = [
52
+ "<skill-call>",
53
+ "## Skill: Agent-to-Agent Calls",
54
+ "",
55
+ "Call other agents and retrieve their results. Calls are **non-blocking** — fire a call, continue working, then check or wait for results.",
56
+ "",
57
+ "### Commands",
58
+ "",
59
+ '**`al-call <agent>`** — Call another agent. Pass the context via stdin. Returns a call ID.',
60
+ "```",
61
+ 'CALL_ID=$(echo "find competitors for Acme" | al-call researcher | jq -r .callId)',
62
+ "```",
63
+ "",
64
+ "**`al-check <callId>`** — Check the status of a call. Never blocks.",
65
+ "```",
66
+ 'al-check "$CALL_ID"',
67
+ "```",
68
+ '- Running: `{"status":"running"}`',
69
+ '- Completed: `{"status":"completed","returnValue":"..."}`',
70
+ '- Error: `{"status":"error","errorMessage":"..."}`',
71
+ "",
72
+ "**`al-wait <callId> [callId...] [--timeout N]`** — Wait for one or more calls to complete. Default timeout: 900s.",
73
+ "```",
74
+ 'RESULTS=$(al-wait "$CALL_ID1" "$CALL_ID2" --timeout 600)',
75
+ "```",
76
+ "Returns a JSON object keyed by call ID with each call's final status.",
77
+ "",
78
+ "### Returning Values",
79
+ "",
80
+ "When you are called by another agent, return your result with the `al-return` command:",
81
+ "```",
82
+ 'al-return "Your result text here"',
83
+ "```",
84
+ "For multiline results, pipe via stdin:",
85
+ "```",
86
+ 'echo "Line 1\\nLine 2" | al-return',
87
+ "```",
88
+ "",
89
+ "### Guidelines",
90
+ "- Calls are non-blocking — fire multiple calls then wait for all at once",
91
+ "- Use `al-wait` to wait for multiple calls efficiently",
92
+ "- Use `al-check` for polling when you want to do work between checks",
93
+ "- Called agents cannot call back to the calling agent (no cycles)",
94
+ "- There is a depth limit on nested calls to prevent infinite chains",
95
+ "</skill-call>",
96
+ ];
97
+ return lines.join("\n");
98
+ }
50
99
  function buildConfigBlock(agentConfig) {
51
100
  return JSON.stringify(agentConfig.params ?? {});
52
101
  }
@@ -98,6 +147,9 @@ function buildSkillsBlock(skills) {
98
147
  if (skills.locking) {
99
148
  blocks.push(buildLockSkill());
100
149
  }
150
+ if (skills.calling) {
151
+ blocks.push(buildCallSkill());
152
+ }
101
153
  return blocks.length > 0 ? "\n\n" + blocks.join("\n\n") : "";
102
154
  }
103
155
  /**
@@ -122,9 +174,9 @@ export function buildScheduledSuffix() {
122
174
  export function buildManualSuffix() {
123
175
  return "You have been triggered manually. Check for new work and act on anything you find.";
124
176
  }
125
- export function buildTriggeredSuffix(sourceAgent, context) {
126
- const triggerBlock = JSON.stringify({ source: sourceAgent, context });
127
- return `<agent-trigger>\n${triggerBlock}\n</agent-trigger>\n\nYou were triggered by the "${sourceAgent}" agent. Review the trigger context above and take appropriate action.`;
177
+ export function buildCalledSuffix(callerAgent, context) {
178
+ const callBlock = JSON.stringify({ caller: callerAgent, context });
179
+ return `<agent-call>\n${callBlock}\n</agent-call>\n\nYou were called by the "${callerAgent}" agent. Review the call context above, do the requested work, and use \`al-return\` to send back your result.`;
128
180
  }
129
181
  export function buildWebhookSuffix(context) {
130
182
  const webhookBlock = JSON.stringify(context);
@@ -136,8 +188,8 @@ export function buildScheduledPrompt(agentConfig, skills) {
136
188
  export function buildManualPrompt(agentConfig, skills) {
137
189
  return `${buildPromptSkeleton(agentConfig, skills)}\n\n${buildManualSuffix()}`;
138
190
  }
139
- export function buildTriggeredPrompt(agentConfig, sourceAgent, context, skills) {
140
- return `${buildPromptSkeleton(agentConfig, skills)}\n\n${buildTriggeredSuffix(sourceAgent, context)}`;
191
+ export function buildCalledPrompt(agentConfig, callerAgent, context, skills) {
192
+ return `${buildPromptSkeleton(agentConfig, skills)}\n\n${buildCalledSuffix(callerAgent, context)}`;
141
193
  }
142
194
  export function buildWebhookPrompt(agentConfig, context, skills) {
143
195
  return `${buildPromptSkeleton(agentConfig, skills)}\n\n${buildWebhookSuffix(context)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ export interface TriggerRequest {
9
9
  export interface RunOutcome {
10
10
  result: RunResult;
11
11
  triggers: TriggerRequest[];
12
+ returnValue?: string;
13
+ exitCode?: number;
14
+ exitReason?: string;
12
15
  }
13
16
  export declare class AgentRunner {
14
17
  private running;
@@ -16,8 +19,11 @@ export declare class AgentRunner {
16
19
  private logger;
17
20
  private projectPath;
18
21
  private statusTracker?;
19
- constructor(agentConfig: AgentConfig, logger: Logger, projectPath: string, statusTracker?: StatusTracker);
22
+ readonly instanceId: string;
23
+ private abortController;
24
+ constructor(agentConfig: AgentConfig, logger: Logger, projectPath: string, statusTracker?: StatusTracker, instanceId?: string);
20
25
  get isRunning(): boolean;
26
+ abort(): void;
21
27
  run(prompt: string, triggerInfo?: {
22
28
  type: 'schedule' | 'webhook' | 'agent';
23
29
  source?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAmB9D,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAaD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IAOxG,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CAkP1H"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAqB9D,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAS7H,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,KAAK,IAAI,IAAI;IAKP,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CA6Q1H"}
@@ -1,9 +1,12 @@
1
1
  import { getModel } from "@mariozechner/pi-ai";
2
2
  import { AuthStorage, createAgentSession, DefaultResourceLoader, SessionManager, SettingsManager, createCodingTools, } from "@mariozechner/pi-coding-agent";
3
- import { readFileSync, existsSync } from "fs";
4
- import { resolve } from "path";
5
- import { parseCredentialRef, backendLoadField } from "../shared/credentials.js";
3
+ import { readFileSync, existsSync, mkdtempSync, rmSync } from "fs";
4
+ import { resolve, join } from "path";
5
+ import { tmpdir } from "os";
6
+ import { loadCredentialField, parseCredentialRef } from "../shared/credentials.js";
6
7
  import { agentDir } from "../shared/paths.js";
8
+ import { getExitCodeMessage } from "../shared/exit-codes.js";
9
+ import { installSignalCommands, readSignals } from "./signals.js";
7
10
  const UNRECOVERABLE_PATTERNS = [
8
11
  "permission denied",
9
12
  "could not read from remote repository",
@@ -18,30 +21,29 @@ function isUnrecoverableError(text) {
18
21
  return UNRECOVERABLE_PATTERNS.some((p) => lower.includes(p));
19
22
  }
20
23
  const UNRECOVERABLE_THRESHOLD = 3;
21
- const TRIGGER_PATTERN = /\[TRIGGER:\s*(\S+)\]([\s\S]*?)\[\/TRIGGER\]/g;
22
- function extractTriggers(text) {
23
- const triggers = [];
24
- let match;
25
- while ((match = TRIGGER_PATTERN.exec(text)) !== null) {
26
- triggers.push({ agent: match[1], context: match[2].trim() });
27
- }
28
- return triggers;
29
- }
30
24
  export class AgentRunner {
31
25
  running = false;
32
26
  agentConfig;
33
27
  logger;
34
28
  projectPath;
35
29
  statusTracker;
36
- constructor(agentConfig, logger, projectPath, statusTracker) {
30
+ instanceId;
31
+ abortController;
32
+ constructor(agentConfig, logger, projectPath, statusTracker, instanceId) {
37
33
  this.agentConfig = agentConfig;
38
34
  this.logger = logger;
39
35
  this.projectPath = projectPath;
40
36
  this.statusTracker = statusTracker;
37
+ this.instanceId = instanceId || agentConfig.name;
38
+ this.abortController = new AbortController();
41
39
  }
42
40
  get isRunning() {
43
41
  return this.running;
44
42
  }
43
+ abort() {
44
+ this.logger.info("Agent runner abort requested");
45
+ this.abortController.abort();
46
+ }
45
47
  async run(prompt, triggerInfo) {
46
48
  if (this.running) {
47
49
  this.logger.warn(`${this.agentConfig.name} is already running, skipping`);
@@ -76,6 +78,14 @@ export class AgentRunner {
76
78
  for (const key of GIT_ENV_KEYS) {
77
79
  savedGitEnv[key] = process.env[key];
78
80
  }
81
+ // Set up file-based signal IPC
82
+ const signalTmpDir = mkdtempSync(join(tmpdir(), "al-signals-"));
83
+ const signalDir = join(signalTmpDir, "signals");
84
+ const signalBinDir = join(signalTmpDir, "bin");
85
+ installSignalCommands(signalBinDir, signalDir);
86
+ const savedPath = process.env.PATH;
87
+ process.env.PATH = `${signalBinDir}:${process.env.PATH || ""}`;
88
+ process.env.AL_SIGNAL_DIR = signalDir;
79
89
  try {
80
90
  const cwd = agentDir(this.projectPath, this.agentConfig.name);
81
91
  const agentsFile = resolve(cwd, "ACTIONS.md");
@@ -86,7 +96,7 @@ export class AgentRunner {
86
96
  // Try to load API key using provider-specific credential type
87
97
  const credentialType = `${model.provider}_key`;
88
98
  try {
89
- const credential = await backendLoadField(credentialType, "default", "token");
99
+ const credential = await loadCredentialField(credentialType, "default", "token");
90
100
  if (credential) {
91
101
  authStorage.setRuntimeApiKey(model.provider, credential);
92
102
  this.logger.debug(`Loaded ${credentialType} credential for ${model.provider}`);
@@ -103,12 +113,12 @@ export class AgentRunner {
103
113
  const gitSshRef = this.agentConfig.credentials.find((ref) => parseCredentialRef(ref).type === "git_ssh");
104
114
  if (gitSshRef) {
105
115
  const { instance } = parseCredentialRef(gitSshRef);
106
- const gitName = await backendLoadField("git_ssh", instance, "username");
116
+ const gitName = await loadCredentialField("git_ssh", instance, "username");
107
117
  if (gitName) {
108
118
  process.env.GIT_AUTHOR_NAME = gitName;
109
119
  process.env.GIT_COMMITTER_NAME = gitName;
110
120
  }
111
- const gitEmail = await backendLoadField("git_ssh", instance, "email");
121
+ const gitEmail = await loadCredentialField("git_ssh", instance, "email");
112
122
  if (gitEmail) {
113
123
  process.env.GIT_AUTHOR_EMAIL = gitEmail;
114
124
  process.env.GIT_COMMITTER_EMAIL = gitEmail;
@@ -153,11 +163,6 @@ export class AgentRunner {
153
163
  const delta = event.assistantMessageEvent.delta;
154
164
  outputText += delta;
155
165
  currentTurnText += delta;
156
- // Detect [STATUS: <text>] pattern
157
- const statusMatch = outputText.match(/\[STATUS:\s*([^\]]+)\]/);
158
- if (statusMatch) {
159
- this.statusTracker?.setAgentStatusText(this.agentConfig.name, statusMatch[1].trim());
160
- }
161
166
  }
162
167
  if (event.type === "message_end") {
163
168
  if (currentTurnText.trim()) {
@@ -232,9 +237,17 @@ export class AgentRunner {
232
237
  await new Promise((r) => setTimeout(r, delayMs));
233
238
  }
234
239
  }
235
- const triggers = extractTriggers(outputText);
240
+ session.dispose();
241
+ // Read signal files written by al-rerun, al-status, al-return, al-exit
242
+ const signals = readSignals(signalDir);
236
243
  let result;
237
- if (outputText.includes("[RERUN]")) {
244
+ if (signals.exitCode !== undefined) {
245
+ const reason = getExitCodeMessage(signals.exitCode);
246
+ this.logger.error({ exitCode: signals.exitCode, reason }, "agent terminated with exit signal");
247
+ this.statusTracker?.setAgentError(this.agentConfig.name, `Exit ${signals.exitCode}: ${reason}`);
248
+ result = "error";
249
+ }
250
+ else if (signals.rerun) {
238
251
  this.logger.info({ outputLength: outputText.length }, "run completed, rerun requested");
239
252
  result = "rerun";
240
253
  }
@@ -242,8 +255,15 @@ export class AgentRunner {
242
255
  this.logger.info({ outputLength: outputText.length }, "run completed");
243
256
  result = "completed";
244
257
  }
245
- session.dispose();
246
- return { result, triggers };
258
+ return {
259
+ result,
260
+ triggers: [],
261
+ returnValue: signals.returnValue,
262
+ ...(signals.exitCode !== undefined && {
263
+ exitCode: signals.exitCode,
264
+ exitReason: getExitCodeMessage(signals.exitCode)
265
+ })
266
+ };
247
267
  }
248
268
  catch (err) {
249
269
  this.logger.error({ err }, `${this.agentConfig.name} run failed`);
@@ -261,6 +281,15 @@ export class AgentRunner {
261
281
  process.env[key] = savedGitEnv[key];
262
282
  }
263
283
  }
284
+ // Restore PATH and clean up signal dir
285
+ if (savedPath !== undefined) {
286
+ process.env.PATH = savedPath;
287
+ }
288
+ delete process.env.AL_SIGNAL_DIR;
289
+ try {
290
+ rmSync(signalTmpDir, { recursive: true, force: true });
291
+ }
292
+ catch { /* best-effort */ }
264
293
  const elapsed = Date.now() - runStartTime;
265
294
  this.statusTracker?.endRun(this.agentConfig.name, elapsed, runError);
266
295
  this.running = false;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/agents/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,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,CA0D7E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAqC3D"}
@@ -0,0 +1,116 @@
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 } from "path";
11
+ /**
12
+ * Ensure the signal directory exists and clean any stale signal files.
13
+ * Scripts are baked into the image at /app/bin/ — this only creates the
14
+ * per-run signal directory.
15
+ */
16
+ export function ensureSignalDir(signalDir) {
17
+ mkdirSync(signalDir, { recursive: true });
18
+ }
19
+ /**
20
+ * Install signal shell commands into a bin directory.
21
+ * The bin dir should be prepended to PATH so agents can use these commands.
22
+ *
23
+ * In container mode, scripts are baked into the image at /app/bin/ and this
24
+ * function is not called. It remains for host-mode agent runners.
25
+ */
26
+ export function installSignalCommands(binDir, signalDir) {
27
+ mkdirSync(binDir, { recursive: true });
28
+ mkdirSync(signalDir, { recursive: true });
29
+ // al-rerun — request an immediate rerun
30
+ const alRerun = `#!/bin/sh
31
+ touch "$AL_SIGNAL_DIR/rerun"
32
+ if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
33
+ curl -s -X POST "$GATEWAY_URL/signals/rerun" \\
34
+ -H 'Content-Type: application/json' \\
35
+ -d '{"secret":"'"$SHUTDOWN_SECRET"'"}' > /dev/null 2>&1 || true
36
+ fi
37
+ echo '{"ok":true}'
38
+ `;
39
+ // al-status — update status text
40
+ const alStatus = `#!/bin/sh
41
+ if [ -z "$1" ]; then echo '{"ok":false,"error":"usage: al-status \\"<text>\\""}'; exit 1; fi
42
+ printf '%s' "$1" > "$AL_SIGNAL_DIR/status"
43
+ if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
44
+ curl -s -X POST "$GATEWAY_URL/signals/status" \\
45
+ -H 'Content-Type: application/json' \\
46
+ -d "$(printf '{"secret":"%s","text":"%s"}' "$SHUTDOWN_SECRET" "$1")" > /dev/null 2>&1 || true
47
+ fi
48
+ echo '{"ok":true}'
49
+ `;
50
+ // al-return — return a value to the calling agent (arg or stdin)
51
+ const alReturn = `#!/bin/sh
52
+ if [ $# -gt 0 ]; then
53
+ VALUE="$*"
54
+ else
55
+ VALUE=$(cat)
56
+ fi
57
+ printf '%s' "$VALUE" > "$AL_SIGNAL_DIR/return"
58
+ if [ -n "$GATEWAY_URL" ] && [ -n "$SHUTDOWN_SECRET" ]; then
59
+ PAYLOAD=$(printf '{"secret":"%s","value":%s}' "$SHUTDOWN_SECRET" "$(printf '%s' "$VALUE" | jq -Rs .)")
60
+ curl -s -X POST "$GATEWAY_URL/signals/return" \\
61
+ -H 'Content-Type: application/json' \\
62
+ -d "$PAYLOAD" > /dev/null 2>&1 || true
63
+ fi
64
+ echo '{"ok":true}'
65
+ `;
66
+ // al-exit — terminate with an exit code
67
+ // Uses string concatenation to avoid template literal ${} conflicts
68
+ const alExit = [
69
+ "#!/bin/sh",
70
+ 'CODE="${1:-15}"',
71
+ "printf '%s' \"$CODE\" > \"$AL_SIGNAL_DIR/exit\"",
72
+ "echo '{\"ok\":true}'",
73
+ "",
74
+ ].join("\n");
75
+ writeFileSync(join(binDir, "al-rerun"), alRerun, { mode: 0o755 });
76
+ writeFileSync(join(binDir, "al-status"), alStatus, { mode: 0o755 });
77
+ writeFileSync(join(binDir, "al-return"), alReturn, { mode: 0o755 });
78
+ writeFileSync(join(binDir, "al-exit"), alExit, { mode: 0o755 });
79
+ }
80
+ /**
81
+ * Read signal files written by the shell commands.
82
+ * Call this after the agent session ends.
83
+ */
84
+ export function readSignals(signalDir) {
85
+ const signals = {
86
+ rerun: false,
87
+ };
88
+ if (!existsSync(signalDir)) {
89
+ return signals;
90
+ }
91
+ // rerun
92
+ if (existsSync(join(signalDir, "rerun"))) {
93
+ signals.rerun = true;
94
+ }
95
+ // status
96
+ const statusPath = join(signalDir, "status");
97
+ if (existsSync(statusPath)) {
98
+ signals.status = readFileSync(statusPath, "utf-8").trim();
99
+ }
100
+ // return value
101
+ const returnPath = join(signalDir, "return");
102
+ if (existsSync(returnPath)) {
103
+ signals.returnValue = readFileSync(returnPath, "utf-8").trim();
104
+ }
105
+ // exit code
106
+ const exitPath = join(signalDir, "exit");
107
+ if (existsSync(exitPath)) {
108
+ const raw = readFileSync(exitPath, "utf-8").trim();
109
+ const code = parseInt(raw, 10);
110
+ if (!isNaN(code)) {
111
+ signals.exitCode = code;
112
+ }
113
+ }
114
+ return signals;
115
+ }
116
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/agents/signals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { StatusTracker } from "../tui/status-tracker.js";
2
+ export declare class AgentStatusReporter {
3
+ private statusTracker?;
4
+ constructor(statusTracker?: StatusTracker);
5
+ /**
6
+ * Mark the start of an agent run
7
+ */
8
+ startRun(agentName: string, reason?: string): void;
9
+ /**
10
+ * Report status text for an agent (from al-status command signals)
11
+ */
12
+ reportStatus(agentName: string, text: string): void;
13
+ /**
14
+ * Report an error for an agent
15
+ */
16
+ reportError(agentName: string, error: string): void;
17
+ /**
18
+ * Add a log line for an agent
19
+ */
20
+ addLogLine(agentName: string, message: string): void;
21
+ /**
22
+ * Mark the end of an agent run
23
+ */
24
+ endRun(agentName: string, elapsed: number, error?: string): void;
25
+ /**
26
+ * Check if an agent is enabled
27
+ */
28
+ isAgentEnabled(agentName: string): boolean;
29
+ /**
30
+ * Set the next run time for an agent (for scheduled agents)
31
+ */
32
+ setNextRunAt(agentName: string, date: Date | null): void;
33
+ }
34
+ //# sourceMappingURL=status-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.d.ts","sourceRoot":"","sources":["../../src/agents/status-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,aAAa,CAAC,EAAE,aAAa;IAIzC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKpD;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhE;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK1C;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;CAIzD"}
@@ -0,0 +1,64 @@
1
+ export class AgentStatusReporter {
2
+ statusTracker;
3
+ constructor(statusTracker) {
4
+ this.statusTracker = statusTracker;
5
+ }
6
+ /**
7
+ * Mark the start of an agent run
8
+ */
9
+ startRun(agentName, reason) {
10
+ if (!this.statusTracker)
11
+ return;
12
+ this.statusTracker.startRun(agentName, reason);
13
+ }
14
+ /**
15
+ * Report status text for an agent (from al-status command signals)
16
+ */
17
+ reportStatus(agentName, text) {
18
+ if (!this.statusTracker)
19
+ return;
20
+ this.statusTracker.setAgentStatusText(agentName, text);
21
+ }
22
+ /**
23
+ * Report an error for an agent
24
+ */
25
+ reportError(agentName, error) {
26
+ if (!this.statusTracker)
27
+ return;
28
+ this.statusTracker.setAgentError(agentName, error);
29
+ this.statusTracker.addLogLine(agentName, `ERROR: ${error}`);
30
+ }
31
+ /**
32
+ * Add a log line for an agent
33
+ */
34
+ addLogLine(agentName, message) {
35
+ if (!this.statusTracker)
36
+ return;
37
+ this.statusTracker.addLogLine(agentName, message);
38
+ }
39
+ /**
40
+ * Mark the end of an agent run
41
+ */
42
+ endRun(agentName, elapsed, error) {
43
+ if (!this.statusTracker)
44
+ return;
45
+ this.statusTracker.endRun(agentName, elapsed, error);
46
+ }
47
+ /**
48
+ * Check if an agent is enabled
49
+ */
50
+ isAgentEnabled(agentName) {
51
+ if (!this.statusTracker)
52
+ return true;
53
+ return this.statusTracker.isAgentEnabled(agentName);
54
+ }
55
+ /**
56
+ * Set the next run time for an agent (for scheduled agents)
57
+ */
58
+ setNextRunAt(agentName, date) {
59
+ if (!this.statusTracker)
60
+ return;
61
+ this.statusTracker.setNextRunAt(agentName, date);
62
+ }
63
+ }
64
+ //# sourceMappingURL=status-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.js","sourceRoot":"","sources":["../../src/agents/status-reporter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IACtB,aAAa,CAAiB;IAEtC,YAAY,aAA6B;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB,EAAE,MAAe;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB,EAAE,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAiB,EAAE,KAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB,EAAE,OAAe;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAc;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB,EAAE,IAAiB;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -131,13 +131,13 @@ export async function execute(opts) {
131
131
  const authStorage = AuthStorage.create();
132
132
  if (modelConfig.authType !== "pi_auth") {
133
133
  if (modelConfig.provider === "anthropic") {
134
- const credential = loadCredentialField("anthropic_key", "default", "token");
134
+ const credential = await loadCredentialField("anthropic_key", "default", "token");
135
135
  if (credential) {
136
136
  authStorage.setRuntimeApiKey("anthropic", credential);
137
137
  }
138
138
  }
139
139
  else if (modelConfig.provider === "openai") {
140
- const credential = loadCredentialField("openai_key", "default", "token");
140
+ const credential = await loadCredentialField("openai_key", "default", "token");
141
141
  if (credential) {
142
142
  authStorage.setRuntimeApiKey("openai", credential);
143
143
  }