fullcourtdefense-cli 1.7.13 → 1.7.15
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/dist/commands/local-scan.js +12 -6
- package/dist/version.json +1 -1
- package/package.json +1 -1
|
@@ -1111,6 +1111,7 @@ function compactScanHtml(args) {
|
|
|
1111
1111
|
.workflowCard { min-height: 118px; }
|
|
1112
1112
|
.workflowCard b { font-size: 18px; }
|
|
1113
1113
|
.workflowCard span { font-size: 13px; }
|
|
1114
|
+
.landingScanGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
|
|
1114
1115
|
.scanTypeGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
|
|
1115
1116
|
.advancedScanGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 8px 0 12px; }
|
|
1116
1117
|
.card:hover, .card.active { border-color: #2563eb; background: #eff6ff; transform: translateY(-1px); }
|
|
@@ -1198,7 +1199,10 @@ function compactScanHtml(args) {
|
|
|
1198
1199
|
</div>
|
|
1199
1200
|
<div class="menuGroup">
|
|
1200
1201
|
<div class="menuLabel">Security scans</div>
|
|
1201
|
-
<
|
|
1202
|
+
<div class="landingScanGrid">
|
|
1203
|
+
<button class="card workflowCard" data-workflow="bot"><b>Bot Scan</b><span>Red-team an internal bot, agent, or chat API.</span></button>
|
|
1204
|
+
<button class="card workflowCard" data-workflow="posture"><b>Security Posture Scan</b><span>Run web-style endpoint security checkup.</span></button>
|
|
1205
|
+
</div>
|
|
1202
1206
|
</div>
|
|
1203
1207
|
<div class="menuGroup">
|
|
1204
1208
|
<div class="menuLabel">Help</div>
|
|
@@ -1207,7 +1211,7 @@ function compactScanHtml(args) {
|
|
|
1207
1211
|
</div>
|
|
1208
1212
|
</section>
|
|
1209
1213
|
|
|
1210
|
-
<section class="panel">
|
|
1214
|
+
<section class="panel hidden" id="workflowPanel">
|
|
1211
1215
|
<div id="step-1" class="stepSection">
|
|
1212
1216
|
<div class="sectionTitle">
|
|
1213
1217
|
<div>
|
|
@@ -1410,15 +1414,16 @@ Local targets stay on this machine; saved scan reports go to Full Court Defense.
|
|
|
1410
1414
|
</main>
|
|
1411
1415
|
<script>
|
|
1412
1416
|
const scanTargets = ['endpoint','posture','rag','mcp'];
|
|
1413
|
-
let target = '
|
|
1417
|
+
let target = 'home';
|
|
1414
1418
|
let step = 1;
|
|
1415
1419
|
const qs = new URLSearchParams(location.search);
|
|
1416
1420
|
if (['runner','endpoint','posture','rag','mcp','help'].includes(qs.get('target'))) target = qs.get('target');
|
|
1417
1421
|
const byId = id => document.getElementById(id);
|
|
1418
|
-
const workflow = () =>
|
|
1422
|
+
const workflow = () => target === 'endpoint' ? 'bot' : target === 'posture' ? 'posture' : target === 'home' ? '' : target;
|
|
1419
1423
|
const sync = () => {
|
|
1420
1424
|
document.querySelectorAll('.workflowCard').forEach(c => c.classList.toggle('active', c.dataset.workflow === workflow()));
|
|
1421
1425
|
document.querySelectorAll('.scanTypeCard').forEach(c => c.classList.toggle('active', c.dataset.target === target));
|
|
1426
|
+
byId('workflowPanel').classList.toggle('hidden', target === 'home');
|
|
1422
1427
|
['runner','endpoint','posture','rag','mcp','help'].forEach(id => byId(id + '-fields').classList.toggle('hidden', id !== target));
|
|
1423
1428
|
const scanTarget = scanTargets.includes(target);
|
|
1424
1429
|
byId('scan-picker').classList.toggle('hidden', !scanTarget);
|
|
@@ -1434,7 +1439,7 @@ Local targets stay on this machine; saved scan reports go to Full Court Defense.
|
|
|
1434
1439
|
: target === 'help'
|
|
1435
1440
|
? 'Choose one-off tool run or local red-team scan.'
|
|
1436
1441
|
: 'Select Endpoint, RAG, or MCP, then connect the internal target.';
|
|
1437
|
-
if (!scanTarget) setStep(1);
|
|
1442
|
+
if (!scanTarget || target === 'home') setStep(1);
|
|
1438
1443
|
};
|
|
1439
1444
|
const setStep = next => {
|
|
1440
1445
|
step = next;
|
|
@@ -1445,8 +1450,9 @@ Local targets stay on this machine; saved scan reports go to Full Court Defense.
|
|
|
1445
1450
|
});
|
|
1446
1451
|
};
|
|
1447
1452
|
document.querySelectorAll('.workflowCard').forEach(c => c.onclick = () => {
|
|
1448
|
-
target = c.dataset.workflow === '
|
|
1453
|
+
target = c.dataset.workflow === 'bot' ? 'endpoint' : c.dataset.workflow;
|
|
1449
1454
|
sync();
|
|
1455
|
+
byId('workflowPanel').scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
1450
1456
|
});
|
|
1451
1457
|
document.querySelectorAll('.scanTypeCard').forEach(c => c.onclick = () => {
|
|
1452
1458
|
target = c.dataset.target;
|
package/dist/version.json
CHANGED