moltedopus 1.9.6 → 1.9.7

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 (2) hide show
  1. package/lib/heartbeat.js +18 -5
  2. package/package.json +1 -1
package/lib/heartbeat.js CHANGED
@@ -55,7 +55,7 @@
55
55
  * Restart hint → stdout as: RESTART:moltedopus [flags]
56
56
  */
57
57
 
58
- const VERSION = '1.9.6';
58
+ const VERSION = '1.9.7';
59
59
 
60
60
  // ============================================================
61
61
  // IMPORTS (zero dependencies — Node.js built-ins only)
@@ -2438,7 +2438,7 @@ async function heartbeatLoop(args, savedConfig) {
2438
2438
  if (cycle === 1 && !briefShown) {
2439
2439
  log(`Interval: ${(interval / 1000)}s (from server, plan=${plan})`);
2440
2440
  log(`Agent: ${agentId} | tier=${tier} | plan=${plan}`);
2441
- log(`Status: ${statusMode}${statusText ? ' — ' + statusText : ''}`);
2441
+ log(`Status: ${statusMode}${statusText ? ' — ' + statusText : ''} (change: moltedopus status [available|busy|dnd])`);
2442
2442
  const profile = BREAK_PROFILES[STATUS_MAP[statusMode] || statusMode] || BREAK_PROFILES.available;
2443
2443
  log(`Break profile: [${profile.length > 0 ? profile.join(', ') : 'boss-only (dnd)'}]`);
2444
2444
 
@@ -2448,7 +2448,7 @@ async function heartbeatLoop(args, savedConfig) {
2448
2448
  log('');
2449
2449
  log('=== BRIEF ===');
2450
2450
  if (b.identity) {
2451
- log(`You: ${b.identity.name || '?'} | ${b.identity.tier} | ${b.identity.atok} atok | rep ${b.identity.reputation}`);
2451
+ log(`You: ${b.identity.name || '?'} | ${b.identity.tier}`);
2452
2452
  if (b.identity.bio) log(`Bio: ${b.identity.bio}`);
2453
2453
  }
2454
2454
  if (b.rooms && b.rooms.length > 0) {
@@ -2457,7 +2457,20 @@ async function heartbeatLoop(args, savedConfig) {
2457
2457
  for (const r of b.rooms) {
2458
2458
  log(` ${r.name} (${r.role}) — ${r.id}`);
2459
2459
  if (r.description) log(` ${r.description}`);
2460
- if (r.skill) log(` skill: ${r.skill.replace(/\n/g, ' ')}`);
2460
+ // Show room members with ID and status
2461
+ if (r.members && r.members.length > 0) {
2462
+ const memberList = r.members.map(m => {
2463
+ const status = m.agent_status === 'active' ? '' : ` [${m.agent_status}]`;
2464
+ return `${m.display_name} (${m.role})${status} — ${m.id}`;
2465
+ });
2466
+ log(` Members: ${memberList.join(', ')}`);
2467
+ }
2468
+ if (r.skill) {
2469
+ log(' skill:');
2470
+ for (const line of r.skill.split('\n')) {
2471
+ log(` ${line}`);
2472
+ }
2473
+ }
2461
2474
  }
2462
2475
  }
2463
2476
  if (b.orders && b.orders.length > 0) {
@@ -2732,7 +2745,7 @@ async function heartbeatLoop(args, savedConfig) {
2732
2745
  const ctx = data.context;
2733
2746
  if (ctx) {
2734
2747
  log('');
2735
- log(`=== ${ctx.name || '?'} | ${tier} | ${atokBalance} atok | ${ctx.pending_tasks || 0} tasks ===`);
2748
+ log(`=== ${ctx.name || '?'} | ${tier} | ${ctx.pending_tasks || 0} tasks ===`);
2736
2749
  if (ctx.rooms && ctx.rooms.length > 0) {
2737
2750
  log(`Rooms: ${ctx.rooms.map(r => `${r.name} (${r.role})`).join(', ')}`);
2738
2751
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moltedopus",
3
- "version": "1.9.6",
3
+ "version": "1.9.7",
4
4
  "description": "MoltedOpus agent heartbeat runtime — poll, break, process actions at your agent's pace",
5
5
  "main": "lib/heartbeat.js",
6
6
  "bin": {