@yemi33/minions 0.1.21 → 0.1.23

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,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.23 (2026-03-28)
4
+
5
+ ### Other
6
+ - test/unit.test.js
7
+
8
+ ## 0.1.22 (2026-03-28)
9
+
10
+ ### Dashboard
11
+ - dashboard.js
12
+ - dashboard/js/render-inbox.js
13
+
3
14
  ## 0.1.21 (2026-03-28)
4
15
 
5
16
  ### Dashboard
@@ -162,17 +162,24 @@ function openQuickNoteModal() {
162
162
  }
163
163
 
164
164
  async function submitQuickNote() {
165
- const title = document.getElementById('note-title').value;
166
- const content = document.getElementById('note-content').value;
165
+ const titleEl = document.getElementById('note-title');
166
+ const contentEl = document.getElementById('note-content');
167
+ if (!titleEl || !contentEl) { alert('Form elements not found'); return; }
168
+ const title = titleEl.value;
169
+ const content = contentEl.value;
167
170
  if (!title && !content) { alert('Title or content required'); return; }
168
171
  try {
169
172
  const res = await fetch('/api/notes', {
170
173
  method: 'POST', headers: { 'Content-Type': 'application/json' },
171
174
  body: JSON.stringify({ title: title || 'Quick note', what: content || title })
172
175
  });
173
- if (res.ok) { closeModal(); refresh(); showToast('cmd-toast', 'Note saved to inbox', true); }
174
- else { const d = await res.json(); alert('Error: ' + (d.error || 'unknown')); }
175
- } catch (e) { alert('Error: ' + e.message); }
176
+ if (res.ok) {
177
+ try { closeModal(); } catch {}
178
+ refresh();
179
+ try { showToast('cmd-toast', 'Note saved to inbox', true); } catch {}
180
+ }
181
+ else { const d = await res.json().catch(() => ({})); alert('Error: ' + (d.error || 'unknown')); }
182
+ } catch (e) { alert('Error saving note: ' + e.message); }
176
183
  }
177
184
 
178
185
  async function doPromoteToKB(name, category) {
package/dashboard.js CHANGED
@@ -2417,9 +2417,14 @@ What would you like to discuss or change? When you're happy, say "approve" and I
2417
2417
  const { execSync } = require('child_process');
2418
2418
  let selectedPath = '';
2419
2419
  if (process.platform === 'win32') {
2420
- // PowerShell folder browser dialog use TopMost form as owner to bring dialog to front
2421
- const ps = `Add-Type -AssemblyName System.Windows.Forms; $owner = New-Object System.Windows.Forms.Form; $owner.TopMost = $true; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select project folder'; $f.ShowNewFolderButton = $false; if ($f.ShowDialog($owner) -eq 'OK') { $f.SelectedPath } else { '' }; $owner.Dispose()`;
2422
- selectedPath = execSync(`powershell -NoProfile -Command "${ps}"`, { encoding: 'utf8', timeout: 120000 }).trim();
2420
+ // Use COM Shell.Applicationreliably shows folder picker in foreground
2421
+ const vbs = 'Set shell = CreateObject("Shell.Application")\r\nSet folder = shell.BrowseForFolder(0, "Select project folder", &H0051, "")\r\nIf Not folder Is Nothing Then\r\n WScript.Echo folder.Self.Path\r\nEnd If';
2422
+ const vbsPath = path.join(MINIONS_DIR, 'engine', 'tmp', '_browse.vbs');
2423
+ fs.mkdirSync(path.dirname(vbsPath), { recursive: true });
2424
+ fs.writeFileSync(vbsPath, vbs);
2425
+ try {
2426
+ selectedPath = execSync(`cscript //NoLogo "${vbsPath}"`, { encoding: 'utf8', timeout: 120000 }).trim();
2427
+ } finally { try { fs.unlinkSync(vbsPath); } catch {} }
2423
2428
  } else if (process.platform === 'darwin') {
2424
2429
  selectedPath = execSync(`osascript -e 'POSIX path of (choose folder with prompt "Select project folder")'`, { encoding: 'utf8', timeout: 120000 }).trim();
2425
2430
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
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"