@orangepro/orangepro-mcp 0.2.40 → 0.2.41
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.
|
@@ -301,8 +301,6 @@ body{padding-bottom:48px}
|
|
|
301
301
|
.mode-btn.active{background:var(--orange);color:#1a0a02;box-shadow:0 1px 3px rgba(240,136,62,.25)}
|
|
302
302
|
body[data-mode="simple"] .expert-only{display:none!important}
|
|
303
303
|
body[data-mode="simple"] .kpis{grid-template-columns:repeat(3,1fr)}
|
|
304
|
-
body[data-mode="simple"] .gen-test .gen-test-body{display:block}
|
|
305
|
-
body[data-mode="simple"] .gen-test .gen-test-toggle{display:none}
|
|
306
304
|
body[data-mode="simple"] .risk-card{border-left:3px solid var(--orange)}
|
|
307
305
|
body[data-mode="simple"] .risk-ctx{color:var(--ink2);font-size:13px}
|
|
308
306
|
body[data-mode="simple"] .todo{font-size:12.5px;font-weight:600;color:var(--ink);background:var(--obg);border-color:var(--obd)}
|
|
@@ -990,7 +988,7 @@ function riskCardHtml(r){
|
|
|
990
988
|
const cBadge=t.concern?\`<span class="badge b-info" style="margin-left:6px;font-size:9px">\${esc(t.concern.replace('_',' '))}</span>\`:'';
|
|
991
989
|
const iBadge=t.runnable===false?\`<span class="badge b-cand" style="margin-left:6px;font-size:9px">Manual test</span>\`:'';
|
|
992
990
|
const bBadge=t.bucket?\`<span class="badge b-info" style="margin-left:6px;font-size:9px">\${esc(String(t.bucket).replace(/_/g,' '))}</span>\`:'';
|
|
993
|
-
testsHtml+=\`<div class="gen-test"><div class="gen-test-head"><span class="gen-test-name">\${esc(t.name)}\${cBadge}\${bBadge}\${iBadge}</span><span class="gen-test-assert">\${esc(t.assertion)}</span><button class="copy-btn" onclick="event.stopPropagation();navigator.clipboard.writeText(this.closest('.gen-test').querySelector('.gen-test-body').textContent).then(()=>{this.textContent='Copied!';this.classList.add('copied');setTimeout(()=>{this.textContent='Copy';this.classList.remove('copied')},1500)})">Copy</button><span class="gen-test-toggle">▼</span></div><div class="gen-test-body">\${esc(t.code)}</div></div>\`;
|
|
991
|
+
testsHtml+=\`<div class="gen-test"><div class="gen-test-head" role="button" tabindex="0" aria-expanded="false"><span class="gen-test-name">\${esc(t.name)}\${cBadge}\${bBadge}\${iBadge}</span><span class="gen-test-assert">\${esc(t.assertion)}</span><button class="copy-btn" onclick="event.stopPropagation();navigator.clipboard.writeText(this.closest('.gen-test').querySelector('.gen-test-body').textContent).then(()=>{this.textContent='Copied!';this.classList.add('copied');setTimeout(()=>{this.textContent='Copy';this.classList.remove('copied')},1500)})">Copy</button><span class="gen-test-toggle" aria-hidden="true">▼</span></div><div class="gen-test-body">\${esc(t.code)}</div></div>\`;
|
|
994
992
|
});
|
|
995
993
|
testsHtml+=\`</div>\`;
|
|
996
994
|
}
|
|
@@ -1067,10 +1065,24 @@ renderRisks();
|
|
|
1067
1065
|
</div>\`;
|
|
1068
1066
|
host.addEventListener("click",e=>{const r=e.target.closest("[data-path]");if(r&&topPaths.has(r.getAttribute("data-path")))scrollToRisk(r.getAttribute("data-path"));});
|
|
1069
1067
|
})();
|
|
1070
|
-
//
|
|
1068
|
+
// Generated-test drafts are collapsed by default in every view. Keep the
|
|
1069
|
+
// control operable by pointer and keyboard; Simple mode must not override it.
|
|
1070
|
+
function toggleGeneratedTest(h){
|
|
1071
|
+
const item=h.closest('.gen-test');
|
|
1072
|
+
if(!item)return;
|
|
1073
|
+
const open=item.classList.toggle('open');
|
|
1074
|
+
h.setAttribute('aria-expanded',String(open));
|
|
1075
|
+
}
|
|
1071
1076
|
document.addEventListener('click',e=>{
|
|
1072
1077
|
const h=e.target.closest('.gen-test-head');
|
|
1073
|
-
if(h)h
|
|
1078
|
+
if(h)toggleGeneratedTest(h);
|
|
1079
|
+
});
|
|
1080
|
+
document.addEventListener('keydown',e=>{
|
|
1081
|
+
const h=e.target.closest('.gen-test-head');
|
|
1082
|
+
if(h&&(e.key==='Enter'||e.key===' ')){
|
|
1083
|
+
e.preventDefault();
|
|
1084
|
+
toggleGeneratedTest(h);
|
|
1085
|
+
}
|
|
1074
1086
|
});
|
|
1075
1087
|
|
|
1076
1088
|
// tabs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orangepro/orangepro-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.41",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "OrangePro (`opro`) — a local-first, BYOK CLI + MCP server that builds an evidence graph from a local checkout, ingests runtime coverage, and generates grounded tests. Metadata-only exports; no source upload; generated tests stay local.",
|
|
6
6
|
"license": "MIT",
|