@agentxjs/runtime 1.9.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +159 -518
- package/dist/index.js +14 -1
- package/dist/index.js.map +3 -3
- package/package.json +15 -13
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Deepractice
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,616 +1,257 @@
|
|
|
1
1
|
# @agentxjs/runtime
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Runtime for AI Agents - Agent execution, SystemBus, Environment, and complete lifecycle management
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
`@agentxjs/runtime` provides
|
|
8
|
-
|
|
9
|
-
- **SystemBus** - Event-driven communication backbone
|
|
10
|
-
- **Container** - Agent lifecycle management
|
|
11
|
-
- **Environment** (Receptor + Effector) - External world interface (Claude SDK)
|
|
12
|
-
- **Session** - Message persistence
|
|
13
|
-
- **Persistence** - Storage layer (SQLite, Memory)
|
|
7
|
+
The `@agentxjs/runtime` package provides complete runtime infrastructure for executing AI agents. It manages the full lifecycle from agent creation to destruction, handles communication through a centralized event bus, and integrates with the Claude SDK.
|
|
14
8
|
|
|
15
9
|
**Key Features:**
|
|
16
10
|
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
11
|
+
- **Docker-Style Lifecycle**: Definition -> Image -> Agent -> Session pattern
|
|
12
|
+
- **Event-Driven Architecture**: Central SystemBus for all runtime communication
|
|
13
|
+
- **Image-First Model**: Persistent conversations with transient runtime agents
|
|
14
|
+
- **Environment Abstraction**: Pluggable receptor/effector pattern for LLM integration
|
|
15
|
+
- **Request/Response Pattern**: Command-based API with correlation support
|
|
22
16
|
|
|
23
17
|
## Installation
|
|
24
18
|
|
|
25
19
|
```bash
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Dependencies:**
|
|
30
|
-
|
|
31
|
-
- `@anthropic-ai/claude-agent-sdk` - Claude API client
|
|
32
|
-
- `better-sqlite3` - SQLite database (optional, for persistence)
|
|
33
|
-
- `unstorage` - Unified storage layer
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Quick Start
|
|
38
|
-
|
|
39
|
-
### Minimal Setup
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
import { createRuntime } from "@agentxjs/runtime";
|
|
43
|
-
|
|
44
|
-
// Minimal - uses environment variable ANTHROPIC_API_KEY
|
|
45
|
-
const runtime = createRuntime();
|
|
46
|
-
|
|
47
|
-
// Subscribe to events
|
|
48
|
-
runtime.on("text_delta", (e) => {
|
|
49
|
-
console.log(e.data.text);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
// Create container
|
|
53
|
-
const containerRes = await runtime.request("container_create_request", {
|
|
54
|
-
containerId: "my-container",
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
// Run agent
|
|
58
|
-
const agentRes = await runtime.request("agent_run_request", {
|
|
59
|
-
containerId: "my-container",
|
|
60
|
-
config: {
|
|
61
|
-
name: "Assistant",
|
|
62
|
-
systemPrompt: "You are a helpful assistant",
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
// Send message
|
|
67
|
-
await runtime.request("agent_receive_request", {
|
|
68
|
-
agentId: agentRes.data.agentId,
|
|
69
|
-
content: "Hello!",
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
// Cleanup
|
|
73
|
-
await runtime.dispose();
|
|
20
|
+
bun add @agentxjs/runtime
|
|
74
21
|
```
|
|
75
22
|
|
|
76
|
-
### With Configuration
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
import { createRuntime, createPersistence } from "@agentxjs/runtime";
|
|
80
|
-
import { sqliteDriver } from "@agentxjs/persistence/sqlite";
|
|
81
|
-
|
|
82
|
-
const runtime = createRuntime({
|
|
83
|
-
// LLM configuration
|
|
84
|
-
llm: {
|
|
85
|
-
apiKey: process.env.ANTHROPIC_API_KEY,
|
|
86
|
-
baseUrl: "https://api.anthropic.com",
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
// Persistence (using sqlite driver)
|
|
90
|
-
persistence: await createPersistence(sqliteDriver({ path: "./data.db" })),
|
|
91
|
-
|
|
92
|
-
// Logger
|
|
93
|
-
logger: {
|
|
94
|
-
level: "info",
|
|
95
|
-
enableTimestamp: true,
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
23
|
## Architecture
|
|
103
24
|
|
|
104
|
-
### System Overview
|
|
105
|
-
|
|
106
|
-
```text
|
|
107
|
-
┌────────────────────────────────────────────────────────────────┐
|
|
108
|
-
│ Runtime │
|
|
109
|
-
├────────────────────────────────────────────────────────────────┤
|
|
110
|
-
│ │
|
|
111
|
-
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
112
|
-
│ │ SystemBus │ │
|
|
113
|
-
│ │ (Central event bus - all communication flows here) │ │
|
|
114
|
-
│ └──────────────────────┬──────────────────────────────────┘ │
|
|
115
|
-
│ │ │
|
|
116
|
-
│ ┌───────────────┼───────────────┐ │
|
|
117
|
-
│ │ │ │ │
|
|
118
|
-
│ ▼ ▼ ▼ │
|
|
119
|
-
│ ┌─────────────┐ ┌──────────┐ ┌────────────┐ │
|
|
120
|
-
│ │Environment │ │Container │ │Persistence │ │
|
|
121
|
-
│ │ │ │ │ │ │ │
|
|
122
|
-
│ │ Receptor │ │ Agent1 │ │ SQLite │ │
|
|
123
|
-
│ │ Effector │ │ Agent2 │ │ Images │ │
|
|
124
|
-
│ │ (Claude SDK)│ │ Agent3 │ │ Sessions │ │
|
|
125
|
-
│ └─────────────┘ └──────────┘ └────────────┘ │
|
|
126
|
-
│ │
|
|
127
|
-
└────────────────────────────────────────────────────────────────┘
|
|
128
25
|
```
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
26
|
+
+------------------------------------------------------------------+
|
|
27
|
+
| Runtime |
|
|
28
|
+
| |
|
|
29
|
+
| +----------------------+ +-----------------------------+ |
|
|
30
|
+
| | SystemBus | | CommandHandler | |
|
|
31
|
+
| | (Event Routing) |<-->| (Request/Response Logic) | |
|
|
32
|
+
| +----------------------+ +-----------------------------+ |
|
|
33
|
+
| | |
|
|
34
|
+
| v |
|
|
35
|
+
| +------------------------------------------------------------+ |
|
|
36
|
+
| | Container | |
|
|
37
|
+
| | +------------------------------------------------------+ | |
|
|
38
|
+
| | | RuntimeAgent | | |
|
|
39
|
+
| | | +----------------+ +----------------+ | | |
|
|
40
|
+
| | | | AgentEngine | | Session | | | |
|
|
41
|
+
| | | | (MealyMachine) | | (Storage) | | | |
|
|
42
|
+
| | | +----------------+ +----------------+ | | |
|
|
43
|
+
| | | | | |
|
|
44
|
+
| | | +------------------------------------------------+ | | |
|
|
45
|
+
| | | | Environment | | | |
|
|
46
|
+
| | | | +------------------+ +------------------+ | | | |
|
|
47
|
+
| | | | | Receptor | | Effector | | | | |
|
|
48
|
+
| | | | | (Claude -> Bus) | | (Bus -> Claude) | | | | |
|
|
49
|
+
| | | | +------------------+ +------------------+ | | | |
|
|
50
|
+
| | | +------------------------------------------------+ | | |
|
|
51
|
+
| | +------------------------------------------------------+ | |
|
|
52
|
+
| +------------------------------------------------------------+ |
|
|
53
|
+
+------------------------------------------------------------------+
|
|
156
54
|
```
|
|
157
55
|
|
|
158
|
-
|
|
56
|
+
## Quick Start
|
|
159
57
|
|
|
160
58
|
```typescript
|
|
161
|
-
|
|
162
|
-
runtime.on("text_delta", (event) => {
|
|
163
|
-
console.log(event.data.text);
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
// Subscribe to multiple types
|
|
167
|
-
runtime.on(["message_start", "message_stop"], (event) => {
|
|
168
|
-
console.log(event.type);
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
// Subscribe to all events
|
|
172
|
-
runtime.onAny((event) => {
|
|
173
|
-
console.log(event.type, event.data);
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
// Unsubscribe
|
|
177
|
-
const unsubscribe = runtime.on("text_delta", handler);
|
|
178
|
-
unsubscribe();
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Available Commands
|
|
59
|
+
import { createRuntime, createPersistence, memoryDriver } from "@agentxjs/runtime";
|
|
182
60
|
|
|
183
|
-
|
|
61
|
+
// Create runtime with in-memory storage
|
|
62
|
+
const persistence = await createPersistence(memoryDriver());
|
|
184
63
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
64
|
+
const runtime = createRuntime({
|
|
65
|
+
persistence,
|
|
66
|
+
llmProvider: {
|
|
67
|
+
provide: () => ({
|
|
68
|
+
apiKey: process.env.ANTHROPIC_API_KEY!,
|
|
69
|
+
}),
|
|
70
|
+
},
|
|
71
|
+
basePath: "./data",
|
|
189
72
|
});
|
|
190
73
|
|
|
191
|
-
//
|
|
192
|
-
await runtime.request("
|
|
193
|
-
containerId: "
|
|
74
|
+
// Create container for user
|
|
75
|
+
await runtime.request("container_create_request", {
|
|
76
|
+
containerId: "user-123",
|
|
194
77
|
});
|
|
195
|
-
```
|
|
196
78
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
// Run agent
|
|
201
|
-
const res = await runtime.request("agent_run_request", {
|
|
202
|
-
containerId: "my-container",
|
|
79
|
+
// Create conversation (image)
|
|
80
|
+
const imageRes = await runtime.request("image_create_request", {
|
|
81
|
+
containerId: "user-123",
|
|
203
82
|
config: {
|
|
204
|
-
name: "Assistant",
|
|
205
|
-
systemPrompt: "You are helpful",
|
|
83
|
+
name: "My Assistant",
|
|
84
|
+
systemPrompt: "You are a helpful assistant.",
|
|
206
85
|
},
|
|
207
86
|
});
|
|
208
87
|
|
|
209
|
-
//
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
content: "Hello!",
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
// Interrupt agent
|
|
216
|
-
await runtime.request("agent_interrupt_request", {
|
|
217
|
-
agentId: res.data.agentId,
|
|
218
|
-
});
|
|
219
|
-
|
|
220
|
-
// Destroy agent
|
|
221
|
-
await runtime.request("agent_destroy_request", {
|
|
222
|
-
agentId: res.data.agentId,
|
|
223
|
-
});
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
#### Session Commands
|
|
227
|
-
|
|
228
|
-
```typescript
|
|
229
|
-
// Create session
|
|
230
|
-
await runtime.request("session_create_request", {
|
|
231
|
-
sessionId: "session_123",
|
|
232
|
-
containerId: "my-container",
|
|
233
|
-
agentId: "agent_123",
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
// Get session
|
|
237
|
-
const res = await runtime.request("session_get_request", {
|
|
238
|
-
sessionId: "session_123",
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
// Delete session
|
|
242
|
-
await runtime.request("session_delete_request", {
|
|
243
|
-
sessionId: "session_123",
|
|
88
|
+
// Subscribe to text deltas
|
|
89
|
+
runtime.on("text_delta", (e) => {
|
|
90
|
+
process.stdout.write(e.data.text);
|
|
244
91
|
});
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Direct Command Emission
|
|
248
|
-
|
|
249
|
-
For advanced use cases:
|
|
250
92
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
agentId: "agent_123",
|
|
256
|
-
content: "Hello!",
|
|
93
|
+
// Send message (auto-runs image if needed)
|
|
94
|
+
await runtime.request("message_send_request", {
|
|
95
|
+
imageId: imageRes.data.record.imageId,
|
|
96
|
+
content: "Hello, how are you?",
|
|
257
97
|
});
|
|
258
98
|
|
|
259
|
-
//
|
|
260
|
-
runtime.
|
|
261
|
-
if (event.data.requestId === "req_123") {
|
|
262
|
-
console.log("Response:", event.data);
|
|
263
|
-
},
|
|
264
|
-
});
|
|
99
|
+
// Cleanup
|
|
100
|
+
await runtime.dispose();
|
|
265
101
|
```
|
|
266
102
|
|
|
267
|
-
|
|
103
|
+
## Core Components
|
|
268
104
|
|
|
269
|
-
|
|
105
|
+
### Runtime
|
|
270
106
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### ClaudeEnvironment
|
|
274
|
-
|
|
275
|
-
Built-in implementation using `@anthropic-ai/claude-agent-sdk`:
|
|
107
|
+
Top-level API orchestrating all operations. Implements SystemBus interface and delegates to CommandHandler for request processing.
|
|
276
108
|
|
|
277
109
|
```typescript
|
|
278
|
-
import { createRuntime } from "@agentxjs/runtime";
|
|
279
|
-
|
|
280
110
|
const runtime = createRuntime({
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
},
|
|
111
|
+
persistence,
|
|
112
|
+
llmProvider: { provide: () => ({ apiKey: "..." }) },
|
|
113
|
+
basePath: "/path/to/.agentx",
|
|
114
|
+
defaultAgent: { name: "Assistant", systemPrompt: "..." },
|
|
285
115
|
});
|
|
286
116
|
```
|
|
287
117
|
|
|
288
|
-
###
|
|
289
|
-
|
|
290
|
-
```text
|
|
291
|
-
┌────────────────────────────────────────────────────────────┐
|
|
292
|
-
│ Environment │
|
|
293
|
-
├────────────────────────────────────────────────────────────┤
|
|
294
|
-
│ │
|
|
295
|
-
│ Receptor (Perceives external world → emits to SystemBus) │
|
|
296
|
-
│ │ │
|
|
297
|
-
│ │ Claude API Streaming Response │
|
|
298
|
-
│ ▼ │
|
|
299
|
-
│ ┌──────────────────────────────────────────────────────┐ │
|
|
300
|
-
│ │ Transforms Claude SDK events → DriveableEvent │ │
|
|
301
|
-
│ │ (message_delta, tool_use, etc.) │ │
|
|
302
|
-
│ └──────────────────────────────────────────────────────┘ │
|
|
303
|
-
│ │ │
|
|
304
|
-
│ │ emit to SystemBus │
|
|
305
|
-
│ ▼ │
|
|
306
|
-
│ SystemBus │
|
|
307
|
-
│ │ │
|
|
308
|
-
│ │ subscribe │
|
|
309
|
-
│ ▼ │
|
|
310
|
-
│ Effector (Subscribes to SystemBus → acts on external world)│
|
|
311
|
-
│ │ │
|
|
312
|
-
│ │ Executes tool calls │
|
|
313
|
-
│ ▼ │
|
|
314
|
-
│ External Tools (MCP, filesystem, etc.) │
|
|
315
|
-
│ │
|
|
316
|
-
└────────────────────────────────────────────────────────────┘
|
|
317
|
-
```
|
|
118
|
+
### Container
|
|
318
119
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
## Container - Agent Lifecycle
|
|
322
|
-
|
|
323
|
-
Container manages multiple agents:
|
|
324
|
-
|
|
325
|
-
```typescript
|
|
326
|
-
// Via command events (recommended)
|
|
327
|
-
const res = await runtime.request("container_create_request", {
|
|
328
|
-
containerId: "my-container",
|
|
329
|
-
});
|
|
120
|
+
Isolation boundary managing multiple agents. Tracks `imageId -> agentId` mapping for the Image-First model.
|
|
330
121
|
|
|
331
|
-
|
|
332
|
-
const agent1 = await runtime.request("agent_run_request", {
|
|
333
|
-
containerId: "my-container",
|
|
334
|
-
config: { name: "Agent1" },
|
|
335
|
-
});
|
|
122
|
+
### Agent (RuntimeAgent)
|
|
336
123
|
|
|
337
|
-
|
|
338
|
-
containerId: "my-container",
|
|
339
|
-
config: { name: "Agent2" },
|
|
340
|
-
});
|
|
124
|
+
Transient runtime entity processing user messages. Created by running an Image, destroyed when stopped.
|
|
341
125
|
|
|
342
|
-
|
|
343
|
-
await runtime.request("container_destroy_request", {
|
|
344
|
-
containerId: "my-container",
|
|
345
|
-
});
|
|
346
|
-
```
|
|
126
|
+
### Session (RuntimeSession)
|
|
347
127
|
|
|
348
|
-
|
|
128
|
+
Manages conversation history storage and retrieval via persistence layer.
|
|
349
129
|
|
|
350
|
-
|
|
130
|
+
### Image (RuntimeImage)
|
|
351
131
|
|
|
352
|
-
|
|
132
|
+
Persistent conversation entity. Users interact with Images (conversations), while Agents are transient instances.
|
|
353
133
|
|
|
354
|
-
###
|
|
134
|
+
### SystemBus
|
|
355
135
|
|
|
356
|
-
|
|
136
|
+
Central event bus using RxJS. Supports pub/sub, request/response, priority-based dispatch, and filtering.
|
|
357
137
|
|
|
358
138
|
```typescript
|
|
359
|
-
|
|
360
|
-
|
|
139
|
+
// Subscribe to events
|
|
140
|
+
runtime.on("text_delta", (e) => console.log(e.data.text));
|
|
141
|
+
runtime.on(["message_start", "message_stop"], (e) => console.log(e.type));
|
|
142
|
+
runtime.onAny((e) => console.log(e.type));
|
|
361
143
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
});
|
|
144
|
+
// Request/response pattern
|
|
145
|
+
const response = await runtime.request("image_get_request", { imageId: "..." });
|
|
365
146
|
```
|
|
366
147
|
|
|
367
|
-
|
|
148
|
+
### Environment
|
|
368
149
|
|
|
369
|
-
|
|
370
|
-
import { createRuntime, createPersistence, memoryDriver } from "@agentxjs/runtime";
|
|
150
|
+
Abstraction for LLM integration using Receptor/Effector pattern:
|
|
371
151
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
});
|
|
375
|
-
```
|
|
152
|
+
- **ClaudeReceptor**: Perceives Claude SDK responses, emits DriveableEvents to SystemBus
|
|
153
|
+
- **ClaudeEffector**: Subscribes to SystemBus events, sends to Claude SDK
|
|
376
154
|
|
|
377
|
-
|
|
155
|
+
## Command API
|
|
378
156
|
|
|
379
|
-
|
|
380
|
-
// Redis
|
|
381
|
-
import { redisDriver } from "@agentxjs/persistence/redis";
|
|
382
|
-
const persistence = await createPersistence(redisDriver({ url: "redis://localhost:6379" }));
|
|
383
|
-
|
|
384
|
-
// MongoDB
|
|
385
|
-
import { mongodbDriver } from "@agentxjs/persistence/mongodb";
|
|
386
|
-
const persistence = await createPersistence(mongodbDriver({ connectionString: "mongodb://..." }));
|
|
387
|
-
|
|
388
|
-
// MySQL
|
|
389
|
-
import { mysqlDriver } from "@agentxjs/persistence/mysql";
|
|
390
|
-
const persistence = await createPersistence(mysqlDriver({ host: "localhost", database: "agentx" }));
|
|
391
|
-
|
|
392
|
-
// PostgreSQL
|
|
393
|
-
import { postgresqlDriver } from "@agentxjs/persistence/postgresql";
|
|
394
|
-
const persistence = await createPersistence(
|
|
395
|
-
postgresqlDriver({ host: "localhost", database: "agentx" })
|
|
396
|
-
);
|
|
397
|
-
```
|
|
157
|
+
### Container Commands
|
|
398
158
|
|
|
399
|
-
|
|
159
|
+
| Command | Description |
|
|
160
|
+
| -------------------------- | ---------------------- |
|
|
161
|
+
| `container_create_request` | Create a new container |
|
|
162
|
+
| `container_get_request` | Get container by ID |
|
|
163
|
+
| `container_list_request` | List all containers |
|
|
400
164
|
|
|
401
|
-
|
|
165
|
+
### Image Commands
|
|
402
166
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
167
|
+
| Command | Description |
|
|
168
|
+
| ------------------------ | --------------------------------- |
|
|
169
|
+
| `image_create_request` | Create a new image (conversation) |
|
|
170
|
+
| `image_run_request` | Run an image (create agent) |
|
|
171
|
+
| `image_stop_request` | Stop an image (destroy agent) |
|
|
172
|
+
| `image_update_request` | Update image metadata |
|
|
173
|
+
| `image_list_request` | List all images |
|
|
174
|
+
| `image_get_request` | Get image by ID |
|
|
175
|
+
| `image_delete_request` | Delete an image |
|
|
176
|
+
| `image_messages_request` | Get messages for an image |
|
|
406
177
|
|
|
407
|
-
|
|
408
|
-
// Save agent image
|
|
409
|
-
const image = await runtime.request("image_snapshot_request", {
|
|
410
|
-
agentId: "agent_123",
|
|
411
|
-
});
|
|
412
|
-
|
|
413
|
-
// Resume from image
|
|
414
|
-
const agent = await runtime.request("image_resume_request", {
|
|
415
|
-
imageId: image.data.imageId,
|
|
416
|
-
});
|
|
417
|
-
```
|
|
178
|
+
### Agent Commands
|
|
418
179
|
|
|
419
|
-
|
|
180
|
+
| Command | Description |
|
|
181
|
+
| --------------------------- | --------------------------------- |
|
|
182
|
+
| `message_send_request` | Send message to agent |
|
|
183
|
+
| `agent_interrupt_request` | Interrupt agent operation |
|
|
184
|
+
| `agent_get_request` | Get agent by ID |
|
|
185
|
+
| `agent_list_request` | List agents in a container |
|
|
186
|
+
| `agent_destroy_request` | Destroy an agent |
|
|
187
|
+
| `agent_destroy_all_request` | Destroy all agents in a container |
|
|
420
188
|
|
|
421
|
-
##
|
|
189
|
+
## Event Types
|
|
422
190
|
|
|
423
|
-
###
|
|
191
|
+
### Stream Events (from Environment)
|
|
424
192
|
|
|
425
193
|
```typescript
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
async getItem(key) {
|
|
430
|
-
// Fetch from your backend
|
|
431
|
-
},
|
|
432
|
-
async setItem(key, value) {
|
|
433
|
-
// Save to your backend
|
|
434
|
-
},
|
|
435
|
-
async removeItem(key) {
|
|
436
|
-
// Delete from your backend
|
|
437
|
-
},
|
|
438
|
-
async getKeys(base) {
|
|
439
|
-
// List keys with prefix
|
|
440
|
-
},
|
|
441
|
-
async clear() {
|
|
442
|
-
// Clear all data
|
|
443
|
-
},
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
const runtime = createRuntime({
|
|
447
|
-
persistence: createPersistence({
|
|
448
|
-
driver: customDriver,
|
|
449
|
-
}),
|
|
450
|
-
});
|
|
194
|
+
{ type: "message_start", data: { message: { id, model } } }
|
|
195
|
+
{ type: "text_delta", data: { text: string } }
|
|
196
|
+
{ type: "message_stop", data: { stopReason: "end_turn" | "tool_use" | "max_tokens" } }
|
|
451
197
|
```
|
|
452
198
|
|
|
453
|
-
###
|
|
199
|
+
### Lifecycle Events
|
|
454
200
|
|
|
455
201
|
```typescript
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
(event) => {
|
|
460
|
-
console.log(event.data.text);
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
filter: (event) => event.context?.agentId === "agent_123",
|
|
464
|
-
}
|
|
465
|
-
);
|
|
466
|
-
|
|
467
|
-
// Priority execution
|
|
468
|
-
runtime.on("message_stop", handler, {
|
|
469
|
-
priority: 10, // Higher priority runs first
|
|
470
|
-
});
|
|
471
|
-
|
|
472
|
-
// One-time subscription
|
|
473
|
-
runtime.once("agent_created", (event) => {
|
|
474
|
-
console.log("Agent created:", event.data.agentId);
|
|
475
|
-
});
|
|
202
|
+
{ type: "container_created", data: { containerId, createdAt } }
|
|
203
|
+
{ type: "agent_registered", data: { containerId, agentId, registeredAt } }
|
|
204
|
+
{ type: "session_created", data: { sessionId, imageId, containerId, createdAt } }
|
|
476
205
|
```
|
|
477
206
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
## Testing
|
|
481
|
-
|
|
482
|
-
Runtime is designed for easy testing:
|
|
207
|
+
## Configuration
|
|
483
208
|
|
|
484
209
|
```typescript
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
describe("Runtime", () => {
|
|
489
|
-
it("creates and runs agent", async () => {
|
|
490
|
-
const runtime = createRuntime({
|
|
491
|
-
llm: {
|
|
492
|
-
apiKey: "test-key",
|
|
493
|
-
},
|
|
494
|
-
persistence: await createPersistence(memoryDriver()),
|
|
495
|
-
});
|
|
496
|
-
|
|
497
|
-
// Create container
|
|
498
|
-
const containerRes = await runtime.request("container_create_request", {
|
|
499
|
-
containerId: "test-container",
|
|
500
|
-
});
|
|
501
|
-
|
|
502
|
-
expect(containerRes.data.containerId).toBe("test-container");
|
|
503
|
-
|
|
504
|
-
// Run agent
|
|
505
|
-
const agentRes = await runtime.request("agent_run_request", {
|
|
506
|
-
containerId: "test-container",
|
|
507
|
-
config: { name: "TestAgent" },
|
|
508
|
-
});
|
|
509
|
-
|
|
510
|
-
expect(agentRes.data.name).toBe("TestAgent");
|
|
511
|
-
|
|
512
|
-
await runtime.dispose();
|
|
513
|
-
});
|
|
514
|
-
});
|
|
515
|
-
```
|
|
516
|
-
|
|
517
|
-
---
|
|
518
|
-
|
|
519
|
-
## Design Decisions
|
|
520
|
-
|
|
521
|
-
### Why Event-Driven?
|
|
522
|
-
|
|
523
|
-
Event-driven architecture enables:
|
|
524
|
-
|
|
525
|
-
1. **Decoupling** - Components communicate via events, not direct calls
|
|
526
|
-
2. **Extensibility** - Add new components without modifying existing ones
|
|
527
|
-
3. **Testability** - Mock events instead of entire components
|
|
528
|
-
4. **Observability** - All operations are visible as events
|
|
529
|
-
|
|
530
|
-
### Why SystemBus?
|
|
531
|
-
|
|
532
|
-
SystemBus provides:
|
|
533
|
-
|
|
534
|
-
1. **Single Source of Truth** - All communication flows through one point
|
|
535
|
-
2. **Type Safety** - Commands are fully typed
|
|
536
|
-
3. **Request/Response** - Async operations with correlation IDs
|
|
537
|
-
4. **Priority/Filtering** - Advanced subscription options
|
|
538
|
-
|
|
539
|
-
### Why Separate Environment?
|
|
540
|
-
|
|
541
|
-
Environment abstraction allows:
|
|
210
|
+
interface RuntimeConfig {
|
|
211
|
+
/** Persistence layer for data storage */
|
|
212
|
+
persistence: Persistence;
|
|
542
213
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
3. **Cross-Platform** - Different implementations for Node.js, Browser
|
|
546
|
-
4. **Clear Boundary** - External world vs. internal logic
|
|
214
|
+
/** LLM provider for AI model access */
|
|
215
|
+
llmProvider: LLMProvider<ClaudeLLMConfig>;
|
|
547
216
|
|
|
548
|
-
|
|
217
|
+
/** Base path for runtime data (containers, workdirs, etc.) */
|
|
218
|
+
basePath: string;
|
|
549
219
|
|
|
550
|
-
|
|
220
|
+
/** Optional environment factory for dependency injection */
|
|
221
|
+
environmentFactory?: EnvironmentFactory;
|
|
551
222
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
// LLM configuration
|
|
555
|
-
llm?: {
|
|
556
|
-
apiKey?: string; // Default: process.env.ANTHROPIC_API_KEY
|
|
557
|
-
baseUrl?: string; // Default: "https://api.anthropic.com"
|
|
558
|
-
};
|
|
559
|
-
|
|
560
|
-
// Persistence
|
|
561
|
-
persistence?: Persistence;
|
|
562
|
-
|
|
563
|
-
// Logger
|
|
564
|
-
logger?: {
|
|
565
|
-
level?: LogLevel;
|
|
566
|
-
enableTimestamp?: boolean;
|
|
567
|
-
enableColor?: boolean;
|
|
568
|
-
};
|
|
223
|
+
/** Default agent definition used when creating new images */
|
|
224
|
+
defaultAgent?: AgentDefinition;
|
|
569
225
|
}
|
|
570
226
|
```
|
|
571
227
|
|
|
572
|
-
---
|
|
573
|
-
|
|
574
228
|
## Environment Variables
|
|
575
229
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
ANTHROPIC_API_KEY
|
|
230
|
+
| Variable | Description | Default |
|
|
231
|
+
| -------------------- | -------------- | ----------------- |
|
|
232
|
+
| `ANTHROPIC_API_KEY` | Claude API key | Required |
|
|
233
|
+
| `ANTHROPIC_BASE_URL` | API endpoint | Anthropic default |
|
|
234
|
+
| `LOG_LEVEL` | Logging level | `info` |
|
|
579
235
|
|
|
580
|
-
|
|
581
|
-
ANTHROPIC_BASE_URL=https://api.anthropic.com # Custom endpoint
|
|
582
|
-
LOG_LEVEL=info # debug, info, warn, error
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
---
|
|
586
|
-
|
|
587
|
-
## Package Dependencies
|
|
588
|
-
|
|
589
|
-
```text
|
|
590
|
-
@agentxjs/types Type definitions
|
|
591
|
-
↑
|
|
592
|
-
@agentxjs/common Logger facade
|
|
593
|
-
↑
|
|
594
|
-
@agentxjs/persistence Storage layer (drivers as subpath exports)
|
|
595
|
-
↑
|
|
596
|
-
@agentxjs/agent AgentEngine
|
|
597
|
-
↑
|
|
598
|
-
@agentxjs/runtime This package (Runtime + Environment)
|
|
599
|
-
↑
|
|
600
|
-
agentxjs High-level unified API
|
|
601
|
-
```
|
|
236
|
+
## Dependencies
|
|
602
237
|
|
|
603
|
-
|
|
238
|
+
- `@agentxjs/agent` - Agent engine and event processing
|
|
239
|
+
- `@agentxjs/common` - Logging, ID generation
|
|
240
|
+
- `@agentxjs/persistence` - Storage layer
|
|
241
|
+
- `@agentxjs/types` - Type definitions
|
|
242
|
+
- `@anthropic-ai/claude-agent-sdk` - Claude SDK integration
|
|
243
|
+
- `rxjs` - Reactive event handling
|
|
604
244
|
|
|
605
245
|
## Related Packages
|
|
606
246
|
|
|
607
|
-
-
|
|
608
|
-
-
|
|
609
|
-
-
|
|
610
|
-
-
|
|
611
|
-
|
|
247
|
+
- [@agentxjs/agent](../agent) - Agent engine and event processing
|
|
248
|
+
- [@agentxjs/persistence](../persistence) - Storage layer
|
|
249
|
+
- [@agentxjs/types](../types) - Type definitions
|
|
250
|
+
- [agentxjs](../agentx) - Unified entry point
|
|
251
|
+
|
|
252
|
+
## Full Documentation
|
|
612
253
|
|
|
613
|
-
|
|
254
|
+
See [docs/packages/runtime.md](../../docs/packages/runtime.md) for complete documentation including advanced usage, custom environment factories, and integration examples.
|
|
614
255
|
|
|
615
256
|
## License
|
|
616
257
|
|
package/dist/index.js
CHANGED
|
@@ -719,6 +719,7 @@ import { Subject as Subject2 } from "rxjs";
|
|
|
719
719
|
import { createLogger as createLogger6 } from "@agentxjs/common";
|
|
720
720
|
|
|
721
721
|
// src/environment/buildOptions.ts
|
|
722
|
+
import { spawn } from "child_process";
|
|
722
723
|
import { createLogger as createLogger5 } from "@agentxjs/common";
|
|
723
724
|
|
|
724
725
|
// src/RuntimeEnvironment.ts
|
|
@@ -778,6 +779,17 @@ function buildOptions(context, abortController) {
|
|
|
778
779
|
options.stderr = (data) => {
|
|
779
780
|
logger5.info("SDK stderr", { data: data.trim() });
|
|
780
781
|
};
|
|
782
|
+
options.spawnClaudeCodeProcess = (spawnOptions) => {
|
|
783
|
+
const childProcess = spawn(process.execPath, spawnOptions.args, {
|
|
784
|
+
cwd: spawnOptions.cwd,
|
|
785
|
+
env: {
|
|
786
|
+
...spawnOptions.env,
|
|
787
|
+
ELECTRON_RUN_AS_NODE: "1"
|
|
788
|
+
},
|
|
789
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
790
|
+
});
|
|
791
|
+
return childProcess;
|
|
792
|
+
};
|
|
781
793
|
const claudeCodePath = RuntimeEnvironment.getClaudeCodePath();
|
|
782
794
|
if (claudeCodePath) {
|
|
783
795
|
options.pathToClaudeCodeExecutable = claudeCodePath;
|
|
@@ -808,6 +820,7 @@ function buildOptions(context, abortController) {
|
|
|
808
820
|
options.permissionMode = "bypassPermissions";
|
|
809
821
|
options.allowDangerouslySkipPermissions = true;
|
|
810
822
|
}
|
|
823
|
+
options.settingSources = ["project"];
|
|
811
824
|
logger5.info("SDK Options built", {
|
|
812
825
|
model: options.model,
|
|
813
826
|
systemPrompt: options.systemPrompt,
|
|
@@ -2722,4 +2735,4 @@ export {
|
|
|
2722
2735
|
RuntimeEnvironment
|
|
2723
2736
|
};
|
|
2724
2737
|
|
|
2725
|
-
//# debugId=
|
|
2738
|
+
//# debugId=D9D9B299D6CF92E064756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"/**\n * ClaudeEffector - Listens to SystemBus and sends to Claude SDK\n *\n * Subscribes to user_message events on SystemBus and sends to Claude SDK.\n * Manages request timeout using RxJS.\n */\n\nimport type { Effector, SystemBusConsumer } from \"@agentxjs/types/runtime/internal\";\nimport type { UserMessage } from \"@agentxjs/types/agent\";\nimport type { EventContext } from \"@agentxjs/types/runtime\";\nimport type { SDKMessage, SDKPartialAssistantMessage } from \"@anthropic-ai/claude-agent-sdk\";\nimport { Subject, Subscription, TimeoutError } from \"rxjs\";\nimport { timeout } from \"rxjs/operators\";\nimport { createLogger } from \"@agentxjs/common\";\nimport { buildSDKUserMessage } from \"./helpers\";\nimport type { ClaudeReceptor, ReceptorMeta } from \"./ClaudeReceptor\";\nimport { SDKQueryLifecycle } from \"./SDKQueryLifecycle\";\n\nconst logger = createLogger(\"environment/ClaudeEffector\");\n\n/** Default timeout in milliseconds (10 minutes) */\nconst DEFAULT_TIMEOUT = 600_000;\n\n/**\n * MCP Server Config (SDK Compatible)\n * Re-exported from types for convenience.\n */\nexport type { McpServerConfig } from \"@agentxjs/types/runtime\";\n\n/**\n * ClaudeEffector configuration\n */\nexport interface ClaudeEffectorConfig {\n /** Agent ID for filtering events (required) */\n agentId: string;\n apiKey: string;\n baseUrl?: string;\n model?: string;\n systemPrompt?: string;\n cwd?: string;\n sessionId?: string;\n resumeSessionId?: string;\n onSessionIdCaptured?: (sessionId: string) => void;\n /** Request timeout in milliseconds (default: 30000) */\n timeout?: number;\n /** MCP servers configuration */\n mcpServers?: Record<string, import(\"@agentxjs/types/runtime\").McpServerConfig>;\n}\n\n/**\n * ClaudeEffector - Subscribes to SystemBus and sends to Claude SDK\n *\n * Uses SystemBusConsumer (read-only) because Effector only subscribes to events.\n * Delegates SDK lifecycle management to SDKQueryLifecycle.\n */\nexport class ClaudeEffector implements Effector {\n private readonly config: ClaudeEffectorConfig;\n private readonly receptor: ClaudeReceptor;\n private readonly queryLifecycle: SDKQueryLifecycle;\n\n private currentMeta: ReceptorMeta | null = null;\n private wasInterrupted = false;\n\n /** Subject for tracking pending request - completes when result received */\n private pendingRequest$: Subject<void> | null = null;\n /** Subscription for timeout handling */\n private pendingSubscription: Subscription | null = null;\n\n constructor(config: ClaudeEffectorConfig, receptor: ClaudeReceptor) {\n this.config = config;\n this.receptor = receptor;\n\n // Create SDK lifecycle with callbacks\n this.queryLifecycle = new SDKQueryLifecycle(\n {\n apiKey: config.apiKey,\n baseUrl: config.baseUrl,\n model: config.model,\n systemPrompt: config.systemPrompt,\n cwd: config.cwd,\n resumeSessionId: config.resumeSessionId,\n mcpServers: config.mcpServers,\n },\n {\n onStreamEvent: (msg) => this.handleStreamEvent(msg),\n onUserMessage: (msg) => this.handleUserMessage(msg),\n onResult: (msg) => this.handleResult(msg),\n onSessionIdCaptured: config.onSessionIdCaptured,\n onError: (error) => this.handleError(error),\n onListenerExit: (reason) => this.handleListenerExit(reason),\n }\n );\n }\n\n /**\n * Warmup the SDK (pre-initialize before first message)\n *\n * Call this early to reduce latency for the first user message.\n * Safe to call multiple times.\n */\n async warmup(): Promise<void> {\n await this.queryLifecycle.warmup();\n }\n\n /**\n * Connect to SystemBus consumer to subscribe to events\n */\n connect(consumer: SystemBusConsumer): void {\n logger.debug(\"ClaudeEffector connected to SystemBusConsumer\", {\n agentId: this.config.agentId,\n });\n\n // Listen for user_message events\n consumer.on(\"user_message\", async (event) => {\n const typedEvent = event as {\n type: string;\n data: UserMessage;\n requestId?: string;\n context?: EventContext;\n };\n\n // Filter by agentId\n if (typedEvent.context?.agentId !== this.config.agentId) {\n return;\n }\n\n const message = typedEvent.data;\n const meta: ReceptorMeta = {\n requestId: typedEvent.requestId || \"\",\n context: typedEvent.context || {},\n };\n await this.send(message, meta);\n });\n\n // Listen for interrupt events\n consumer.on(\"interrupt\", (event) => {\n const typedEvent = event as {\n type: string;\n requestId?: string;\n context?: EventContext;\n };\n\n // Filter by agentId\n if (typedEvent.context?.agentId !== this.config.agentId) {\n return;\n }\n\n const meta: ReceptorMeta = {\n requestId: typedEvent.requestId || \"\",\n context: typedEvent.context || {},\n };\n this.interrupt(meta);\n });\n }\n\n /**\n * Send a message to Claude SDK\n *\n * Uses RxJS to manage request-response timeout correlation.\n */\n private async send(message: UserMessage, meta: ReceptorMeta): Promise<void> {\n this.wasInterrupted = false;\n this.currentMeta = meta;\n\n // Clean up previous pending request\n this.cleanupPendingRequest();\n\n const timeoutMs = this.config.timeout ?? DEFAULT_TIMEOUT;\n\n try {\n // Initialize SDK if needed\n await this.queryLifecycle.initialize();\n\n const sessionId = this.config.sessionId || \"default\";\n const sdkUserMessage = buildSDKUserMessage(message, sessionId);\n\n logger.debug(\"Sending message to Claude\", {\n content:\n typeof message.content === \"string\" ? message.content.substring(0, 80) : \"[structured]\",\n timeout: timeoutMs,\n requestId: meta.requestId,\n });\n\n // Create pending request with timeout\n this.pendingRequest$ = new Subject<void>();\n this.pendingSubscription = this.pendingRequest$.pipe(timeout(timeoutMs)).subscribe({\n complete: () => {\n logger.debug(\"Request completed within timeout\", { requestId: meta.requestId });\n },\n error: (err) => {\n if (err instanceof TimeoutError) {\n logger.warn(\"Request timeout\", { timeout: timeoutMs, requestId: meta.requestId });\n this.handleTimeout(meta);\n }\n },\n });\n\n // Send message via lifecycle\n this.queryLifecycle.send(sdkUserMessage);\n } catch (error) {\n this.cleanupPendingRequest();\n throw error;\n }\n }\n\n /**\n * Interrupt current operation\n */\n private interrupt(meta?: ReceptorMeta): void {\n logger.debug(\"Interrupting Claude query\", { requestId: meta?.requestId });\n this.wasInterrupted = true;\n if (meta) {\n this.currentMeta = meta;\n }\n this.queryLifecycle.interrupt();\n }\n\n /**\n * Handle stream_event from SDK\n */\n private handleStreamEvent(msg: SDKMessage): void {\n if (this.currentMeta) {\n this.receptor.feed(msg as SDKPartialAssistantMessage, this.currentMeta);\n }\n }\n\n /**\n * Handle user message from SDK (contains tool_result)\n */\n private handleUserMessage(msg: SDKMessage): void {\n if (this.currentMeta) {\n this.receptor.feedUserMessage(msg as { message?: { content?: unknown[] } }, this.currentMeta);\n }\n }\n\n /**\n * Handle result from SDK\n */\n private handleResult(msg: SDKMessage): void {\n // Complete pending request - cancels timeout\n this.completePendingRequest();\n\n const resultMsg = msg as {\n subtype: string;\n is_error?: boolean;\n errors?: string[];\n error?: { message?: string; type?: string };\n result?: string;\n };\n\n logger.info(\"SDK result received\", {\n subtype: resultMsg.subtype,\n isError: resultMsg.is_error,\n wasInterrupted: this.wasInterrupted,\n });\n\n // Handle user interrupt\n if (resultMsg.subtype === \"error_during_execution\" && this.wasInterrupted) {\n this.receptor.emitInterrupted(\"user_interrupt\", this.currentMeta || undefined);\n return;\n }\n\n // Handle SDK errors\n if (resultMsg.is_error && this.currentMeta) {\n const errorMessage =\n resultMsg.error?.message ||\n resultMsg.errors?.join(\", \") ||\n (typeof resultMsg.result === \"string\" ? resultMsg.result : null) ||\n \"An error occurred\";\n const errorCode = resultMsg.error?.type || resultMsg.subtype || \"api_error\";\n this.receptor.emitError(errorMessage, errorCode, this.currentMeta);\n }\n }\n\n /**\n * Handle error from SDK lifecycle\n */\n private handleError(error: Error): void {\n this.cleanupPendingRequest();\n if (this.currentMeta) {\n this.receptor.emitError(error.message, \"runtime_error\", this.currentMeta);\n }\n }\n\n /**\n * Handle listener exit from SDK lifecycle\n */\n private handleListenerExit(reason: \"normal\" | \"abort\" | \"error\"): void {\n logger.debug(\"SDK listener exited\", { reason });\n this.cleanupPendingRequest();\n }\n\n /**\n * Handle request timeout\n */\n private handleTimeout(meta: ReceptorMeta): void {\n this.wasInterrupted = true;\n this.queryLifecycle.interrupt();\n this.receptor.emitError(\n `Request timeout after ${this.config.timeout ?? DEFAULT_TIMEOUT}ms`,\n \"timeout\",\n meta\n );\n }\n\n /**\n * Clean up pending request subscription\n */\n private cleanupPendingRequest(): void {\n if (this.pendingSubscription) {\n this.pendingSubscription.unsubscribe();\n this.pendingSubscription = null;\n }\n if (this.pendingRequest$) {\n this.pendingRequest$.complete();\n this.pendingRequest$ = null;\n }\n }\n\n /**\n * Complete pending request (cancels timeout)\n */\n private completePendingRequest(): void {\n if (this.pendingRequest$) {\n this.pendingRequest$.complete();\n this.pendingRequest$ = null;\n }\n if (this.pendingSubscription) {\n this.pendingSubscription.unsubscribe();\n this.pendingSubscription = null;\n }\n }\n\n /**\n * Dispose and cleanup all resources\n */\n dispose(): void {\n logger.debug(\"Disposing ClaudeEffector\", { agentId: this.config.agentId });\n this.cleanupPendingRequest();\n this.queryLifecycle.dispose();\n logger.debug(\"ClaudeEffector disposed\", { agentId: this.config.agentId });\n }\n}\n",
|
|
11
11
|
"/**\n * Helper functions for Claude Environment\n */\n\nimport type {\n UserMessage,\n ContentPart,\n TextPart,\n ImagePart,\n FilePart,\n} from \"@agentxjs/types/agent\";\nimport type { SDKUserMessage } from \"@anthropic-ai/claude-agent-sdk\";\n\n/**\n * Claude API content block types\n */\ntype ClaudeTextBlock = {\n type: \"text\";\n text: string;\n};\n\ntype ClaudeImageBlock = {\n type: \"image\";\n source: {\n type: \"base64\";\n media_type: string;\n data: string;\n };\n};\n\ntype ClaudeDocumentBlock = {\n type: \"document\";\n source: {\n type: \"base64\";\n media_type: string;\n data: string;\n };\n};\n\ntype ClaudeContentBlock = ClaudeTextBlock | ClaudeImageBlock | ClaudeDocumentBlock;\n\n/**\n * Type guards for ContentPart discrimination\n */\nfunction isTextPart(part: ContentPart): part is TextPart {\n return part.type === \"text\";\n}\n\nfunction isImagePart(part: ContentPart): part is ImagePart {\n return part.type === \"image\";\n}\n\nfunction isFilePart(part: ContentPart): part is FilePart {\n return part.type === \"file\";\n}\n\n/**\n * Build SDK content from UserMessage\n *\n * Converts AgentX ContentPart[] to Claude API format:\n * - Pure text messages return as string (for efficiency)\n * - Mixed content returns as ClaudeContentBlock[]\n */\nexport function buildSDKContent(message: UserMessage): string | ClaudeContentBlock[] {\n // String content - return as-is\n if (typeof message.content === \"string\") {\n return message.content;\n }\n\n // Not an array - return empty string\n if (!Array.isArray(message.content)) {\n return \"\";\n }\n\n const parts = message.content as ContentPart[];\n\n // Check if we have only text parts\n const hasNonTextParts = parts.some((p) => !isTextPart(p));\n\n if (!hasNonTextParts) {\n // Pure text - return as string for efficiency\n return parts\n .filter(isTextPart)\n .map((p) => p.text)\n .join(\"\\n\");\n }\n\n // Mixed content - return as content blocks\n return parts.map((part): ClaudeContentBlock => {\n if (isTextPart(part)) {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n\n if (isImagePart(part)) {\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: part.mediaType,\n data: part.data,\n },\n };\n }\n\n if (isFilePart(part)) {\n // PDF and other files use \"document\" type in Claude API\n return {\n type: \"document\",\n source: {\n type: \"base64\",\n media_type: part.mediaType,\n data: part.data,\n },\n };\n }\n\n // Unknown type - return empty text block\n return { type: \"text\", text: \"\" };\n });\n}\n\n/**\n * Build SDK UserMessage from AgentX UserMessage\n */\nexport function buildSDKUserMessage(message: UserMessage, sessionId: string): SDKUserMessage {\n return {\n type: \"user\",\n message: { role: \"user\", content: buildSDKContent(message) },\n parent_tool_use_id: null,\n session_id: sessionId,\n };\n}\n",
|
|
12
12
|
"/**\n * SDKQueryLifecycle - Manages Claude SDK query lifecycle\n *\n * This class encapsulates the low-level SDK interaction:\n * - Query initialization and lazy loading\n * - Background listener for SDK responses\n * - Interrupt and cleanup operations\n *\n * It emits events via callbacks, allowing the parent Effector\n * to handle business logic like timeout management.\n */\n\nimport {\n query,\n type SDKUserMessage,\n type Query,\n type SDKMessage,\n} from \"@anthropic-ai/claude-agent-sdk\";\nimport { Subject } from \"rxjs\";\nimport { createLogger } from \"@agentxjs/common\";\nimport { buildOptions, type EnvironmentContext } from \"./buildOptions\";\nimport { observableToAsyncIterable } from \"./observableToAsyncIterable\";\n\nconst logger = createLogger(\"environment/SDKQueryLifecycle\");\n\n/**\n * Callbacks for SDK events\n */\nexport interface SDKQueryCallbacks {\n /** Called when a stream_event is received */\n onStreamEvent?: (msg: SDKMessage) => void;\n /** Called when a user message is received (contains tool_result) */\n onUserMessage?: (msg: SDKMessage) => void;\n /** Called when a result is received */\n onResult?: (msg: SDKMessage) => void;\n /** Called when session ID is captured */\n onSessionIdCaptured?: (sessionId: string) => void;\n /** Called when an error occurs */\n onError?: (error: Error) => void;\n /** Called when the listener exits (normally or due to error) */\n onListenerExit?: (reason: \"normal\" | \"abort\" | \"error\") => void;\n}\n\n/**\n * Configuration for SDKQueryLifecycle\n */\nexport interface SDKQueryConfig {\n apiKey: string;\n baseUrl?: string;\n model?: string;\n systemPrompt?: string;\n cwd?: string;\n resumeSessionId?: string;\n mcpServers?: Record<string, import(\"@agentxjs/types/runtime\").McpServerConfig>;\n}\n\n/**\n * SDKQueryLifecycle - Manages the lifecycle of a Claude SDK query\n *\n * Responsibilities:\n * - Lazy initialization of SDK query\n * - Background listener for SDK responses\n * - Interrupt and cleanup operations\n * - Resource management (subprocess termination)\n */\nexport class SDKQueryLifecycle {\n private readonly config: SDKQueryConfig;\n private readonly callbacks: SDKQueryCallbacks;\n\n private promptSubject = new Subject<SDKUserMessage>();\n private claudeQuery: Query | null = null;\n private isInitialized = false;\n private abortController: AbortController | null = null;\n private capturedSessionId: string | null = null;\n\n constructor(config: SDKQueryConfig, callbacks: SDKQueryCallbacks = {}) {\n this.config = config;\n this.callbacks = callbacks;\n }\n\n /**\n * Check if the query is initialized\n */\n get initialized(): boolean {\n return this.isInitialized;\n }\n\n /**\n * Warmup the SDK query (pre-initialize)\n *\n * Call this early to start the SDK subprocess before the first message.\n * This reduces latency for the first user message.\n *\n * @returns Promise that resolves when SDK is ready\n */\n async warmup(): Promise<void> {\n logger.info(\"Warming up SDKQueryLifecycle\");\n await this.initialize();\n logger.info(\"SDKQueryLifecycle warmup complete\");\n }\n\n /**\n * Initialize the SDK query (lazy initialization)\n *\n * Creates the query and starts the background listener.\n * Safe to call multiple times - will only initialize once.\n */\n async initialize(): Promise<void> {\n if (this.isInitialized) return;\n\n logger.info(\"Initializing SDKQueryLifecycle\");\n\n this.abortController = new AbortController();\n\n const context: EnvironmentContext = {\n apiKey: this.config.apiKey,\n baseUrl: this.config.baseUrl,\n model: this.config.model,\n systemPrompt: this.config.systemPrompt,\n cwd: this.config.cwd,\n resume: this.config.resumeSessionId,\n mcpServers: this.config.mcpServers,\n };\n\n const sdkOptions = buildOptions(context, this.abortController);\n const promptStream = observableToAsyncIterable<SDKUserMessage>(this.promptSubject);\n\n this.claudeQuery = query({\n prompt: promptStream,\n options: sdkOptions,\n });\n\n this.isInitialized = true;\n\n // Start background listener\n this.startBackgroundListener();\n\n logger.info(\"SDKQueryLifecycle initialized\");\n }\n\n /**\n * Send a message to the SDK\n *\n * Must call initialize() first.\n */\n send(message: SDKUserMessage): void {\n if (!this.isInitialized) {\n throw new Error(\"SDKQueryLifecycle not initialized. Call initialize() first.\");\n }\n this.promptSubject.next(message);\n }\n\n /**\n * Interrupt the current SDK operation\n */\n interrupt(): void {\n if (this.claudeQuery) {\n logger.debug(\"Interrupting SDK query\");\n this.claudeQuery.interrupt().catch((err) => {\n logger.debug(\"SDK interrupt() error (may be expected)\", { error: err });\n });\n }\n }\n\n /**\n * Reset state and cleanup resources\n *\n * This properly terminates the Claude subprocess by:\n * 1. Completing the prompt stream (signals end of input)\n * 2. Interrupting any ongoing operation\n * 3. Resetting state for potential reuse\n */\n reset(): void {\n logger.debug(\"Resetting SDKQueryLifecycle\");\n\n // 1. Complete the prompt stream first (signals end of input to subprocess)\n this.promptSubject.complete();\n\n // 2. Interrupt any ongoing operation\n if (this.claudeQuery) {\n this.claudeQuery.interrupt().catch((err) => {\n logger.debug(\"SDK interrupt() during reset (may be expected)\", { error: err });\n });\n }\n\n // 3. Reset state for potential reuse\n this.isInitialized = false;\n this.claudeQuery = null;\n this.abortController = null;\n this.promptSubject = new Subject<SDKUserMessage>();\n }\n\n /**\n * Dispose and cleanup all resources\n *\n * Should be called when the lifecycle is no longer needed.\n */\n dispose(): void {\n logger.debug(\"Disposing SDKQueryLifecycle\");\n\n // Interrupt first\n if (this.claudeQuery) {\n this.claudeQuery.interrupt().catch((err) => {\n logger.debug(\"SDK interrupt() during dispose (may be expected)\", { error: err });\n });\n }\n\n // Abort controller\n if (this.abortController) {\n this.abortController.abort();\n }\n\n // Reset state\n this.reset();\n\n logger.debug(\"SDKQueryLifecycle disposed\");\n }\n\n /**\n * Start the background listener for SDK responses\n */\n private startBackgroundListener(): void {\n (async () => {\n try {\n for await (const sdkMsg of this.claudeQuery!) {\n logger.debug(\"SDK message received\", {\n type: sdkMsg.type,\n subtype: (sdkMsg as { subtype?: string }).subtype,\n sessionId: sdkMsg.session_id,\n });\n\n // Capture session ID (only once, on first occurrence)\n if (\n sdkMsg.session_id &&\n this.callbacks.onSessionIdCaptured &&\n this.capturedSessionId !== sdkMsg.session_id\n ) {\n this.capturedSessionId = sdkMsg.session_id;\n this.callbacks.onSessionIdCaptured(sdkMsg.session_id);\n }\n\n // Forward stream_event\n if (sdkMsg.type === \"stream_event\") {\n this.callbacks.onStreamEvent?.(sdkMsg);\n }\n\n // Forward user message (contains tool_result)\n if (sdkMsg.type === \"user\") {\n this.callbacks.onUserMessage?.(sdkMsg);\n }\n\n // Handle result\n if (sdkMsg.type === \"result\") {\n logger.info(\"SDK result received\", {\n subtype: (sdkMsg as { subtype?: string }).subtype,\n is_error: (sdkMsg as { is_error?: boolean }).is_error,\n });\n this.callbacks.onResult?.(sdkMsg);\n }\n }\n\n // Normal exit\n this.callbacks.onListenerExit?.(\"normal\");\n } catch (error) {\n if (this.isAbortError(error)) {\n logger.debug(\"Background listener aborted (expected during interrupt)\");\n this.callbacks.onListenerExit?.(\"abort\");\n } else {\n logger.error(\"Background listener error\", { error });\n this.callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));\n this.callbacks.onListenerExit?.(\"error\");\n }\n\n // Always reset state on any error\n this.reset();\n }\n })();\n }\n\n /**\n * Check if an error is an abort error\n */\n private isAbortError(error: unknown): boolean {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") return true;\n if (error.message.includes(\"aborted\")) return true;\n if (error.message.includes(\"abort\")) return true;\n }\n return false;\n }\n}\n",
|
|
13
|
-
"/**\n * Build Claude SDK Options from Environment Config\n *\n * Converts environment configuration to Claude SDK Options format.\n */\n\nimport type { Options, McpServerConfig } from \"@anthropic-ai/claude-agent-sdk\";\nimport { createLogger } from \"@agentxjs/common\";\nimport { RuntimeEnvironment } from \"../RuntimeEnvironment\";\n\nconst logger = createLogger(\"environment/buildOptions\");\n\n/**\n * Environment context for Claude SDK\n */\nexport interface EnvironmentContext {\n apiKey: string;\n baseUrl?: string;\n model?: string;\n systemPrompt?: string;\n cwd?: string;\n permissionMode?: \"default\" | \"acceptEdits\" | \"bypassPermissions\" | \"plan\";\n resume?: string;\n maxTurns?: number;\n maxThinkingTokens?: number;\n /** MCP servers configuration */\n mcpServers?: Record<string, McpServerConfig>;\n}\n\n/**\n * Build Claude SDK options from environment context\n */\nexport function buildOptions(\n context: EnvironmentContext,\n abortController: AbortController\n): Options {\n const options: Options = {\n abortController,\n includePartialMessages: true,\n };\n\n // Working directory\n if (context.cwd) {\n options.cwd = context.cwd;\n }\n\n // Environment variables - must include PATH for subprocess to find node\n const env: Record<string, string> = {};\n // Copy all process.env values, filtering out undefined\n for (const [key, value] of Object.entries(process.env)) {\n if (value !== undefined) {\n env[key] = value;\n }\n }\n // Ensure PATH is set (critical for subprocess to find node)\n if (!env.PATH && process.env.PATH) {\n env.PATH = process.env.PATH;\n }\n\n // Mark process as AgentX environment for identification and debugging\n env.AGENTX_ENVIRONMENT = \"true\";\n\n if (context.baseUrl) {\n env.ANTHROPIC_BASE_URL = context.baseUrl;\n }\n if (context.apiKey) {\n env.ANTHROPIC_API_KEY = context.apiKey;\n }\n options.env = env;\n\n logger.info(\"buildOptions called\", {\n hasPath: !!env.PATH,\n pathLength: env.PATH?.length,\n hasApiKey: !!env.ANTHROPIC_API_KEY,\n hasBaseUrl: !!env.ANTHROPIC_BASE_URL,\n baseUrl: env.ANTHROPIC_BASE_URL,\n model: context.model,\n permissionMode: context.permissionMode || \"bypassPermissions\",\n cwd: context.cwd,\n systemPrompt: context.systemPrompt,\n mcpServers: context.mcpServers ? Object.keys(context.mcpServers) : [],\n });\n\n // Capture stderr from SDK subprocess for debugging\n options.stderr = (data: string) => {\n logger.info(\"SDK stderr\", { data: data.trim() });\n };\n\n // Set Claude Code executable path from global environment\n const claudeCodePath = RuntimeEnvironment.getClaudeCodePath();\n if (claudeCodePath) {\n options.pathToClaudeCodeExecutable = claudeCodePath;\n logger.info(\"Claude Code path configured\", { path: claudeCodePath });\n }\n\n // Model configuration\n if (context.model) options.model = context.model;\n if (context.systemPrompt) options.systemPrompt = context.systemPrompt;\n if (context.maxTurns) options.maxTurns = context.maxTurns;\n if (context.maxThinkingTokens) options.maxThinkingTokens = context.maxThinkingTokens;\n\n // Session control\n if (context.resume) options.resume = context.resume;\n\n // MCP servers\n if (context.mcpServers) {\n options.mcpServers = context.mcpServers;\n logger.info(\"MCP servers configured\", {\n serverNames: Object.keys(context.mcpServers),\n });\n }\n\n // Permission system\n if (context.permissionMode) {\n options.permissionMode = context.permissionMode;\n // Required when using bypassPermissions mode\n if (context.permissionMode === \"bypassPermissions\") {\n options.allowDangerouslySkipPermissions = true;\n }\n } else {\n // Default to bypass permissions (agent runs autonomously)\n options.permissionMode = \"bypassPermissions\";\n options.allowDangerouslySkipPermissions = true;\n }\n\n // Log final options (excluding functions and sensitive data)\n logger.info(\"SDK Options built\", {\n model: options.model,\n systemPrompt: options.systemPrompt,\n permissionMode: options.permissionMode,\n cwd: options.cwd,\n resume: options.resume,\n maxTurns: options.maxTurns,\n mcpServers: options.mcpServers ? Object.keys(options.mcpServers) : [],\n });\n\n return options;\n}\n",
|
|
13
|
+
"/**\n * Build Claude SDK Options from Environment Config\n *\n * Converts environment configuration to Claude SDK Options format.\n */\n\nimport { spawn } from \"child_process\";\nimport type { Options, McpServerConfig } from \"@anthropic-ai/claude-agent-sdk\";\nimport { createLogger } from \"@agentxjs/common\";\nimport { RuntimeEnvironment } from \"../RuntimeEnvironment\";\n\nconst logger = createLogger(\"environment/buildOptions\");\n\n/**\n * Environment context for Claude SDK\n */\nexport interface EnvironmentContext {\n apiKey: string;\n baseUrl?: string;\n model?: string;\n systemPrompt?: string;\n cwd?: string;\n permissionMode?: \"default\" | \"acceptEdits\" | \"bypassPermissions\" | \"plan\";\n resume?: string;\n maxTurns?: number;\n maxThinkingTokens?: number;\n /** MCP servers configuration */\n mcpServers?: Record<string, McpServerConfig>;\n}\n\n/**\n * Build Claude SDK options from environment context\n */\nexport function buildOptions(\n context: EnvironmentContext,\n abortController: AbortController\n): Options {\n const options: Options = {\n abortController,\n includePartialMessages: true,\n };\n\n // Working directory\n if (context.cwd) {\n options.cwd = context.cwd;\n }\n\n // Environment variables - must include PATH for subprocess to find node\n const env: Record<string, string> = {};\n // Copy all process.env values, filtering out undefined\n for (const [key, value] of Object.entries(process.env)) {\n if (value !== undefined) {\n env[key] = value;\n }\n }\n // Ensure PATH is set (critical for subprocess to find node)\n if (!env.PATH && process.env.PATH) {\n env.PATH = process.env.PATH;\n }\n\n // Mark process as AgentX environment for identification and debugging\n env.AGENTX_ENVIRONMENT = \"true\";\n\n if (context.baseUrl) {\n env.ANTHROPIC_BASE_URL = context.baseUrl;\n }\n if (context.apiKey) {\n env.ANTHROPIC_API_KEY = context.apiKey;\n }\n options.env = env;\n\n logger.info(\"buildOptions called\", {\n hasPath: !!env.PATH,\n pathLength: env.PATH?.length,\n hasApiKey: !!env.ANTHROPIC_API_KEY,\n hasBaseUrl: !!env.ANTHROPIC_BASE_URL,\n baseUrl: env.ANTHROPIC_BASE_URL,\n model: context.model,\n permissionMode: context.permissionMode || \"bypassPermissions\",\n cwd: context.cwd,\n systemPrompt: context.systemPrompt,\n mcpServers: context.mcpServers ? Object.keys(context.mcpServers) : [],\n });\n\n // Capture stderr from SDK subprocess for debugging\n options.stderr = (data: string) => {\n logger.info(\"SDK stderr\", { data: data.trim() });\n };\n\n // Use process.execPath (Electron's built-in Node.js) to spawn Claude Code.\n // In packaged Electron apps, 'node' is often not in the system PATH on customer\n // machines. process.execPath is always available and with ELECTRON_RUN_AS_NODE=1\n // the Electron binary runs as a standard Node.js runtime.\n options.spawnClaudeCodeProcess = (spawnOptions) => {\n const childProcess = spawn(process.execPath, spawnOptions.args, {\n cwd: spawnOptions.cwd,\n env: {\n ...spawnOptions.env,\n ELECTRON_RUN_AS_NODE: \"1\",\n },\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n return childProcess as any;\n };\n\n // Set Claude Code executable path from global environment\n const claudeCodePath = RuntimeEnvironment.getClaudeCodePath();\n if (claudeCodePath) {\n options.pathToClaudeCodeExecutable = claudeCodePath;\n logger.info(\"Claude Code path configured\", { path: claudeCodePath });\n }\n\n // Model configuration\n if (context.model) options.model = context.model;\n if (context.systemPrompt) options.systemPrompt = context.systemPrompt;\n if (context.maxTurns) options.maxTurns = context.maxTurns;\n if (context.maxThinkingTokens) options.maxThinkingTokens = context.maxThinkingTokens;\n\n // Session control\n if (context.resume) options.resume = context.resume;\n\n // MCP servers\n if (context.mcpServers) {\n options.mcpServers = context.mcpServers;\n logger.info(\"MCP servers configured\", {\n serverNames: Object.keys(context.mcpServers),\n });\n }\n\n // Permission system\n if (context.permissionMode) {\n options.permissionMode = context.permissionMode;\n // Required when using bypassPermissions mode\n if (context.permissionMode === \"bypassPermissions\") {\n options.allowDangerouslySkipPermissions = true;\n }\n } else {\n // Default to bypass permissions (agent runs autonomously)\n options.permissionMode = \"bypassPermissions\";\n options.allowDangerouslySkipPermissions = true;\n }\n\n // Enable project settings file (.claude/settings.json) in workdir.\n // 'project' reads {workdir}/.claude/settings.json and scans {workdir}/.claude/skills/.\n // 'user' is intentionally excluded to avoid loading ~/.claude/settings.json\n // which may contain user-specific permissions/config that conflicts with PromptX.\n options.settingSources = [\"project\"];\n\n // Log final options (excluding functions and sensitive data)\n logger.info(\"SDK Options built\", {\n model: options.model,\n systemPrompt: options.systemPrompt,\n permissionMode: options.permissionMode,\n cwd: options.cwd,\n resume: options.resume,\n maxTurns: options.maxTurns,\n mcpServers: options.mcpServers ? Object.keys(options.mcpServers) : [],\n });\n\n return options;\n}\n",
|
|
14
14
|
"/**\n * RuntimeEnvironment - Global singleton for runtime configuration\n *\n * Holds global runtime settings that don't need to be passed through layers.\n * This is an internal implementation detail, not exposed to users.\n *\n * Users configure via LocalConfig.environment, which gets set into this singleton.\n */\n\nimport type { RuntimeEnvironmentConfig } from \"@agentxjs/types/runtime/internal\";\n\nexport class RuntimeEnvironment {\n private static config: RuntimeEnvironmentConfig = {};\n\n private constructor() {\n // Prevent instantiation\n }\n\n /**\n * Set Claude Code executable path\n * Called by createLocalAgentX when environment.claudeCodePath is provided\n */\n static setClaudeCodePath(path: string): void {\n this.config.claudeCodePath = path;\n }\n\n /**\n * Get Claude Code executable path\n * Called by buildOptions when creating SDK options\n */\n static getClaudeCodePath(): string | undefined {\n return this.config.claudeCodePath;\n }\n\n /**\n * Reset configuration (for testing)\n */\n static reset(): void {\n this.config = {};\n }\n}\n",
|
|
15
15
|
"/**\n * Convert RxJS Observable to AsyncIterable\n *\n * Utility for converting Observable streams to AsyncIterable\n * for use with SDKs that accept AsyncIterable input.\n */\n\nimport type { Observable } from \"rxjs\";\n\nexport async function* observableToAsyncIterable<T>(observable: Observable<T>): AsyncIterable<T> {\n const queue: T[] = [];\n let resolve: ((value: IteratorResult<T>) => void) | null = null;\n let reject: ((error: Error) => void) | null = null;\n let done = false;\n let error: Error | null = null;\n\n const subscription = observable.subscribe({\n next: (value) => {\n if (resolve) {\n resolve({ value, done: false });\n resolve = null;\n reject = null;\n } else {\n queue.push(value);\n }\n },\n error: (err) => {\n error = err instanceof Error ? err : new Error(String(err));\n done = true;\n if (reject) {\n reject(error);\n resolve = null;\n reject = null;\n }\n },\n complete: () => {\n done = true;\n if (resolve) {\n resolve({ value: undefined as any, done: true });\n resolve = null;\n reject = null;\n }\n },\n });\n\n try {\n while (!done || queue.length > 0) {\n if (error) {\n throw error;\n }\n\n if (queue.length > 0) {\n yield queue.shift()!;\n } else if (!done) {\n const result = await new Promise<{ value: T; done: false } | { done: true }>((res, rej) => {\n resolve = (iterResult) => {\n if (iterResult.done) {\n done = true;\n res({ done: true });\n } else {\n res({ value: iterResult.value, done: false });\n }\n };\n reject = rej;\n });\n\n if (!result.done) {\n yield result.value;\n }\n }\n }\n } finally {\n subscription.unsubscribe();\n }\n}\n",
|
|
16
16
|
"/**\n * ClaudeEnvironment - Claude SDK Environment (Receptor + Effector)\n *\n * Combines:\n * - ClaudeReceptor: Perceives Claude SDK responses → emits to SystemBus\n * - ClaudeEffector: Subscribes to SystemBus → sends to Claude SDK\n *\n * @see packages/types/src/ecosystem/Environment.ts\n */\n\nimport type { Environment, Receptor, Effector } from \"@agentxjs/types/runtime/internal\";\nimport { ClaudeReceptor } from \"./ClaudeReceptor\";\nimport { ClaudeEffector, type ClaudeEffectorConfig } from \"./ClaudeEffector\";\n\n/**\n * ClaudeEnvironment configuration\n */\nexport interface ClaudeEnvironmentConfig extends ClaudeEffectorConfig {}\n\n/**\n * ClaudeEnvironment - Claude SDK Environment\n */\nexport class ClaudeEnvironment implements Environment {\n readonly name = \"claude\";\n readonly receptor: Receptor;\n readonly effector: Effector;\n\n private readonly claudeEffector: ClaudeEffector;\n\n constructor(config: ClaudeEnvironmentConfig) {\n const claudeReceptor = new ClaudeReceptor();\n const claudeEffector = new ClaudeEffector(config, claudeReceptor);\n\n this.receptor = claudeReceptor;\n this.effector = claudeEffector;\n this.claudeEffector = claudeEffector;\n }\n\n /**\n * Warmup the environment (pre-initialize SDK)\n *\n * Call this early to reduce latency for the first user message.\n */\n async warmup(): Promise<void> {\n await this.claudeEffector.warmup();\n }\n\n /**\n * Dispose environment resources\n */\n dispose(): void {\n this.claudeEffector.dispose();\n }\n}\n",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"/**\n * createRuntime - Factory for creating Runtime instances\n */\n\nimport type { Persistence } from \"@agentxjs/types\";\nimport type { Runtime, LLMProvider, ClaudeLLMConfig } from \"@agentxjs/types/runtime\";\nimport type { EnvironmentFactory } from \"@agentxjs/types/runtime/internal\";\nimport type { AgentDefinition } from \"@agentxjs/types/agentx\";\nimport { RuntimeImpl } from \"./RuntimeImpl\";\n\n/**\n * Runtime configuration\n */\nexport interface RuntimeConfig {\n /**\n * Persistence layer for data storage\n */\n persistence: Persistence;\n\n /**\n * LLM provider for AI model access\n */\n llmProvider: LLMProvider<ClaudeLLMConfig>;\n\n /**\n * Base path for runtime data (containers, workdirs, etc.)\n * @example \"/Users/john/.agentx\"\n */\n basePath: string;\n\n /**\n * Optional environment factory for dependency injection (e.g., mock for testing)\n * If not provided, ClaudeEnvironment will be created by default\n */\n environmentFactory?: EnvironmentFactory;\n\n /**\n * Default agent definition\n * Used as base configuration when creating new images\n */\n defaultAgent?: AgentDefinition;\n}\n\n/**\n * Create a Runtime instance\n *\n * @param config - Runtime configuration\n * @returns Runtime instance\n */\nexport function createRuntime(config: RuntimeConfig): Runtime {\n return new RuntimeImpl(config);\n}\n",
|
|
26
26
|
"/**\n * @agentxjs/runtime - Runtime for AI Agents\n *\n * @example\n * ```typescript\n * import { createRuntime } from \"@agentxjs/runtime\";\n * import { createPersistence } from \"@agentxjs/persistence\";\n * import { sqliteDriver } from \"@agentxjs/persistence/sqlite\";\n *\n * const persistence = await createPersistence(sqliteDriver({ path: \"./data.db\" }));\n * const runtime = createRuntime({ persistence, ... });\n *\n * // Use request/response pattern\n * const res = await runtime.request(\"container_create_request\", {\n * containerId: \"my-container\"\n * });\n *\n * runtime.on(\"text_delta\", (e) => console.log(e.data.text));\n *\n * await runtime.dispose();\n * ```\n *\n * @packageDocumentation\n */\n\nexport { createRuntime, type RuntimeConfig } from \"./createRuntime\";\n\n// Runtime environment singleton (for advanced use cases like binary distribution)\nexport { RuntimeEnvironment } from \"./RuntimeEnvironment\";\n\n// Re-export from @agentxjs/persistence for convenience\nexport { createPersistence, memoryDriver } from \"@agentxjs/persistence\";\nexport type { PersistenceDriver } from \"@agentxjs/persistence\";\n"
|
|
27
27
|
],
|
|
28
|
-
"mappings": "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",
|
|
29
|
-
"debugId": "
|
|
28
|
+
"mappings": "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",
|
|
29
|
+
"debugId": "D9D9B299D6CF92E064756E2164756E21",
|
|
30
30
|
"names": []
|
|
31
31
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentxjs/runtime",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Runtime for AI Agents - Agent execution, SystemBus, Environment, and Repository",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=18.0.0"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"main": "./dist/index.js",
|
|
@@ -18,6 +18,17 @@
|
|
|
18
18
|
"files": [
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@agentxjs/agent": "1.9.0",
|
|
23
|
+
"@agentxjs/common": "1.9.0",
|
|
24
|
+
"@agentxjs/persistence": "1.9.0",
|
|
25
|
+
"@agentxjs/types": "1.9.0",
|
|
26
|
+
"@anthropic-ai/claude-agent-sdk": "^0.1.76",
|
|
27
|
+
"rxjs": "^7.8.2"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"bun-dts": "^0.1.70"
|
|
31
|
+
},
|
|
21
32
|
"scripts": {
|
|
22
33
|
"build": "bun run build.ts",
|
|
23
34
|
"clean": "rm -rf dist",
|
|
@@ -25,14 +36,5 @@
|
|
|
25
36
|
"typecheck": "tsc --noEmit",
|
|
26
37
|
"test": "bun test",
|
|
27
38
|
"test:watch": "bun test --watch"
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
"@agentxjs/agent": "^1.9.0",
|
|
31
|
-
"@agentxjs/common": "^1.9.0",
|
|
32
|
-
"@agentxjs/persistence": "^1.9.0",
|
|
33
|
-
"@agentxjs/types": "^1.9.0",
|
|
34
|
-
"@anthropic-ai/claude-agent-sdk": "^0.1.76",
|
|
35
|
-
"rxjs": "^7.8.2"
|
|
36
|
-
},
|
|
37
|
-
"devDependencies": {}
|
|
38
|
-
}
|
|
39
|
+
}
|
|
40
|
+
}
|