@yemi33/minions 0.1.1685 → 0.1.1687
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 +10 -0
- package/dashboard/js/render-other.js +4 -2
- package/engine/copilot-models.json +1 -1
- package/engine/spawn-agent.js +24 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -335,6 +335,7 @@ async function openScanProjectsModal() {
|
|
|
335
335
|
'<button onclick="_runProjectScan()" style="padding:6px 16px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap">Scan</button>' +
|
|
336
336
|
'</div>' +
|
|
337
337
|
'<div id="scan-results" style="color:var(--muted);font-size:12px">Click Scan to find git repos in the directory.</div>' +
|
|
338
|
+
'<div class="cmd-toast" id="scan-toast" style="margin-top:0"></div>' +
|
|
338
339
|
'</div>';
|
|
339
340
|
document.getElementById('modal-body').style.whiteSpace = 'normal';
|
|
340
341
|
document.getElementById('modal-body').style.fontFamily = "'Segoe UI', system-ui, sans-serif";
|
|
@@ -410,19 +411,20 @@ async function _addSelectedProjects() {
|
|
|
410
411
|
var data = await res.json().catch(function() { return {}; });
|
|
411
412
|
if (res.ok) {
|
|
412
413
|
added++;
|
|
414
|
+
var addedName = data.name || repo.name;
|
|
413
415
|
optimisticallyAddProject({
|
|
414
|
-
name:
|
|
416
|
+
name: addedName,
|
|
415
417
|
description: (data.detected && data.detected.description) || repo.description || '',
|
|
416
418
|
path: data.path || repo.path,
|
|
417
419
|
localPath: data.path || repo.path,
|
|
418
420
|
});
|
|
419
421
|
cb.disabled = true;
|
|
420
422
|
cb.closest('label').style.opacity = '0.5';
|
|
423
|
+
showToast('scan-toast', added + ' project(s) added', true);
|
|
421
424
|
}
|
|
422
425
|
} catch { /* continue with next */ }
|
|
423
426
|
}
|
|
424
427
|
if (added > 0) {
|
|
425
|
-
showToast('cmd-toast', added + ' project(s) added', true);
|
|
426
428
|
refresh();
|
|
427
429
|
}
|
|
428
430
|
}
|
package/engine/spawn-agent.js
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
const fs = require('fs');
|
|
36
36
|
const os = require('os');
|
|
37
37
|
const path = require('path');
|
|
38
|
+
const { execSync } = require('child_process');
|
|
38
39
|
const { runFile, cleanChildEnv, killGracefully, killImmediate, ts } = require('./shared');
|
|
39
40
|
const { resolveRuntime } = require('./runtimes');
|
|
40
41
|
|
|
@@ -128,6 +129,27 @@ function normalizeRuntimeExit(code, signal) {
|
|
|
128
129
|
return 1;
|
|
129
130
|
}
|
|
130
131
|
|
|
132
|
+
function injectAdoTokenEnv(env, { execSync: _execSync = execSync, warn = (msg) => process.stderr.write(msg + '\n') } = {}) {
|
|
133
|
+
let token;
|
|
134
|
+
try {
|
|
135
|
+
token = String(_execSync('azureauth ado token --mode iwa --mode broker --output token --timeout 1', {
|
|
136
|
+
encoding: 'utf8',
|
|
137
|
+
timeout: 30000,
|
|
138
|
+
windowsHide: true,
|
|
139
|
+
}) || '').trim();
|
|
140
|
+
} catch (err) {
|
|
141
|
+
warn(`spawn-agent.js: ADO token fetch failed: ${err.message}`);
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
if (!token || !token.startsWith('eyJ')) {
|
|
145
|
+
warn('spawn-agent.js: invalid ADO token from azureauth; continuing without Azure DevOps PAT env');
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
env.AZURE_DEVOPS_EXT_PAT = token;
|
|
149
|
+
env.AZURE_DEVOPS_EXT_AZURE_RM_PAT = token;
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
|
|
131
153
|
const PROCESS_EXIT_SENTINEL_FLUSH_TIMEOUT_MS = 2000;
|
|
132
154
|
|
|
133
155
|
function formatProcessExitSentinel(exitCode, signal) {
|
|
@@ -200,6 +222,7 @@ function main() {
|
|
|
200
222
|
const { promptFile, sysPromptFile, runtimeName, opts, passthrough } = parsed;
|
|
201
223
|
|
|
202
224
|
const env = cleanChildEnv();
|
|
225
|
+
injectAdoTokenEnv(env);
|
|
203
226
|
|
|
204
227
|
let runtime;
|
|
205
228
|
try { runtime = resolveRuntime(runtimeName); }
|
|
@@ -355,6 +378,6 @@ function main() {
|
|
|
355
378
|
});
|
|
356
379
|
}
|
|
357
380
|
|
|
358
|
-
module.exports = { parseSpawnArgs, buildSpawnInvocation, normalizeRuntimeExit, writeProcessExitSentinel };
|
|
381
|
+
module.exports = { parseSpawnArgs, buildSpawnInvocation, normalizeRuntimeExit, injectAdoTokenEnv, writeProcessExitSentinel };
|
|
359
382
|
|
|
360
383
|
if (require.main === module) main();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1687",
|
|
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"
|