@action-llama/action-llama 0.13.7 → 0.14.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 (218) hide show
  1. package/agent-docs/AGENTS.md +123 -207
  2. package/dist/agents/container-entry.d.ts +1 -3
  3. package/dist/agents/container-entry.d.ts.map +1 -1
  4. package/dist/agents/container-entry.js +208 -154
  5. package/dist/agents/container-entry.js.map +1 -1
  6. package/dist/agents/container-runner.d.ts.map +1 -1
  7. package/dist/agents/container-runner.js +19 -8
  8. package/dist/agents/container-runner.js.map +1 -1
  9. package/dist/agents/context-injection.d.ts +7 -0
  10. package/dist/agents/context-injection.d.ts.map +1 -0
  11. package/dist/agents/context-injection.js +27 -0
  12. package/dist/agents/context-injection.js.map +1 -0
  13. package/dist/agents/execution-engine.d.ts.map +1 -1
  14. package/dist/agents/execution-engine.js +99 -109
  15. package/dist/agents/execution-engine.js.map +1 -1
  16. package/dist/agents/model-fallback.d.ts +18 -0
  17. package/dist/agents/model-fallback.d.ts.map +1 -0
  18. package/dist/agents/model-fallback.js +40 -0
  19. package/dist/agents/model-fallback.js.map +1 -0
  20. package/dist/agents/prompt.d.ts +9 -2
  21. package/dist/agents/prompt.d.ts.map +1 -1
  22. package/dist/agents/prompt.js +21 -49
  23. package/dist/agents/prompt.js.map +1 -1
  24. package/dist/agents/runner.d.ts +2 -0
  25. package/dist/agents/runner.d.ts.map +1 -1
  26. package/dist/agents/runner.js +142 -124
  27. package/dist/agents/runner.js.map +1 -1
  28. package/dist/agents/session-factory.d.ts +13 -0
  29. package/dist/agents/session-factory.d.ts.map +1 -0
  30. package/dist/agents/session-factory.js +27 -0
  31. package/dist/agents/session-factory.js.map +1 -0
  32. package/dist/build-info.json +1 -1
  33. package/dist/cli/commands/agent.d.ts.map +1 -1
  34. package/dist/cli/commands/agent.js +43 -23
  35. package/dist/cli/commands/agent.js.map +1 -1
  36. package/dist/cli/commands/chat.d.ts.map +1 -1
  37. package/dist/cli/commands/chat.js +26 -43
  38. package/dist/cli/commands/chat.js.map +1 -1
  39. package/dist/cli/commands/claude.d.ts +4 -0
  40. package/dist/cli/commands/claude.d.ts.map +1 -0
  41. package/dist/cli/commands/claude.js +8 -0
  42. package/dist/cli/commands/claude.js.map +1 -0
  43. package/dist/cli/commands/doctor.d.ts.map +1 -1
  44. package/dist/cli/commands/doctor.js +24 -6
  45. package/dist/cli/commands/doctor.js.map +1 -1
  46. package/dist/cli/commands/mcp.d.ts +8 -0
  47. package/dist/cli/commands/mcp.d.ts.map +1 -0
  48. package/dist/cli/commands/mcp.js +31 -0
  49. package/dist/cli/commands/mcp.js.map +1 -0
  50. package/dist/cli/commands/new.d.ts.map +1 -1
  51. package/dist/cli/commands/new.js +15 -6
  52. package/dist/cli/commands/new.js.map +1 -1
  53. package/dist/cli/commands/run.js +1 -1
  54. package/dist/cli/commands/run.js.map +1 -1
  55. package/dist/cli/commands/start.js +2 -2
  56. package/dist/cli/commands/start.js.map +1 -1
  57. package/dist/cli/commands/stats.d.ts +9 -0
  58. package/dist/cli/commands/stats.d.ts.map +1 -0
  59. package/dist/cli/commands/stats.js +149 -0
  60. package/dist/cli/commands/stats.js.map +1 -0
  61. package/dist/cli/commands/status.d.ts.map +1 -1
  62. package/dist/cli/commands/status.js +3 -0
  63. package/dist/cli/commands/status.js.map +1 -1
  64. package/dist/cli/main.js +50 -3
  65. package/dist/cli/main.js.map +1 -1
  66. package/dist/gateway/index.d.ts +3 -0
  67. package/dist/gateway/index.d.ts.map +1 -1
  68. package/dist/gateway/index.js +7 -1
  69. package/dist/gateway/index.js.map +1 -1
  70. package/dist/gateway/lock-store.d.ts +10 -0
  71. package/dist/gateway/lock-store.d.ts.map +1 -1
  72. package/dist/gateway/lock-store.js +38 -0
  73. package/dist/gateway/lock-store.js.map +1 -1
  74. package/dist/gateway/routes/dashboard.d.ts +2 -1
  75. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  76. package/dist/gateway/routes/dashboard.js +26 -6
  77. package/dist/gateway/routes/dashboard.js.map +1 -1
  78. package/dist/gateway/routes/locks.d.ts.map +1 -1
  79. package/dist/gateway/routes/locks.js +39 -0
  80. package/dist/gateway/routes/locks.js.map +1 -1
  81. package/dist/gateway/routes/logs.d.ts.map +1 -1
  82. package/dist/gateway/routes/logs.js +4 -5
  83. package/dist/gateway/routes/logs.js.map +1 -1
  84. package/dist/gateway/routes/stats.d.ts +4 -0
  85. package/dist/gateway/routes/stats.d.ts.map +1 -0
  86. package/dist/gateway/routes/stats.js +25 -0
  87. package/dist/gateway/routes/stats.js.map +1 -0
  88. package/dist/gateway/views/agent-detail-page.d.ts +12 -0
  89. package/dist/gateway/views/agent-detail-page.d.ts.map +1 -0
  90. package/dist/gateway/views/agent-detail-page.js +303 -0
  91. package/dist/gateway/views/agent-detail-page.js.map +1 -0
  92. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  93. package/dist/gateway/views/dashboard-page.js +179 -245
  94. package/dist/gateway/views/dashboard-page.js.map +1 -1
  95. package/dist/gateway/views/instance-detail-page.d.ts +24 -0
  96. package/dist/gateway/views/instance-detail-page.d.ts.map +1 -0
  97. package/dist/gateway/views/instance-detail-page.js +277 -0
  98. package/dist/gateway/views/instance-detail-page.js.map +1 -0
  99. package/dist/gateway/views/layout.d.ts +17 -0
  100. package/dist/gateway/views/layout.d.ts.map +1 -0
  101. package/dist/gateway/views/layout.js +153 -0
  102. package/dist/gateway/views/layout.js.map +1 -0
  103. package/dist/gateway/views/login-page.d.ts.map +1 -1
  104. package/dist/gateway/views/login-page.js +24 -37
  105. package/dist/gateway/views/login-page.js.map +1 -1
  106. package/dist/hooks/runner.d.ts +12 -0
  107. package/dist/hooks/runner.d.ts.map +1 -0
  108. package/dist/hooks/runner.js +32 -0
  109. package/dist/hooks/runner.js.map +1 -0
  110. package/dist/mcp/server.d.ts +5 -0
  111. package/dist/mcp/server.d.ts.map +1 -0
  112. package/dist/mcp/server.js +336 -0
  113. package/dist/mcp/server.js.map +1 -0
  114. package/dist/scheduler/call-dispatcher.d.ts +2 -2
  115. package/dist/scheduler/call-dispatcher.js +3 -3
  116. package/dist/scheduler/call-dispatcher.js.map +1 -1
  117. package/dist/scheduler/execution.d.ts +5 -2
  118. package/dist/scheduler/execution.d.ts.map +1 -1
  119. package/dist/scheduler/execution.js +75 -4
  120. package/dist/scheduler/execution.js.map +1 -1
  121. package/dist/scheduler/gateway-setup.d.ts +2 -0
  122. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  123. package/dist/scheduler/gateway-setup.js +3 -2
  124. package/dist/scheduler/gateway-setup.js.map +1 -1
  125. package/dist/scheduler/image-builder.js +3 -3
  126. package/dist/scheduler/image-builder.js.map +1 -1
  127. package/dist/scheduler/index.d.ts.map +1 -1
  128. package/dist/scheduler/index.js +16 -3
  129. package/dist/scheduler/index.js.map +1 -1
  130. package/dist/scheduler/shutdown.d.ts +2 -0
  131. package/dist/scheduler/shutdown.d.ts.map +1 -1
  132. package/dist/scheduler/shutdown.js +4 -1
  133. package/dist/scheduler/shutdown.js.map +1 -1
  134. package/dist/scheduler/validation.d.ts.map +1 -1
  135. package/dist/scheduler/validation.js +5 -3
  136. package/dist/scheduler/validation.js.map +1 -1
  137. package/dist/scheduler/watcher.d.ts +1 -1
  138. package/dist/scheduler/watcher.js +1 -1
  139. package/dist/scheduler/webhook-setup.d.ts +2 -0
  140. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  141. package/dist/scheduler/webhook-setup.js +2 -0
  142. package/dist/scheduler/webhook-setup.js.map +1 -1
  143. package/dist/setup/prompts.d.ts.map +1 -1
  144. package/dist/setup/prompts.js +35 -6
  145. package/dist/setup/prompts.js.map +1 -1
  146. package/dist/setup/scaffold.d.ts +6 -0
  147. package/dist/setup/scaffold.d.ts.map +1 -1
  148. package/dist/setup/scaffold.js +185 -7
  149. package/dist/setup/scaffold.js.map +1 -1
  150. package/dist/shared/config.d.ts +16 -5
  151. package/dist/shared/config.d.ts.map +1 -1
  152. package/dist/shared/config.js +75 -18
  153. package/dist/shared/config.js.map +1 -1
  154. package/dist/shared/credential-refs.d.ts.map +1 -1
  155. package/dist/shared/credential-refs.js +8 -0
  156. package/dist/shared/credential-refs.js.map +1 -1
  157. package/dist/shared/environment.d.ts +0 -1
  158. package/dist/shared/environment.d.ts.map +1 -1
  159. package/dist/shared/environment.js +19 -3
  160. package/dist/shared/environment.js.map +1 -1
  161. package/dist/shared/frontmatter.d.ts +11 -0
  162. package/dist/shared/frontmatter.d.ts.map +1 -0
  163. package/dist/shared/frontmatter.js +30 -0
  164. package/dist/shared/frontmatter.js.map +1 -0
  165. package/dist/shared/paths.d.ts +1 -0
  166. package/dist/shared/paths.d.ts.map +1 -1
  167. package/dist/shared/paths.js +3 -0
  168. package/dist/shared/paths.js.map +1 -1
  169. package/dist/stats/index.d.ts +3 -0
  170. package/dist/stats/index.d.ts.map +1 -0
  171. package/dist/stats/index.js +2 -0
  172. package/dist/stats/index.js.map +1 -0
  173. package/dist/stats/store.d.ts +89 -0
  174. package/dist/stats/store.d.ts.map +1 -0
  175. package/dist/stats/store.js +242 -0
  176. package/dist/stats/store.js.map +1 -0
  177. package/dist/tui/status-tracker.d.ts +6 -1
  178. package/dist/tui/status-tracker.d.ts.map +1 -1
  179. package/dist/tui/status-tracker.js +11 -1
  180. package/dist/tui/status-tracker.js.map +1 -1
  181. package/docker/bin/{al-call → al-subagent} +2 -2
  182. package/docker/bin/{al-check → al-subagent-check} +2 -2
  183. package/docker/bin/{al-wait → al-subagent-wait} +2 -2
  184. package/package.json +8 -21
  185. package/LICENSE +0 -21
  186. package/README.md +0 -192
  187. package/dist/gateway/views/logs-page.d.ts +0 -2
  188. package/dist/gateway/views/logs-page.d.ts.map +0 -1
  189. package/dist/gateway/views/logs-page.js +0 -280
  190. package/dist/gateway/views/logs-page.js.map +0 -1
  191. package/dist/preflight/interpolate.d.ts +0 -10
  192. package/dist/preflight/interpolate.d.ts.map +0 -1
  193. package/dist/preflight/interpolate.js +0 -33
  194. package/dist/preflight/interpolate.js.map +0 -1
  195. package/dist/preflight/providers/git-clone.d.ts +0 -3
  196. package/dist/preflight/providers/git-clone.d.ts.map +0 -1
  197. package/dist/preflight/providers/git-clone.js +0 -36
  198. package/dist/preflight/providers/git-clone.js.map +0 -1
  199. package/dist/preflight/providers/http.d.ts +0 -3
  200. package/dist/preflight/providers/http.d.ts.map +0 -1
  201. package/dist/preflight/providers/http.js +0 -36
  202. package/dist/preflight/providers/http.js.map +0 -1
  203. package/dist/preflight/providers/shell.d.ts +0 -3
  204. package/dist/preflight/providers/shell.d.ts.map +0 -1
  205. package/dist/preflight/providers/shell.js +0 -28
  206. package/dist/preflight/providers/shell.js.map +0 -1
  207. package/dist/preflight/registry.d.ts +0 -4
  208. package/dist/preflight/registry.d.ts.map +0 -1
  209. package/dist/preflight/registry.js +0 -20
  210. package/dist/preflight/registry.js.map +0 -1
  211. package/dist/preflight/runner.d.ts +0 -7
  212. package/dist/preflight/runner.d.ts.map +0 -1
  213. package/dist/preflight/runner.js +0 -28
  214. package/dist/preflight/runner.js.map +0 -1
  215. package/dist/preflight/schema.d.ts +0 -21
  216. package/dist/preflight/schema.d.ts.map +0 -1
  217. package/dist/preflight/schema.js +0 -9
  218. package/dist/preflight/schema.js.map +0 -1
@@ -8,21 +8,23 @@ export function buildLockSkill() {
8
8
  "Use locks to coordinate with other agent instances and avoid duplicate work.",
9
9
  "You may hold **at most one lock at a time**. Release your current lock before acquiring another.",
10
10
  "",
11
+ "**Important:** Resource keys must be valid URIs with proper schemes (e.g., github://, file://, https://).",
12
+ "",
11
13
  "### Commands",
12
14
  "",
13
15
  "**`rlock <resourceKey>`** — Acquire an exclusive lock before working on a shared resource.",
14
16
  "```",
15
- 'rlock "github issue acme/app#42"',
17
+ 'rlock "github://acme/app/issues/42"',
16
18
  "```",
17
19
  "",
18
20
  "**`runlock <resourceKey>`** — Release a lock when done with the resource.",
19
21
  "```",
20
- 'runlock "github issue acme/app#42"',
22
+ 'runlock "github://acme/app/issues/42"',
21
23
  "```",
22
24
  "",
23
25
  "**`rlock-heartbeat <resourceKey>`** — Extend the TTL on a lock you hold. Use during long-running work.",
24
26
  "```",
25
- 'rlock-heartbeat "github issue acme/app#42"',
27
+ 'rlock-heartbeat "github://acme/app/issues/42"',
26
28
  "```",
27
29
  "",
28
30
  "### Responses",
@@ -43,58 +45,28 @@ export function buildLockSkill() {
43
45
  '- If `rlock` returns `{"ok":false,...}` for ANY reason, skip that resource — do not wait, retry, or proceed without the lock',
44
46
  "- Use `rlock-heartbeat` during long operations to keep the lock alive",
45
47
  "- Locks expire automatically after 30 minutes if not refreshed",
46
- '- Use descriptive keys: `"github issue acme/app#42"`, `"deploy api-prod"`',
48
+ '- Resource keys must be valid URIs: `"github://acme/app/issues/42"`, `"file:///deployments/api-prod"`',
47
49
  "</skill-lock>",
48
50
  ];
49
51
  return lines.join("\n");
50
52
  }
51
- export function buildCallSkill() {
53
+ export function buildSubagentSkill(availableAgents) {
52
54
  const lines = [
53
- "<skill-call>",
54
- "## Skill: Agent-to-Agent Calls",
55
+ "<skill-subagent>",
56
+ "## Skill: Subagents",
55
57
  "",
56
58
  "Call other agents and retrieve their results. Calls are **non-blocking** — fire a call, continue working, then check or wait for results.",
57
59
  "",
58
- "### Commands",
59
- "",
60
- '**`al-call <agent>`** — Call another agent. Pass the context via stdin. Returns a call ID.',
61
- "```",
62
- 'CALL_ID=$(echo "find competitors for Acme" | al-call researcher | jq -r .callId)',
63
- "```",
64
- "",
65
- "**`al-check <callId>`** — Check the status of a call. Never blocks.",
66
- "```",
67
- 'al-check "$CALL_ID"',
68
- "```",
69
- '- Running: `{"status":"running"}`',
70
- '- Completed: `{"status":"completed","returnValue":"..."}`',
71
- '- Error: `{"status":"error","errorMessage":"..."}`',
72
- "",
73
- "**`al-wait <callId> [callId...] [--timeout N]`** — Wait for one or more calls to complete. Default timeout: 900s.",
74
- "```",
75
- 'RESULTS=$(al-wait "$CALL_ID1" "$CALL_ID2" --timeout 600)',
76
- "```",
77
- "Returns a JSON object keyed by call ID with each call's final status.",
78
- "",
79
- "### Returning Values",
80
- "",
81
- "When you are called by another agent, return your result with the `al-return` command:",
82
- "```",
83
- 'al-return "Your result text here"',
84
- "```",
85
- "For multiline results, pipe via stdin:",
86
- "```",
87
- 'echo "Line 1\\nLine 2" | al-return',
88
- "```",
89
- "",
90
- "### Guidelines",
91
- "- Calls are non-blocking — fire multiple calls then wait for all at once",
92
- "- Use `al-wait` to wait for multiple calls efficiently",
93
- "- Use `al-check` for polling when you want to do work between checks",
94
- "- Called agents cannot call back to the calling agent (no cycles)",
95
- "- There is a depth limit on nested calls to prevent infinite chains",
96
- "</skill-call>",
97
60
  ];
61
+ if (availableAgents && availableAgents.length > 0) {
62
+ lines.push("### Available Agents");
63
+ lines.push("");
64
+ for (const agent of availableAgents) {
65
+ lines.push(`- **${agent.name}**: ${agent.description}`);
66
+ }
67
+ lines.push("");
68
+ }
69
+ lines.push("### Commands", "", '**`al-subagent <agent>`** — Call another agent. Pass the context via stdin. Returns a call ID.', "```", 'CALL_ID=$(echo "find competitors for Acme" | al-subagent researcher | jq -r .callId)', "```", "", "**`al-subagent-check <callId>`** — Check the status of a call. Never blocks.", "```", 'al-subagent-check "$CALL_ID"', "```", '- Running: `{"status":"running"}`', '- Completed: `{"status":"completed","returnValue":"..."}`', '- Error: `{"status":"error","errorMessage":"..."}`', "", "**`al-subagent-wait <callId> [callId...] [--timeout N]`** — Wait for one or more calls to complete. Default timeout: 900s.", "```", 'RESULTS=$(al-subagent-wait "$CALL_ID1" "$CALL_ID2" --timeout 600)', "```", "Returns a JSON object keyed by call ID with each call's final status.", "", "### Returning Values", "", "When you are called by another agent, return your result with the `al-return` command:", "```", 'al-return "Your result text here"', "```", "For multiline results, pipe via stdin:", "```", 'echo "Line 1\\nLine 2" | al-return', "```", "", "### Guidelines", "- Calls are non-blocking — fire multiple calls then wait for all at once", "- Use `al-subagent-wait` to wait for multiple calls efficiently", "- Use `al-subagent-check` for polling when you want to do work between checks", "- Called agents cannot call back to the calling agent (no cycles)", "- There is a depth limit on nested calls to prevent infinite chains", "</skill-subagent>");
98
70
  return lines.join("\n");
99
71
  }
100
72
  function buildConfigBlock(agentConfig) {
@@ -137,7 +109,7 @@ function buildEnvironmentContext() {
137
109
  "<environment>",
138
110
  "**Filesystem:** The root filesystem is read-only. `/tmp` is the only writable directory.",
139
111
  "Use `/tmp` for cloning repos, writing scratch files, and any other disk I/O.",
140
- "Your working directory is `/app/static` which contains your agent files (ACTIONS.md, agent-config.json).",
112
+ "Your working directory is `/app/static` which contains your agent files (SKILL.md, agent-config.json).",
141
113
  "All write operations (git clone, file creation, etc.) must target `/tmp`.",
142
114
  "</environment>",
143
115
  ].join("\n");
@@ -149,8 +121,8 @@ function buildSkillsBlock(skills) {
149
121
  if (skills.locking) {
150
122
  blocks.push(buildLockSkill());
151
123
  }
152
- if (skills.calling) {
153
- blocks.push(buildCallSkill());
124
+ if (skills.subagents) {
125
+ blocks.push(buildSubagentSkill(skills.availableAgents));
154
126
  }
155
127
  return blocks.length > 0 ? "\n\n" + blocks.join("\n\n") : "";
156
128
  }
@@ -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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"}
@@ -14,6 +14,8 @@ export interface RunOutcome {
14
14
  exitCode?: number;
15
15
  exitReason?: string;
16
16
  usage?: TokenUsage;
17
+ preHookMs?: number;
18
+ postHookMs?: number;
17
19
  }
18
20
  export declare class AgentRunner {
19
21
  private running;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAaA,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;AAO9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,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;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAGD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAkB;gBAE7B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IAUxG,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;YAwC3G,YAAY;CAiT3B"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAQA,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;AAO9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,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;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAkB;gBAE7B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IAUxG,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;YA+C3G,YAAY;CAsT3B"}
@@ -1,5 +1,4 @@
1
- import { getModel } from "@mariozechner/pi-ai";
2
- import { AuthStorage, createAgentSession, DefaultResourceLoader, SessionManager, SettingsManager, createCodingTools, } from "@mariozechner/pi-coding-agent";
1
+ import { DefaultResourceLoader, SettingsManager, } from "@mariozechner/pi-coding-agent";
3
2
  import { readFileSync, existsSync, mkdtempSync, rmSync } from "fs";
4
3
  import { randomBytes } from "crypto";
5
4
  import { resolve, join } from "path";
@@ -9,10 +8,12 @@ import { agentDir } from "../shared/paths.js";
9
8
  import { getExitCodeMessage } from "../shared/exit-codes.js";
10
9
  import { AgentError, isUnrecoverableError, UNRECOVERABLE_THRESHOLD } from "../shared/errors.js";
11
10
  import { installSignalCommands, readSignals } from "./signals.js";
12
- import { runPreflight } from "../preflight/runner.js";
11
+ import { runHooks } from "../hooks/runner.js";
13
12
  import { withSpan } from "../telemetry/index.js";
14
13
  import { SpanKind } from "@opentelemetry/api";
15
14
  import { sessionStatsToUsage } from "../shared/usage.js";
15
+ import { circuitBreaker, selectAvailableModels, isRateLimitError } from "./model-fallback.js";
16
+ import { createSessionForModel } from "./session-factory.js";
16
17
  export class AgentRunner {
17
18
  running = false;
18
19
  agentConfig;
@@ -54,14 +55,21 @@ export class AgentRunner {
54
55
  : triggerInfo.type)
55
56
  : undefined;
56
57
  this.statusTracker?.startRun(this.agentConfig.name, runReason);
58
+ this.statusTracker?.registerInstance({
59
+ id: this.instanceId,
60
+ agentName: this.agentConfig.name,
61
+ status: "running",
62
+ startedAt: new Date(),
63
+ trigger: triggerInfo?.source ? `${triggerInfo.type}:${triggerInfo.source}` : (triggerInfo?.type ?? "manual"),
64
+ });
57
65
  return await withSpan("agent.run", async (span) => {
58
66
  span.setAttributes({
59
67
  "agent.name": this.agentConfig.name,
60
68
  "agent.run_id": this.instanceId,
61
69
  "agent.trigger_type": triggerInfo?.type || "manual",
62
70
  "agent.trigger_source": triggerInfo?.source || "",
63
- "agent.model_provider": this.agentConfig.model?.provider,
64
- "agent.model_name": this.agentConfig.model?.model,
71
+ "agent.model_provider": this.agentConfig.models[0]?.provider,
72
+ "agent.model_name": this.agentConfig.models[0]?.model,
65
73
  "execution.environment": "host",
66
74
  });
67
75
  return this._runInternal(prompt, triggerInfo, span);
@@ -82,6 +90,8 @@ export class AgentRunner {
82
90
  const runStartTime = Date.now();
83
91
  let runError;
84
92
  let usage;
93
+ let preHookMs;
94
+ let postHookMs;
85
95
  // Declared outside try so the finally block can restore them.
86
96
  const GIT_ENV_KEYS = [
87
97
  "GIT_AUTHOR_NAME",
@@ -103,27 +113,7 @@ export class AgentRunner {
103
113
  process.env.AL_SIGNAL_DIR = signalDir;
104
114
  try {
105
115
  const cwd = agentDir(this.projectPath, this.agentConfig.name);
106
- const agentsFile = resolve(cwd, "ACTIONS.md");
107
- const { model } = this.agentConfig;
108
- const llmModel = getModel(model.provider, model.model);
109
- const authStorage = AuthStorage.create();
110
- if (model.authType !== "pi_auth") {
111
- // Try to load API key using provider-specific credential type
112
- const credentialType = `${model.provider}_key`;
113
- try {
114
- const credential = await loadCredentialField(credentialType, "default", "token");
115
- if (credential) {
116
- authStorage.setRuntimeApiKey(model.provider, credential);
117
- this.logger.debug(`Loaded ${credentialType} credential for ${model.provider}`);
118
- }
119
- else {
120
- this.logger.warn(`${credentialType} credential not found — agent may fail to authenticate. Run 'al doctor' to configure it.`);
121
- }
122
- }
123
- catch (err) {
124
- this.logger.warn(`Failed to load credential for provider ${model.provider}: ${credentialType} credential type may not be configured.`);
125
- }
126
- }
116
+ const agentsFile = resolve(cwd, "SKILL.md");
127
117
  // Set git author identity from git_ssh credential (scoped to this run)
128
118
  const resolvedCreds = resolveAgentCredentials(this.agentConfig.credentials);
129
119
  const gitSshCred = resolvedCreds.find((c) => c.type === "git_ssh");
@@ -139,9 +129,9 @@ export class AgentRunner {
139
129
  process.env.GIT_COMMITTER_EMAIL = gitEmail;
140
130
  }
141
131
  }
142
- // Run preflight steps (data staging before LLM session)
143
- if (this.agentConfig.preflight && this.agentConfig.preflight.length > 0) {
144
- const preflightCtx = {
132
+ // Run pre hooks (data staging before LLM session)
133
+ if (this.agentConfig.hooks?.pre && this.agentConfig.hooks.pre.length > 0) {
134
+ const hookCtx = {
145
135
  env: { ...process.env },
146
136
  logger: (level, msg, data) => {
147
137
  if (level === "error")
@@ -152,11 +142,12 @@ export class AgentRunner {
152
142
  this.logger.info(data ?? {}, msg);
153
143
  },
154
144
  };
155
- await runPreflight(this.agentConfig.preflight, preflightCtx);
145
+ const preResult = await runHooks(this.agentConfig.hooks.pre, "pre", hookCtx);
146
+ preHookMs = preResult.durationMs;
156
147
  }
157
- // ACTIONS.md must exist on disk (written during al new)
148
+ // SKILL.md must exist on disk (written during al new)
158
149
  if (!existsSync(agentsFile)) {
159
- throw new AgentError(`ACTIONS.md not found at ${agentsFile}. Run 'al new' to create it.`);
150
+ throw new AgentError(`SKILL.md not found at ${agentsFile}. Run 'al new' to create it.`);
160
151
  }
161
152
  const agentsContent = readFileSync(agentsFile, "utf-8");
162
153
  const resourceLoader = new DefaultResourceLoader({
@@ -172,106 +163,129 @@ export class AgentRunner {
172
163
  compaction: { enabled: true },
173
164
  retry: { enabled: true, maxRetries: 2 },
174
165
  });
175
- const { session } = await createAgentSession({
176
- cwd,
177
- model: llmModel,
178
- thinkingLevel: model.thinkingLevel,
179
- authStorage,
180
- resourceLoader,
181
- tools: createCodingTools(cwd, {
182
- bash: { commandPrefix: '[ -f /tmp/env.sh ] && source /tmp/env.sh' },
183
- }),
184
- sessionManager: SessionManager.inMemory(),
185
- settingsManager,
186
- });
187
- // Subscribe to events for logging
188
- // Track bash commands by toolCallId so we can correlate start→end
166
+ // Model fallback loop: try each available model, backoff only when all exhausted
167
+ const MAX_PASSES = 3;
168
+ const DEFAULT_BACKOFF_MS = 30_000;
169
+ const MAX_BACKOFF_MS = 300_000;
189
170
  const pendingCmds = new Map();
190
171
  let outputText = "";
191
172
  let currentTurnText = "";
192
173
  let unrecoverableErrors = 0;
193
- session.subscribe((event) => {
194
- if (event.type === "message_update" && event.assistantMessageEvent?.type === "text_delta") {
195
- const delta = event.assistantMessageEvent.delta;
196
- outputText += delta;
197
- currentTurnText += delta;
198
- }
199
- if (event.type === "message_end") {
200
- if (currentTurnText.trim()) {
201
- this.logger.info({ text: currentTurnText.trim() }, "assistant");
202
- }
203
- currentTurnText = "";
204
- }
205
- if (event.type === "tool_execution_start") {
206
- const cmd = String(event.args?.command || "");
207
- if (event.toolName === "bash") {
208
- pendingCmds.set(event.toolCallId, cmd);
209
- this.logger.info({ cmd: cmd.slice(0, 200) }, "bash");
210
- }
211
- else {
212
- this.logger.debug({ tool: event.toolName }, "tool start");
213
- }
214
- }
215
- if (event.type === "tool_execution_end") {
216
- const resultStr = typeof event.result === "string"
217
- ? event.result
218
- : JSON.stringify(event.result);
219
- const originCmd = pendingCmds.get(event.toolCallId);
220
- pendingCmds.delete(event.toolCallId);
221
- if (event.isError) {
222
- this.logger.error({ tool: event.toolName, result: resultStr.slice(0, 1000) }, "tool error");
223
- // Extract a human-readable error message from the result
224
- let errorMsg = resultStr;
225
- try {
226
- const parsed = JSON.parse(resultStr);
227
- if (parsed?.content?.[0]?.text) {
228
- errorMsg = parsed.content[0].text;
174
+ for (let pass = 0; pass <= MAX_PASSES; pass++) {
175
+ const availableModels = selectAvailableModels(this.agentConfig.models, circuitBreaker);
176
+ let modelSucceeded = false;
177
+ for (const modelConfig of availableModels) {
178
+ this.logger.info({ provider: modelConfig.provider, model: modelConfig.model }, "trying model");
179
+ const { session } = await createSessionForModel(modelConfig, {
180
+ cwd,
181
+ resourceLoader,
182
+ settingsManager,
183
+ loadCredential: loadCredentialField,
184
+ });
185
+ // Subscribe to events for logging
186
+ session.subscribe((event) => {
187
+ if (event.type === "message_update" && event.assistantMessageEvent?.type === "text_delta") {
188
+ const delta = event.assistantMessageEvent.delta;
189
+ outputText += delta;
190
+ currentTurnText += delta;
191
+ }
192
+ if (event.type === "message_end") {
193
+ if (currentTurnText.trim()) {
194
+ this.logger.info({ text: currentTurnText.trim() }, "assistant");
229
195
  }
196
+ currentTurnText = "";
230
197
  }
231
- catch { /* use raw string */ }
232
- const cmdPrefix = originCmd ? `$ ${originCmd.slice(0, 80)} — ` : "";
233
- const detail = `${cmdPrefix}${errorMsg.slice(0, 200)}`;
234
- this.statusTracker?.setAgentError(this.agentConfig.name, detail);
235
- if (isUnrecoverableError(errorMsg)) {
236
- unrecoverableErrors++;
237
- if (unrecoverableErrors >= UNRECOVERABLE_THRESHOLD) {
238
- this.logger.error("Aborting: repeated auth/permission failures — check credentials");
239
- this.statusTracker?.addLogLine(this.agentConfig.name, "ABORT: repeated auth/permission failures — check credentials");
240
- session.dispose();
198
+ if (event.type === "tool_execution_start") {
199
+ const cmd = String(event.args?.command || "");
200
+ if (event.toolName === "bash") {
201
+ pendingCmds.set(event.toolCallId, cmd);
202
+ this.logger.info({ cmd: cmd.slice(0, 200) }, "bash");
203
+ }
204
+ else {
205
+ this.logger.debug({ tool: event.toolName }, "tool start");
206
+ }
207
+ }
208
+ if (event.type === "tool_execution_end") {
209
+ const resultStr = typeof event.result === "string"
210
+ ? event.result
211
+ : JSON.stringify(event.result);
212
+ const originCmd = pendingCmds.get(event.toolCallId);
213
+ pendingCmds.delete(event.toolCallId);
214
+ if (event.isError) {
215
+ this.logger.error({ tool: event.toolName, result: resultStr.slice(0, 1000) }, "tool error");
216
+ let errorMsg = resultStr;
217
+ try {
218
+ const parsed = JSON.parse(resultStr);
219
+ if (parsed?.content?.[0]?.text) {
220
+ errorMsg = parsed.content[0].text;
221
+ }
222
+ }
223
+ catch { /* use raw string */ }
224
+ const cmdPrefix = originCmd ? `$ ${originCmd.slice(0, 80)} — ` : "";
225
+ const detail = `${cmdPrefix}${errorMsg.slice(0, 200)}`;
226
+ this.statusTracker?.setAgentError(this.agentConfig.name, detail);
227
+ if (isUnrecoverableError(errorMsg)) {
228
+ unrecoverableErrors++;
229
+ if (unrecoverableErrors >= UNRECOVERABLE_THRESHOLD) {
230
+ this.logger.error("Aborting: repeated auth/permission failures — check credentials");
231
+ this.statusTracker?.addLogLine(this.agentConfig.name, "ABORT: repeated auth/permission failures — check credentials");
232
+ session.dispose();
233
+ }
234
+ }
235
+ }
236
+ else {
237
+ this.logger.debug({ tool: event.toolName, resultLength: resultStr.length }, "tool done");
241
238
  }
242
239
  }
240
+ });
241
+ try {
242
+ await session.prompt(prompt);
243
+ circuitBreaker.recordSuccess(modelConfig.provider, modelConfig.model);
244
+ const sessionStats = session.getSessionStats();
245
+ usage = sessionStatsToUsage(sessionStats);
246
+ session.dispose();
247
+ modelSucceeded = true;
248
+ break;
243
249
  }
244
- else {
245
- this.logger.debug({ tool: event.toolName, resultLength: resultStr.length }, "tool done");
250
+ catch (promptErr) {
251
+ const msg = String(promptErr?.message || promptErr || "");
252
+ if (isRateLimitError(msg)) {
253
+ circuitBreaker.recordFailure(modelConfig.provider, modelConfig.model);
254
+ this.logger.warn({ provider: modelConfig.provider, model: modelConfig.model }, "rate limited, trying next model");
255
+ this.statusTracker?.addLogLine(this.agentConfig.name, `Rate limited on ${modelConfig.model}, trying fallback...`);
256
+ session.dispose();
257
+ continue;
258
+ }
259
+ session.dispose();
260
+ throw promptErr;
246
261
  }
247
262
  }
248
- });
249
- // Prompt is now built by the scheduler (includes <agent-config> and optional <webhook-trigger>)
250
- // Retry on rate limit errors with exponential backoff
251
- const MAX_PROMPT_RETRIES = 5;
252
- const DEFAULT_BACKOFF_MS = 30_000;
253
- const MAX_BACKOFF_MS = 300_000;
254
- for (let attempt = 0; attempt <= MAX_PROMPT_RETRIES; attempt++) {
255
- try {
256
- await session.prompt(prompt);
263
+ if (modelSucceeded)
257
264
  break;
258
- }
259
- catch (promptErr) {
260
- const msg = String(promptErr?.message || promptErr || "");
261
- const isRateLimit = msg.includes("rate_limit") || msg.includes("429") || msg.includes("529") || msg.includes("overloaded");
262
- if (!isRateLimit || attempt === MAX_PROMPT_RETRIES) {
263
- throw promptErr;
264
- }
265
- const delayMs = Math.min(DEFAULT_BACKOFF_MS * Math.pow(2, attempt), MAX_BACKOFF_MS);
266
- this.logger.warn({ attempt: attempt + 1, delayMs }, "rate limited, retrying prompt");
267
- this.statusTracker?.addLogLine(this.agentConfig.name, `Rate limited, retrying in ${Math.round(delayMs / 1000)}s...`);
265
+ // All models exhausted — backoff before next pass
266
+ if (pass < MAX_PASSES) {
267
+ const delayMs = Math.min(DEFAULT_BACKOFF_MS * Math.pow(2, pass), MAX_BACKOFF_MS);
268
+ this.logger.warn({ pass: pass + 1, delayMs }, "all models exhausted, backing off");
269
+ this.statusTracker?.addLogLine(this.agentConfig.name, `All models exhausted, retrying in ${Math.round(delayMs / 1000)}s...`);
268
270
  await new Promise((r) => setTimeout(r, delayMs));
269
271
  }
270
272
  }
271
- // Capture token usage before disposing the session
272
- const sessionStats = session.getSessionStats();
273
- usage = sessionStatsToUsage(sessionStats);
274
- session.dispose();
273
+ // Run post hooks (cleanup, notifications after LLM session)
274
+ if (this.agentConfig.hooks?.post && this.agentConfig.hooks.post.length > 0) {
275
+ const hookCtx = {
276
+ env: { ...process.env },
277
+ logger: (level, msg, data) => {
278
+ if (level === "error")
279
+ this.logger.error(data ?? {}, msg);
280
+ else if (level === "warn")
281
+ this.logger.warn(data ?? {}, msg);
282
+ else
283
+ this.logger.info(data ?? {}, msg);
284
+ },
285
+ };
286
+ const postResult = await runHooks(this.agentConfig.hooks.post, "post", hookCtx);
287
+ postHookMs = postResult.durationMs;
288
+ }
275
289
  // Read signal files written by al-rerun, al-status, al-return, al-exit
276
290
  const signals = readSignals(signalDir);
277
291
  let result;
@@ -300,13 +314,13 @@ export class AgentRunner {
300
314
  "execution.has_return_value": !!signals.returnValue,
301
315
  "execution.unrecoverable_errors": unrecoverableErrors,
302
316
  // OTel span attributes for token usage (following OpenTelemetry GenAI semantic conventions)
303
- "llm.token.input": usage.inputTokens,
304
- "llm.token.output": usage.outputTokens,
305
- "llm.token.cache_read": usage.cacheReadTokens,
306
- "llm.token.cache_write": usage.cacheWriteTokens,
307
- "llm.token.total": usage.totalTokens,
308
- "llm.cost.total": usage.cost,
309
- "llm.turns": usage.turnCount,
317
+ "llm.token.input": usage?.inputTokens ?? 0,
318
+ "llm.token.output": usage?.outputTokens ?? 0,
319
+ "llm.token.cache_read": usage?.cacheReadTokens ?? 0,
320
+ "llm.token.cache_write": usage?.cacheWriteTokens ?? 0,
321
+ "llm.token.total": usage?.totalTokens ?? 0,
322
+ "llm.cost.total": usage?.cost ?? 0,
323
+ "llm.turns": usage?.turnCount ?? 0,
310
324
  });
311
325
  if (result === "error") {
312
326
  parentSpan.recordException(new Error(`Agent execution failed: ${runError || "Unknown error"}`));
@@ -317,6 +331,8 @@ export class AgentRunner {
317
331
  triggers: [],
318
332
  returnValue: signals.returnValue,
319
333
  usage,
334
+ preHookMs,
335
+ postHookMs,
320
336
  ...(signals.exitCode !== undefined && {
321
337
  exitCode: signals.exitCode,
322
338
  exitReason: getExitCodeMessage(signals.exitCode)
@@ -349,6 +365,8 @@ export class AgentRunner {
349
365
  }
350
366
  catch { /* best-effort */ }
351
367
  const elapsed = Date.now() - runStartTime;
368
+ const instanceStatus = runError ? "error" : "completed";
369
+ this.statusTracker?.completeInstance(this.instanceId, instanceStatus);
352
370
  this.statusTracker?.endRun(this.agentConfig.name, elapsed, runError, usage);
353
371
  this.running = false;
354
372
  }
@@ -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,13 @@
1
+ import { AuthStorage } from "@mariozechner/pi-coding-agent";
2
+ import type { ModelConfig } from "../shared/config.js";
3
+ export interface SessionFactoryOpts {
4
+ cwd: string;
5
+ resourceLoader: any;
6
+ settingsManager: any;
7
+ loadCredential: (type: string, instance: string, field: string) => Promise<string | undefined>;
8
+ }
9
+ export declare function createSessionForModel(modelConfig: ModelConfig, opts: SessionFactoryOpts): Promise<{
10
+ session: import("@mariozechner/pi-coding-agent").AgentSession;
11
+ authStorage: AuthStorage;
12
+ }>;
13
+ //# sourceMappingURL=session-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../src/agents/session-factory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAIZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAChG;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,kBAAkB;;;GA2BzB"}