@action-llama/action-llama 0.13.7 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) 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/feedback-monitor.d.ts +56 -0
  17. package/dist/agents/feedback-monitor.d.ts.map +1 -0
  18. package/dist/agents/feedback-monitor.js +176 -0
  19. package/dist/agents/feedback-monitor.js.map +1 -0
  20. package/dist/agents/feedback-runner.d.ts +28 -0
  21. package/dist/agents/feedback-runner.d.ts.map +1 -0
  22. package/dist/agents/feedback-runner.js +138 -0
  23. package/dist/agents/feedback-runner.js.map +1 -0
  24. package/dist/agents/model-fallback.d.ts +18 -0
  25. package/dist/agents/model-fallback.d.ts.map +1 -0
  26. package/dist/agents/model-fallback.js +40 -0
  27. package/dist/agents/model-fallback.js.map +1 -0
  28. package/dist/agents/prompt.d.ts +9 -2
  29. package/dist/agents/prompt.d.ts.map +1 -1
  30. package/dist/agents/prompt.js +21 -49
  31. package/dist/agents/prompt.js.map +1 -1
  32. package/dist/agents/runner.d.ts +6 -0
  33. package/dist/agents/runner.d.ts.map +1 -1
  34. package/dist/agents/runner.js +153 -124
  35. package/dist/agents/runner.js.map +1 -1
  36. package/dist/agents/session-factory.d.ts +13 -0
  37. package/dist/agents/session-factory.d.ts.map +1 -0
  38. package/dist/agents/session-factory.js +27 -0
  39. package/dist/agents/session-factory.js.map +1 -0
  40. package/dist/build-info.json +1 -1
  41. package/dist/cli/commands/agent.d.ts.map +1 -1
  42. package/dist/cli/commands/agent.js +89 -23
  43. package/dist/cli/commands/agent.js.map +1 -1
  44. package/dist/cli/commands/chat.d.ts.map +1 -1
  45. package/dist/cli/commands/chat.js +26 -43
  46. package/dist/cli/commands/chat.js.map +1 -1
  47. package/dist/cli/commands/claude.d.ts +4 -0
  48. package/dist/cli/commands/claude.d.ts.map +1 -0
  49. package/dist/cli/commands/claude.js +8 -0
  50. package/dist/cli/commands/claude.js.map +1 -0
  51. package/dist/cli/commands/doctor.d.ts.map +1 -1
  52. package/dist/cli/commands/doctor.js +24 -6
  53. package/dist/cli/commands/doctor.js.map +1 -1
  54. package/dist/cli/commands/mcp.d.ts +8 -0
  55. package/dist/cli/commands/mcp.d.ts.map +1 -0
  56. package/dist/cli/commands/mcp.js +31 -0
  57. package/dist/cli/commands/mcp.js.map +1 -0
  58. package/dist/cli/commands/new.d.ts.map +1 -1
  59. package/dist/cli/commands/new.js +15 -6
  60. package/dist/cli/commands/new.js.map +1 -1
  61. package/dist/cli/commands/run.js +1 -1
  62. package/dist/cli/commands/run.js.map +1 -1
  63. package/dist/cli/commands/start.js +3 -3
  64. package/dist/cli/commands/start.js.map +1 -1
  65. package/dist/cli/commands/stats.d.ts +9 -0
  66. package/dist/cli/commands/stats.d.ts.map +1 -0
  67. package/dist/cli/commands/stats.js +149 -0
  68. package/dist/cli/commands/stats.js.map +1 -0
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +3 -0
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/main.js +50 -3
  73. package/dist/cli/main.js.map +1 -1
  74. package/dist/gateway/index.d.ts +3 -0
  75. package/dist/gateway/index.d.ts.map +1 -1
  76. package/dist/gateway/index.js +7 -1
  77. package/dist/gateway/index.js.map +1 -1
  78. package/dist/gateway/lock-store.d.ts +10 -0
  79. package/dist/gateway/lock-store.d.ts.map +1 -1
  80. package/dist/gateway/lock-store.js +38 -0
  81. package/dist/gateway/lock-store.js.map +1 -1
  82. package/dist/gateway/routes/control.d.ts +2 -0
  83. package/dist/gateway/routes/control.d.ts.map +1 -1
  84. package/dist/gateway/routes/control.js +56 -0
  85. package/dist/gateway/routes/control.js.map +1 -1
  86. package/dist/gateway/routes/dashboard.d.ts +2 -1
  87. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  88. package/dist/gateway/routes/dashboard.js +112 -6
  89. package/dist/gateway/routes/dashboard.js.map +1 -1
  90. package/dist/gateway/routes/locks.d.ts.map +1 -1
  91. package/dist/gateway/routes/locks.js +39 -0
  92. package/dist/gateway/routes/locks.js.map +1 -1
  93. package/dist/gateway/routes/logs.d.ts.map +1 -1
  94. package/dist/gateway/routes/logs.js +4 -5
  95. package/dist/gateway/routes/logs.js.map +1 -1
  96. package/dist/gateway/routes/stats.d.ts +4 -0
  97. package/dist/gateway/routes/stats.d.ts.map +1 -0
  98. package/dist/gateway/routes/stats.js +25 -0
  99. package/dist/gateway/routes/stats.js.map +1 -0
  100. package/dist/gateway/views/agent-detail-page.d.ts +14 -0
  101. package/dist/gateway/views/agent-detail-page.d.ts.map +1 -0
  102. package/dist/gateway/views/agent-detail-page.js +416 -0
  103. package/dist/gateway/views/agent-detail-page.js.map +1 -0
  104. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  105. package/dist/gateway/views/dashboard-page.js +213 -245
  106. package/dist/gateway/views/dashboard-page.js.map +1 -1
  107. package/dist/gateway/views/instance-detail-page.d.ts +30 -0
  108. package/dist/gateway/views/instance-detail-page.d.ts.map +1 -0
  109. package/dist/gateway/views/instance-detail-page.js +360 -0
  110. package/dist/gateway/views/instance-detail-page.js.map +1 -0
  111. package/dist/gateway/views/layout.d.ts +17 -0
  112. package/dist/gateway/views/layout.d.ts.map +1 -0
  113. package/dist/gateway/views/layout.js +153 -0
  114. package/dist/gateway/views/layout.js.map +1 -0
  115. package/dist/gateway/views/login-page.d.ts.map +1 -1
  116. package/dist/gateway/views/login-page.js +24 -37
  117. package/dist/gateway/views/login-page.js.map +1 -1
  118. package/dist/gateway/views/project-config-page.d.ts +12 -0
  119. package/dist/gateway/views/project-config-page.d.ts.map +1 -0
  120. package/dist/gateway/views/project-config-page.js +199 -0
  121. package/dist/gateway/views/project-config-page.js.map +1 -0
  122. package/dist/hooks/runner.d.ts +12 -0
  123. package/dist/hooks/runner.d.ts.map +1 -0
  124. package/dist/hooks/runner.js +32 -0
  125. package/dist/hooks/runner.js.map +1 -0
  126. package/dist/mcp/server.d.ts +5 -0
  127. package/dist/mcp/server.d.ts.map +1 -0
  128. package/dist/mcp/server.js +336 -0
  129. package/dist/mcp/server.js.map +1 -0
  130. package/dist/scheduler/call-dispatcher.d.ts +2 -2
  131. package/dist/scheduler/call-dispatcher.js +3 -3
  132. package/dist/scheduler/call-dispatcher.js.map +1 -1
  133. package/dist/scheduler/execution.d.ts +5 -2
  134. package/dist/scheduler/execution.d.ts.map +1 -1
  135. package/dist/scheduler/execution.js +75 -4
  136. package/dist/scheduler/execution.js.map +1 -1
  137. package/dist/scheduler/gateway-setup.d.ts +2 -0
  138. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  139. package/dist/scheduler/gateway-setup.js +21 -2
  140. package/dist/scheduler/gateway-setup.js.map +1 -1
  141. package/dist/scheduler/image-builder.js +3 -3
  142. package/dist/scheduler/image-builder.js.map +1 -1
  143. package/dist/scheduler/index.d.ts.map +1 -1
  144. package/dist/scheduler/index.js +90 -3
  145. package/dist/scheduler/index.js.map +1 -1
  146. package/dist/scheduler/shutdown.d.ts +2 -0
  147. package/dist/scheduler/shutdown.d.ts.map +1 -1
  148. package/dist/scheduler/shutdown.js +4 -1
  149. package/dist/scheduler/shutdown.js.map +1 -1
  150. package/dist/scheduler/validation.d.ts.map +1 -1
  151. package/dist/scheduler/validation.js +5 -3
  152. package/dist/scheduler/validation.js.map +1 -1
  153. package/dist/scheduler/watcher.d.ts +1 -1
  154. package/dist/scheduler/watcher.js +1 -1
  155. package/dist/scheduler/webhook-setup.d.ts +2 -0
  156. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  157. package/dist/scheduler/webhook-setup.js +2 -0
  158. package/dist/scheduler/webhook-setup.js.map +1 -1
  159. package/dist/setup/prompts.d.ts.map +1 -1
  160. package/dist/setup/prompts.js +35 -6
  161. package/dist/setup/prompts.js.map +1 -1
  162. package/dist/setup/scaffold.d.ts +6 -0
  163. package/dist/setup/scaffold.d.ts.map +1 -1
  164. package/dist/setup/scaffold.js +185 -7
  165. package/dist/setup/scaffold.js.map +1 -1
  166. package/dist/shared/config.d.ts +42 -5
  167. package/dist/shared/config.d.ts.map +1 -1
  168. package/dist/shared/config.js +126 -20
  169. package/dist/shared/config.js.map +1 -1
  170. package/dist/shared/credential-refs.d.ts.map +1 -1
  171. package/dist/shared/credential-refs.js +8 -0
  172. package/dist/shared/credential-refs.js.map +1 -1
  173. package/dist/shared/default-feedback-agent.d.ts +10 -0
  174. package/dist/shared/default-feedback-agent.d.ts.map +1 -0
  175. package/dist/shared/default-feedback-agent.js +114 -0
  176. package/dist/shared/default-feedback-agent.js.map +1 -0
  177. package/dist/shared/environment.d.ts +0 -1
  178. package/dist/shared/environment.d.ts.map +1 -1
  179. package/dist/shared/environment.js +19 -3
  180. package/dist/shared/environment.js.map +1 -1
  181. package/dist/shared/frontmatter.d.ts +11 -0
  182. package/dist/shared/frontmatter.d.ts.map +1 -0
  183. package/dist/shared/frontmatter.js +30 -0
  184. package/dist/shared/frontmatter.js.map +1 -0
  185. package/dist/shared/paths.d.ts +1 -0
  186. package/dist/shared/paths.d.ts.map +1 -1
  187. package/dist/shared/paths.js +3 -0
  188. package/dist/shared/paths.js.map +1 -1
  189. package/dist/shared/usage.d.ts.map +1 -1
  190. package/dist/shared/usage.js +52 -7
  191. package/dist/shared/usage.js.map +1 -1
  192. package/dist/stats/index.d.ts +3 -0
  193. package/dist/stats/index.d.ts.map +1 -0
  194. package/dist/stats/index.js +2 -0
  195. package/dist/stats/index.js.map +1 -0
  196. package/dist/stats/store.d.ts +89 -0
  197. package/dist/stats/store.d.ts.map +1 -0
  198. package/dist/stats/store.js +242 -0
  199. package/dist/stats/store.js.map +1 -0
  200. package/dist/tui/App.d.ts +2 -1
  201. package/dist/tui/App.d.ts.map +1 -1
  202. package/dist/tui/App.js +132 -5
  203. package/dist/tui/App.js.map +1 -1
  204. package/dist/tui/render.d.ts +1 -1
  205. package/dist/tui/render.d.ts.map +1 -1
  206. package/dist/tui/render.js +2 -2
  207. package/dist/tui/render.js.map +1 -1
  208. package/dist/tui/status-tracker.d.ts +18 -1
  209. package/dist/tui/status-tracker.d.ts.map +1 -1
  210. package/dist/tui/status-tracker.js +32 -1
  211. package/dist/tui/status-tracker.js.map +1 -1
  212. package/docker/bin/{al-call → al-subagent} +2 -2
  213. package/docker/bin/{al-check → al-subagent-check} +2 -2
  214. package/docker/bin/{al-wait → al-subagent-wait} +2 -2
  215. package/package.json +8 -21
  216. package/LICENSE +0 -21
  217. package/README.md +0 -192
  218. package/dist/gateway/views/logs-page.d.ts +0 -2
  219. package/dist/gateway/views/logs-page.d.ts.map +0 -1
  220. package/dist/gateway/views/logs-page.js +0 -280
  221. package/dist/gateway/views/logs-page.js.map +0 -1
  222. package/dist/preflight/interpolate.d.ts +0 -10
  223. package/dist/preflight/interpolate.d.ts.map +0 -1
  224. package/dist/preflight/interpolate.js +0 -33
  225. package/dist/preflight/interpolate.js.map +0 -1
  226. package/dist/preflight/providers/git-clone.d.ts +0 -3
  227. package/dist/preflight/providers/git-clone.d.ts.map +0 -1
  228. package/dist/preflight/providers/git-clone.js +0 -36
  229. package/dist/preflight/providers/git-clone.js.map +0 -1
  230. package/dist/preflight/providers/http.d.ts +0 -3
  231. package/dist/preflight/providers/http.d.ts.map +0 -1
  232. package/dist/preflight/providers/http.js +0 -36
  233. package/dist/preflight/providers/http.js.map +0 -1
  234. package/dist/preflight/providers/shell.d.ts +0 -3
  235. package/dist/preflight/providers/shell.d.ts.map +0 -1
  236. package/dist/preflight/providers/shell.js +0 -28
  237. package/dist/preflight/providers/shell.js.map +0 -1
  238. package/dist/preflight/registry.d.ts +0 -4
  239. package/dist/preflight/registry.d.ts.map +0 -1
  240. package/dist/preflight/registry.js +0 -20
  241. package/dist/preflight/registry.js.map +0 -1
  242. package/dist/preflight/runner.d.ts +0 -7
  243. package/dist/preflight/runner.d.ts.map +0 -1
  244. package/dist/preflight/runner.js +0 -28
  245. package/dist/preflight/runner.js.map +0 -1
  246. package/dist/preflight/schema.d.ts +0 -21
  247. package/dist/preflight/schema.d.ts.map +0 -1
  248. package/dist/preflight/schema.js +0 -9
  249. package/dist/preflight/schema.js.map +0 -1
@@ -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;
@@ -38,6 +39,14 @@ export class AgentRunner {
38
39
  this.logger.info("Agent runner abort requested");
39
40
  this.abortController.abort();
40
41
  }
42
+ /**
43
+ * Trigger feedback monitoring if enabled (to be overridden by scheduler)
44
+ */
45
+ triggerFeedbackIfEnabled(err) {
46
+ // This is a placeholder - the actual feedback triggering will be handled
47
+ // by the scheduler when it integrates the feedback monitor
48
+ this.logger.debug({ error: err.message }, "Error logged for potential feedback processing");
49
+ }
41
50
  async run(prompt, triggerInfo) {
42
51
  if (this.running) {
43
52
  this.logger.warn(`${this.agentConfig.name} is already running, skipping`);
@@ -54,14 +63,21 @@ export class AgentRunner {
54
63
  : triggerInfo.type)
55
64
  : undefined;
56
65
  this.statusTracker?.startRun(this.agentConfig.name, runReason);
66
+ this.statusTracker?.registerInstance({
67
+ id: this.instanceId,
68
+ agentName: this.agentConfig.name,
69
+ status: "running",
70
+ startedAt: new Date(),
71
+ trigger: triggerInfo?.source ? `${triggerInfo.type}:${triggerInfo.source}` : (triggerInfo?.type ?? "manual"),
72
+ });
57
73
  return await withSpan("agent.run", async (span) => {
58
74
  span.setAttributes({
59
75
  "agent.name": this.agentConfig.name,
60
76
  "agent.run_id": this.instanceId,
61
77
  "agent.trigger_type": triggerInfo?.type || "manual",
62
78
  "agent.trigger_source": triggerInfo?.source || "",
63
- "agent.model_provider": this.agentConfig.model?.provider,
64
- "agent.model_name": this.agentConfig.model?.model,
79
+ "agent.model_provider": this.agentConfig.models[0]?.provider,
80
+ "agent.model_name": this.agentConfig.models[0]?.model,
65
81
  "execution.environment": "host",
66
82
  });
67
83
  return this._runInternal(prompt, triggerInfo, span);
@@ -82,6 +98,8 @@ export class AgentRunner {
82
98
  const runStartTime = Date.now();
83
99
  let runError;
84
100
  let usage;
101
+ let preHookMs;
102
+ let postHookMs;
85
103
  // Declared outside try so the finally block can restore them.
86
104
  const GIT_ENV_KEYS = [
87
105
  "GIT_AUTHOR_NAME",
@@ -103,27 +121,7 @@ export class AgentRunner {
103
121
  process.env.AL_SIGNAL_DIR = signalDir;
104
122
  try {
105
123
  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
- }
124
+ const agentsFile = resolve(cwd, "SKILL.md");
127
125
  // Set git author identity from git_ssh credential (scoped to this run)
128
126
  const resolvedCreds = resolveAgentCredentials(this.agentConfig.credentials);
129
127
  const gitSshCred = resolvedCreds.find((c) => c.type === "git_ssh");
@@ -139,9 +137,9 @@ export class AgentRunner {
139
137
  process.env.GIT_COMMITTER_EMAIL = gitEmail;
140
138
  }
141
139
  }
142
- // Run preflight steps (data staging before LLM session)
143
- if (this.agentConfig.preflight && this.agentConfig.preflight.length > 0) {
144
- const preflightCtx = {
140
+ // Run pre hooks (data staging before LLM session)
141
+ if (this.agentConfig.hooks?.pre && this.agentConfig.hooks.pre.length > 0) {
142
+ const hookCtx = {
145
143
  env: { ...process.env },
146
144
  logger: (level, msg, data) => {
147
145
  if (level === "error")
@@ -152,11 +150,12 @@ export class AgentRunner {
152
150
  this.logger.info(data ?? {}, msg);
153
151
  },
154
152
  };
155
- await runPreflight(this.agentConfig.preflight, preflightCtx);
153
+ const preResult = await runHooks(this.agentConfig.hooks.pre, "pre", hookCtx);
154
+ preHookMs = preResult.durationMs;
156
155
  }
157
- // ACTIONS.md must exist on disk (written during al new)
156
+ // SKILL.md must exist on disk (written during al new)
158
157
  if (!existsSync(agentsFile)) {
159
- throw new AgentError(`ACTIONS.md not found at ${agentsFile}. Run 'al new' to create it.`);
158
+ throw new AgentError(`SKILL.md not found at ${agentsFile}. Run 'al new' to create it.`);
160
159
  }
161
160
  const agentsContent = readFileSync(agentsFile, "utf-8");
162
161
  const resourceLoader = new DefaultResourceLoader({
@@ -172,106 +171,130 @@ export class AgentRunner {
172
171
  compaction: { enabled: true },
173
172
  retry: { enabled: true, maxRetries: 2 },
174
173
  });
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
174
+ // Model fallback loop: try each available model, backoff only when all exhausted
175
+ const MAX_PASSES = 3;
176
+ const DEFAULT_BACKOFF_MS = 30_000;
177
+ const MAX_BACKOFF_MS = 300_000;
189
178
  const pendingCmds = new Map();
190
179
  let outputText = "";
191
180
  let currentTurnText = "";
192
181
  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;
182
+ for (let pass = 0; pass <= MAX_PASSES; pass++) {
183
+ const availableModels = selectAvailableModels(this.agentConfig.models, circuitBreaker);
184
+ let modelSucceeded = false;
185
+ for (const modelConfig of availableModels) {
186
+ this.logger.info({ provider: modelConfig.provider, model: modelConfig.model }, "trying model");
187
+ const { session } = await createSessionForModel(modelConfig, {
188
+ cwd,
189
+ resourceLoader,
190
+ settingsManager,
191
+ loadCredential: loadCredentialField,
192
+ });
193
+ // Subscribe to events for logging
194
+ session.subscribe((event) => {
195
+ if (event.type === "message_update" && event.assistantMessageEvent?.type === "text_delta") {
196
+ const delta = event.assistantMessageEvent.delta;
197
+ outputText += delta;
198
+ currentTurnText += delta;
199
+ }
200
+ if (event.type === "message_end") {
201
+ if (currentTurnText.trim()) {
202
+ this.logger.info({ text: currentTurnText.trim() }, "assistant");
203
+ }
204
+ currentTurnText = "";
205
+ }
206
+ if (event.type === "tool_execution_start") {
207
+ const cmd = String(event.args?.command || "");
208
+ if (event.toolName === "bash") {
209
+ pendingCmds.set(event.toolCallId, cmd);
210
+ this.logger.info({ cmd: cmd.slice(0, 200) }, "bash");
211
+ }
212
+ else {
213
+ this.logger.debug({ tool: event.toolName }, "tool start");
229
214
  }
230
215
  }
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();
216
+ if (event.type === "tool_execution_end") {
217
+ const resultStr = typeof event.result === "string"
218
+ ? event.result
219
+ : JSON.stringify(event.result);
220
+ const originCmd = pendingCmds.get(event.toolCallId);
221
+ pendingCmds.delete(event.toolCallId);
222
+ if (event.isError) {
223
+ this.logger.error({ tool: event.toolName, result: resultStr.slice(0, 1000) }, "tool error");
224
+ let errorMsg = resultStr;
225
+ try {
226
+ const parsed = JSON.parse(resultStr);
227
+ if (parsed?.content?.[0]?.text) {
228
+ errorMsg = parsed.content[0].text;
229
+ }
230
+ }
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();
241
+ }
242
+ }
243
+ }
244
+ else {
245
+ this.logger.debug({ tool: event.toolName, resultLength: resultStr.length }, "tool done");
241
246
  }
242
247
  }
248
+ });
249
+ try {
250
+ await session.prompt(prompt);
251
+ circuitBreaker.recordSuccess(modelConfig.provider, modelConfig.model);
252
+ const sessionStats = session.getSessionStats();
253
+ this.logger.debug({ sessionStats, provider: modelConfig.provider }, "raw session stats");
254
+ usage = sessionStatsToUsage(sessionStats);
255
+ session.dispose();
256
+ modelSucceeded = true;
257
+ break;
243
258
  }
244
- else {
245
- this.logger.debug({ tool: event.toolName, resultLength: resultStr.length }, "tool done");
259
+ catch (promptErr) {
260
+ const msg = String(promptErr?.message || promptErr || "");
261
+ if (isRateLimitError(msg)) {
262
+ circuitBreaker.recordFailure(modelConfig.provider, modelConfig.model);
263
+ this.logger.warn({ provider: modelConfig.provider, model: modelConfig.model }, "rate limited, trying next model");
264
+ this.statusTracker?.addLogLine(this.agentConfig.name, `Rate limited on ${modelConfig.model}, trying fallback...`);
265
+ session.dispose();
266
+ continue;
267
+ }
268
+ session.dispose();
269
+ throw promptErr;
246
270
  }
247
271
  }
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);
272
+ if (modelSucceeded)
257
273
  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...`);
274
+ // All models exhausted — backoff before next pass
275
+ if (pass < MAX_PASSES) {
276
+ const delayMs = Math.min(DEFAULT_BACKOFF_MS * Math.pow(2, pass), MAX_BACKOFF_MS);
277
+ this.logger.warn({ pass: pass + 1, delayMs }, "all models exhausted, backing off");
278
+ this.statusTracker?.addLogLine(this.agentConfig.name, `All models exhausted, retrying in ${Math.round(delayMs / 1000)}s...`);
268
279
  await new Promise((r) => setTimeout(r, delayMs));
269
280
  }
270
281
  }
271
- // Capture token usage before disposing the session
272
- const sessionStats = session.getSessionStats();
273
- usage = sessionStatsToUsage(sessionStats);
274
- session.dispose();
282
+ // Run post hooks (cleanup, notifications after LLM session)
283
+ if (this.agentConfig.hooks?.post && this.agentConfig.hooks.post.length > 0) {
284
+ const hookCtx = {
285
+ env: { ...process.env },
286
+ logger: (level, msg, data) => {
287
+ if (level === "error")
288
+ this.logger.error(data ?? {}, msg);
289
+ else if (level === "warn")
290
+ this.logger.warn(data ?? {}, msg);
291
+ else
292
+ this.logger.info(data ?? {}, msg);
293
+ },
294
+ };
295
+ const postResult = await runHooks(this.agentConfig.hooks.post, "post", hookCtx);
296
+ postHookMs = postResult.durationMs;
297
+ }
275
298
  // Read signal files written by al-rerun, al-status, al-return, al-exit
276
299
  const signals = readSignals(signalDir);
277
300
  let result;
@@ -300,13 +323,13 @@ export class AgentRunner {
300
323
  "execution.has_return_value": !!signals.returnValue,
301
324
  "execution.unrecoverable_errors": unrecoverableErrors,
302
325
  // 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,
326
+ "llm.token.input": usage?.inputTokens ?? 0,
327
+ "llm.token.output": usage?.outputTokens ?? 0,
328
+ "llm.token.cache_read": usage?.cacheReadTokens ?? 0,
329
+ "llm.token.cache_write": usage?.cacheWriteTokens ?? 0,
330
+ "llm.token.total": usage?.totalTokens ?? 0,
331
+ "llm.cost.total": usage?.cost ?? 0,
332
+ "llm.turns": usage?.turnCount ?? 0,
310
333
  });
311
334
  if (result === "error") {
312
335
  parentSpan.recordException(new Error(`Agent execution failed: ${runError || "Unknown error"}`));
@@ -317,6 +340,8 @@ export class AgentRunner {
317
340
  triggers: [],
318
341
  returnValue: signals.returnValue,
319
342
  usage,
343
+ preHookMs,
344
+ postHookMs,
320
345
  ...(signals.exitCode !== undefined && {
321
346
  exitCode: signals.exitCode,
322
347
  exitReason: getExitCodeMessage(signals.exitCode)
@@ -326,6 +351,8 @@ export class AgentRunner {
326
351
  catch (err) {
327
352
  this.logger.error({ err }, `${this.agentConfig.name} run failed`);
328
353
  runError = String(err?.message || err).slice(0, 200);
354
+ // Trigger feedback monitoring if enabled
355
+ this.triggerFeedbackIfEnabled(err);
329
356
  return { result: "error", triggers: [], usage: undefined };
330
357
  }
331
358
  finally {
@@ -349,6 +376,8 @@ export class AgentRunner {
349
376
  }
350
377
  catch { /* best-effort */ }
351
378
  const elapsed = Date.now() - runStartTime;
379
+ const instanceStatus = runError ? "error" : "completed";
380
+ this.statusTracker?.completeInstance(this.instanceId, instanceStatus);
352
381
  this.statusTracker?.endRun(this.agentConfig.name, elapsed, runError, usage);
353
382
  this.running = false;
354
383
  }
@@ -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"}
@@ -0,0 +1,27 @@
1
+ import { getModel } from "@mariozechner/pi-ai";
2
+ import { AuthStorage, createAgentSession, createCodingTools, SessionManager, } from "@mariozechner/pi-coding-agent";
3
+ export async function createSessionForModel(modelConfig, opts) {
4
+ const llmModel = getModel(modelConfig.provider, modelConfig.model);
5
+ const authStorage = AuthStorage.create();
6
+ if (modelConfig.authType !== "pi_auth") {
7
+ const credentialType = `${modelConfig.provider}_key`;
8
+ const credential = await opts.loadCredential(credentialType, "default", "token");
9
+ if (credential) {
10
+ authStorage.setRuntimeApiKey(modelConfig.provider, credential);
11
+ }
12
+ }
13
+ const { session } = await createAgentSession({
14
+ cwd: opts.cwd,
15
+ model: llmModel,
16
+ thinkingLevel: modelConfig.thinkingLevel,
17
+ authStorage,
18
+ resourceLoader: opts.resourceLoader,
19
+ tools: createCodingTools(opts.cwd, {
20
+ bash: { commandPrefix: '[ -f /tmp/env.sh ] && source /tmp/env.sh' },
21
+ }),
22
+ sessionManager: SessionManager.inMemory(),
23
+ settingsManager: opts.settingsManager,
24
+ });
25
+ return { session, authStorage };
26
+ }
27
+ //# sourceMappingURL=session-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../src/agents/session-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAUvC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,IAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAe,EAAE,WAAW,CAAC,KAAY,CAAC,CAAC;IAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,GAAG,WAAW,CAAC,QAAQ,MAAM,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;QAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,WAAW;QACX,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,IAAI,EAAE,EAAE,aAAa,EAAE,0CAA0C,EAAE;SACpE,CAAC;QACF,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;QACzC,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"gitSha":"d1f1238c"}
1
+ {"gitSha":"3f70293a"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAqBA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DvE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkExF"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAuBA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DvE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFxF"}