@yemi33/minions 0.1.30 → 0.1.32

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.32 (2026-03-28)
4
+
5
+ ### Dashboard
6
+ - dashboard.js
7
+ - dashboard/js/settings.js
8
+
9
+ ## 0.1.31 (2026-03-28)
10
+
11
+ ### Dashboard
12
+ - dashboard/js/settings.js
13
+
3
14
  ## 0.1.30 (2026-03-28)
4
15
 
5
16
  ### Dashboard
@@ -136,9 +136,9 @@ async function saveSettings() {
136
136
 
137
137
  async function addProject() {
138
138
  try {
139
- showToast('cmd-toast', 'Opening folder picker...', true);
140
139
  const browseRes = await fetch('/api/projects/browse', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' });
141
140
  const browseData = await browseRes.json();
141
+ if (!browseRes.ok) { alert('Error: ' + (browseData.error || 'unknown')); return; }
142
142
  if (browseData.cancelled || !browseData.path) return;
143
143
 
144
144
  const addRes = await fetch('/api/projects/add', {
@@ -147,8 +147,7 @@ async function addProject() {
147
147
  });
148
148
  const addData = await addRes.json();
149
149
  if (!addRes.ok) { alert('Failed: ' + (addData.error || 'unknown')); return; }
150
-
151
- showToast('cmd-toast', 'Project "' + addData.name + '" added — restart engine to pick it up', true);
150
+ try { showToast('cmd-toast', 'Project "' + addData.name + '" added — restart engine to pick it up', true); } catch {}
152
151
  refresh();
153
152
  } catch (e) { alert('Error: ' + e.message); }
154
153
  }
package/dashboard.js CHANGED
@@ -2429,14 +2429,22 @@ What would you like to discuss or change? When you're happy, say "approve" and I
2429
2429
  const { execSync } = require('child_process');
2430
2430
  let selectedPath = '';
2431
2431
  if (process.platform === 'win32') {
2432
- // Use COM Shell.Applicationreliably shows folder picker in foreground
2433
- 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';
2434
- const vbsPath = path.join(MINIONS_DIR, 'engine', 'tmp', '_browse.vbs');
2435
- fs.mkdirSync(path.dirname(vbsPath), { recursive: true });
2436
- fs.writeFileSync(vbsPath, vbs);
2437
- try {
2438
- selectedPath = execSync(`cscript //NoLogo "${vbsPath}"`, { encoding: 'utf8', timeout: 120000 }).trim();
2439
- } finally { try { fs.unlinkSync(vbsPath); } catch {} }
2432
+ // PowerShell STA with topmost window as owner forces folder dialog to foreground
2433
+ const ps = [
2434
+ 'Add-Type -AssemblyName System.Windows.Forms',
2435
+ '$f = New-Object System.Windows.Forms.FolderBrowserDialog',
2436
+ '$f.Description = "Select project folder"',
2437
+ '$f.ShowNewFolderButton = $false',
2438
+ '$owner = New-Object System.Windows.Forms.Form',
2439
+ '$owner.TopMost = $true',
2440
+ '$owner.StartPosition = "CenterScreen"',
2441
+ '$owner.WindowState = "Minimized"',
2442
+ '$owner.Show()',
2443
+ '$owner.Hide()',
2444
+ 'if ($f.ShowDialog($owner) -eq "OK") { Write-Output $f.SelectedPath }',
2445
+ '$owner.Dispose()',
2446
+ ].join('; ');
2447
+ selectedPath = execSync(`powershell -STA -NoProfile -Command "${ps}"`, { encoding: 'utf8', timeout: 120000 }).trim();
2440
2448
  } else if (process.platform === 'darwin') {
2441
2449
  selectedPath = execSync(`osascript -e 'POSIX path of (choose folder with prompt "Select project folder")'`, { encoding: 'utf8', timeout: 120000 }).trim();
2442
2450
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
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"