@yemi33/minions 0.1.1592 → 0.1.1593
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 +5 -0
- package/dashboard/js/render-agents.js +39 -12
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
// dashboard/js/render-agents.js — Agent grid rendering extracted from dashboard.html
|
|
2
2
|
|
|
3
|
-
// Per-runtime
|
|
4
|
-
//
|
|
3
|
+
// Per-runtime inline SVG logo + accent color. Each entry must define `label`
|
|
4
|
+
// (used as title/tooltip + accessibility fallback) and `svg` (full inline
|
|
5
|
+
// markup, currentColor-themed). Add a new entry here when a new runtime is
|
|
6
|
+
// registered in engine/runtimes/index.js.
|
|
5
7
|
const RUNTIME_TAGS = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
// Anthropic Claude — 8-pointed orange asterisk/burst
|
|
9
|
+
claude: {
|
|
10
|
+
label: 'Claude',
|
|
11
|
+
color: '#cc785c',
|
|
12
|
+
svg: '<svg viewBox="-12 -12 24 24" width="13" height="13" aria-hidden="true" focusable="false" style="display:inline-block;vertical-align:-2px"><g fill="currentColor"><path d="M-1.6 -10 L1.6 -10 L1 -1 L10 -1.6 L10 1.6 L1 1 L1.6 10 L-1.6 10 L-1 1 L-10 1.6 L-10 -1.6 L-1 -1 Z"/><path d="M-1.6 -10 L1.6 -10 L1 -1 L10 -1.6 L10 1.6 L1 1 L1.6 10 L-1.6 10 L-1 1 L-10 1.6 L-10 -1.6 L-1 -1 Z" transform="rotate(45)"/></g></svg>',
|
|
13
|
+
},
|
|
14
|
+
// GitHub Copilot — rounded "pilot" face from the official Octicons set
|
|
15
|
+
copilot: {
|
|
16
|
+
label: 'Copilot',
|
|
17
|
+
color: '#8957e5',
|
|
18
|
+
svg: '<svg viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" focusable="false" style="display:inline-block;vertical-align:-2px;fill:currentColor"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.71.354-2.434.13-.418.305-.808.516-1.142.218-.345.516-.648.886-.804.397-.167.832-.156 1.236-.014.404.142.858.396 1.342.762.227.171.487.367.733.557l.083.064c.16.124.305.236.434.337.265-.077.566-.142.879-.198a.877.877 0 0 1 .093-.013l.045-.005c.135-.018.273-.029.41-.034.137.005.275.016.41.034l.045.005a.877.877 0 0 1 .093.013c.313.056.614.121.879.198.129-.101.274-.213.434-.337l.083-.064c.246-.19.506-.386.733-.557.484-.366.938-.62 1.342-.762.404-.142.839-.153 1.236.014.37.156.668.459.886.804.21.334.385.724.516 1.142.226.724.354 1.564.354 2.434 0 .572-.053 1.148-.254 1.656.066.228.097.429.126.612.012.075.023.148.036.218.911.379 1.503 1.437 1.588 2.065v1.948c-.125.835-3.436 3.749-7.998 3.749ZM5.485 12.343a4.07 4.07 0 0 0 1.014-.214 1 1 0 0 1 .622-.001c.14.045.31.097.502.143.456.111.99.196 1.379.196.39 0 .923-.085 1.379-.196.192-.046.362-.098.502-.143a1 1 0 0 1 .622.001c.31.105.65.184 1.014.214.348.029.674-.027.927-.114a.535.535 0 0 0 .362-.51v-1.61a4.474 4.474 0 0 0-1.5-.339c-.456 0-.923.085-1.379.196-.192.046-.362.098-.502.143a1 1 0 0 1-.622-.001 11.91 11.91 0 0 1-1.014-.214 4.07 4.07 0 0 0-1.014.214 1 1 0 0 1-.622.001 13.92 13.92 0 0 0-.502-.143A6.474 6.474 0 0 0 4.5 9.769a4.474 4.474 0 0 0-1.5.339v1.611a.535.535 0 0 0 .362.51 1.95 1.95 0 0 0 .927.113Z"/></svg>',
|
|
19
|
+
},
|
|
8
20
|
};
|
|
9
21
|
function _runtimeTagHtml(runtime) {
|
|
10
|
-
const meta = RUNTIME_TAGS[runtime]
|
|
11
|
-
|
|
22
|
+
const meta = RUNTIME_TAGS[runtime];
|
|
23
|
+
if (meta && meta.svg) {
|
|
24
|
+
return '<span class="agent-runtime-tag" title="Runtime: ' + escapeHtml(meta.label) + '" style="display:inline-block;margin-left:6px;color:' + meta.color + '" aria-label="' + escapeHtml(meta.label) + ' runtime">' + meta.svg + '</span>';
|
|
25
|
+
}
|
|
26
|
+
// Unknown runtime — fall back to a small text pill so the user still sees something
|
|
27
|
+
const fallback = runtime || 'unknown';
|
|
28
|
+
return '<span class="agent-runtime-tag" title="Runtime: ' + escapeHtml(fallback) + '" style="font-size:9px;font-weight:600;letter-spacing:0.4px;text-transform:uppercase;padding:1px 5px;margin-left:6px;border:1px solid var(--muted);border-radius:3px;color:var(--muted);background:transparent">' + escapeHtml(fallback) + '</span>';
|
|
12
29
|
}
|
|
13
30
|
|
|
14
31
|
function renderAgents(agents) {
|
|
@@ -49,13 +66,23 @@ async function openAgentDetail(id) {
|
|
|
49
66
|
const emojiSpan = document.createElement('span');
|
|
50
67
|
emojiSpan.style.fontSize = '22px';
|
|
51
68
|
emojiSpan.textContent = agent.emoji || '';
|
|
52
|
-
// Runtime tag
|
|
53
|
-
//
|
|
54
|
-
|
|
69
|
+
// Runtime tag \u2014 uses the inline-SVG logo from the same RUNTIME_TAGS map the
|
|
70
|
+
// card uses, so the visual is consistent. The container's user-controlled
|
|
71
|
+
// text fields stay on the textContent path; the SVG is a hardcoded literal
|
|
72
|
+
// from RUNTIME_TAGS keyed by the runtime string (server-controlled, finite
|
|
73
|
+
// set), so injecting via innerHTML on the icon-only span is safe.
|
|
74
|
+
const runtimeMeta = RUNTIME_TAGS[agent.runtime];
|
|
55
75
|
const runtimeSpan = document.createElement('span');
|
|
56
|
-
runtimeSpan.
|
|
57
|
-
runtimeSpan.
|
|
58
|
-
|
|
76
|
+
runtimeSpan.title = 'Runtime: ' + (runtimeMeta?.label || agent.runtime || 'unknown');
|
|
77
|
+
runtimeSpan.style.cssText = 'display:inline-block;margin-left:10px';
|
|
78
|
+
if (runtimeMeta && runtimeMeta.svg) {
|
|
79
|
+
runtimeSpan.style.color = runtimeMeta.color;
|
|
80
|
+
runtimeSpan.innerHTML = runtimeMeta.svg.replace('width="13"', 'width="18"').replace('height="13"', 'height="18"');
|
|
81
|
+
runtimeSpan.setAttribute('aria-label', runtimeMeta.label + ' runtime');
|
|
82
|
+
} else {
|
|
83
|
+
runtimeSpan.style.cssText += ';font-size:10px;font-weight:600;letter-spacing:0.4px;text-transform:uppercase;padding:2px 6px;border:1px solid var(--muted);border-radius:3px;color:var(--muted)';
|
|
84
|
+
runtimeSpan.textContent = agent.runtime || 'unknown';
|
|
85
|
+
}
|
|
59
86
|
nameEl.replaceChildren(
|
|
60
87
|
emojiSpan,
|
|
61
88
|
document.createTextNode(' ' + (agent.name || '') + ' \u2014 ' + (agent.role || '')),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1593",
|
|
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"
|