|
636 | 636 | <!-- Scan Context Banner --> |
637 | 637 | <div v-if="scanContext" class="mt-2"> |
638 | 638 | <!-- No Docker Isolation (local process) --> |
639 | | - <div v-if="!scanContext.docker_isolation && !isUrlSourceMethod && scanContext.source_method !== 'none' && scanContext.source_method !== 'tool_definitions_only'" class="alert alert-warning"> |
640 | | - <svg class="w-6 h-6 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
641 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" /> |
| 639 | + <div v-if="!scanContext.docker_isolation && !isUrlSourceMethod && scanContext.source_method !== 'none' && scanContext.source_method !== 'tool_definitions_only'" class="flex items-start gap-3 p-4 rounded-lg bg-base-200/60 border border-base-300"> |
| 640 | + <svg class="w-5 h-5 shrink-0 mt-0.5 text-base-content/60" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
| 641 | + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" /> |
642 | 642 | </svg> |
643 | | - <div> |
644 | | - <h3 class="font-bold">No Docker Isolation</h3> |
645 | | - <p class="text-sm">This server runs locally without Docker isolation.</p> |
646 | | - <p class="text-sm"> |
| 643 | + <div class="min-w-0 flex-1"> |
| 644 | + <h3 class="font-semibold text-sm">Local Process</h3> |
| 645 | + <p class="text-sm text-base-content/70">Running directly on the host, without Docker isolation.</p> |
| 646 | + <p class="text-sm text-base-content/70"> |
647 | 647 | Source: <code class="bg-base-300 px-1 rounded text-xs">{{ scanContext.source_path }}</code> |
648 | 648 | <span v-if="scanContext.total_files"> ({{ scanContext.total_files }} files, {{ formatFileSize(scanContext.total_size_bytes) }})</span> |
649 | 649 | </p> |
650 | | - <p class="text-sm text-base-content/70"> |
| 650 | + <p class="text-sm text-base-content/60"> |
651 | 651 | Protocol: {{ scanContext.server_protocol }} |
652 | 652 | <span v-if="scanContext.server_command"> • Command: {{ scanContext.server_command }}</span> |
653 | 653 | </p> |
654 | 654 | </div> |
655 | 655 | </div> |
656 | 656 |
|
657 | 657 | <!-- Docker Isolated --> |
658 | | - <div v-else-if="scanContext.docker_isolation" class="alert alert-info"> |
659 | | - <svg class="w-6 h-6 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
| 658 | + <div v-else-if="scanContext.docker_isolation" class="flex items-start gap-3 p-4 rounded-lg bg-base-200/60 border border-base-300"> |
| 659 | + <svg class="w-5 h-5 shrink-0 mt-0.5 text-base-content/60" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
660 | 660 | <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2" /> |
661 | 661 | </svg> |
662 | | - <div> |
663 | | - <h3 class="font-bold">Docker Isolated</h3> |
664 | | - <p class="text-sm"> |
| 662 | + <div class="min-w-0 flex-1"> |
| 663 | + <h3 class="font-semibold text-sm">Docker Isolated</h3> |
| 664 | + <p class="text-sm text-base-content/70"> |
665 | 665 | Source extracted from container<span v-if="scanContext.container_id">: <code class="bg-base-300 px-1 rounded text-xs">{{ scanContext.container_id.substring(0, 12) }}...</code></span> |
666 | 666 | </p> |
667 | | - <p class="text-sm"> |
| 667 | + <p class="text-sm text-base-content/70"> |
668 | 668 | Source: <code class="bg-base-300 px-1 rounded text-xs">{{ scanContext.source_path }}</code> |
669 | 669 | <span v-if="scanContext.total_files"> ({{ scanContext.total_files }} files, {{ formatFileSize(scanContext.total_size_bytes) }})</span> |
670 | 670 | </p> |
671 | | - <p class="text-sm text-base-content/70"> |
| 671 | + <p class="text-sm text-base-content/60"> |
672 | 672 | Protocol: {{ scanContext.server_protocol }} |
673 | 673 | <span v-if="scanContext.server_command"> • Command: {{ scanContext.server_command }}</span> |
674 | 674 | </p> |
675 | 675 | </div> |
676 | 676 | </div> |
677 | 677 |
|
678 | 678 | <!-- HTTP Server (url, url_full, or tool_definitions_only for http protocol) --> |
679 | | - <div v-else-if="isUrlSourceMethod || scanContext.source_method === 'tool_definitions_only'" class="alert alert-info"> |
680 | | - <svg class="w-6 h-6 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
| 679 | + <div v-else-if="isUrlSourceMethod || scanContext.source_method === 'tool_definitions_only'" class="flex items-start gap-3 p-4 rounded-lg bg-base-200/60 border border-base-300"> |
| 680 | + <svg class="w-5 h-5 shrink-0 mt-0.5 text-base-content/60" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
681 | 681 | <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" /> |
682 | 682 | </svg> |
683 | | - <div> |
684 | | - <h3 class="font-bold">{{ isUrlSourceMethod ? 'HTTP Server' : 'Tool Definitions Only' }}</h3> |
685 | | - <p class="text-sm">{{ isUrlSourceMethod ? 'Tool description scanning only (no filesystem to scan)' : 'Scanning tool descriptions for poisoning and injection attacks' }}</p> |
686 | | - <p v-if="isUrlSourceMethod && scanContext.source_path" class="text-sm"> |
| 683 | + <div class="min-w-0 flex-1"> |
| 684 | + <h3 class="font-semibold text-sm">{{ isUrlSourceMethod ? 'HTTP Server' : 'Tool Definitions Only' }}</h3> |
| 685 | + <p class="text-sm text-base-content/70">{{ isUrlSourceMethod ? 'Tool description scanning only (no filesystem to scan)' : 'Scanning tool descriptions for poisoning and injection attacks' }}</p> |
| 686 | + <p v-if="isUrlSourceMethod && scanContext.source_path" class="text-sm text-base-content/70"> |
687 | 687 | URL: <code class="bg-base-300 px-1 rounded text-xs">{{ scanContext.source_path }}</code> |
688 | 688 | </p> |
689 | | - <p v-if="scanContext.tools_exported" class="text-sm text-base-content/70"> |
| 689 | + <p v-if="scanContext.tools_exported" class="text-sm text-base-content/60"> |
690 | 690 | {{ scanContext.tools_exported }} tool definitions exported for analysis |
691 | 691 | </p> |
692 | 692 | </div> |
|
0 commit comments