@aiden-ade/sandbox-agent 0.1.23 → 0.1.24
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/dist/core-agent.d.ts +2 -6
- package/dist/core-agent.d.ts.map +1 -1
- package/dist/core-agent.js +21 -140
- package/dist/core-agent.js.map +1 -1
- package/dist/index.cjs +12 -4
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -107
- package/dist/index.js.map +1 -1
- package/dist/sandbox.d.ts +0 -6
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +10 -40
- package/dist/sandbox.js.map +1 -1
- package/dist/updater.d.ts.map +1 -1
- package/dist/updater.js +4 -0
- package/dist/updater.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/web-presenter.d.ts +4 -7
- package/dist/web-presenter.d.ts.map +1 -1
- package/dist/web-presenter.js +4 -29
- package/dist/web-presenter.js.map +1 -1
- package/dist/ws-client.d.ts +0 -35
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +9 -32
- package/dist/ws-client.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/cli-executable.test.d.ts +0 -2
- package/dist/__tests__/cli-executable.test.d.ts.map +0 -1
- package/dist/__tests__/cli-executable.test.js +0 -83
- package/dist/__tests__/cli-executable.test.js.map +0 -1
- package/dist/__tests__/cli-help.test.d.ts +0 -2
- package/dist/__tests__/cli-help.test.d.ts.map +0 -1
- package/dist/__tests__/cli-help.test.js +0 -33
- package/dist/__tests__/cli-help.test.js.map +0 -1
- package/dist/__tests__/core-agent-workflow-context.test.d.ts +0 -2
- package/dist/__tests__/core-agent-workflow-context.test.d.ts.map +0 -1
- package/dist/__tests__/core-agent-workflow-context.test.js +0 -50
- package/dist/__tests__/core-agent-workflow-context.test.js.map +0 -1
- package/dist/__tests__/daemon-socket.integration.test.d.ts +0 -2
- package/dist/__tests__/daemon-socket.integration.test.d.ts.map +0 -1
- package/dist/__tests__/daemon-socket.integration.test.js +0 -156
- package/dist/__tests__/daemon-socket.integration.test.js.map +0 -1
- package/dist/__tests__/daemon.test.d.ts +0 -2
- package/dist/__tests__/daemon.test.d.ts.map +0 -1
- package/dist/__tests__/daemon.test.js +0 -1014
- package/dist/__tests__/daemon.test.js.map +0 -1
- package/dist/__tests__/generated-images.test.d.ts +0 -2
- package/dist/__tests__/generated-images.test.d.ts.map +0 -1
- package/dist/__tests__/generated-images.test.js +0 -50
- package/dist/__tests__/generated-images.test.js.map +0 -1
- package/dist/__tests__/sandbox-workflow-context.test.d.ts +0 -2
- package/dist/__tests__/sandbox-workflow-context.test.d.ts.map +0 -1
- package/dist/__tests__/sandbox-workflow-context.test.js +0 -66
- package/dist/__tests__/sandbox-workflow-context.test.js.map +0 -1
- package/dist/aiden-system-prompt.d.ts +0 -6
- package/dist/aiden-system-prompt.d.ts.map +0 -1
- package/dist/aiden-system-prompt.js +0 -6
- package/dist/aiden-system-prompt.js.map +0 -1
- package/dist/cli-executable.d.ts +0 -58
- package/dist/cli-executable.d.ts.map +0 -1
- package/dist/cli-executable.js +0 -301
- package/dist/cli-executable.js.map +0 -1
- package/dist/cli-help.d.ts +0 -7
- package/dist/cli-help.d.ts.map +0 -1
- package/dist/cli-help.js +0 -45
- package/dist/cli-help.js.map +0 -1
- package/dist/daemon.d.ts +0 -46
- package/dist/daemon.d.ts.map +0 -1
- package/dist/daemon.js +0 -876
- package/dist/daemon.js.map +0 -1
- package/dist/generated-images.d.ts +0 -4
- package/dist/generated-images.d.ts.map +0 -1
- package/dist/generated-images.js +0 -142
- package/dist/generated-images.js.map +0 -1
package/dist/core-agent.d.ts
CHANGED
|
@@ -9,18 +9,15 @@
|
|
|
9
9
|
* Everything else (retry loop, system-prompt assembly, backend selection) lives
|
|
10
10
|
* in BaseMachineAgent.
|
|
11
11
|
*/
|
|
12
|
+
import { BaseMachineAgent, type AgentRuntimeConfig } from "@aiden/agent-core";
|
|
12
13
|
import type { ChildProcessWithoutNullStreams } from "node:child_process";
|
|
13
|
-
import { type AgentRuntimeConfig, BaseMachineAgent } from "@aiden/agent-core";
|
|
14
14
|
import type { AgentConfig } from "./types.js";
|
|
15
15
|
export declare class CoreAgent extends BaseMachineAgent {
|
|
16
16
|
private childProcess;
|
|
17
17
|
private _aborted;
|
|
18
|
-
private providerApiKey;
|
|
19
18
|
/** How long to wait after SIGTERM before escalating to SIGKILL. */
|
|
20
19
|
private static readonly SIGKILL_DELAY_MS;
|
|
21
|
-
constructor(presenter: ConstructorParameters<typeof BaseMachineAgent>[0], runtime: AgentRuntimeConfig
|
|
22
|
-
providerApiKey?: string;
|
|
23
|
-
});
|
|
20
|
+
constructor(presenter: ConstructorParameters<typeof BaseMachineAgent>[0], runtime: AgentRuntimeConfig);
|
|
24
21
|
abort(): void;
|
|
25
22
|
kill(): boolean;
|
|
26
23
|
private killChildProcess;
|
|
@@ -29,7 +26,6 @@ export declare class CoreAgent extends BaseMachineAgent {
|
|
|
29
26
|
* Used for interactive tools like AskUserQuestion.
|
|
30
27
|
*/
|
|
31
28
|
sendToolResponse(toolId: string, response: string): boolean;
|
|
32
|
-
sendUserMessage(text: string): boolean;
|
|
33
29
|
protected getOnProcessSpawned(): ((child: ChildProcessWithoutNullStreams) => void) | undefined;
|
|
34
30
|
protected buildCliEnvironment(): Promise<Record<string, string>>;
|
|
35
31
|
protected buildExtraSystemPromptParts(config: AgentConfig): string[];
|
package/dist/core-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-agent.d.ts","sourceRoot":"","sources":["../src/core-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"core-agent.d.ts","sourceRoot":"","sources":["../src/core-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,SAAU,SAAQ,gBAAgB;IAC7C,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,QAAQ,CAAS;IAEzB,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAEpC,SAAS,EAAE,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB;IAI9F,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,OAAO;IAStB,OAAO,CAAC,gBAAgB;IAyCxB;;;OAGG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAgClE,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC,GAAG,SAAS;cAW9E,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAkBtE,SAAS,CAAC,2BAA2B,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE;CAuFrE"}
|
package/dist/core-agent.js
CHANGED
|
@@ -9,18 +9,14 @@
|
|
|
9
9
|
* Everything else (retry loop, system-prompt assembly, backend selection) lives
|
|
10
10
|
* in BaseMachineAgent.
|
|
11
11
|
*/
|
|
12
|
-
import { platform } from "node:os";
|
|
13
12
|
import { BaseMachineAgent } from "@aiden/agent-core";
|
|
14
|
-
import { getDaemonCliEnvironment } from "./cli-executable.js";
|
|
15
13
|
export class CoreAgent extends BaseMachineAgent {
|
|
16
14
|
childProcess = null;
|
|
17
15
|
_aborted = false;
|
|
18
|
-
providerApiKey;
|
|
19
16
|
/** How long to wait after SIGTERM before escalating to SIGKILL. */
|
|
20
17
|
static SIGKILL_DELAY_MS = 3000;
|
|
21
18
|
constructor(presenter, runtime) {
|
|
22
19
|
super(presenter, runtime);
|
|
23
|
-
this.providerApiKey = runtime.providerApiKey;
|
|
24
20
|
}
|
|
25
21
|
abort() {
|
|
26
22
|
this._aborted = true;
|
|
@@ -54,9 +50,7 @@ export class CoreAgent extends BaseMachineAgent {
|
|
|
54
50
|
try {
|
|
55
51
|
child.kill("SIGTERM");
|
|
56
52
|
}
|
|
57
|
-
catch {
|
|
58
|
-
/* already dead */
|
|
59
|
-
}
|
|
53
|
+
catch { /* already dead */ }
|
|
60
54
|
}
|
|
61
55
|
setTimeout(() => {
|
|
62
56
|
if (child.killed || child.exitCode !== null)
|
|
@@ -105,7 +99,7 @@ export class CoreAgent extends BaseMachineAgent {
|
|
|
105
99
|
session_id: "default",
|
|
106
100
|
parent_tool_use_id: null,
|
|
107
101
|
});
|
|
108
|
-
stdin.write(
|
|
102
|
+
stdin.write(message + "\n");
|
|
109
103
|
console.info(`[CoreAgent] Sent tool_response for tool ${toolId}`);
|
|
110
104
|
return true;
|
|
111
105
|
}
|
|
@@ -114,68 +108,34 @@ export class CoreAgent extends BaseMachineAgent {
|
|
|
114
108
|
return false;
|
|
115
109
|
}
|
|
116
110
|
}
|
|
117
|
-
sendUserMessage(text) {
|
|
118
|
-
if (!this.childProcess || this._aborted)
|
|
119
|
-
return false;
|
|
120
|
-
const stdin = this.childProcess.stdin;
|
|
121
|
-
if (!stdin || stdin.destroyed)
|
|
122
|
-
return false;
|
|
123
|
-
try {
|
|
124
|
-
const message = JSON.stringify({
|
|
125
|
-
type: "user",
|
|
126
|
-
message: {
|
|
127
|
-
role: "user",
|
|
128
|
-
content: [{ type: "text", text }],
|
|
129
|
-
},
|
|
130
|
-
session_id: "default",
|
|
131
|
-
parent_tool_use_id: null,
|
|
132
|
-
});
|
|
133
|
-
stdin.write(`${message}\n`);
|
|
134
|
-
console.info(`[CoreAgent] Appended user message to live CLI stdin (${text.length} chars)`);
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
catch (err) {
|
|
138
|
-
console.error("[CoreAgent] Failed to append user message to stdin", err);
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
111
|
// ── BaseMachineAgent hooks ─────────────────────────────────────────────
|
|
143
112
|
getOnProcessSpawned() {
|
|
144
113
|
return (child) => {
|
|
145
114
|
this.childProcess = child;
|
|
146
|
-
child.on("exit", () => {
|
|
147
|
-
|
|
148
|
-
});
|
|
149
|
-
child.on("error", () => {
|
|
150
|
-
this.childProcess = null;
|
|
151
|
-
});
|
|
115
|
+
child.on("exit", () => { this.childProcess = null; });
|
|
116
|
+
child.on("error", () => { this.childProcess = null; });
|
|
152
117
|
if (this._aborted) {
|
|
153
118
|
this.killChildProcess(child);
|
|
154
119
|
}
|
|
155
120
|
};
|
|
156
121
|
}
|
|
157
122
|
async buildCliEnvironment() {
|
|
123
|
+
const loginEnv = process.env;
|
|
158
124
|
const env = {};
|
|
159
|
-
for (const [key, value] of Object.entries(
|
|
125
|
+
for (const [key, value] of Object.entries(loginEnv)) {
|
|
160
126
|
if (value !== undefined)
|
|
161
127
|
env[key] = value;
|
|
162
128
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const missing = extraPaths.filter((p) => !existingSegments.has(p));
|
|
174
|
-
if (missing.length > 0) {
|
|
175
|
-
augmented.PATH = `${missing.join(separator)}${separator}${basePath}`;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return augmented;
|
|
129
|
+
// Guarantee CLI runtime bin dirs are in PATH regardless of how the agent
|
|
130
|
+
// was launched. Uses HOME from the inherited env so this works for both
|
|
131
|
+
// E2B (/home/user) and Daytona (/home/daytona) without hardcoding.
|
|
132
|
+
const home = env.HOME ?? "/home/user";
|
|
133
|
+
const extraPaths = [`${home}/.local/node/bin`, `${home}/.local/bin`];
|
|
134
|
+
const basePath = env.PATH ?? "";
|
|
135
|
+
const existingSegments = new Set(basePath.split(":").filter(Boolean));
|
|
136
|
+
const missing = extraPaths.filter((p) => !existingSegments.has(p));
|
|
137
|
+
env.PATH = missing.length > 0 ? `${missing.join(":")}:${basePath}` : basePath;
|
|
138
|
+
return env;
|
|
179
139
|
}
|
|
180
140
|
buildExtraSystemPromptParts(config) {
|
|
181
141
|
const parts = [];
|
|
@@ -214,94 +174,23 @@ export class CoreAgent extends BaseMachineAgent {
|
|
|
214
174
|
if (meta.descriptionAttachmentIds && meta.descriptionAttachmentIds.length > 0) {
|
|
215
175
|
lines.push("");
|
|
216
176
|
lines.push("## Task Description Images");
|
|
217
|
-
lines.push(
|
|
177
|
+
lines.push("The task description contains images. Use the `attachment` MCP tool with op=\"get\" to view them:");
|
|
218
178
|
for (const att of meta.descriptionAttachmentIds) {
|
|
219
179
|
lines.push(`- Attachment ID: \`${att.id}\` (${att.filename})`);
|
|
220
180
|
}
|
|
221
181
|
}
|
|
222
|
-
if (meta.linkedResources && meta.linkedResources.length > 0) {
|
|
223
|
-
lines.push("");
|
|
224
|
-
lines.push("## Linked Task Resources");
|
|
225
|
-
for (const resource of meta.linkedResources) {
|
|
226
|
-
lines.push(`- ${resource.type}: "${resource.title}" (${resource.url ?? resource.id})`);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
182
|
parts.push(lines.join("\n"));
|
|
230
183
|
}
|
|
231
|
-
// Inject
|
|
232
|
-
|
|
233
|
-
const pr = config.prMeta;
|
|
234
|
-
const lines = ["# Pull Request Context"];
|
|
235
|
-
lines.push(`- **Repo**: ${pr.owner}/${pr.repo}`);
|
|
236
|
-
lines.push(`- **PR**: #${pr.prNumber} — ${pr.title}`);
|
|
237
|
-
lines.push(`- **State**: ${pr.state}`);
|
|
238
|
-
if (pr.author)
|
|
239
|
-
lines.push(`- **Author**: ${pr.author}`);
|
|
240
|
-
const baseHead = `${pr.baseBranch || "?"} ← ${pr.headBranch || "?"}`;
|
|
241
|
-
lines.push(`- **Base ← Head**: ${baseHead}`);
|
|
242
|
-
if (pr.mergeable === false) {
|
|
243
|
-
lines.push(`- **Mergeable**: no`);
|
|
244
|
-
}
|
|
245
|
-
else if (pr.mergeable === true) {
|
|
246
|
-
lines.push(`- **Mergeable**: yes`);
|
|
247
|
-
}
|
|
248
|
-
if (pr.labels && pr.labels.length > 0) {
|
|
249
|
-
lines.push(`- **Labels**: ${pr.labels.join(", ")}`);
|
|
250
|
-
}
|
|
251
|
-
const sizeBits = [];
|
|
252
|
-
if (typeof pr.changedFilesCount === "number")
|
|
253
|
-
sizeBits.push(`${pr.changedFilesCount} files`);
|
|
254
|
-
if (typeof pr.additions === "number")
|
|
255
|
-
sizeBits.push(`+${pr.additions}`);
|
|
256
|
-
if (typeof pr.deletions === "number")
|
|
257
|
-
sizeBits.push(`-${pr.deletions}`);
|
|
258
|
-
if (sizeBits.length > 0)
|
|
259
|
-
lines.push(`- **Size**: ${sizeBits.join(" / ")}`);
|
|
260
|
-
if (pr.linkedTaskReadableId) {
|
|
261
|
-
lines.push(`- **Linked task**: ${pr.linkedTaskReadableId}`);
|
|
262
|
-
}
|
|
263
|
-
if (pr.htmlUrl)
|
|
264
|
-
lines.push(`- **URL**: ${pr.htmlUrl}`);
|
|
265
|
-
if (pr.body) {
|
|
266
|
-
lines.push("");
|
|
267
|
-
lines.push("## PR Description");
|
|
268
|
-
lines.push(pr.body);
|
|
269
|
-
}
|
|
270
|
-
if (pr.changedFiles && pr.changedFiles.length > 0) {
|
|
271
|
-
lines.push("");
|
|
272
|
-
lines.push("## Changed Files (first 50)");
|
|
273
|
-
for (const file of pr.changedFiles) {
|
|
274
|
-
lines.push(`- ${file.status}: \`${file.path}\` (+${file.additions} / -${file.deletions})`);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
parts.push(lines.join("\n"));
|
|
278
|
-
}
|
|
279
|
-
// Inject artifact context so the agent associates MCP artifacts with the right owner.
|
|
280
|
-
// Session context dictates ownership: task session → taskId; workflow session →
|
|
281
|
-
// workflowId + workflowExecutionId. Never both. Prefer config fields (sent by
|
|
282
|
-
// dispatch pipeline); fall back to AIDEN_* env vars.
|
|
184
|
+
// Inject artifact context so the agent associates MCP artifacts with the right task.
|
|
185
|
+
// Prefer config fields (sent by dispatch pipeline); fall back to AIDEN_* env vars.
|
|
283
186
|
const taskId = config.taskId ?? process.env.AIDEN_TASK_ID;
|
|
284
|
-
const workflowId = config.workflowId ?? process.env.AIDEN_WORKFLOW_ID;
|
|
285
|
-
const workflowExecutionId = config.workflowExecutionId ?? process.env.AIDEN_WORKFLOW_EXECUTION_ID;
|
|
286
187
|
const conversationId = config.conversationId ?? process.env.AIDEN_SESSION_ID;
|
|
287
188
|
const teamId = config.teamId;
|
|
288
189
|
const artifactIds = [];
|
|
289
190
|
if (teamId)
|
|
290
191
|
artifactIds.push(`- teamId: "${teamId}"`);
|
|
291
|
-
|
|
292
|
-
// (not a real task), so taskId must not shadow workflowId for artifact routing.
|
|
293
|
-
// When workflowExecutionId is set but workflowId is missing, this is a workflow session
|
|
294
|
-
// where AIDEN_WORKFLOW_ID wasn't injected — skip taskId entirely so the backend can
|
|
295
|
-
// auto-resolve workflow context from conversationId.
|
|
296
|
-
const isWorkflowSession = !!(workflowId || workflowExecutionId);
|
|
297
|
-
if (workflowId) {
|
|
298
|
-
artifactIds.push(`- workflowId: "${workflowId}"`);
|
|
299
|
-
if (workflowExecutionId)
|
|
300
|
-
artifactIds.push(`- workflowExecutionId: "${workflowExecutionId}"`);
|
|
301
|
-
}
|
|
302
|
-
else if (taskId && !isWorkflowSession) {
|
|
192
|
+
if (taskId)
|
|
303
193
|
artifactIds.push(`- taskId: "${taskId}"`);
|
|
304
|
-
}
|
|
305
194
|
if (conversationId)
|
|
306
195
|
artifactIds.push(`- conversationId: "${conversationId}"`);
|
|
307
196
|
if (artifactIds.length > 0) {
|
|
@@ -310,15 +199,7 @@ export class CoreAgent extends BaseMachineAgent {
|
|
|
310
199
|
...artifactIds,
|
|
311
200
|
].join("\n"));
|
|
312
201
|
}
|
|
313
|
-
if (
|
|
314
|
-
parts.push([
|
|
315
|
-
"## Prototype Artifacts",
|
|
316
|
-
"When the user asks to create, build, modify, or iterate on a prototype, do not create local prototype files such as prototype/index.html.",
|
|
317
|
-
"Instead, generate a Vite React TypeScript source snapshot and call the Aiden MCP tool upsert_prototype_version with teamId, workflowId, workflowExecutionId, conversationId, title, sourceSnapshot, and packageJson.",
|
|
318
|
-
"For follow-up changes to the same prototype, call list_prototypes (with workflowId) or get_prototype if needed, then call upsert_prototype_version again with the existing prototypeId and parentVersionId.",
|
|
319
|
-
].join("\n"));
|
|
320
|
-
}
|
|
321
|
-
else if (taskId && conversationId && teamId) {
|
|
202
|
+
if (taskId && conversationId && teamId) {
|
|
322
203
|
parts.push([
|
|
323
204
|
"## Prototype Artifacts",
|
|
324
205
|
"When the user asks to create, build, modify, or iterate on a prototype, do not create local prototype files such as prototype/index.html.",
|
package/dist/core-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-agent.js","sourceRoot":"","sources":["../src/core-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-agent.js","sourceRoot":"","sources":["../src/core-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -9362,6 +9362,10 @@ Deliverables persist as Aiden artifacts and documents \u2014 not as chat. Plans,
|
|
|
9362
9362
|
- Own mistakes. Wrong ID, jumped too fast \u2014 say so and fix it.
|
|
9363
9363
|
- Think visually. Mermaid over paragraphs for architecture, flows, state, and schema.
|
|
9364
9364
|
|
|
9365
|
+
## Task Logging
|
|
9366
|
+
|
|
9367
|
+
For non-trivial tasks, log high-signal events as they happen: decisions, changed assumptions, validation results, known-good IDs, blockers, risks, and direction changes. Keep one current task-state summary updated with current state, known-good IDs, open risks, and next action. Do not log routine commands or file reads. Before stopping, ensure the timeline and current state are enough for a human to understand progress and for another agent to resume. If a prior decision is stale, write a newer event that supersedes it.
|
|
9368
|
+
|
|
9365
9369
|
The specific work you do \u2014 implementation, planning, review, coordination, verification \u2014 is determined by your agent role, described next.`;
|
|
9366
9370
|
var PLAN_MODE_PROMPT = [
|
|
9367
9371
|
"You are in Aiden plan mode.",
|
|
@@ -9664,6 +9668,9 @@ function isLikelyProviderAuthError(stderr) {
|
|
|
9664
9668
|
}
|
|
9665
9669
|
function normalizeCodexCliErrorMessage(message) {
|
|
9666
9670
|
const lower = message.toLowerCase();
|
|
9671
|
+
if (lower.includes("reconnecting") && lower.includes("request timed out")) {
|
|
9672
|
+
return "Codex connection to OpenAI timed out while waiting for the turn to continue. Retry the message; if it repeats, check network/API latency or reduce slow MCP/tool calls in the turn.";
|
|
9673
|
+
}
|
|
9667
9674
|
if (lower.includes("access token could not be refreshed") || lower.includes("refresh_token_invalidated") || lower.includes("refresh token has been invalidated")) {
|
|
9668
9675
|
return "Codex CLI connection expired. Reconnect OpenAI Codex CLI in Cloud settings, then restart or recreate the machine.";
|
|
9669
9676
|
}
|
|
@@ -9700,7 +9707,7 @@ function classifyCliError(stderr, exitCode) {
|
|
|
9700
9707
|
}
|
|
9701
9708
|
function isTransientError(errorMessage) {
|
|
9702
9709
|
const lower = errorMessage.toLowerCase();
|
|
9703
|
-
return lower.includes("rate limit") || lower.includes("overloaded") || lower.includes("503") || lower.includes("429") || lower.includes("service unavailable") || lower.includes("etimedout") || lower.includes("econnreset") || lower.includes("econnrefused") || lower.includes("epipe");
|
|
9710
|
+
return lower.includes("rate limit") || lower.includes("overloaded") || lower.includes("503") || lower.includes("429") || lower.includes("service unavailable") || lower.includes("etimedout") || lower.includes("econnreset") || lower.includes("econnrefused") || lower.includes("epipe") || lower.includes("timeout") || lower.includes("timed out");
|
|
9704
9711
|
}
|
|
9705
9712
|
function planCliSpawn(command, args, env = process.env) {
|
|
9706
9713
|
const isWindows = process.platform === "win32";
|
|
@@ -12600,7 +12607,7 @@ function extractGeneratedImagesFromToolResult(toolId, content, cwd, toolName) {
|
|
|
12600
12607
|
}
|
|
12601
12608
|
|
|
12602
12609
|
// src/version.ts
|
|
12603
|
-
var AGENT_VERSION = "0.1.
|
|
12610
|
+
var AGENT_VERSION = "0.1.24";
|
|
12604
12611
|
|
|
12605
12612
|
// src/daemon.ts
|
|
12606
12613
|
var OPENCODE_FREE_MODEL_IDS = [
|
|
@@ -12792,7 +12799,9 @@ function summarizeRunnerStatus(input) {
|
|
|
12792
12799
|
const lastRunActivityAtMs = activeEntries.reduce((latest, entry) => {
|
|
12793
12800
|
return latest === null ? entry.lastActivityAtMs : Math.max(latest, entry.lastActivityAtMs);
|
|
12794
12801
|
}, null);
|
|
12795
|
-
const staleRunCount =
|
|
12802
|
+
const staleRunCount = activeEntries.filter(
|
|
12803
|
+
(entry) => nowMs - entry.lastActivityAtMs >= RUNNER_RECOVERY_GRACE_MS
|
|
12804
|
+
).length;
|
|
12796
12805
|
const pastDisconnectGrace = input.disconnectedSinceMs !== null && nowMs - input.disconnectedSinceMs >= RUNNER_RECOVERY_GRACE_MS;
|
|
12797
12806
|
const restartRecommended = !input.connected && activeRunIds.length === 0 && pastDisconnectGrace;
|
|
12798
12807
|
return {
|
|
@@ -12807,7 +12816,6 @@ function summarizeRunnerStatus(input) {
|
|
|
12807
12816
|
};
|
|
12808
12817
|
}
|
|
12809
12818
|
function recoverStaleActiveRuns(input) {
|
|
12810
|
-
if (input.connected) return;
|
|
12811
12819
|
const nowMs = input.nowMs ?? Date.now();
|
|
12812
12820
|
for (const [runId, entry] of input.activeAgents.entries()) {
|
|
12813
12821
|
if (nowMs - entry.lastActivityAtMs < RUNNER_RECOVERY_GRACE_MS) continue;
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
CHANGED
|
@@ -2,117 +2,52 @@
|
|
|
2
2
|
* Aiden Sandbox Agent
|
|
3
3
|
* Runs inside E2B sandbox, connects to WS server, executes CoreAgent.
|
|
4
4
|
*/
|
|
5
|
-
import { HELP_TEXT, resolveCommand } from "./cli-help.js";
|
|
6
|
-
import { loginWithDeviceCode, logoutDaemon, printDoctor, printStatus, revokeRuntimeToken, rotateRuntimeToken, runDaemon, setupDaemon, stopDaemon, } from "./daemon.js";
|
|
7
5
|
import { runSandbox } from "./sandbox.js";
|
|
8
6
|
import { AGENT_VERSION } from "./version.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const sessionToken = process.env.AIDEN_SESSION_TOKEN;
|
|
14
|
-
const task = process.env.AIDEN_TASK;
|
|
15
|
-
const teamId = process.env.AIDEN_TEAM_ID || undefined;
|
|
16
|
-
const projectPath = process.env.AIDEN_PROJECT_PATH || "/home/user/workspace";
|
|
17
|
-
const backendKind = process.env.AIDEN_BACKEND_KIND || "claude_cli";
|
|
18
|
-
const agentId = process.env.AIDEN_AGENT_ID || undefined;
|
|
19
|
-
const agentPrompt = process.env.AIDEN_AGENT_PROMPT || undefined;
|
|
20
|
-
const mode = process.env.AIDEN_MODE || "agent";
|
|
21
|
-
const model = process.env.AIDEN_MODEL;
|
|
22
|
-
const contextWindow = process.env.AIDEN_CONTEXT_WINDOW || undefined;
|
|
23
|
-
const effortLevel = process.env.AIDEN_EFFORT_LEVEL || undefined;
|
|
24
|
-
const providerSessionId = process.env.AIDEN_PROVIDER_SESSION_ID || undefined;
|
|
25
|
-
const workflowId = process.env.AIDEN_WORKFLOW_ID || undefined;
|
|
26
|
-
const workflowExecutionId = process.env.AIDEN_WORKFLOW_EXECUTION_ID || undefined;
|
|
27
|
-
if (!wsUrl || !sessionId || !taskId || !sessionToken || task == null) {
|
|
28
|
-
throw new Error("run-session is an internal Aiden sandbox/session command and must be launched by Aiden with session env vars. " +
|
|
29
|
-
"Missing required env vars: AIDEN_WS_URL, AIDEN_SESSION_ID, AIDEN_TASK_ID, AIDEN_SESSION_TOKEN, AIDEN_TASK");
|
|
30
|
-
}
|
|
31
|
-
console.info("[aiden-agent] Starting", {
|
|
32
|
-
sessionId,
|
|
33
|
-
taskId,
|
|
34
|
-
projectPath,
|
|
35
|
-
backendKind,
|
|
36
|
-
agentId,
|
|
37
|
-
mode,
|
|
38
|
-
model,
|
|
39
|
-
version: AGENT_VERSION,
|
|
40
|
-
});
|
|
41
|
-
await runSandbox({
|
|
42
|
-
wsUrl,
|
|
43
|
-
sessionId,
|
|
44
|
-
taskId,
|
|
45
|
-
sessionToken,
|
|
46
|
-
task,
|
|
47
|
-
teamId,
|
|
48
|
-
projectPath,
|
|
49
|
-
backendKind,
|
|
50
|
-
agentId,
|
|
51
|
-
agentPrompt,
|
|
52
|
-
mode,
|
|
53
|
-
model,
|
|
54
|
-
contextWindow,
|
|
55
|
-
effortLevel,
|
|
56
|
-
providerSessionId,
|
|
57
|
-
workflowId,
|
|
58
|
-
workflowExecutionId,
|
|
59
|
-
maxIterations: 50,
|
|
60
|
-
});
|
|
7
|
+
// Support `aiden-agent --version` for version detection without starting the agent
|
|
8
|
+
if (process.argv.includes("--version")) {
|
|
9
|
+
process.stdout.write(`${AGENT_VERSION}\n`);
|
|
10
|
+
process.exit(0);
|
|
61
11
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (command === "daemon") {
|
|
81
|
-
await runDaemon(commandArgs);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
if (command === "stop") {
|
|
85
|
-
await stopDaemon(commandArgs);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
if (command === "status") {
|
|
89
|
-
await printStatus();
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (command === "doctor") {
|
|
93
|
-
await printDoctor(commandArgs);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if (command === "token" && commandArgs[0] === "rotate") {
|
|
97
|
-
await rotateRuntimeToken(commandArgs.slice(1));
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (command === "token" && commandArgs[0] === "revoke") {
|
|
101
|
-
await revokeRuntimeToken(commandArgs.slice(1));
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (command === "logout") {
|
|
105
|
-
logoutDaemon();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (command === "run-session") {
|
|
109
|
-
await runSessionFromEnv();
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
throw new Error(`Unknown command: ${command}\n\n${HELP_TEXT}`);
|
|
12
|
+
const wsUrl = process.env.AIDEN_WS_URL;
|
|
13
|
+
const sessionId = process.env.AIDEN_SESSION_ID;
|
|
14
|
+
const taskId = process.env.AIDEN_TASK_ID;
|
|
15
|
+
const sessionToken = process.env.AIDEN_SESSION_TOKEN;
|
|
16
|
+
const task = process.env.AIDEN_TASK;
|
|
17
|
+
const teamId = process.env.AIDEN_TEAM_ID || undefined;
|
|
18
|
+
const projectPath = process.env.AIDEN_PROJECT_PATH || "/home/user/workspace";
|
|
19
|
+
const backendKind = process.env.AIDEN_BACKEND_KIND || "claude_cli";
|
|
20
|
+
const agentId = process.env.AIDEN_AGENT_ID || undefined;
|
|
21
|
+
const agentPrompt = process.env.AIDEN_AGENT_PROMPT || undefined;
|
|
22
|
+
const mode = process.env.AIDEN_MODE || "agent";
|
|
23
|
+
const model = process.env.AIDEN_MODEL;
|
|
24
|
+
const contextWindow = process.env.AIDEN_CONTEXT_WINDOW || undefined;
|
|
25
|
+
const effortLevel = process.env.AIDEN_EFFORT_LEVEL || undefined;
|
|
26
|
+
const providerSessionId = process.env.AIDEN_PROVIDER_SESSION_ID || undefined;
|
|
27
|
+
if (!wsUrl || !sessionId || !taskId || !sessionToken || task == null) {
|
|
28
|
+
console.error("[aiden-agent] Missing required env vars: AIDEN_WS_URL, AIDEN_SESSION_ID, AIDEN_TASK_ID, AIDEN_SESSION_TOKEN, AIDEN_TASK");
|
|
29
|
+
process.exit(1);
|
|
113
30
|
}
|
|
114
|
-
|
|
115
|
-
|
|
31
|
+
console.info("[aiden-agent] Starting", { sessionId, taskId, projectPath, backendKind, agentId, mode, model, version: AGENT_VERSION });
|
|
32
|
+
runSandbox({
|
|
33
|
+
wsUrl,
|
|
34
|
+
sessionId,
|
|
35
|
+
taskId,
|
|
36
|
+
sessionToken,
|
|
37
|
+
task,
|
|
38
|
+
teamId,
|
|
39
|
+
projectPath,
|
|
40
|
+
backendKind,
|
|
41
|
+
agentId,
|
|
42
|
+
agentPrompt,
|
|
43
|
+
mode,
|
|
44
|
+
model,
|
|
45
|
+
contextWindow,
|
|
46
|
+
effortLevel,
|
|
47
|
+
providerSessionId,
|
|
48
|
+
maxIterations: 50,
|
|
49
|
+
}).catch((error) => {
|
|
50
|
+
console.error("[aiden-agent] Fatal error:", error);
|
|
116
51
|
process.exit(1);
|
|
117
52
|
});
|
|
118
53
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,mFAAmF;AACnF,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AACzC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;AACtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,sBAAsB,CAAC;AAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,YAAY,CAAC;AACnE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS,CAAC;AACxD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC;AAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC;AAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAC;AACpE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC;AAChE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,SAAS,CAAC;AAE7E,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACrE,OAAO,CAAC,KAAK,CAAC,yHAAyH,CAAC,CAAC;IACzI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAEtI,UAAU,CAAC;IACT,KAAK;IACL,SAAS;IACT,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,WAAW;IACX,WAAW;IACX,OAAO;IACP,WAAW;IACX,IAAI;IACJ,KAAK;IACL,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,aAAa,EAAE,EAAE;CAClB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/sandbox.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sandbox mode: connects to WS server, runs CoreAgent in a multi-turn loop.
|
|
3
|
-
* Runs INSIDE the E2B sandbox.
|
|
4
|
-
*/
|
|
5
1
|
export interface SandboxConfig {
|
|
6
2
|
wsUrl: string;
|
|
7
3
|
sessionId: string;
|
|
@@ -24,8 +20,6 @@ export interface SandboxConfig {
|
|
|
24
20
|
email: string;
|
|
25
21
|
};
|
|
26
22
|
maxIterations?: number;
|
|
27
|
-
workflowId?: string;
|
|
28
|
-
workflowExecutionId?: string;
|
|
29
23
|
}
|
|
30
24
|
export declare function runSandbox(config: SandboxConfig): Promise<void>;
|
|
31
25
|
//# sourceMappingURL=sandbox.d.ts.map
|
package/dist/sandbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4LrE"}
|