k-cli-for-devs 1.0.0__py3-none-any.whl
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.
- k_cli/__init__.py +77 -0
- k_cli/agents/__init__.py +0 -0
- k_cli/agents/adversarial_swarm.py +338 -0
- k_cli/agents/agent_core.py +255 -0
- k_cli/agents/background_daemon.py +141 -0
- k_cli/agents/orchestrator.py +376 -0
- k_cli/agents/persona.py +649 -0
- k_cli/agents/scaffold_engine.py +121 -0
- k_cli/agents/strands_agent.py +832 -0
- k_cli/agents/subagents.py +1496 -0
- k_cli/cli.py +3297 -0
- k_cli/core/__init__.py +0 -0
- k_cli/core/airgap.py +95 -0
- k_cli/core/credentials.py +548 -0
- k_cli/core/intent_sensor.py +177 -0
- k_cli/core/llm_driver.py +1028 -0
- k_cli/core/model_manager.py +1109 -0
- k_cli/core/models_hub.py +913 -0
- k_cli/core/prompting.py +41 -0
- k_cli/core/sdk.py +322 -0
- k_cli/core/session.py +826 -0
- k_cli/core/smart_router.py +230 -0
- k_cli/core/storage_manager.py +176 -0
- k_cli/core/viewport_engine.py +117 -0
- k_cli/demo/demo_runner.py +579 -0
- k_cli/git/__init__.py +0 -0
- k_cli/git/ai_bisect.py +208 -0
- k_cli/git/conflict_resolver.py +1039 -0
- k_cli/git/git_guard.py +417 -0
- k_cli/git/patcher.py +1175 -0
- k_cli/git/repo_map.py +1780 -0
- k_cli/git/smart_git.py +928 -0
- k_cli/git/verifier.py +969 -0
- k_cli/github/__init__.py +0 -0
- k_cli/github/dedup_engine.py +787 -0
- k_cli/github/github_client.py +1702 -0
- k_cli/github/github_engine.py +641 -0
- k_cli/github/local_hub.py +209 -0
- k_cli/github/pr_watcher.py +129 -0
- k_cli/github/trending.py +205 -0
- k_cli/tools/__init__.py +0 -0
- k_cli/tools/audit.py +79 -0
- k_cli/tools/chaos_immunity.py +377 -0
- k_cli/tools/codebase_qa.py +106 -0
- k_cli/tools/command_runner.py +256 -0
- k_cli/tools/diagram_generator.py +547 -0
- k_cli/tools/doc_retriever.py +1332 -0
- k_cli/tools/feature.py +105 -0
- k_cli/tools/ghost_daemon.py +122 -0
- k_cli/tools/incident_triage.py +1365 -0
- k_cli/tools/mcp_client.py +1846 -0
- k_cli/tools/repo_gardener.py +142 -0
- k_cli/tools/rules.py +109 -0
- k_cli/tools/security.py +52 -0
- k_cli/tools/security_healer.py +999 -0
- k_cli/tools/synapse_graph.py +155 -0
- k_cli/tui/__init__.py +0 -0
- k_cli/tui/diff_viewer.py +223 -0
- k_cli/tui/tui.py +1145 -0
- k_cli/tui/tui_animations.py +648 -0
- k_cli/tui/tui_app.py +2788 -0
- k_cli/ui/__init__.py +10 -0
- k_cli/ui/simple_repl.py +315 -0
- k_cli/web/__init__.py +7 -0
- k_cli/web/server.py +624 -0
- k_cli/web/static/app.js +830 -0
- k_cli/web/static/index.html +495 -0
- k_cli/web/static/monitor.html +189 -0
- k_cli/web/static/style.css +838 -0
- k_cli_for_devs-1.0.0.dist-info/METADATA +461 -0
- k_cli_for_devs-1.0.0.dist-info/RECORD +75 -0
- k_cli_for_devs-1.0.0.dist-info/WHEEL +5 -0
- k_cli_for_devs-1.0.0.dist-info/entry_points.txt +2 -0
- k_cli_for_devs-1.0.0.dist-info/licenses/LICENSE +21 -0
- k_cli_for_devs-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>K-CLI Cyber Station | Autonomous DevOps & Code Agent</title>
|
|
7
|
+
<!-- Fonts & Icons -->
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
12
|
+
<link rel="stylesheet" href="/static/style.css">
|
|
13
|
+
</head>
|
|
14
|
+
<body class="cyber-station">
|
|
15
|
+
|
|
16
|
+
<!-- Ambient Grid & Glow Background -->
|
|
17
|
+
<div class="cyber-grid-bg"></div>
|
|
18
|
+
<div class="ambient-glow cyan"></div>
|
|
19
|
+
<div class="ambient-glow magenta"></div>
|
|
20
|
+
|
|
21
|
+
<!-- App Container -->
|
|
22
|
+
<div class="app-layout">
|
|
23
|
+
|
|
24
|
+
<!-- Top Header & Telemetry HUD -->
|
|
25
|
+
<header class="header-bar">
|
|
26
|
+
<div class="logo-group">
|
|
27
|
+
<div class="logo-icon">
|
|
28
|
+
<i class="fa-solid fa-terminal"></i>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="logo-text">
|
|
31
|
+
<div class="brand-row">
|
|
32
|
+
<span class="brand-name">K-CLI</span>
|
|
33
|
+
<span class="badge-tag">CYBER v1.0.0</span>
|
|
34
|
+
<span class="badge-author">by Krishiv Joshi</span>
|
|
35
|
+
</div>
|
|
36
|
+
<span class="brand-sub">Verification-First Autonomous AI DevOps Workstation</span>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<!-- Header System Status Bar -->
|
|
41
|
+
<div class="system-status-pills">
|
|
42
|
+
<div class="status-pill" id="pill-model" title="Active Model">
|
|
43
|
+
<i class="fa-solid fa-brain text-cyan"></i>
|
|
44
|
+
<span id="stat-model">Auto-Detecting...</span>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="status-pill" id="pill-branch" title="Git Branch">
|
|
47
|
+
<i class="fa-solid fa-code-branch text-magenta"></i>
|
|
48
|
+
<span id="stat-branch">main</span>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="status-pill" id="pill-ram" title="Memory Allocation">
|
|
51
|
+
<i class="fa-solid fa-microchip text-green"></i>
|
|
52
|
+
<span id="stat-ram">0.00 MB / 1024 MB</span>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="status-pill pill-online" id="pill-status">
|
|
55
|
+
<span class="pulse-dot"></span>
|
|
56
|
+
<span id="stat-online">LIVE HUD</span>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</header>
|
|
60
|
+
|
|
61
|
+
<!-- Main Workspace -->
|
|
62
|
+
<div class="main-container">
|
|
63
|
+
|
|
64
|
+
<!-- Sidebar Navigation -->
|
|
65
|
+
<nav class="sidebar-nav">
|
|
66
|
+
<div class="nav-section-title">ENGINEERING SUITE</div>
|
|
67
|
+
<button class="nav-item active" data-tab="tab-agent">
|
|
68
|
+
<i class="fa-solid fa-bolt"></i>
|
|
69
|
+
<span>Cyber Agent</span>
|
|
70
|
+
</button>
|
|
71
|
+
<button class="nav-item" data-tab="tab-triage">
|
|
72
|
+
<i class="fa-solid fa-heart-pulse"></i>
|
|
73
|
+
<span>Incident Triage</span>
|
|
74
|
+
</button>
|
|
75
|
+
<button class="nav-item" data-tab="tab-conflicts">
|
|
76
|
+
<i class="fa-solid fa-code-merge"></i>
|
|
77
|
+
<span>3-Way Conflict Studio</span>
|
|
78
|
+
</button>
|
|
79
|
+
<button class="nav-item" data-tab="tab-security">
|
|
80
|
+
<i class="fa-solid fa-shield-halved"></i>
|
|
81
|
+
<span>Security Shield</span>
|
|
82
|
+
</button>
|
|
83
|
+
<button class="nav-item" data-tab="tab-chaos">
|
|
84
|
+
<i class="fa-solid fa-shield-virus"></i>
|
|
85
|
+
<span>Chaos Immunity</span>
|
|
86
|
+
</button>
|
|
87
|
+
<button class="nav-item" data-tab="tab-devdocs">
|
|
88
|
+
<i class="fa-solid fa-book-bookmark"></i>
|
|
89
|
+
<span>DevDocs Search</span>
|
|
90
|
+
</button>
|
|
91
|
+
<button class="nav-item" data-tab="tab-vault">
|
|
92
|
+
<i class="fa-solid fa-key text-amber"></i>
|
|
93
|
+
<span>API Credentials Vault</span>
|
|
94
|
+
</button>
|
|
95
|
+
<button class="nav-item" data-tab="tab-models">
|
|
96
|
+
<i class="fa-solid fa-cubes text-cyan"></i>
|
|
97
|
+
<span>Model Hub & Bankai</span>
|
|
98
|
+
</button>
|
|
99
|
+
|
|
100
|
+
<!-- Sidebar Footer Info -->
|
|
101
|
+
<div class="sidebar-author-box">
|
|
102
|
+
<div class="author-label">PROJECT BANKAI</div>
|
|
103
|
+
<div class="author-name"><i class="fa-brands fa-github"></i> krishivjoshi219</div>
|
|
104
|
+
<div class="author-engine">Dual T4 Fine-Tuned Models</div>
|
|
105
|
+
</div>
|
|
106
|
+
</nav>
|
|
107
|
+
|
|
108
|
+
<!-- Tab Contents -->
|
|
109
|
+
<main class="content-area">
|
|
110
|
+
|
|
111
|
+
<!-- 1. AGENT RUNNER TAB -->
|
|
112
|
+
<section id="tab-agent" class="tab-pane active">
|
|
113
|
+
<!-- Quick Action Chips -->
|
|
114
|
+
<div class="quick-chips-row">
|
|
115
|
+
<span class="chip-label"><i class="fa-solid fa-bolt-lightning"></i> Quick Actions:</span>
|
|
116
|
+
<button class="quick-chip" data-prompt="Write a thread-safe LRU Cache in Python with O(1) ops and pytest unit tests">⚡ LRU Cache</button>
|
|
117
|
+
<button class="quick-chip" data-prompt="Scan this codebase for security vulnerabilities and hardcoded secrets">🛡️ Audit Secrets</button>
|
|
118
|
+
<button class="quick-chip" data-prompt="Implement a high-throughput lock-free SPSC ring buffer in C++23">🚀 Lock-Free Queue</button>
|
|
119
|
+
<button class="quick-chip" data-prompt="Design an asynchronous distributed task worker pool with Redis streams and backpressure">📐 Distributed Plan</button>
|
|
120
|
+
<button class="quick-chip" data-prompt="Analyze and fix the off-by-one index error in binary search with surgical SEARCH/REPLACE diff">🔧 Fix Off-by-One</button>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div class="card card-hero">
|
|
124
|
+
<div class="card-header flex-between">
|
|
125
|
+
<div>
|
|
126
|
+
<h2><i class="fa-solid fa-wand-magic-sparkles text-cyan"></i> Autonomous Strands Agent & Prompt Runner</h2>
|
|
127
|
+
<span class="card-subtitle">Real-time Intent Sensor • AST Compiler Verification • Zero Latency</span>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="intent-badge-container flex-row gap-sm">
|
|
130
|
+
<a href="/monitor" target="_blank" class="btn btn-sm btn-secondary" title="Open synchronized second window live monitor">
|
|
131
|
+
<i class="fa-solid fa-window-restore text-cyan"></i> 2nd Window Monitor
|
|
132
|
+
</a>
|
|
133
|
+
<span class="badge badge-intent" id="badge-intent-mode">⚡ ADAPTIVE INTENT</span>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
<div class="card-body">
|
|
137
|
+
<div class="input-grid">
|
|
138
|
+
<div class="form-group full-width">
|
|
139
|
+
<label for="agent-prompt">Engineering Task / Goal / Conversational Query</label>
|
|
140
|
+
<textarea id="agent-prompt" rows="3" placeholder="Ask anything: conversation, architectural planning, or complex code refactoring..."></textarea>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="form-group">
|
|
143
|
+
<label for="agent-lang">Target Language</label>
|
|
144
|
+
<select id="agent-lang">
|
|
145
|
+
<option value="python">Python 3.12</option>
|
|
146
|
+
<option value="bash">Bash / Shell</option>
|
|
147
|
+
<option value="cpp">C++23</option>
|
|
148
|
+
<option value="rust">Rust</option>
|
|
149
|
+
<option value="typescript">TypeScript</option>
|
|
150
|
+
</select>
|
|
151
|
+
</div>
|
|
152
|
+
<div class="form-group">
|
|
153
|
+
<div class="flex-between">
|
|
154
|
+
<label for="agent-model">Model Engine</label>
|
|
155
|
+
<button type="button" class="btn-text" id="btn-agent-set-default" title="Set selected model as persistent default">📌 Pin Default</button>
|
|
156
|
+
</div>
|
|
157
|
+
<select id="agent-model">
|
|
158
|
+
<option value="auto">⚡ AUTO (Adaptive Intent Sensor)</option>
|
|
159
|
+
<option value="krishivjoshi/bankai-10b">⚡ Bankai-10B (Krishiv Joshi Frontier Model)</option>
|
|
160
|
+
<option value="krishivjoshi/bankai-7b">🧠 Bankai-7B (Krishiv Joshi Fast Coder)</option>
|
|
161
|
+
<option value="gemini-2.5-flash">Google Gemini 2.5 Flash (Ultra Fast)</option>
|
|
162
|
+
<option value="gemini-2.0-flash">Google Gemini 2.0 Flash</option>
|
|
163
|
+
<option value="claude-3-5-sonnet">Anthropic Claude 3.5 Sonnet</option>
|
|
164
|
+
<option value="gpt-4o">OpenAI GPT-4o</option>
|
|
165
|
+
<option value="deepseek-coder">DeepSeek Coder</option>
|
|
166
|
+
<option value="qwen2.5-coder:7b">Ollama Qwen 2.5 Coder 7B</option>
|
|
167
|
+
</select>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="form-group">
|
|
170
|
+
<label for="agent-persona">Specialized Persona</label>
|
|
171
|
+
<select id="agent-persona">
|
|
172
|
+
<option value="">Auto-Detect Persona</option>
|
|
173
|
+
<option value="RESEARCHER">Researcher</option>
|
|
174
|
+
<option value="ARCHITECT">Architect</option>
|
|
175
|
+
<option value="CODER">Coder</option>
|
|
176
|
+
<option value="DEBUGGER">Debugger</option>
|
|
177
|
+
<option value="SECURITY">Security Engineer</option>
|
|
178
|
+
<option value="DEVOPS">DevOps Specialist</option>
|
|
179
|
+
</select>
|
|
180
|
+
</div>
|
|
181
|
+
<div class="form-group flex-row align-end">
|
|
182
|
+
<label class="checkbox-label">
|
|
183
|
+
<input type="checkbox" id="agent-mock" aria-label="Enable Offline Mock Mode">
|
|
184
|
+
<span>Offline Demo Mode</span>
|
|
185
|
+
</label>
|
|
186
|
+
<button id="btn-run-agent" class="btn btn-primary btn-glow">
|
|
187
|
+
<i class="fa-solid fa-play"></i> Execute Stream
|
|
188
|
+
</button>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
<!-- Local Machine Command Runner (Google Antigravity Engine) -->
|
|
193
|
+
<div class="local-terminal-box margin-top-md">
|
|
194
|
+
<div class="terminal-bar-header flex-between">
|
|
195
|
+
<span class="text-sm font-semibold text-cyan"><i class="fa-solid fa-terminal"></i> Local Machine Command Runner (Google Antigravity Engine)</span>
|
|
196
|
+
<span class="badge badge-info"><i class="fa-solid fa-bolt"></i> Local Host Shell</span>
|
|
197
|
+
</div>
|
|
198
|
+
<div class="terminal-input-row">
|
|
199
|
+
<span class="prompt-prefix">k-cli $</span>
|
|
200
|
+
<input type="text" id="input-local-cmd" placeholder="Execute any terminal command on local machine (e.g. pytest -v, git status, uname -a, ls -la)...">
|
|
201
|
+
<button id="btn-run-local-cmd" class="btn btn-secondary btn-sm">
|
|
202
|
+
<i class="fa-solid fa-play"></i> Run Command
|
|
203
|
+
</button>
|
|
204
|
+
</div>
|
|
205
|
+
<div class="quick-cmd-chips">
|
|
206
|
+
<span class="text-dim text-xs">Quick Runs:</span>
|
|
207
|
+
<button class="chip-sm local-cmd-pill" data-cmd="pytest -v">⚡ pytest -v</button>
|
|
208
|
+
<button class="chip-sm local-cmd-pill" data-cmd="git status --short">🌿 git status</button>
|
|
209
|
+
<button class="chip-sm local-cmd-pill" data-cmd="python3 -m k_cli.cli status">📊 k-cli status</button>
|
|
210
|
+
<button class="chip-sm local-cmd-pill" data-cmd="ls -la">📁 ls -la</button>
|
|
211
|
+
<button class="chip-sm local-cmd-pill" data-cmd="python3 -c 'import sys; print(sys.version)'">🐍 python version</button>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<!-- Output Panel -->
|
|
218
|
+
<div class="card card-output hidden" id="agent-output-card">
|
|
219
|
+
<div class="card-header flex-between">
|
|
220
|
+
<div class="output-header-left">
|
|
221
|
+
<h3><i class="fa-solid fa-terminal text-cyan"></i> Live Agent Stream & Verification</h3>
|
|
222
|
+
<span class="stream-stats" id="stream-stats">0 tokens • 0.0s</span>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="output-badges" id="agent-output-badges">
|
|
225
|
+
<span class="badge badge-info" id="badge-persona">AI AGENT</span>
|
|
226
|
+
<span class="badge badge-success" id="badge-verif">AST VERIFIED</span>
|
|
227
|
+
<button class="btn btn-sm btn-secondary" id="btn-copy-output"><i class="fa-regular fa-copy"></i> Copy</button>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="card-body">
|
|
231
|
+
<pre class="code-terminal" id="agent-terminal">Ready for execution...</pre>
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
</section>
|
|
235
|
+
|
|
236
|
+
<!-- 2. CRASH TRIAGE TAB -->
|
|
237
|
+
<section id="tab-triage" class="tab-pane">
|
|
238
|
+
<div class="card">
|
|
239
|
+
<div class="card-header">
|
|
240
|
+
<h2><i class="fa-solid fa-laptop-code text-magenta"></i> Multi-Language Crash Triage & Auto-Heal</h2>
|
|
241
|
+
<span class="card-subtitle">Parses stack traces across Python, Node, Rust, Go, C++, Docker, CI/CD and synthesizes surgical patches</span>
|
|
242
|
+
</div>
|
|
243
|
+
<div class="card-body">
|
|
244
|
+
<div class="form-group full-width">
|
|
245
|
+
<label for="triage-log">Paste Stack Trace or Incident Log</label>
|
|
246
|
+
<textarea id="triage-log" rows="6" placeholder="Paste python traceback, rust panic, or docker error log here..."></textarea>
|
|
247
|
+
</div>
|
|
248
|
+
<button id="btn-triage" class="btn btn-primary btn-glow">
|
|
249
|
+
<i class="fa-solid fa-stethoscope"></i> Diagnose & Auto-Heal Incident
|
|
250
|
+
</button>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
<div class="card hidden" id="triage-result-card">
|
|
254
|
+
<div class="card-header">
|
|
255
|
+
<h3><i class="fa-solid fa-clipboard-check text-green"></i> Diagnostic & Surgical Patch Report</h3>
|
|
256
|
+
</div>
|
|
257
|
+
<div class="card-body">
|
|
258
|
+
<pre class="code-terminal" id="triage-output"></pre>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
</section>
|
|
262
|
+
|
|
263
|
+
<!-- 3. CONFLICT STUDIO TAB -->
|
|
264
|
+
<section id="tab-conflicts" class="tab-pane">
|
|
265
|
+
<div class="card">
|
|
266
|
+
<div class="card-header flex-between">
|
|
267
|
+
<div>
|
|
268
|
+
<h2><i class="fa-solid fa-code-branch text-cyan"></i> Git 3-Way Merge Conflict Resolver</h2>
|
|
269
|
+
<span class="card-subtitle">AST-aware semantic conflict resolution with side-by-side diffing</span>
|
|
270
|
+
</div>
|
|
271
|
+
<button id="btn-scan-conflicts" class="btn btn-secondary">
|
|
272
|
+
<i class="fa-solid fa-rotate"></i> Scan Repo Conflicts
|
|
273
|
+
</button>
|
|
274
|
+
</div>
|
|
275
|
+
<div class="card-body">
|
|
276
|
+
<div id="conflicts-list-container">
|
|
277
|
+
<p class="text-dim">Click "Scan Repo Conflicts" to check workspace for 3-way git merge conflicts.</p>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</section>
|
|
282
|
+
|
|
283
|
+
<!-- 4. SECURITY SHIELD TAB -->
|
|
284
|
+
<section id="tab-security" class="tab-pane">
|
|
285
|
+
<div class="card">
|
|
286
|
+
<div class="card-header flex-between">
|
|
287
|
+
<div>
|
|
288
|
+
<h2><i class="fa-solid fa-shield-cat text-green"></i> AST Security Scanner & Surgical Auto-Healer</h2>
|
|
289
|
+
<span class="card-subtitle">Detects Hardcoded Secrets, SQLi, ReDoS, Command Injection & Insecure Subprocesses</span>
|
|
290
|
+
</div>
|
|
291
|
+
<div class="btn-group">
|
|
292
|
+
<button id="btn-scan-security" class="btn btn-primary">
|
|
293
|
+
<i class="fa-solid fa-magnifying-glass"></i> Scan Vulnerabilities
|
|
294
|
+
</button>
|
|
295
|
+
<button id="btn-heal-all-security" class="btn btn-success">
|
|
296
|
+
<i class="fa-solid fa-kit-medical"></i> Auto-Heal All Findings
|
|
297
|
+
</button>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
<div class="card-body">
|
|
301
|
+
<div id="security-results-container">
|
|
302
|
+
<p class="text-dim">Click "Scan Vulnerabilities" to run AST and Regex security inspection.</p>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
306
|
+
</section>
|
|
307
|
+
|
|
308
|
+
<!-- 5. CHAOS IMMUNITY TAB -->
|
|
309
|
+
<section id="tab-chaos" class="tab-pane">
|
|
310
|
+
<div class="card">
|
|
311
|
+
<div class="card-header flex-between">
|
|
312
|
+
<div>
|
|
313
|
+
<h2><i class="fa-solid fa-shield-virus text-magenta"></i> Autonomous Chaos Immunity Engine</h2>
|
|
314
|
+
<span class="card-subtitle">Probes brittle AST patterns, synthesizes adversarial edge-case tests, and inoculates codebase</span>
|
|
315
|
+
</div>
|
|
316
|
+
<button id="btn-run-chaos" class="btn btn-primary btn-glow">
|
|
317
|
+
<i class="fa-solid fa-virus-slash"></i> Run Chaos Immunity Probe
|
|
318
|
+
</button>
|
|
319
|
+
</div>
|
|
320
|
+
<div class="card-body">
|
|
321
|
+
<div id="chaos-results-container">
|
|
322
|
+
<p class="text-dim">Click "Run Chaos Immunity Probe" to scan for brittle edge-case failure modes.</p>
|
|
323
|
+
</div>
|
|
324
|
+
</div>
|
|
325
|
+
</div>
|
|
326
|
+
</section>
|
|
327
|
+
|
|
328
|
+
<!-- 6. DEVDOCS SEARCH TAB -->
|
|
329
|
+
<section id="tab-devdocs" class="tab-pane">
|
|
330
|
+
<div class="card">
|
|
331
|
+
<div class="card-header">
|
|
332
|
+
<h2><i class="fa-solid fa-book text-cyan"></i> DevDocs Precision Hybrid Search</h2>
|
|
333
|
+
<span class="card-subtitle">SQLite FTS5 BM25 + Cosine Similarity (< 2ms SLA) for Python, C++, Rust, Syscalls, FastAPI, Redis, Postgres</span>
|
|
334
|
+
</div>
|
|
335
|
+
<div class="card-body">
|
|
336
|
+
<div class="search-box">
|
|
337
|
+
<input type="text" id="devdocs-query" aria-label="Search Developer Documentation" placeholder="Search API symbol or function signature (e.g. asyncio.run, epoll_create1, std::vector)...">
|
|
338
|
+
<button id="btn-search-devdocs" class="btn btn-primary">
|
|
339
|
+
<i class="fa-solid fa-search"></i> Search
|
|
340
|
+
</button>
|
|
341
|
+
</div>
|
|
342
|
+
<div id="devdocs-results-container" class="margin-top-md">
|
|
343
|
+
<p class="text-dim">Enter search query to inspect offline developer documentation.</p>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
</div>
|
|
347
|
+
</section>
|
|
348
|
+
|
|
349
|
+
<!-- 7. API CREDENTIALS VAULT TAB -->
|
|
350
|
+
<section id="tab-vault" class="tab-pane">
|
|
351
|
+
<!-- Fast Universal Key Ingestion -->
|
|
352
|
+
<div class="card card-hero">
|
|
353
|
+
<div class="card-header flex-between">
|
|
354
|
+
<div>
|
|
355
|
+
<h2><i class="fa-solid fa-key text-amber"></i> Universal API Key Ingestion & Auto-Detector</h2>
|
|
356
|
+
<span class="card-subtitle">Paste ANY API key (Gemini, Claude, OpenAI, DeepSeek, Groq, Mistral, OpenRouter, GitHub, HF) — Auto-detected in real-time</span>
|
|
357
|
+
</div>
|
|
358
|
+
<span class="badge badge-warning" id="badge-key-detect">🎯 Paste Key Below</span>
|
|
359
|
+
</div>
|
|
360
|
+
<div class="card-body">
|
|
361
|
+
<div class="input-grid">
|
|
362
|
+
<div class="form-group full-width">
|
|
363
|
+
<label for="input-universal-key">Raw API Key / Token / Endpoint URL</label>
|
|
364
|
+
<input type="password" id="input-universal-key" placeholder="Paste AIza..., sk-ant-..., sk-..., gsk_..., sk-or-..., ghp_..., or http://localhost:11434..." autocomplete="off">
|
|
365
|
+
</div>
|
|
366
|
+
<div class="form-group flex-row">
|
|
367
|
+
<button id="btn-save-universal-key" class="btn btn-primary btn-glow">
|
|
368
|
+
<i class="fa-solid fa-floppy-disk"></i> Save & Activate Key
|
|
369
|
+
</button>
|
|
370
|
+
<button id="btn-test-universal-key" class="btn btn-secondary">
|
|
371
|
+
<i class="fa-solid fa-bolt"></i> Test Connectivity
|
|
372
|
+
</button>
|
|
373
|
+
</div>
|
|
374
|
+
</div>
|
|
375
|
+
<div id="universal-key-status" class="margin-top-md text-dim"></div>
|
|
376
|
+
</div>
|
|
377
|
+
</div>
|
|
378
|
+
|
|
379
|
+
<!-- Configured Provider Vault Grid -->
|
|
380
|
+
<div class="card margin-top-md">
|
|
381
|
+
<div class="card-header flex-between">
|
|
382
|
+
<div>
|
|
383
|
+
<h2><i class="fa-solid fa-shield-halved text-cyan"></i> Configured AI Provider Keys & Live Pings</h2>
|
|
384
|
+
<span class="card-subtitle">Individual key management with real-time latency tests</span>
|
|
385
|
+
</div>
|
|
386
|
+
<button id="btn-refresh-keys" class="btn btn-secondary">
|
|
387
|
+
<i class="fa-solid fa-sync"></i> Refresh Key Statuses
|
|
388
|
+
</button>
|
|
389
|
+
</div>
|
|
390
|
+
<div class="card-body">
|
|
391
|
+
<div id="vault-keys-grid" class="spotlight-grid">
|
|
392
|
+
<p class="text-dim">Loading credentials vault...</p>
|
|
393
|
+
</div>
|
|
394
|
+
</div>
|
|
395
|
+
</div>
|
|
396
|
+
</section>
|
|
397
|
+
|
|
398
|
+
<!-- 8. MODEL HUB & CUSTOM BANKAI TAB -->
|
|
399
|
+
<section id="tab-models" class="tab-pane">
|
|
400
|
+
<!-- Model Hub Control Bar -->
|
|
401
|
+
<div class="card card-hero">
|
|
402
|
+
<div class="card-header flex-between">
|
|
403
|
+
<div>
|
|
404
|
+
<h2><i class="fa-solid fa-cubes text-cyan"></i> Active Model & Intent Routing Engine</h2>
|
|
405
|
+
<span class="card-subtitle">Active: <strong id="hub-active-model-lbl" class="text-cyan">Auto-Detecting...</strong> | Default: <strong id="hub-default-model-lbl" class="text-green">auto</strong></span>
|
|
406
|
+
</div>
|
|
407
|
+
<div class="flex-row gap-sm">
|
|
408
|
+
<button id="btn-hub-set-auto" class="btn btn-primary">
|
|
409
|
+
<i class="fa-solid fa-wand-magic-sparkles"></i> Use AUTO (Adaptive Intent)
|
|
410
|
+
</button>
|
|
411
|
+
</div>
|
|
412
|
+
</div>
|
|
413
|
+
<div class="card-body">
|
|
414
|
+
<!-- Custom Model Registration Box -->
|
|
415
|
+
<div class="search-box">
|
|
416
|
+
<input type="text" id="input-custom-model-id" placeholder="Enter ANY custom model ID or Ollama tag (e.g. ollama/qwen2.5:32b, krishivjoshi/bankai-10b, claude-3-7-sonnet)...">
|
|
417
|
+
<button id="btn-register-custom-model" class="btn btn-primary">
|
|
418
|
+
<i class="fa-solid fa-plus"></i> Register & Select
|
|
419
|
+
</button>
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
|
|
424
|
+
<!-- Featured Custom Models Spotlight -->
|
|
425
|
+
<div class="spotlight-grid margin-top-md">
|
|
426
|
+
<div class="spotlight-card">
|
|
427
|
+
<div class="spotlight-header">
|
|
428
|
+
<span class="spotlight-badge">FINE-TUNED BY KRISHIV JOSHI</span>
|
|
429
|
+
<a href="https://huggingface.co/krishivjoshi/bankai-10b" target="_blank" class="hf-link"><i class="fa-solid fa-arrow-up-right-from-square"></i> HF Model</a>
|
|
430
|
+
</div>
|
|
431
|
+
<h3>⚡ Bankai-10B Frontier Coder</h3>
|
|
432
|
+
<p>Dual Tesla T4 fine-tuned LoRA adapter on Qwen2.5-Coder. Optimized for surgical diffs and compiler safety.</p>
|
|
433
|
+
<div class="spotlight-footer">
|
|
434
|
+
<code>krishivjoshi/bankai-10b</code>
|
|
435
|
+
<div class="btn-group">
|
|
436
|
+
<button class="btn btn-sm btn-primary" onclick="setActiveModel('krishivjoshi/bankai-10b')">Select</button>
|
|
437
|
+
<button class="btn btn-sm btn-secondary" onclick="setDefaultModel('krishivjoshi/bankai-10b')">Pin Default</button>
|
|
438
|
+
</div>
|
|
439
|
+
</div>
|
|
440
|
+
</div>
|
|
441
|
+
|
|
442
|
+
<div class="spotlight-card">
|
|
443
|
+
<div class="spotlight-header">
|
|
444
|
+
<span class="spotlight-badge">FINE-TUNED BY KRISHIV JOSHI</span>
|
|
445
|
+
<a href="https://huggingface.co/krishivjoshi/bankai-7b" target="_blank" class="hf-link"><i class="fa-solid fa-arrow-up-right-from-square"></i> HF Model</a>
|
|
446
|
+
</div>
|
|
447
|
+
<h3>🧠 Bankai-7B Ultra-Fast Coder</h3>
|
|
448
|
+
<p>Dual Tesla T4 fine-tuned LoRA adapter on Qwen2.5-Coder-7B-Instruct. High-throughput edge inference for local dev.</p>
|
|
449
|
+
<div class="spotlight-footer">
|
|
450
|
+
<code>krishivjoshi/bankai-7b</code>
|
|
451
|
+
<div class="btn-group">
|
|
452
|
+
<button class="btn btn-sm btn-primary" onclick="setActiveModel('krishivjoshi/bankai-7b')">Select</button>
|
|
453
|
+
<button class="btn btn-sm btn-secondary" onclick="setDefaultModel('krishivjoshi/bankai-7b')">Pin Default</button>
|
|
454
|
+
</div>
|
|
455
|
+
</div>
|
|
456
|
+
</div>
|
|
457
|
+
</div>
|
|
458
|
+
|
|
459
|
+
<!-- Live Models Grid -->
|
|
460
|
+
<div class="card margin-top-md">
|
|
461
|
+
<div class="card-header flex-between">
|
|
462
|
+
<div>
|
|
463
|
+
<h2><i class="fa-solid fa-server text-cyan"></i> Live Verified Online Models</h2>
|
|
464
|
+
<span class="card-subtitle">Real-time pings across Local SLMs (Ollama) & Cloud APIs (Bedrock, Gemini, OpenAI, Claude, Groq, DeepSeek)</span>
|
|
465
|
+
</div>
|
|
466
|
+
<button id="btn-refresh-models" class="btn btn-secondary">
|
|
467
|
+
<i class="fa-solid fa-sync"></i> 🔄 Refresh Live Models (Ping APIs)
|
|
468
|
+
</button>
|
|
469
|
+
</div>
|
|
470
|
+
<div class="card-body">
|
|
471
|
+
<div id="models-list-container">
|
|
472
|
+
<p class="text-dim">Pinging live provider endpoints...</p>
|
|
473
|
+
</div>
|
|
474
|
+
</div>
|
|
475
|
+
</div>
|
|
476
|
+
</section>
|
|
477
|
+
|
|
478
|
+
</main>
|
|
479
|
+
</div>
|
|
480
|
+
|
|
481
|
+
<!-- Footer Bar -->
|
|
482
|
+
<footer class="footer-bar">
|
|
483
|
+
<div class="footer-left">
|
|
484
|
+
<span>⚡ <strong>K-CLI Cyber Station</strong> • Engineered by <strong>Krishiv Joshi</strong> (<code>@krishivjoshi</code>)</span>
|
|
485
|
+
</div>
|
|
486
|
+
<div class="footer-right">
|
|
487
|
+
<span>AWS Strands Agents SDK • AST Compiler Guarded</span>
|
|
488
|
+
</div>
|
|
489
|
+
</footer>
|
|
490
|
+
</div>
|
|
491
|
+
|
|
492
|
+
<!-- Scripts -->
|
|
493
|
+
<script src="/static/app.js"></script>
|
|
494
|
+
</body>
|
|
495
|
+
</html>
|