@yemi33/minions 0.1.421 → 0.1.423

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/CHANGELOG.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.421 (2026-04-06)
3
+ ## 0.1.423 (2026-04-06)
4
4
 
5
5
  ### Features
6
+ - version check interval on settings page
7
+ - configurable version check interval, default 1 hour
6
8
  - Dashboard robustness — raw string fixes, plan steering clarity, safeWrite race fix
7
9
  - Low-priority cleanup: dedupe regex, consolidate streaming parse, add path validation alignment
8
10
  - Fix 6 medium bugs: dispatch pruning, null guards, skill regex, meeting advancement, CLI PID check, pipeline retry
@@ -47,6 +47,7 @@ async function openSettings() {
47
47
  '<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px">' +
48
48
  settingsField('Eval Max Iterations', 'set-evalMaxIterations', e.evalMaxIterations || 3, '', 'Max review→fix cycles before escalating (1-10)') +
49
49
  settingsField('Eval Max Cost', 'set-evalMaxCost', e.evalMaxCost === null || e.evalMaxCost === undefined ? '' : e.evalMaxCost, '$', 'USD ceiling per work item across all eval iterations (blank = no limit)') +
50
+ settingsField('Version Check Interval', 'set-versionCheckInterval', e.versionCheckInterval || 3600000, 'ms', 'How often to check npm for updates (default: 1 hour)') +
50
51
  '</div>' +
51
52
 
52
53
  '<h3 style="font-size:13px;color:var(--blue);margin-bottom:8px">Claude CLI</h3>' +
@@ -164,6 +165,7 @@ async function saveSettings() {
164
165
  allowTempAgents: document.getElementById('set-allowTempAgents').checked,
165
166
  evalMaxIterations: document.getElementById('set-evalMaxIterations').value,
166
167
  evalMaxCost: document.getElementById('set-evalMaxCost').value || null,
168
+ versionCheckInterval: document.getElementById('set-versionCheckInterval').value,
167
169
  };
168
170
 
169
171
  const claudePayload = {
package/dashboard.js CHANGED
@@ -169,15 +169,17 @@ function getVerifyGuides() {
169
169
  function getArchivedPrds() { return []; }
170
170
  function getEngineState() { return queries.getControl(); }
171
171
 
172
- // ── npm update check (cached for 4 hours) ──────────────────────────────────
172
+ // ── npm update check ────────────────────────────────────────────────────────
173
173
  let _npmVersionCache = null;
174
174
  let _npmVersionCacheTs = 0;
175
- const NPM_CHECK_INTERVAL = 4 * 60 * 60 * 1000; // 4 hours
175
+ function _getVersionCheckInterval() {
176
+ try { return queries.getConfig()?.engine?.versionCheckInterval || shared.ENGINE_DEFAULTS.versionCheckInterval; } catch { return shared.ENGINE_DEFAULTS.versionCheckInterval; }
177
+ }
176
178
  const PKG_NAME = '@yemi33/minions';
177
179
 
178
180
  async function checkNpmVersion() {
179
181
  const now = Date.now();
180
- if (_npmVersionCache && (now - _npmVersionCacheTs) < NPM_CHECK_INTERVAL) return _npmVersionCache;
182
+ if (_npmVersionCache && (now - _npmVersionCacheTs) < _getVersionCheckInterval()) return _npmVersionCache;
181
183
  try {
182
184
  // Use npm view — respects user's .npmrc proxy/registry config
183
185
  // Must use shell:true on Windows because npm is a .cmd batch script
@@ -210,7 +212,7 @@ function _compareVersions(a, b) {
210
212
 
211
213
  // Kick off first npm check on startup, then re-check every 4 hours
212
214
  checkNpmVersion().catch(() => {});
213
- setInterval(() => checkNpmVersion().catch(() => {}), NPM_CHECK_INTERVAL);
215
+ setInterval(() => checkNpmVersion().catch(() => {}), _getVersionCheckInterval());
214
216
 
215
217
  // Cache disk version + git commit (only changes on deploy/pull, not per-request)
216
218
  let _diskVersionCache = null;
@@ -3356,6 +3358,7 @@ What would you like to discuss or change? When you're happy, say "approve" and I
3356
3358
  worktreeCreateTimeout: [60000], worktreeCreateRetries: [0, 3],
3357
3359
  idleAlertMinutes: [1], shutdownTimeout: [30000], restartGracePeriod: [60000],
3358
3360
  meetingRoundTimeout: [60000],
3361
+ versionCheckInterval: [60000],
3359
3362
  };
3360
3363
  for (const [key, [min, max]] of Object.entries(numericFields)) {
3361
3364
  if (e[key] !== undefined) {
package/engine/shared.js CHANGED
@@ -440,6 +440,7 @@ const ENGINE_DEFAULTS = {
440
440
  maxRetries: 3, // max dispatch retries before marking work item as failed
441
441
  pipelineApiRetries: 2, // max attempts for pipeline API calls
442
442
  pipelineApiRetryDelay: 2000, // ms delay between pipeline API retries
443
+ versionCheckInterval: 3600000, // 1 hour — how often to check npm for updates (ms)
443
444
  };
444
445
 
445
446
  // ─── Status & Type Constants ─────────────────────────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.421",
3
+ "version": "0.1.423",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"