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.
- package/lib/heartbeat.js +18 -5
- 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.
|
|
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}
|
|
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
|
-
|
|
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} | ${
|
|
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
|
}
|