@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.
- package/AGENTS.md +56 -28
- package/README.md +1 -1
- package/dist/agents/container-entry.d.ts +31 -0
- package/dist/agents/container-entry.d.ts.map +1 -1
- package/dist/agents/container-entry.js +83 -62
- package/dist/agents/container-entry.js.map +1 -1
- package/dist/agents/container-runner.d.ts +3 -4
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +21 -33
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/agents/execution-engine.d.ts +17 -0
- package/dist/agents/execution-engine.d.ts.map +1 -0
- package/dist/agents/execution-engine.js +196 -0
- package/dist/agents/execution-engine.js.map +1 -0
- package/dist/agents/git-environment.d.ts +18 -0
- package/dist/agents/git-environment.d.ts.map +1 -0
- package/dist/agents/git-environment.js +63 -0
- package/dist/agents/git-environment.js.map +1 -0
- package/dist/agents/lambda-handler.d.ts +2 -5
- package/dist/agents/lambda-handler.d.ts.map +1 -1
- package/dist/agents/lambda-handler.js +9 -10
- package/dist/agents/lambda-handler.js.map +1 -1
- package/dist/agents/prompt.d.ts +4 -2
- package/dist/agents/prompt.d.ts.map +1 -1
- package/dist/agents/prompt.js +57 -5
- package/dist/agents/prompt.js.map +1 -1
- package/dist/agents/runner.d.ts +7 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +54 -25
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/signals.d.ts +34 -0
- package/dist/agents/signals.d.ts.map +1 -0
- package/dist/agents/signals.js +116 -0
- package/dist/agents/signals.js.map +1 -0
- package/dist/agents/status-reporter.d.ts +34 -0
- package/dist/agents/status-reporter.d.ts.map +1 -0
- package/dist/agents/status-reporter.js +64 -0
- package/dist/agents/status-reporter.js.map +1 -0
- package/dist/cli/commands/chat.js +2 -2
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/creds.js +3 -3
- package/dist/cli/commands/creds.js.map +1 -1
- package/dist/cli/commands/doctor.js +3 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/kill.d.ts +4 -0
- package/dist/cli/commands/kill.d.ts.map +1 -0
- package/dist/cli/commands/kill.js +30 -0
- package/dist/cli/commands/kill.js.map +1 -0
- package/dist/cli/commands/new.js +2 -2
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +4 -0
- package/dist/cli/commands/pause.d.ts.map +1 -0
- package/dist/cli/commands/pause.js +30 -0
- package/dist/cli/commands/pause.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +4 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +30 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/run.d.ts +0 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +7 -18
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/start.d.ts +0 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +7 -8
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +74 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/main.js +27 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/cloud/scheduler-image.d.ts.map +1 -1
- package/dist/cloud/scheduler-image.js +9 -3
- package/dist/cloud/scheduler-image.js.map +1 -1
- package/dist/credentials/prompter.js +3 -3
- package/dist/credentials/prompter.js.map +1 -1
- package/dist/docker/aws-shared.d.ts.map +1 -1
- package/dist/docker/aws-shared.js +42 -19
- package/dist/docker/aws-shared.js.map +1 -1
- package/dist/docker/lambda-runtime.d.ts +2 -0
- package/dist/docker/lambda-runtime.d.ts.map +1 -1
- package/dist/docker/lambda-runtime.js +40 -14
- package/dist/docker/lambda-runtime.js.map +1 -1
- package/dist/docker/local-runtime.d.ts +2 -0
- package/dist/docker/local-runtime.d.ts.map +1 -1
- package/dist/docker/local-runtime.js +31 -0
- package/dist/docker/local-runtime.js.map +1 -1
- package/dist/docker/runtime.d.ts +4 -0
- package/dist/docker/runtime.d.ts.map +1 -1
- package/dist/gateway/call-store.d.ts +39 -0
- package/dist/gateway/call-store.d.ts.map +1 -0
- package/dist/gateway/call-store.js +101 -0
- package/dist/gateway/call-store.js.map +1 -0
- package/dist/gateway/index.d.ts +8 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +23 -2
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/routes/calls.d.ts +17 -0
- package/dist/gateway/routes/calls.d.ts.map +1 -0
- package/dist/gateway/routes/calls.js +63 -0
- package/dist/gateway/routes/calls.js.map +1 -0
- package/dist/gateway/routes/control.d.ts +10 -0
- package/dist/gateway/routes/control.d.ts.map +1 -0
- package/dist/gateway/routes/control.js +64 -0
- package/dist/gateway/routes/control.js.map +1 -0
- package/dist/gateway/routes/locks.d.ts.map +1 -1
- package/dist/gateway/routes/locks.js +12 -0
- package/dist/gateway/routes/locks.js.map +1 -1
- package/dist/gateway/routes/signals.d.ts +11 -0
- package/dist/gateway/routes/signals.d.ts.map +1 -0
- package/dist/gateway/routes/signals.js +103 -0
- package/dist/gateway/routes/signals.js.map +1 -0
- package/dist/gateway/types.d.ts +16 -0
- package/dist/gateway/types.d.ts.map +1 -1
- package/dist/scheduler/config-validator.d.ts +18 -0
- package/dist/scheduler/config-validator.d.ts.map +1 -0
- package/dist/scheduler/config-validator.js +53 -0
- package/dist/scheduler/config-validator.js.map +1 -0
- package/dist/scheduler/cron-manager.d.ts +14 -0
- package/dist/scheduler/cron-manager.d.ts.map +1 -0
- package/dist/scheduler/cron-manager.js +75 -0
- package/dist/scheduler/cron-manager.js.map +1 -0
- package/dist/scheduler/event-queue.d.ts +7 -4
- package/dist/scheduler/event-queue.d.ts.map +1 -1
- package/dist/scheduler/event-queue.js +4 -2
- package/dist/scheduler/event-queue.js.map +1 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +126 -115
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/runner-pool.d.ts +20 -0
- package/dist/scheduler/runner-pool.d.ts.map +1 -1
- package/dist/scheduler/runner-pool.js +32 -4
- package/dist/scheduler/runner-pool.js.map +1 -1
- package/dist/scheduler/runtime-factory.d.ts +11 -0
- package/dist/scheduler/runtime-factory.d.ts.map +1 -0
- package/dist/scheduler/runtime-factory.js +98 -0
- package/dist/scheduler/runtime-factory.js.map +1 -0
- package/dist/scheduler/shutdown-handler.d.ts +16 -0
- package/dist/scheduler/shutdown-handler.d.ts.map +1 -0
- package/dist/scheduler/shutdown-handler.js +44 -0
- package/dist/scheduler/shutdown-handler.js.map +1 -0
- package/dist/scheduler/trigger-dispatcher.d.ts +12 -0
- package/dist/scheduler/trigger-dispatcher.d.ts.map +1 -0
- package/dist/scheduler/trigger-dispatcher.js +46 -0
- package/dist/scheduler/trigger-dispatcher.js.map +1 -0
- package/dist/scheduler/types.d.ts +8 -0
- package/dist/scheduler/types.d.ts.map +1 -1
- package/dist/scheduler/webhook-setup.d.ts +28 -0
- package/dist/scheduler/webhook-setup.d.ts.map +1 -0
- package/dist/scheduler/webhook-setup.js +146 -0
- package/dist/scheduler/webhook-setup.js.map +1 -0
- package/dist/setup/prompts.js +4 -4
- package/dist/setup/prompts.js.map +1 -1
- package/dist/shared/config.d.ts +4 -0
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/credentials.d.ts +11 -31
- package/dist/shared/credentials.d.ts.map +1 -1
- package/dist/shared/credentials.js +22 -87
- package/dist/shared/credentials.js.map +1 -1
- package/dist/shared/exit-codes.d.ts +18 -0
- package/dist/shared/exit-codes.d.ts.map +1 -0
- package/dist/shared/exit-codes.js +40 -0
- package/dist/shared/exit-codes.js.map +1 -0
- package/dist/shared/filesystem-backend.d.ts +4 -0
- package/dist/shared/filesystem-backend.d.ts.map +1 -1
- package/dist/shared/filesystem-backend.js +35 -0
- package/dist/shared/filesystem-backend.js.map +1 -1
- package/dist/tui/status-tracker.d.ts +23 -0
- package/dist/tui/status-tracker.d.ts.map +1 -1
- package/dist/tui/status-tracker.js +36 -0
- package/dist/tui/status-tracker.js.map +1 -1
- package/docker/Dockerfile +6 -8
- package/docker/bin/al-call +8 -0
- package/docker/bin/al-check +4 -0
- package/docker/bin/al-exit +4 -0
- package/docker/bin/al-rerun +8 -0
- package/docker/bin/al-return +14 -0
- package/docker/bin/al-shutdown +5 -0
- package/docker/bin/al-status +9 -0
- package/docker/bin/al-wait +29 -0
- package/docker/bin/rlock +5 -0
- package/docker/bin/rlock-heartbeat +5 -0
- package/docker/bin/runlock +5 -0
- package/package.json +1 -1
- package/skills/environment.md +1 -1
- package/skills/resource-locks.md +1 -1
- package/skills/signals.md +67 -25
package/dist/agents/prompt.js
CHANGED
|
@@ -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
|
|
126
|
-
const
|
|
127
|
-
return `<agent-
|
|
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
|
|
140
|
-
return `${buildPromptSkeleton(agentConfig, skills)}\n\n${
|
|
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":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agents/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/runner.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":"
|
|
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"}
|
package/dist/agents/runner.js
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
246
|
-
|
|
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
|
}
|