@alan-ai-hq/agent-manager 0.1.35

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 (86) hide show
  1. package/dist/__tests__/cli-executable.test.d.ts +2 -0
  2. package/dist/__tests__/cli-executable.test.d.ts.map +1 -0
  3. package/dist/__tests__/cli-executable.test.js +83 -0
  4. package/dist/__tests__/cli-executable.test.js.map +1 -0
  5. package/dist/__tests__/cli-help.test.d.ts +2 -0
  6. package/dist/__tests__/cli-help.test.d.ts.map +1 -0
  7. package/dist/__tests__/cli-help.test.js +33 -0
  8. package/dist/__tests__/cli-help.test.js.map +1 -0
  9. package/dist/__tests__/core-agent-workflow-context.test.d.ts +2 -0
  10. package/dist/__tests__/core-agent-workflow-context.test.d.ts.map +1 -0
  11. package/dist/__tests__/core-agent-workflow-context.test.js +50 -0
  12. package/dist/__tests__/core-agent-workflow-context.test.js.map +1 -0
  13. package/dist/__tests__/daemon-socket.integration.test.d.ts +2 -0
  14. package/dist/__tests__/daemon-socket.integration.test.d.ts.map +1 -0
  15. package/dist/__tests__/daemon-socket.integration.test.js +156 -0
  16. package/dist/__tests__/daemon-socket.integration.test.js.map +1 -0
  17. package/dist/__tests__/daemon.test.d.ts +2 -0
  18. package/dist/__tests__/daemon.test.d.ts.map +1 -0
  19. package/dist/__tests__/daemon.test.js +1014 -0
  20. package/dist/__tests__/daemon.test.js.map +1 -0
  21. package/dist/__tests__/generated-images.test.d.ts +2 -0
  22. package/dist/__tests__/generated-images.test.d.ts.map +1 -0
  23. package/dist/__tests__/generated-images.test.js +50 -0
  24. package/dist/__tests__/generated-images.test.js.map +1 -0
  25. package/dist/__tests__/sandbox-workflow-context.test.d.ts +2 -0
  26. package/dist/__tests__/sandbox-workflow-context.test.d.ts.map +1 -0
  27. package/dist/__tests__/sandbox-workflow-context.test.js +66 -0
  28. package/dist/__tests__/sandbox-workflow-context.test.js.map +1 -0
  29. package/dist/aiden-system-prompt.d.ts +6 -0
  30. package/dist/aiden-system-prompt.d.ts.map +1 -0
  31. package/dist/aiden-system-prompt.js +6 -0
  32. package/dist/aiden-system-prompt.js.map +1 -0
  33. package/dist/cli-executable.d.ts +58 -0
  34. package/dist/cli-executable.d.ts.map +1 -0
  35. package/dist/cli-executable.js +301 -0
  36. package/dist/cli-executable.js.map +1 -0
  37. package/dist/cli-help.d.ts +7 -0
  38. package/dist/cli-help.d.ts.map +1 -0
  39. package/dist/cli-help.js +45 -0
  40. package/dist/cli-help.js.map +1 -0
  41. package/dist/core-agent.d.ts +37 -0
  42. package/dist/core-agent.d.ts.map +1 -0
  43. package/dist/core-agent.js +337 -0
  44. package/dist/core-agent.js.map +1 -0
  45. package/dist/daemon.d.ts +46 -0
  46. package/dist/daemon.d.ts.map +1 -0
  47. package/dist/daemon.js +876 -0
  48. package/dist/daemon.js.map +1 -0
  49. package/dist/generated-images.d.ts +4 -0
  50. package/dist/generated-images.d.ts.map +1 -0
  51. package/dist/generated-images.js +142 -0
  52. package/dist/generated-images.js.map +1 -0
  53. package/dist/index.cjs +22615 -0
  54. package/dist/index.d.ts +6 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +118 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/runtime-backends.d.ts +2 -0
  59. package/dist/runtime-backends.d.ts.map +1 -0
  60. package/dist/runtime-backends.js +2 -0
  61. package/dist/runtime-backends.js.map +1 -0
  62. package/dist/sandbox.d.ts +31 -0
  63. package/dist/sandbox.d.ts.map +1 -0
  64. package/dist/sandbox.js +215 -0
  65. package/dist/sandbox.js.map +1 -0
  66. package/dist/types.d.ts +6 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +6 -0
  69. package/dist/types.js.map +1 -0
  70. package/dist/updater.d.ts +15 -0
  71. package/dist/updater.d.ts.map +1 -0
  72. package/dist/updater.js +50 -0
  73. package/dist/updater.js.map +1 -0
  74. package/dist/version.d.ts +2 -0
  75. package/dist/version.d.ts.map +1 -0
  76. package/dist/version.js +2 -0
  77. package/dist/version.js.map +1 -0
  78. package/dist/web-presenter.d.ts +36 -0
  79. package/dist/web-presenter.d.ts.map +1 -0
  80. package/dist/web-presenter.js +125 -0
  81. package/dist/web-presenter.js.map +1 -0
  82. package/dist/ws-client.d.ts +114 -0
  83. package/dist/ws-client.d.ts.map +1 -0
  84. package/dist/ws-client.js +97 -0
  85. package/dist/ws-client.js.map +1 -0
  86. package/package.json +38 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Aiden Sandbox Agent
3
+ * Runs inside E2B sandbox, connects to WS server, executes CoreAgent.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/index.js ADDED
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Aiden Sandbox Agent
3
+ * Runs inside E2B sandbox, connects to WS server, executes CoreAgent.
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
+ import { runSandbox } from "./sandbox.js";
8
+ import { AGENT_VERSION } from "./version.js";
9
+ async function runSessionFromEnv() {
10
+ const wsUrl = process.env.AIDEN_WS_URL;
11
+ const sessionId = process.env.AIDEN_SESSION_ID;
12
+ const taskId = process.env.AIDEN_TASK_ID;
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
+ });
61
+ }
62
+ async function main() {
63
+ if (process.argv.includes("--version")) {
64
+ process.stdout.write(`${AGENT_VERSION}\n`);
65
+ return;
66
+ }
67
+ const { command, commandArgs } = resolveCommand(process.argv.slice(2), process.env);
68
+ if (command === "help") {
69
+ process.stdout.write(HELP_TEXT);
70
+ return;
71
+ }
72
+ if (command === "setup") {
73
+ await setupDaemon(commandArgs);
74
+ return;
75
+ }
76
+ if (command === "login") {
77
+ await loginWithDeviceCode(commandArgs);
78
+ return;
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}`);
113
+ }
114
+ main().catch((error) => {
115
+ console.error("[aiden-agent] Fatal error:", error instanceof Error ? error.message : error);
116
+ process.exit(1);
117
+ });
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "@aiden/agent-core";
2
+ //# sourceMappingURL=runtime-backends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-backends.d.ts","sourceRoot":"","sources":["../src/runtime-backends.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@aiden/agent-core";
2
+ //# sourceMappingURL=runtime-backends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-backends.js","sourceRoot":"","sources":["../src/runtime-backends.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Sandbox mode: connects to WS server, runs CoreAgent in a multi-turn loop.
3
+ * Runs INSIDE the E2B sandbox.
4
+ */
5
+ export interface SandboxConfig {
6
+ wsUrl: string;
7
+ sessionId: string;
8
+ taskId: string;
9
+ teamId?: string;
10
+ sessionToken: string;
11
+ task: string;
12
+ projectPath: string;
13
+ backendKind?: string;
14
+ agentId?: string;
15
+ agentPrompt?: string;
16
+ mode?: string;
17
+ model?: string;
18
+ contextWindow?: string | null;
19
+ effortLevel?: string | null;
20
+ providerSessionId?: string;
21
+ currentUser?: {
22
+ id: string;
23
+ name: string | null;
24
+ email: string;
25
+ };
26
+ maxIterations?: number;
27
+ workflowId?: string;
28
+ workflowExecutionId?: string;
29
+ }
30
+ export declare function runSandbox(config: SandboxConfig): Promise<void>;
31
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,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;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4NrE"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Sandbox mode: connects to WS server, runs CoreAgent in a multi-turn loop.
3
+ * Runs INSIDE the E2B sandbox.
4
+ */
5
+ import { CoreAgent } from "./core-agent.js";
6
+ import { AGENT_VERSION } from "./version.js";
7
+ import { WebPresenter } from "./web-presenter.js";
8
+ import { WSClient } from "./ws-client.js";
9
+ export async function runSandbox(config) {
10
+ let currentTask = config.task;
11
+ let currentImages = [];
12
+ const stopped = false;
13
+ let pendingMessageResolve = null;
14
+ let currentAgent = null;
15
+ // Per-turn enrichment state — updated from each incoming WS payload.
16
+ // Seeded from config for the first turn; overwritten on every subsequent turn.
17
+ let currentTaskMeta;
18
+ let currentPrMeta;
19
+ let currentWorkflowTools;
20
+ let currentMaxIterations = config.maxIterations ?? 50;
21
+ let currentTaskId = config.taskId;
22
+ let currentConversationId = config.sessionId;
23
+ let currentTeamId = config.teamId;
24
+ const workflowId = config.workflowId;
25
+ const workflowExecutionId = config.workflowExecutionId;
26
+ let currentUser = config.currentUser;
27
+ let currentTerminalContextRefs;
28
+ let currentTerminalSnapshots;
29
+ console.info("[sandbox] Connecting to WS server", {
30
+ wsUrl: config.wsUrl,
31
+ sessionId: config.sessionId,
32
+ });
33
+ const wsClient = new WSClient(config.wsUrl, config.sessionId, config.taskId, config.sessionToken, {
34
+ onUserMessage: (payload) => {
35
+ if (pendingMessageResolve) {
36
+ const resolve = pendingMessageResolve;
37
+ pendingMessageResolve = null;
38
+ resolve(payload);
39
+ }
40
+ else {
41
+ console.warn("[sandbox] No handler for user message — dropped");
42
+ }
43
+ },
44
+ onStop: () => {
45
+ console.info("[sandbox] Stop signal received");
46
+ if (currentAgent) {
47
+ const killed = currentAgent.kill();
48
+ if (!killed)
49
+ currentAgent.abort();
50
+ }
51
+ },
52
+ onToolResponse: (toolId, response) => {
53
+ if (currentAgent) {
54
+ const sent = currentAgent.sendToolResponse(toolId, response);
55
+ if (!sent) {
56
+ console.warn("[sandbox] Failed to deliver tool_response to agent stdin", { toolId });
57
+ }
58
+ }
59
+ else {
60
+ console.warn("[sandbox] No active agent for tool_response", { toolId });
61
+ }
62
+ },
63
+ onConnect: () => console.info("[sandbox] WS connected"),
64
+ onDisconnect: (reason) => console.info(`[sandbox] WS disconnected: ${reason}`),
65
+ }, AGENT_VERSION);
66
+ try {
67
+ await wsClient.waitForConnection();
68
+ }
69
+ catch (error) {
70
+ console.error("[sandbox] Failed to connect to WS server:", error.message);
71
+ process.exit(1);
72
+ }
73
+ const presenter = new WebPresenter(wsClient, config.sessionId, config.projectPath);
74
+ presenter.setSuppressSessionLifecycle(true);
75
+ let lastProviderSessionId = config.providerSessionId;
76
+ let activeBackendKind = (config.backendKind ||
77
+ "claude_cli");
78
+ let activeAgentId = config.agentId;
79
+ let activeAgentPrompt = config.agentPrompt;
80
+ let activeModel = config.model;
81
+ let activeContextWindow = config.contextWindow;
82
+ let activeEffortLevel = config.effortLevel;
83
+ let activeMode = config.mode || "agent";
84
+ while (!stopped) {
85
+ if (currentTask?.trim()) {
86
+ const agent = new CoreAgent(presenter, {
87
+ backendKind: activeBackendKind,
88
+ });
89
+ currentAgent = agent;
90
+ let result;
91
+ try {
92
+ result = await agent.run({
93
+ task: currentTask,
94
+ maxIterations: currentMaxIterations,
95
+ teamPath: config.projectPath,
96
+ cwd: config.projectPath,
97
+ backendKind: activeBackendKind,
98
+ agentId: activeAgentId,
99
+ agentPrompt: activeAgentPrompt,
100
+ mode: activeMode,
101
+ selectedModel: activeModel,
102
+ selectedContextWindow: activeContextWindow ?? null,
103
+ selectedEffortLevel: activeEffortLevel ?? null,
104
+ providerSessionId: lastProviderSessionId ?? undefined,
105
+ taskMeta: currentTaskMeta,
106
+ prMeta: currentPrMeta,
107
+ taskId: currentTaskId,
108
+ conversationId: currentConversationId,
109
+ teamId: currentTeamId,
110
+ workflowId,
111
+ workflowExecutionId,
112
+ currentUser,
113
+ workflowTools: currentWorkflowTools,
114
+ terminalContextRefs: currentTerminalContextRefs,
115
+ terminalSnapshots: currentTerminalSnapshots,
116
+ images: currentImages.length > 0
117
+ ? currentImages.map((img) => ({
118
+ id: img.id,
119
+ data: img.data,
120
+ mimeType: img.mimeType,
121
+ filename: img.filename,
122
+ width: 0,
123
+ height: 0,
124
+ }))
125
+ : undefined,
126
+ });
127
+ }
128
+ catch (error) {
129
+ const errorMessage = error instanceof Error ? error.message : String(error);
130
+ console.error("[sandbox] Agent run failed:", errorMessage);
131
+ result = {
132
+ success: false,
133
+ summary: "Agent run failed",
134
+ filesModified: [],
135
+ planFilesCreated: [],
136
+ iterations: 0,
137
+ error: errorMessage,
138
+ };
139
+ }
140
+ currentAgent = null;
141
+ if (result?.providerSessionId) {
142
+ lastProviderSessionId = result.providerSessionId;
143
+ }
144
+ if (stopped)
145
+ break;
146
+ }
147
+ // Wait for next user message
148
+ const nextPayload = await new Promise((resolve) => {
149
+ pendingMessageResolve = resolve;
150
+ });
151
+ if (nextPayload === null || stopped) {
152
+ break;
153
+ }
154
+ currentTask = nextPayload.text;
155
+ currentImages = nextPayload.images ?? [];
156
+ if (nextPayload.providerSessionId) {
157
+ lastProviderSessionId = nextPayload.providerSessionId;
158
+ }
159
+ if (nextPayload.backendKind) {
160
+ activeBackendKind = nextPayload.backendKind;
161
+ }
162
+ if (nextPayload.agentId !== undefined) {
163
+ activeAgentId = nextPayload.agentId;
164
+ }
165
+ if (nextPayload.agentPrompt !== undefined) {
166
+ activeAgentPrompt = nextPayload.agentPrompt;
167
+ }
168
+ if (nextPayload.selectedModel !== undefined) {
169
+ activeModel = nextPayload.selectedModel.trim() || undefined;
170
+ }
171
+ if (nextPayload.selectedContextWindow !== undefined) {
172
+ activeContextWindow = nextPayload.selectedContextWindow;
173
+ }
174
+ if (nextPayload.selectedEffortLevel !== undefined) {
175
+ activeEffortLevel = nextPayload.selectedEffortLevel;
176
+ }
177
+ if (nextPayload.mode) {
178
+ activeMode = nextPayload.mode;
179
+ }
180
+ // Update per-turn enrichment fields from the incoming payload
181
+ if (nextPayload.taskMeta !== undefined) {
182
+ currentTaskMeta = nextPayload.taskMeta;
183
+ }
184
+ if (nextPayload.prMeta !== undefined) {
185
+ currentPrMeta = nextPayload.prMeta;
186
+ }
187
+ if (nextPayload.workflowTools !== undefined) {
188
+ currentWorkflowTools = nextPayload.workflowTools;
189
+ }
190
+ if (nextPayload.maxIterations !== undefined) {
191
+ currentMaxIterations = nextPayload.maxIterations;
192
+ }
193
+ if (nextPayload.taskId !== undefined) {
194
+ currentTaskId = nextPayload.taskId;
195
+ }
196
+ if (nextPayload.conversationId !== undefined) {
197
+ currentConversationId = nextPayload.conversationId;
198
+ }
199
+ if (nextPayload.currentUser !== undefined) {
200
+ currentUser = nextPayload.currentUser;
201
+ }
202
+ if (nextPayload.teamId !== undefined) {
203
+ currentTeamId = nextPayload.teamId;
204
+ }
205
+ if (nextPayload.terminalContextRefs !== undefined) {
206
+ currentTerminalContextRefs = nextPayload.terminalContextRefs;
207
+ }
208
+ if (nextPayload.terminalSnapshots !== undefined) {
209
+ currentTerminalSnapshots = nextPayload.terminalSnapshots;
210
+ }
211
+ }
212
+ presenter.setSuppressSessionLifecycle(false);
213
+ wsClient.close();
214
+ }
215
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Re-exports from the canonical shared agent types.
3
+ * Single source of truth: packages/shared/src/agent/types.ts
4
+ */
5
+ export * from "@aiden/shared/agent";
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Re-exports from the canonical shared agent types.
3
+ * Single source of truth: packages/shared/src/agent/types.ts
4
+ */
5
+ export * from "@aiden/shared/agent";
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface UpdatePayload {
2
+ devMode: boolean;
3
+ version?: string;
4
+ }
5
+ /**
6
+ * Install the new agent version via npm.
7
+ * Returns true if the install succeeded.
8
+ */
9
+ export declare function installUpdate(payload: UpdatePayload): Promise<boolean>;
10
+ /**
11
+ * Spawn a new agent process with the same env vars, then exit this process.
12
+ * Preserves the provider session ID so the new agent can resume Claude context.
13
+ */
14
+ export declare function respawnAgent(lastProviderSessionId?: string): void;
15
+ //# sourceMappingURL=updater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAe5E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBjE"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Self-update logic for the sandbox agent.
3
+ * In prod/staging, installs the new version from npm.
4
+ */
5
+ import { execSync, spawn } from "node:child_process";
6
+ const DEFAULT_PATH = "/home/user/.local/node/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
7
+ /**
8
+ * Install the new agent version via npm.
9
+ * Returns true if the install succeeded.
10
+ */
11
+ export async function installUpdate(payload) {
12
+ const version = payload.version ?? "latest";
13
+ try {
14
+ console.info(`[updater] Installing @aiden-ade/sandbox-agent@${version} via npm`);
15
+ execSync(`npm install -g @aiden-ade/sandbox-agent@${version}`, {
16
+ timeout: 60_000,
17
+ env: { ...process.env, PATH: DEFAULT_PATH },
18
+ stdio: "pipe",
19
+ });
20
+ console.info("[updater] npm install complete");
21
+ return true;
22
+ }
23
+ catch (error) {
24
+ console.error("[updater] npm install failed:", error.message);
25
+ return false;
26
+ }
27
+ }
28
+ /**
29
+ * Spawn a new agent process with the same env vars, then exit this process.
30
+ * Preserves the provider session ID so the new agent can resume Claude context.
31
+ */
32
+ export function respawnAgent(lastProviderSessionId) {
33
+ const env = { ...process.env };
34
+ if (lastProviderSessionId) {
35
+ env.AIDEN_PROVIDER_SESSION_ID = lastProviderSessionId;
36
+ }
37
+ console.info("[updater] Spawning new agent process");
38
+ const child = spawn("aiden-agent", [], {
39
+ detached: true,
40
+ stdio: "ignore",
41
+ env: { ...env, PATH: DEFAULT_PATH },
42
+ });
43
+ child.unref();
44
+ // Give the new process a moment to start before we exit
45
+ setTimeout(() => {
46
+ console.info("[updater] Old agent exiting after respawn");
47
+ process.exit(0);
48
+ }, 500);
49
+ }
50
+ //# sourceMappingURL=updater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,YAAY,GAAG,+GAA+G,CAAC;AAOrI;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,iDAAiD,OAAO,UAAU,CAAC,CAAC;QACjF,QAAQ,CAAC,2CAA2C,OAAO,EAAE,EAAE;YAC7D,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;YAC3C,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,qBAA8B;IACzD,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,qBAAqB,EAAE,CAAC;QAC1B,GAAG,CAAC,yBAAyB,GAAG,qBAAqB,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE;QACrC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;KACpC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,wDAAwD;IACxD,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const AGENT_VERSION: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAA4C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const AGENT_VERSION = process.env.__AGENT_VERSION__ ?? "0.1.21";
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { AgentConfig, AgentPresenter, AgentResult, ExitPlanModeInput, GeneratedImagePayload, UsageUpdate } from "./types.js";
2
+ import type { WSClient } from "./ws-client.js";
3
+ export declare class WebPresenter implements AgentPresenter {
4
+ private readonly cwd?;
5
+ private wsClient;
6
+ private readonly emittedGeneratedImageKeys;
7
+ private readonly toolNamesById;
8
+ private suppressSessionLifecycle;
9
+ constructor(wsClient: WSClient, _conversationId: string, cwd?: string | undefined);
10
+ setSuppressSessionLifecycle(suppress: boolean): void;
11
+ onStart(config: AgentConfig): void;
12
+ onLog(message: string): void;
13
+ onAssistantText(text: string): void;
14
+ onThinking(text: string): void;
15
+ onToolUse(tool: string, input: unknown, toolId: string): void;
16
+ onToolResult(toolId: string, content: string, isError?: boolean): void;
17
+ onGeneratedImage(image: GeneratedImagePayload): void;
18
+ private emitGeneratedImage;
19
+ onTurnComplete(content: unknown[]): void;
20
+ onUsageUpdate(usage: UsageUpdate): void;
21
+ onAskUser(id: string, questions: unknown[]): void;
22
+ onTodoWrite(todos: unknown[]): void;
23
+ onExitPlanMode(id: string, input: ExitPlanModeInput, planFilePath?: string): void;
24
+ onCheckpoint(id: string): void;
25
+ onActivity(status: string): void;
26
+ onOpenBrowserTab(browserId: string, url?: string): void;
27
+ recordRawTranscript(): void;
28
+ onError(message: string, _isAgentError?: boolean): void;
29
+ onComplete(result: AgentResult): void;
30
+ /**
31
+ * Manually emit session lifecycle events and close.
32
+ * Called after the multi-turn loop exits.
33
+ */
34
+ emitSessionEnd(result: AgentResult): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=web-presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-presenter.d.ts","sourceRoot":"","sources":["../src/web-presenter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,YAAa,YAAW,cAAc;IAS/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IARvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAqB;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,wBAAwB,CAAS;gBAGvC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,EACN,GAAG,CAAC,EAAE,MAAM,YAAA;IAK/B,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIpD,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK7D,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAetE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAIpD,OAAO,CAAC,kBAAkB;IAO1B,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAIxC,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIvC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjD,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAInC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IASjF,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvD,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAQvD,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAkBrC;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzD"}