@openagents-org/agent-launcher 0.2.34 → 0.2.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openagents-org/agent-launcher",
3
- "version": "0.2.34",
3
+ "version": "0.2.36",
4
4
  "description": "OpenAgents Launcher — install, configure, and run AI coding agents from your terminal",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/registry.json CHANGED
@@ -74,7 +74,27 @@
74
74
  "keychain_service": "Claude Code-credentials",
75
75
  "not_ready_message": "Not logged in. Run: claude login",
76
76
  "login_command": "claude login"
77
- }
77
+ },
78
+ "env_config": [
79
+ {
80
+ "name": "ANTHROPIC_API_KEY",
81
+ "description": "Anthropic API key",
82
+ "required": true,
83
+ "password": true
84
+ },
85
+ {
86
+ "name": "ANTHROPIC_BASE_URL",
87
+ "description": "API base URL (leave empty for default)",
88
+ "required": false,
89
+ "placeholder": "https://api.anthropic.com"
90
+ },
91
+ {
92
+ "name": "ANTHROPIC_MODEL",
93
+ "description": "Model name",
94
+ "required": false,
95
+ "placeholder": "claude-sonnet-4-20250514"
96
+ }
97
+ ]
78
98
  },
79
99
  {
80
100
  "name": "cline",
@@ -137,7 +157,7 @@
137
157
  "OPENAI_API_KEY"
138
158
  ],
139
159
  "saved_env_key": "OPENAI_API_KEY",
140
- "not_ready_message": "No API key press e to configure"
160
+ "not_ready_message": "No API key \u2014 press e to configure"
141
161
  },
142
162
  "resolve_env": {
143
163
  "rules": [
@@ -220,7 +240,7 @@
220
240
  "OPENAI_API_KEY"
221
241
  ],
222
242
  "saved_env_key": "OPENAI_API_KEY",
223
- "not_ready_message": "No API key press e to configure"
243
+ "not_ready_message": "No API key \u2014 press e to configure"
224
244
  },
225
245
  "resolve_env": {
226
246
  "rules": [
@@ -296,9 +316,9 @@
296
316
  "nodejs",
297
317
  "git"
298
318
  ],
299
- "macos": "echo 'NanoClaw uses direct API mode no binary install needed'",
300
- "linux": "echo 'NanoClaw uses direct API mode no binary install needed'",
301
- "windows": "echo 'NanoClaw uses direct API mode no binary install needed'"
319
+ "macos": "echo 'NanoClaw uses direct API mode \u2014 no binary install needed'",
320
+ "linux": "echo 'NanoClaw uses direct API mode \u2014 no binary install needed'",
321
+ "windows": "echo 'NanoClaw uses direct API mode \u2014 no binary install needed'"
302
322
  },
303
323
  "adapter": {
304
324
  "module": "openagents.adapters.nanoclaw",
@@ -322,7 +342,7 @@
322
342
  "OPENAI_API_KEY"
323
343
  ],
324
344
  "saved_env_key": "OPENAI_API_KEY",
325
- "not_ready_message": "No API key press e to configure"
345
+ "not_ready_message": "No API key \u2014 press e to configure"
326
346
  },
327
347
  "resolve_env": {
328
348
  "rules": [
@@ -419,7 +439,7 @@
419
439
  "OPENAI_API_KEY"
420
440
  ],
421
441
  "saved_env_key": "LLM_API_KEY",
422
- "not_ready_message": "Not configured press e to configure"
442
+ "not_ready_message": "Not configured \u2014 press e to configure"
423
443
  }
424
444
  },
425
445
  {
@@ -490,7 +510,7 @@
490
510
  "ANTHROPIC_API_KEY"
491
511
  ],
492
512
  "saved_env_key": "LLM_API_KEY",
493
- "not_ready_message": "Not configured press e to configure"
513
+ "not_ready_message": "Not configured \u2014 press e to configure"
494
514
  }
495
515
  },
496
516
  {
@@ -510,4 +530,4 @@
510
530
  "windows": "pip install sweagent"
511
531
  }
512
532
  }
513
- ]
533
+ ]
@@ -423,8 +423,22 @@ class ClaudeAdapter extends BaseAdapter {
423
423
  postedThinking = false;
424
424
  lastResponseText.length = 0;
425
425
  const toolName = block.name || '';
426
- const toolInput = String(block.input || '').slice(0, 200);
427
- await this.sendStatus(msgChannel, `**Using tool:** \`${toolName}\`\n\`\`\`\n${toolInput}\n\`\`\``);
426
+ // Format tool input as readable text
427
+ let inputPreview = '';
428
+ if (block.input && typeof block.input === 'object') {
429
+ // Extract key fields for common tools
430
+ const inp = block.input;
431
+ if (inp.command) inputPreview = inp.command;
432
+ else if (inp.file_path || inp.path) inputPreview = inp.file_path || inp.path;
433
+ else if (inp.pattern) inputPreview = inp.pattern;
434
+ else if (inp.query) inputPreview = inp.query;
435
+ else if (inp.url) inputPreview = inp.url;
436
+ else if (inp.content) inputPreview = inp.content.slice(0, 100);
437
+ else inputPreview = JSON.stringify(inp).slice(0, 150);
438
+ } else {
439
+ inputPreview = String(block.input || '').slice(0, 150);
440
+ }
441
+ await this.sendStatus(msgChannel, `${toolName} › ${inputPreview}`);
428
442
  }
429
443
  }
430
444
  } else if (eventType === 'result') {
package/src/daemon.js CHANGED
@@ -107,6 +107,11 @@ class Daemon {
107
107
  */
108
108
  async stopAgent(agentName) {
109
109
  this._stoppedAgents.add(agentName);
110
+ // Mark state as stopped immediately
111
+ if (this._processes[agentName]) {
112
+ this._processes[agentName].state = 'stopped';
113
+ }
114
+ this._writeStatus();
110
115
  // Stop the adapter directly if running
111
116
  if (this._adapters && this._adapters[agentName]) {
112
117
  this._adapters[agentName].stop();
package/src/installer.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const fs = require('fs');
4
+ const os = require('os');
4
5
  const path = require('path');
5
6
  const { execSync, exec } = require('child_process');
6
7
  const { whichBinary, getEnhancedEnv } = require('./paths');
package/src/registry.js CHANGED
@@ -73,6 +73,8 @@ class Registry {
73
73
  if ((!entry.env_config || entry.env_config.length === 0) && b.env_config && b.env_config.length > 0) entry.env_config = b.env_config;
74
74
  if (!entry.resolve_env && b.resolve_env) entry.resolve_env = b.resolve_env;
75
75
  if (!entry.install && b.install) entry.install = b.install;
76
+ if (!entry.check_ready && b.check_ready) entry.check_ready = b.check_ready;
77
+ if (!entry.launch && b.launch) entry.launch = b.launch;
76
78
  }
77
79
  }
78
80
  // Add bundled entries not in catalog