@yemi33/minions 0.1.558 → 0.1.559

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,10 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.558 (2026-04-08)
3
+ ## 0.1.559 (2026-04-08)
4
4
 
5
5
  ### Features
6
6
  - max retry cap and escalation for build fix cycles (#488)
7
7
 
8
+ ### Fixes
9
+ - protect pinned KB items from sweep deduplication
10
+
8
11
  ## 0.1.557 (2026-04-08)
9
12
 
10
13
  ### Features
@@ -144,7 +144,7 @@ async function kbSweep() {
144
144
  btn.textContent = 'sweeping...';
145
145
  btn.style.color = 'var(--blue)';
146
146
  try {
147
- const res = await fetch('/api/knowledge/sweep', { method: 'POST', signal: AbortSignal.timeout(300000) });
147
+ const res = await fetch('/api/knowledge/sweep', { method: 'POST', signal: AbortSignal.timeout(300000), headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ pinnedKeys: getPinnedItems().filter(function(k) { return k.startsWith('knowledge/'); }) }) });
148
148
  const data = await res.json();
149
149
  if (data.ok) {
150
150
  btn.textContent = 'done';
package/dashboard.js CHANGED
@@ -1766,12 +1766,15 @@ const server = http.createServer(async (req, res) => {
1766
1766
  global._kbSweepInFlight = true;
1767
1767
  global._kbSweepStartedAt = Date.now();
1768
1768
  try {
1769
+ const body = await readBody(req).catch(() => ({}));
1769
1770
  const entries = getKnowledgeBaseEntries();
1770
1771
  if (entries.length < 2) return jsonReply(res, 200, { ok: true, summary: 'nothing to sweep (< 2 entries)' });
1771
1772
 
1772
- // Build a manifest of all KB entries with their content
1773
+ // Build a manifest of all KB entries with their content (skip pinned — user wants to keep them)
1774
+ const pinnedKeys = new Set(body.pinnedKeys || []);
1773
1775
  const manifest = [];
1774
1776
  for (const e of entries) {
1777
+ if (pinnedKeys.has('knowledge/' + e.cat + '/' + e.file)) continue;
1775
1778
  const content = safeRead(path.join(MINIONS_DIR, 'knowledge', e.cat, e.file));
1776
1779
  if (!content) continue;
1777
1780
  manifest.push({ category: e.cat, file: e.file, title: e.title, agent: e.agent, date: e.date, content: content.slice(0, 3000) });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.558",
3
+ "version": "0.1.559",
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"