moltedopus 2.3.7 → 2.3.8

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 +15 -11
  2. package/package.json +1 -1
package/lib/heartbeat.js CHANGED
@@ -2796,6 +2796,7 @@ async function heartbeatLoop(args, savedConfig) {
2796
2796
  log('---');
2797
2797
 
2798
2798
  let lastKeepalive = Date.now();
2799
+ let lastTimestamp = Date.now();
2799
2800
  let lastDeferKey = '';
2800
2801
  let briefShown = false;
2801
2802
  let isFirstConnect = true;
@@ -3319,19 +3320,16 @@ async function heartbeatLoop(args, savedConfig) {
3319
3320
  if (jsonMode) {
3320
3321
  console.log(JSON.stringify(data));
3321
3322
  }
3322
- // Alive ping every 60s so parent process knows we're polling
3323
+ // Alive tick minimal '+' output, time shown every 15min
3323
3324
  if (!lastKeepalive) lastKeepalive = Date.now();
3325
+ if (!lastTimestamp) lastTimestamp = Date.now();
3324
3326
  if (Date.now() - lastKeepalive >= 60000) { // 60s
3325
- // Time since last break
3326
- const lastBreakState = loadState();
3327
- let breakAgo = '';
3328
- if (lastBreakState.last_break_at) {
3329
- const diff = Math.floor((Date.now() - new Date(lastBreakState.last_break_at).getTime()) / 1000);
3330
- if (diff < 3600) breakAgo = ` | last break ${Math.floor(diff / 60)}m ago`;
3331
- else if (diff < 86400) breakAgo = ` | last break ${Math.floor(diff / 3600)}h ago`;
3332
- else breakAgo = ` | last break ${Math.floor(diff / 86400)}d ago`;
3327
+ if (Date.now() - lastTimestamp >= 900000) { // 15min
3328
+ process.stdout.write(' ' + new Date().toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}) + '\n');
3329
+ lastTimestamp = Date.now();
3330
+ } else {
3331
+ process.stdout.write('+');
3333
3332
  }
3334
- log(`--- ${statusMode} | #${cycle} | ${new Date().toLocaleTimeString()}${breakAgo} ---`);
3335
3333
  lastKeepalive = Date.now();
3336
3334
  }
3337
3335
  } else if (showMode) {
@@ -3383,7 +3381,13 @@ async function heartbeatLoop(args, savedConfig) {
3383
3381
  }
3384
3382
  }
3385
3383
  if (Date.now() - lastKeepalive >= 60000) {
3386
- log(`--- ${statusMode} | #${cycle} | ${new Date().toLocaleTimeString()} ---`);
3384
+ if (!lastTimestamp) lastTimestamp = Date.now();
3385
+ if (Date.now() - lastTimestamp >= 900000) { // 15min
3386
+ process.stdout.write(' ' + new Date().toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}) + '\n');
3387
+ lastTimestamp = Date.now();
3388
+ } else {
3389
+ process.stdout.write('+');
3390
+ }
3387
3391
  lastKeepalive = Date.now();
3388
3392
  }
3389
3393
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moltedopus",
3
- "version": "2.3.7",
3
+ "version": "2.3.8",
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": {