@yemi33/minions 0.1.554 → 0.1.555
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,11 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.555 (2026-04-07)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- add pin/unpin button to inbox and KB document modals
|
|
7
7
|
|
|
8
8
|
### Fixes
|
|
9
|
+
- move pin button to modal header next to Copy button
|
|
9
10
|
- fetch actual build error logs instead of just reason string (#489)
|
|
10
11
|
|
|
11
12
|
## 0.1.552 (2026-04-07)
|
package/dashboard/js/modal-qa.js
CHANGED
package/dashboard/js/modal.js
CHANGED
|
@@ -41,6 +41,7 @@ function closeModal() {
|
|
|
41
41
|
body.contentEditable = 'false';
|
|
42
42
|
body.style.border = '';
|
|
43
43
|
body.style.padding = '';
|
|
44
|
+
document.getElementById('modal-pin-btn').style.display = 'none';
|
|
44
45
|
document.getElementById('modal-edit-btn').style.display = 'none';
|
|
45
46
|
document.getElementById('modal-save-btn').style.display = 'none';
|
|
46
47
|
document.getElementById('modal-cancel-edit-btn').style.display = 'none';
|
|
@@ -216,13 +216,9 @@ async function kbOpenItem(category, file) {
|
|
|
216
216
|
try {
|
|
217
217
|
const content = await fetch('/api/knowledge/' + category + '/' + encodeURIComponent(file)).then(r => r.text());
|
|
218
218
|
const display = content.replace(/^---[\s\S]*?---\n*/m, '');
|
|
219
|
-
var pk = kbPinKey(category, file);
|
|
220
|
-
var pinned = isPinned(pk);
|
|
221
219
|
document.getElementById('modal-title').textContent = file;
|
|
222
220
|
const modalBody = document.getElementById('modal-body');
|
|
223
|
-
modalBody.innerHTML =
|
|
224
|
-
'<div style="margin-bottom:12px"><button class="pr-pager-btn pin-btn' + (pinned ? ' pinned' : '') + '" style="font-size:10px;padding:3px 10px" data-pin-key="' + escHtml(pk) + '" onclick="_togglePinAndRefresh(this.dataset.pinKey,\'kb\');kbOpenItem(\'' + escHtml(category) + '\',\'' + escHtml(file) + '\')">' + (pinned ? 'Unpin' : 'Pin to top') + '</button></div>' +
|
|
225
|
-
renderMd(display);
|
|
221
|
+
modalBody.innerHTML = renderMd(display);
|
|
226
222
|
_modalDocContext = { title: file, content: display, selection: '' };
|
|
227
223
|
_modalFilePath = 'knowledge/' + category + '/' + file; showModalQa();
|
|
228
224
|
// Clear notification badge when opening this document
|
|
@@ -91,14 +91,9 @@ function openAllPrs() {
|
|
|
91
91
|
function openModal(i) {
|
|
92
92
|
const item = inboxData[i];
|
|
93
93
|
if (!item) return;
|
|
94
|
-
var pk = inboxPinKey(item.name);
|
|
95
|
-
var pinned = isPinned(pk);
|
|
96
94
|
document.getElementById('modal-title').textContent = item.name;
|
|
97
95
|
document.getElementById('modal-body').innerHTML =
|
|
98
|
-
'<div style="margin-bottom:12px
|
|
99
|
-
'<button class="pr-pager-btn pin-btn' + (pinned ? ' pinned' : '') + '" style="font-size:10px;padding:3px 10px" data-pin-key="' + escHtml(pk) + '" onclick="_togglePinAndRefresh(this.dataset.pinKey,\'inbox\');openModal(' + i + ')">' + (pinned ? 'Unpin' : 'Pin to top') + '</button>' +
|
|
100
|
-
'<button class="pr-pager-btn" style="font-size:10px;padding:3px 10px" onclick="promoteToKB(\'' + escHtml(item.name) + '\')">Add to Knowledge Base</button>' +
|
|
101
|
-
'</div>' +
|
|
96
|
+
'<div style="margin-bottom:12px"><button class="pr-pager-btn" style="font-size:10px;padding:3px 10px" onclick="promoteToKB(\'' + escHtml(item.name) + '\')">Add to Knowledge Base</button></div>' +
|
|
102
97
|
'<div style="font-size:12px;line-height:1.7;color:var(--muted)">' + renderMd(item.content) + '</div>';
|
|
103
98
|
_modalDocContext = { title: item.name, content: item.content, selection: '' };
|
|
104
99
|
_modalFilePath = 'notes/inbox/' + item.name; showModalQa();
|
package/dashboard/js/utils.js
CHANGED
|
@@ -35,6 +35,27 @@ function _togglePinAndRefresh(key, source) {
|
|
|
35
35
|
else if (source === 'kb') renderKnowledgeBase();
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
function updateModalPinBtn() {
|
|
39
|
+
var btn = document.getElementById('modal-pin-btn');
|
|
40
|
+
if (!btn) return;
|
|
41
|
+
// Only show for inbox and KB docs (pinnable paths)
|
|
42
|
+
if (!_modalFilePath || (!_modalFilePath.startsWith('notes/inbox/') && !_modalFilePath.startsWith('knowledge/'))) {
|
|
43
|
+
btn.style.display = 'none'; return;
|
|
44
|
+
}
|
|
45
|
+
btn.style.display = '';
|
|
46
|
+
var pinned = isPinned(_modalFilePath);
|
|
47
|
+
btn.textContent = pinned ? 'Unpin' : 'Pin';
|
|
48
|
+
btn.classList.toggle('pinned', pinned);
|
|
49
|
+
}
|
|
50
|
+
function toggleModalPin() {
|
|
51
|
+
if (!_modalFilePath) return;
|
|
52
|
+
var pinned = togglePin(_modalFilePath);
|
|
53
|
+
showToast('cmd-toast', pinned ? 'Pinned to top' : 'Unpinned', true);
|
|
54
|
+
updateModalPinBtn();
|
|
55
|
+
if (_modalFilePath.startsWith('notes/inbox/')) renderInbox(inboxData);
|
|
56
|
+
else if (_modalFilePath.startsWith('knowledge/')) renderKnowledgeBase();
|
|
57
|
+
}
|
|
58
|
+
|
|
38
59
|
function escHtml(s) {
|
|
39
60
|
return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');
|
|
40
61
|
}
|
package/dashboard/layout.html
CHANGED
|
@@ -101,6 +101,7 @@
|
|
|
101
101
|
<button class="modal-copy" id="modal-edit-btn" onclick="modalToggleEdit()" title="Edit" style="display:none"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61zM12.9 2.97L4.288 11.58l-.537 1.878 1.878-.537L14.242 4.31 12.9 2.97z"/></svg> Edit</button>
|
|
102
102
|
<button class="modal-copy" id="modal-save-btn" onclick="modalSaveEdit()" title="Save" style="display:none;color:var(--green);border-color:var(--green)"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"/></svg> Save</button>
|
|
103
103
|
<button class="modal-copy" id="modal-cancel-edit-btn" onclick="modalCancelEdit()" title="Cancel edit" style="display:none">Cancel</button>
|
|
104
|
+
<button class="modal-copy pin-btn" id="modal-pin-btn" onclick="toggleModalPin()" title="Pin to top" style="display:none">Pin</button>
|
|
104
105
|
<button class="modal-copy" id="modal-copy-btn" onclick="copyModalContent()" title="Copy to clipboard"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25z"/></svg> Copy</button>
|
|
105
106
|
<button class="modal-close" onclick="closeModal()">X</button>
|
|
106
107
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.555",
|
|
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"
|