@yemi33/minions 0.1.128 → 0.1.129

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.129 (2026-04-01)
4
+
5
+ ### Engine
6
+ - engine/github.js
7
+ - engine/preflight.js
8
+ - engine/spawn-agent.js
9
+
10
+ ### Dashboard
11
+ - dashboard/js/modal.js
12
+ - dashboard/js/render-agents.js
13
+
3
14
  ## 0.1.128 (2026-04-01)
4
15
 
5
16
  ### Engine
@@ -13,7 +13,7 @@ function closeModal() {
13
13
  if (_qaSessionKey && (_qaHistory.length > 0 || _qaQueue.length > 0)) {
14
14
  _qaSessions.set(_qaSessionKey, {
15
15
  history: _qaHistory,
16
- threadHtml: document.getElementById('modal-qa-thread').innerHTML,
16
+ threadHtml: (document.getElementById('modal-qa-thread') || {}).innerHTML || '',
17
17
  docContext: { ..._modalDocContext },
18
18
  filePath: _modalFilePath,
19
19
  });
@@ -17,10 +17,10 @@ function renderAgents(agents) {
17
17
  }
18
18
 
19
19
  async function openAgentDetail(id) {
20
- currentAgentId = id;
21
20
  const agent = agentData.find(a => a.id === id);
22
- currentTab = (agent?.status === 'working') ? 'live' : 'thought-process';
23
21
  if (!agent) return;
22
+ currentAgentId = id;
23
+ currentTab = (agent.status === 'working') ? 'live' : 'thought-process';
24
24
 
25
25
  document.getElementById('detail-agent-name').innerHTML =
26
26
  '<span style="font-size:22px">' + agent.emoji + '</span> ' + agent.name + ' — ' + agent.role;
package/engine/github.js CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  const shared = require('./shared');
8
- const { exec, getProjects, projectPrPath, projectWorkItemsPath, safeJson, safeWrite, MINIONS_DIR, addPrLink } = shared;
8
+ const { exec, getProjects, projectPrPath, projectWorkItemsPath, safeJson, safeWrite, MINIONS_DIR, addPrLink, getPrLinks } = shared;
9
9
  const { getPrs } = require('./queries');
10
10
  const path = require('path');
11
11
 
@@ -25,7 +25,7 @@ function findClaudeBinary() {
25
25
  // Fallback: parse the shell wrapper
26
26
  try {
27
27
  const which = execSync('bash -c "which claude"', { encoding: 'utf8', windowsHide: true, timeout: 5000 }).trim();
28
- const whichNative = which.replace(/^\/c\//, 'C:/').replace(/\//g, path.sep);
28
+ const whichNative = which.replace(/^\/([a-zA-Z])\//, (_, d) => d.toUpperCase() + ':/').replace(/\//g, path.sep);
29
29
  const wrapper = fs.readFileSync(whichNative, 'utf8');
30
30
  const m = wrapper.match(/node_modules\/@anthropic-ai\/claude-code\/cli\.js/);
31
31
  if (m) {
@@ -39,10 +39,11 @@ for (const p of searchPaths) {
39
39
  if (!claudeBin) {
40
40
  try {
41
41
  const which = exec('bash -c "which claude"', { encoding: 'utf8', env }).trim();
42
- const wrapper = exec(`bash -c "cat '${which}'"`, { encoding: 'utf8', env });
42
+ const whichNative = which.replace(/^\/([a-zA-Z])\//, (_, d) => d.toUpperCase() + ':/').replace(/\//g, path.sep);
43
+ const wrapper = fs.readFileSync(whichNative, 'utf8');
43
44
  const m = wrapper.match(/node_modules\/@anthropic-ai\/claude-code\/cli\.js/);
44
45
  if (m) {
45
- const basedir = path.dirname(which.replace(/^\/c\//, 'C:/').replace(/\//g, path.sep));
46
+ const basedir = path.dirname(whichNative);
46
47
  claudeBin = path.join(basedir, 'node_modules', '@anthropic-ai', 'claude-code', 'cli.js');
47
48
  }
48
49
  } catch { /* optional */ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.128",
3
+ "version": "0.1.129",
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"