@miriad-systems/backend 0.1.2 → 0.1.4

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 (47) hide show
  1. package/dist/agent-manager.d.ts +20 -5
  2. package/dist/agent-manager.d.ts.map +1 -1
  3. package/dist/agent-manager.js +173 -17
  4. package/dist/agent-manager.js.map +1 -1
  5. package/dist/cli.js +21 -2
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config.d.ts +7 -3
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +35 -8
  10. package/dist/config.js.map +1 -1
  11. package/dist/engines/claude-engine.d.ts +12 -0
  12. package/dist/engines/claude-engine.d.ts.map +1 -0
  13. package/dist/engines/claude-engine.js +208 -0
  14. package/dist/engines/claude-engine.js.map +1 -0
  15. package/dist/engines/claude-sdk-engine.d.ts +19 -0
  16. package/dist/engines/claude-sdk-engine.d.ts.map +1 -0
  17. package/dist/engines/claude-sdk-engine.js +288 -0
  18. package/dist/engines/claude-sdk-engine.js.map +1 -0
  19. package/dist/engines/engine-manager.d.ts +31 -0
  20. package/dist/engines/engine-manager.d.ts.map +1 -0
  21. package/dist/engines/engine-manager.js +60 -0
  22. package/dist/engines/engine-manager.js.map +1 -0
  23. package/dist/engines/index.d.ts +15 -0
  24. package/dist/engines/index.d.ts.map +1 -0
  25. package/dist/engines/index.js +23 -0
  26. package/dist/engines/index.js.map +1 -0
  27. package/dist/engines/letta-engine.d.ts +32 -0
  28. package/dist/engines/letta-engine.d.ts.map +1 -0
  29. package/dist/engines/letta-engine.js +249 -0
  30. package/dist/engines/letta-engine.js.map +1 -0
  31. package/dist/engines/nuum-engine.d.ts +14 -0
  32. package/dist/engines/nuum-engine.d.ts.map +1 -0
  33. package/dist/engines/nuum-engine.js +273 -0
  34. package/dist/engines/nuum-engine.js.map +1 -0
  35. package/dist/engines/types.d.ts +74 -0
  36. package/dist/engines/types.d.ts.map +1 -0
  37. package/dist/engines/types.js +13 -0
  38. package/dist/engines/types.js.map +1 -0
  39. package/dist/runtime-client.d.ts +29 -0
  40. package/dist/runtime-client.d.ts.map +1 -1
  41. package/dist/runtime-client.js +71 -0
  42. package/dist/runtime-client.js.map +1 -1
  43. package/dist/tymbal-bridge.js +10 -10
  44. package/dist/tymbal-bridge.js.map +1 -1
  45. package/dist/types.d.ts +20 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +8 -8
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Agent Manager
3
3
  *
4
- * Manages multiple Claude SDK agent instances within a single runtime process.
4
+ * Manages multiple agent instances within a single runtime process.
5
+ * Supports multiple engines: Claude SDK (in-process) and Nuum (subprocess).
5
6
  * Handles agent lifecycle: activation, message routing, suspension.
6
7
  *
7
- * Key feature: Streaming input support - messages can be pushed to Claude
8
- * during execution using the SDK's AsyncIterable prompt feature.
8
+ * Key feature: Streaming input support - messages can be pushed to agents
9
+ * during execution for mid-turn injection.
9
10
  */
10
11
  import type { AgentState, ActivateAgentMessage, DeliverMessageMessage, SuspendAgentMessage, AgentFrameMessage } from './types.js';
11
12
  export interface AgentManagerConfig {
@@ -26,6 +27,7 @@ export declare function parseAgentId(agentId: string): {
26
27
  export declare class AgentManager {
27
28
  private readonly config;
28
29
  private readonly agents;
30
+ private readonly engineManager;
29
31
  constructor(config: AgentManagerConfig);
30
32
  /**
31
33
  * Get all agents.
@@ -36,9 +38,13 @@ export declare class AgentManager {
36
38
  */
37
39
  getAgent(agentId: string): AgentState | null;
38
40
  /**
39
- * Activate an agent (spawn Claude SDK).
41
+ * Activate an agent with the specified engine.
40
42
  */
41
43
  activate(message: ActivateAgentMessage): Promise<void>;
44
+ /**
45
+ * Consume output from an engine process and feed to TymbalBridge.
46
+ */
47
+ private consumeEngineOutput;
42
48
  /**
43
49
  * Format a message with sender header.
44
50
  */
@@ -49,7 +55,16 @@ export declare class AgentManager {
49
55
  */
50
56
  deliverMessage(message: DeliverMessageMessage): Promise<void>;
51
57
  /**
52
- * Suspend an agent (tear down SDK).
58
+ * Deliver message to Nuum engine (subprocess).
59
+ * Lazy spawns the engine on first message (when environment is known).
60
+ */
61
+ private deliverMessageToNuum;
62
+ /**
63
+ * Deliver message to Claude SDK engine (in-process).
64
+ */
65
+ private deliverMessageToClaudeSDK;
66
+ /**
67
+ * Suspend an agent (tear down engine).
53
68
  */
54
69
  suspend(message: SuspendAgentMessage): Promise<void>;
55
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EACV,UAAU,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AA6HpB,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,gDAAgD;IAChD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE/C,MAAM,EAAE,kBAAkB;IAItC;;OAEG;IACH,SAAS,IAAI,UAAU,EAAE;IAIzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAI5C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D5D;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DnE;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;YAIZ,cAAc;IAyH5B;;;OAGG;YACW,YAAY;CAmB3B"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EACV,UAAU,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AA+JpB,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,gDAAgD;IAChD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,MAAM,EAAE,kBAAkB;IAKtC;;OAEG;IACH,SAAS,IAAI,UAAU,EAAE;IAIzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAI5C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8E5D;;OAEG;YACW,mBAAmB;IAiBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDnE;;;OAGG;YACW,oBAAoB;IA0DlC;;OAEG;YACW,yBAAyB;IA6BvC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC1D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;YAIZ,cAAc;IA4I5B;;;OAGG;YACW,YAAY;CAmB3B"}
@@ -1,17 +1,42 @@
1
1
  /**
2
2
  * Agent Manager
3
3
  *
4
- * Manages multiple Claude SDK agent instances within a single runtime process.
4
+ * Manages multiple agent instances within a single runtime process.
5
+ * Supports multiple engines: Claude SDK (in-process) and Nuum (subprocess).
5
6
  * Handles agent lifecycle: activation, message routing, suspension.
6
7
  *
7
- * Key feature: Streaming input support - messages can be pushed to Claude
8
- * during execution using the SDK's AsyncIterable prompt feature.
8
+ * Key feature: Streaming input support - messages can be pushed to agents
9
+ * during execution for mid-turn injection.
9
10
  */
10
11
  import { existsSync, mkdirSync } from 'node:fs';
11
12
  import { join } from 'node:path';
12
13
  import { randomUUID } from 'node:crypto';
13
14
  import { query } from '@anthropic-ai/claude-agent-sdk';
14
15
  import { TymbalBridge } from './tymbal-bridge.js';
16
+ import { createEngineManager, } from './engines/index.js';
17
+ // =============================================================================
18
+ // URL Rewriting for Docker
19
+ // =============================================================================
20
+ /**
21
+ * Check if we're running inside a Docker container.
22
+ * When MIRIAD_CONFIG contains host.docker.internal, we know we're in Docker.
23
+ */
24
+ function isRunningInDocker() {
25
+ const config = process.env.MIRIAD_CONFIG;
26
+ if (!config)
27
+ return false;
28
+ return config.includes('host.docker.internal');
29
+ }
30
+ /**
31
+ * Rewrite localhost URLs to host.docker.internal when running in Docker.
32
+ * This is needed because localhost inside a container refers to the container,
33
+ * not the host machine where the backend is running.
34
+ */
35
+ function rewriteUrlForDocker(url) {
36
+ if (!isRunningInDocker())
37
+ return url;
38
+ return url.replace(/localhost/g, 'host.docker.internal');
39
+ }
15
40
  // =============================================================================
16
41
  // Message Stream Factory
17
42
  // =============================================================================
@@ -114,8 +139,10 @@ export function parseAgentId(agentId) {
114
139
  export class AgentManager {
115
140
  config;
116
141
  agents = new Map();
142
+ engineManager;
117
143
  constructor(config) {
118
144
  this.config = config;
145
+ this.engineManager = createEngineManager();
119
146
  }
120
147
  /**
121
148
  * Get all agents.
@@ -130,12 +157,14 @@ export class AgentManager {
130
157
  return this.agents.get(agentId)?.state ?? null;
131
158
  }
132
159
  /**
133
- * Activate an agent (spawn Claude SDK).
160
+ * Activate an agent with the specified engine.
134
161
  */
135
162
  async activate(message) {
136
- const { agentId, systemPrompt, mcpServers, workspacePath } = message;
163
+ const { agentId, systemPrompt, mcpServers, workspacePath, props } = message;
137
164
  const { callsign } = parseAgentId(agentId);
138
- console.log(`[AgentManager] Activating ${agentId}`);
165
+ // Extract engine from props, default to claude-sdk
166
+ const engineId = (props?.engine === 'nuum' ? 'nuum' : 'claude-sdk');
167
+ console.log(`[AgentManager] Activating ${agentId} with engine: ${engineId}`);
139
168
  console.log(`[AgentManager] mcpServers from message:`, JSON.stringify(mcpServers));
140
169
  // Check if already active
141
170
  const existing = this.agents.get(agentId);
@@ -166,6 +195,7 @@ export class AgentManager {
166
195
  workspacePath: resolvedPath,
167
196
  systemPrompt,
168
197
  mcpServers,
198
+ engine: engineId,
169
199
  activatedAt: new Date().toISOString(),
170
200
  lastActivity: new Date().toISOString(),
171
201
  },
@@ -173,17 +203,48 @@ export class AgentManager {
173
203
  messageQueue: [],
174
204
  isProcessing: false,
175
205
  messageStream: null,
206
+ engineProcess: null,
207
+ pendingEngineConfig: null,
176
208
  };
177
209
  console.log(`[AgentManager] Stored mcpServers in state:`, JSON.stringify(instance.state.mcpServers));
178
210
  this.agents.set(agentId, instance);
211
+ // For Nuum engine, defer spawn to first message (when environment is known)
212
+ if (engineId === 'nuum') {
213
+ // Store config for lazy spawn - environment will be added when first message arrives
214
+ instance.pendingEngineConfig = {
215
+ agentId,
216
+ workspacePath: resolvedPath,
217
+ systemPrompt,
218
+ mcpServers,
219
+ // environment intentionally omitted - will be set from message
220
+ };
221
+ console.log(`[AgentManager] @${callsign} Nuum engine spawn deferred to first message`);
222
+ }
179
223
  // Signal checkin (SDK ready)
180
- // In a real implementation, we'd wait for SDK initialization
181
- // For now, we mark as online immediately after activation setup
182
224
  instance.state.status = 'online';
183
225
  instance.state.lastActivity = new Date().toISOString();
184
226
  this.config.onCheckin(agentId);
185
227
  console.log(`[AgentManager] @${callsign} state: activating → online`);
186
228
  }
229
+ /**
230
+ * Consume output from an engine process and feed to TymbalBridge.
231
+ */
232
+ async consumeEngineOutput(instance) {
233
+ if (!instance.engineProcess)
234
+ return;
235
+ const { callsign } = parseAgentId(instance.state.agentId);
236
+ try {
237
+ for await (const message of instance.engineProcess.output) {
238
+ await instance.bridge.processSDKMessage(message);
239
+ }
240
+ await instance.bridge.finalize();
241
+ console.log(`[AgentManager] @${callsign} engine output stream ended`);
242
+ }
243
+ catch (error) {
244
+ console.error(`[AgentManager] @${callsign} engine output error:`, error);
245
+ this.config.onError?.(instance.state.agentId, error);
246
+ }
247
+ }
187
248
  /**
188
249
  * Format a message with sender header.
189
250
  */
@@ -195,7 +256,7 @@ export class AgentManager {
195
256
  * Auto-activates the agent if it doesn't exist (local runtime is always-on).
196
257
  */
197
258
  async deliverMessage(message) {
198
- const { agentId, systemPrompt, mcpServers } = message;
259
+ const { agentId, systemPrompt, mcpServers, environment, props } = message;
199
260
  let instance = this.agents.get(agentId);
200
261
  const { callsign } = parseAgentId(agentId);
201
262
  // Auto-activate agent if not found or offline (local runtime is always-on)
@@ -207,12 +268,16 @@ export class AgentManager {
207
268
  else {
208
269
  console.warn(`[AgentManager] WARNING: Auto-activation WITHOUT mcpServers!`);
209
270
  }
271
+ if (props?.engine) {
272
+ console.log(`[AgentManager] Auto-activation with engine: ${props.engine}`);
273
+ }
210
274
  await this.activate({
211
275
  type: 'activate',
212
276
  agentId,
213
277
  systemPrompt: systemPrompt || '',
214
278
  workspacePath: '', // Will be ignored, uses local config
215
279
  mcpServers, // Now passed from message
280
+ props, // Pass props from message (includes engine)
216
281
  });
217
282
  instance = this.agents.get(agentId);
218
283
  if (!instance) {
@@ -226,6 +291,74 @@ export class AgentManager {
226
291
  console.log(`[AgentManager] Updating mcpServers for online agent @${callsign} (count: ${mcpServers.length})`);
227
292
  instance.state.mcpServers = mcpServers;
228
293
  }
294
+ // Update environment if provided (per-request injection)
295
+ if (environment && instance) {
296
+ console.log(`[AgentManager] Updating environment for @${callsign} (count: ${Object.keys(environment).length})`);
297
+ instance.state.environment = environment;
298
+ }
299
+ // Route based on engine type
300
+ if (instance.state.engine === 'nuum') {
301
+ await this.deliverMessageToNuum(instance, message);
302
+ }
303
+ else {
304
+ await this.deliverMessageToClaudeSDK(instance, message);
305
+ }
306
+ }
307
+ /**
308
+ * Deliver message to Nuum engine (subprocess).
309
+ * Lazy spawns the engine on first message (when environment is known).
310
+ */
311
+ async deliverMessageToNuum(instance, message) {
312
+ const { callsign } = parseAgentId(instance.state.agentId);
313
+ // Lazy spawn: if engine not running, spawn now with environment from state
314
+ if (!instance.engineProcess) {
315
+ if (!instance.pendingEngineConfig) {
316
+ console.error(`[AgentManager] @${callsign} Nuum engine not running and no pending config`);
317
+ return;
318
+ }
319
+ try {
320
+ const nuumEngine = this.engineManager.getEngine('nuum');
321
+ if (!nuumEngine) {
322
+ throw new Error('Nuum engine not registered');
323
+ }
324
+ // Add environment from state (set by deliverMessage before this call)
325
+ const engineConfig = {
326
+ ...instance.pendingEngineConfig,
327
+ environment: instance.state.environment,
328
+ };
329
+ console.log(`[AgentManager] @${callsign} lazy spawning Nuum engine with environment (${Object.keys(instance.state.environment || {}).length} vars)...`);
330
+ instance.engineProcess = await nuumEngine.spawn(engineConfig);
331
+ // Start consuming output and feeding to bridge
332
+ this.consumeEngineOutput(instance);
333
+ console.log(`[AgentManager] @${callsign} Nuum engine spawned (pid: ${instance.engineProcess.pid})`);
334
+ // Clear pending config - no longer needed
335
+ instance.pendingEngineConfig = null;
336
+ }
337
+ catch (error) {
338
+ console.error(`[AgentManager] Failed to spawn Nuum engine for @${callsign}:`, error);
339
+ instance.state.status = 'error';
340
+ this.config.onError?.(instance.state.agentId, error);
341
+ return;
342
+ }
343
+ }
344
+ // Send message to engine process with environment for per-turn updates
345
+ instance.engineProcess.send({
346
+ type: 'user',
347
+ content: message.content,
348
+ sender: message.sender,
349
+ systemPrompt: message.systemPrompt,
350
+ mcpServers: message.mcpServers,
351
+ environment: instance.state.environment,
352
+ });
353
+ instance.state.status = 'busy';
354
+ instance.state.lastActivity = new Date().toISOString();
355
+ console.log(`[AgentManager] @${callsign} sent message to Nuum engine`);
356
+ }
357
+ /**
358
+ * Deliver message to Claude SDK engine (in-process).
359
+ */
360
+ async deliverMessageToClaudeSDK(instance, message) {
361
+ const { callsign } = parseAgentId(instance.state.agentId);
229
362
  // Format message with sender header
230
363
  const formattedContent = this.formatMessage(message);
231
364
  // If agent is processing and has an active stream, push to it (mid-execution delivery!)
@@ -242,11 +375,11 @@ export class AgentManager {
242
375
  }
243
376
  // Process message (will transition to busy)
244
377
  console.log(`[AgentManager] @${callsign} calling processMessage with content length: ${formattedContent.length}`);
245
- await this.processMessage(instance, formattedContent, systemPrompt);
378
+ await this.processMessage(instance, formattedContent, message.systemPrompt);
246
379
  console.log(`[AgentManager] @${callsign} processMessage returned`);
247
380
  }
248
381
  /**
249
- * Suspend an agent (tear down SDK).
382
+ * Suspend an agent (tear down engine).
250
383
  */
251
384
  async suspend(message) {
252
385
  const { agentId, reason } = message;
@@ -261,11 +394,16 @@ export class AgentManager {
261
394
  // Update state
262
395
  instance.state.status = 'offline';
263
396
  instance.state.lastActivity = new Date().toISOString();
264
- // Close any active message stream
397
+ // Close any active message stream (Claude SDK)
265
398
  if (instance.messageStream) {
266
399
  instance.messageStream.close();
267
400
  instance.messageStream = null;
268
401
  }
402
+ // Terminate engine process (Nuum)
403
+ if (instance.engineProcess) {
404
+ await instance.engineProcess.terminate(reason);
405
+ instance.engineProcess = null;
406
+ }
269
407
  // Clear message queue
270
408
  instance.messageQueue = [];
271
409
  instance.isProcessing = false;
@@ -329,8 +467,15 @@ export class AgentManager {
329
467
  includePartialMessages: true,
330
468
  continue: shouldContinue,
331
469
  cwd: workspace,
470
+ // Don't load settings from filesystem - prevents stored API keys from overriding env vars
471
+ // The SDK docs say: "When omitted or empty, no filesystem settings are loaded (SDK isolation mode)"
472
+ settingSources: [],
332
473
  env: {
333
- // Filter out PWD/OLDPWD to prevent parent's cwd from leaking into subprocess
474
+ // Per-request environment variables and secrets (from system.environment artifacts)
475
+ // Applied first so process.env can override sensitive keys
476
+ ...state.environment,
477
+ // Process env takes precedence - filter out PWD/OLDPWD to prevent parent's cwd from leaking
478
+ // This ensures platform-configured keys (ANTHROPIC_API_KEY, etc.) cannot be overridden by artifacts
334
479
  ...Object.fromEntries(Object.entries(process.env).filter(([key]) => !['PWD', 'OLDPWD'].includes(key))),
335
480
  CLAUDE_CONFIG_DIR: claudeConfigDir,
336
481
  },
@@ -342,22 +487,33 @@ export class AgentManager {
342
487
  // Build MCP servers config - use type assertion since SDK uses discriminated unions
343
488
  const mcpServers = {};
344
489
  for (const server of state.mcpServers) {
345
- if (server.transport === 'stdio') {
490
+ if (server.transport === 'stdio' && server.command) {
491
+ // Rewrite localhost URLs in env vars for Docker compatibility
492
+ const rewrittenEnv = server.env
493
+ ? Object.fromEntries(Object.entries(server.env).map(([key, value]) => [
494
+ key,
495
+ typeof value === 'string' ? rewriteUrlForDocker(value) : value,
496
+ ]))
497
+ : undefined;
346
498
  mcpServers[server.name] = {
347
499
  type: 'stdio',
348
500
  command: server.command,
349
501
  args: server.args,
350
- env: server.env,
502
+ env: rewrittenEnv,
351
503
  cwd: server.cwd,
352
504
  };
353
505
  }
354
- else if (server.transport === 'sse' || server.transport === 'http') {
506
+ else if ((server.transport === 'sse' || server.transport === 'http') && server.url) {
355
507
  mcpServers[server.name] = {
356
508
  type: server.transport,
357
- url: server.url,
509
+ url: rewriteUrlForDocker(server.url),
358
510
  headers: server.headers,
359
511
  };
360
512
  }
513
+ else {
514
+ // Skip invalid configs (e.g., stdio without command, http without url)
515
+ console.warn(`[AgentManager] Skipping invalid MCP server '${server.name}': transport=${server.transport}, command=${server.command ?? 'null'}, url=${server.url ?? 'null'}`);
516
+ }
361
517
  }
362
518
  if (Object.keys(mcpServers).length > 0) {
363
519
  console.log(`[AgentManager] Built SDK mcpServers:`, JSON.stringify(mcpServers));
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -30,10 +30,11 @@ Commands:
30
30
  Authenticate with Miriad using a connection string from the UI.
31
31
  Example: npx @miriad-systems/backend auth "cast://bst_xxx@api.miriad.systems/space_abc"
32
32
 
33
- start [--name <name>]
33
+ start [--name <name>] [--idle-timeout <minutes>]
34
34
  Start the runtime and connect to Miriad.
35
35
  Options:
36
- --name <name> Runtime name (default: hostname)
36
+ --name <name> Runtime name (default: hostname)
37
+ --idle-timeout <minutes> Exit after N minutes of inactivity (default: never)
37
38
 
38
39
  status
39
40
  Show the runtime configuration and connection status.
@@ -91,14 +92,28 @@ async function cmdStart(args) {
91
92
  if (nameIdx !== -1 && args[nameIdx + 1]) {
92
93
  config.name = args[nameIdx + 1];
93
94
  }
95
+ // Check for --idle-timeout flag
96
+ let idleTimeoutMinutes;
97
+ const idleIdx = args.indexOf('--idle-timeout');
98
+ if (idleIdx !== -1 && args[idleIdx + 1]) {
99
+ idleTimeoutMinutes = parseInt(args[idleIdx + 1], 10);
100
+ if (isNaN(idleTimeoutMinutes) || idleTimeoutMinutes <= 0) {
101
+ console.error('Error: --idle-timeout must be a positive number of minutes');
102
+ process.exit(1);
103
+ }
104
+ }
94
105
  console.log('Starting local runtime...');
95
106
  console.log(` Runtime: ${config.name} (${config.credentials.runtimeId})`);
96
107
  console.log(` Space: ${config.spaceId}`);
97
108
  console.log(` Workspace: ${config.workspace.basePath}`);
109
+ if (idleTimeoutMinutes) {
110
+ console.log(` Idle timeout: ${idleTimeoutMinutes} minutes`);
111
+ }
98
112
  console.log();
99
113
  // Create and connect runtime client
100
114
  const client = new RuntimeClient({
101
115
  config,
116
+ idleTimeoutMinutes,
102
117
  onConnected: () => {
103
118
  console.log('Runtime ready. Waiting for agents...');
104
119
  },
@@ -108,6 +123,10 @@ async function cmdStart(args) {
108
123
  onError: () => {
109
124
  // Error already logged by RuntimeClient with clean formatting
110
125
  },
126
+ onIdleTimeout: () => {
127
+ console.log(`\nIdle timeout (${idleTimeoutMinutes} minutes) - shutting down...`);
128
+ process.exit(0);
129
+ },
111
130
  });
112
131
  // Handle shutdown signals
113
132
  const shutdown = async () => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -14,9 +14,13 @@ export declare function getWsProtocol(host: string): 'ws' | 'wss';
14
14
  */
15
15
  export declare function parseConnectionString(connectionString: string): ParsedConnectionString;
16
16
  /**
17
- * Load runtime config from disk.
18
- * Returns null if no config file exists.
19
- * Expands tilde (~) in workspace.basePath.
17
+ * Load runtime config.
18
+ *
19
+ * Config sources (in priority order):
20
+ * 1. MIRIAD_CONFIG env var (JSON string) - for containerized deployments
21
+ * 2. Config file at ~/.config/miriad/config.json - for local installs
22
+ *
23
+ * Returns null if no config found.
20
24
  */
21
25
  export declare function loadConfig(): Promise<RuntimeConfig | null>;
22
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAyD3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAExD;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAWtF;AAMD;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAehE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAMD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAMD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,gBAAgB,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA0CxB;AAMD,wBAAgB,cAAc,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKjE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAyD3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAExD;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAWtF;AAqBD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAuBhE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAMD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAMD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,gBAAgB,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA0CxB;AAMD,wBAAgB,cAAc,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKjE"}
package/dist/config.js CHANGED
@@ -72,19 +72,46 @@ export function parseConnectionString(connectionString) {
72
72
  // Config Storage
73
73
  // =============================================================================
74
74
  /**
75
- * Load runtime config from disk.
76
- * Returns null if no config file exists.
77
- * Expands tilde (~) in workspace.basePath.
75
+ * Parse and normalize a RuntimeConfig object.
76
+ * Expands tilde in workspace.basePath and sets defaults.
77
+ */
78
+ function normalizeConfig(config) {
79
+ // Expand tilde in workspace basePath
80
+ if (config.workspace?.basePath) {
81
+ config.workspace.basePath = expandTilde(config.workspace.basePath);
82
+ }
83
+ else {
84
+ // Default workspace path if not specified
85
+ config.workspace = { basePath: DEFAULT_WORKSPACE_BASE };
86
+ }
87
+ return config;
88
+ }
89
+ /**
90
+ * Load runtime config.
91
+ *
92
+ * Config sources (in priority order):
93
+ * 1. MIRIAD_CONFIG env var (JSON string) - for containerized deployments
94
+ * 2. Config file at ~/.config/miriad/config.json - for local installs
95
+ *
96
+ * Returns null if no config found.
78
97
  */
79
98
  export async function loadConfig() {
99
+ // Priority 1: Environment variable (for containers)
100
+ const envConfig = process.env.MIRIAD_CONFIG;
101
+ if (envConfig) {
102
+ try {
103
+ const config = JSON.parse(envConfig);
104
+ return normalizeConfig(config);
105
+ }
106
+ catch {
107
+ throw new Error('MIRIAD_CONFIG env var contains invalid JSON');
108
+ }
109
+ }
110
+ // Priority 2: Config file
80
111
  try {
81
112
  const content = await readFile(CONFIG_FILE, 'utf-8');
82
113
  const config = JSON.parse(content);
83
- // Expand tilde in workspace basePath
84
- if (config.workspace?.basePath) {
85
- config.workspace.basePath = expandTilde(config.workspace.basePath);
86
- }
87
- return config;
114
+ return normalizeConfig(config);
88
115
  }
89
116
  catch (error) {
90
117
  if (error.code === 'ENOENT') {