refactor: remove Claude AI copilot panel — will be replaced with embedded terminal
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 1m10s
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 1m10s
Gutted the copilot panel, OAuth integration, and AI service registration. The copilot component files are left in place for future reference but disconnected from the UI. The replacement will be an embedded local terminal running `claude` with MCP tools for Wraith session access. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e1517daf9a
commit
1d61b1faf2
@ -82,25 +82,8 @@
|
|||||||
<path d="M11.5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0zm-.82 4.74a6 6 0 1 1 1.06-1.06l3.04 3.04a.75.75 0 1 1-1.06 1.06l-3.04-3.04z" />
|
<path d="M11.5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0zm-.82 4.74a6 6 0 1 1 1.06-1.06l3.04 3.04a.75.75 0 1 1-1.06 1.06l-3.04-3.04z" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<!-- XO Copilot toggle -->
|
<!-- XO Copilot — removed, will be replaced with embedded terminal running claude -->
|
||||||
<button
|
|
||||||
class="relative hover:text-[var(--wraith-text-primary)] transition-colors cursor-pointer"
|
|
||||||
:class="copilotStore.isPanelOpen ? 'text-[var(--wraith-accent-blue)]' : ''"
|
|
||||||
title="Toggle XO Copilot (Ctrl+Shift+K)"
|
|
||||||
@click="copilotStore.togglePanel()"
|
|
||||||
>
|
|
||||||
<span class="text-sm">👻</span>
|
|
||||||
<!-- Streaming indicator dot -->
|
|
||||||
<span
|
|
||||||
v-if="copilotStore.isStreaming"
|
|
||||||
class="absolute -top-0.5 -right-0.5 w-1.5 h-1.5 rounded-full bg-[var(--wraith-accent-blue)] animate-pulse"
|
|
||||||
/>
|
|
||||||
<!-- Subtle glow when open -->
|
|
||||||
<span
|
|
||||||
v-if="copilotStore.isPanelOpen"
|
|
||||||
class="absolute inset-0 rounded-full bg-[var(--wraith-accent-blue)] opacity-15 blur-sm"
|
|
||||||
/>
|
|
||||||
</button>
|
|
||||||
<button
|
<button
|
||||||
class="hover:text-[var(--wraith-text-primary)] transition-colors cursor-pointer"
|
class="hover:text-[var(--wraith-text-primary)] transition-colors cursor-pointer"
|
||||||
title="Lock vault"
|
title="Lock vault"
|
||||||
@ -179,10 +162,7 @@
|
|||||||
<SessionContainer />
|
<SessionContainer />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Copilot Panel (slides in from right) -->
|
<!-- Copilot Panel — removed, will be replaced with embedded terminal running claude -->
|
||||||
<transition name="copilot-slide">
|
|
||||||
<CopilotPanel v-if="copilotStore.isPanelOpen" />
|
|
||||||
</transition>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Status bar -->
|
<!-- Status bar -->
|
||||||
@ -216,7 +196,7 @@ import { Call, Application } from "@wailsio/runtime";
|
|||||||
import { useAppStore } from "@/stores/app.store";
|
import { useAppStore } from "@/stores/app.store";
|
||||||
import { useConnectionStore } from "@/stores/connection.store";
|
import { useConnectionStore } from "@/stores/connection.store";
|
||||||
import { useSessionStore } from "@/stores/session.store";
|
import { useSessionStore } from "@/stores/session.store";
|
||||||
import { useCopilotStore } from "@/stores/copilot.store";
|
// copilot removed — will be replaced with embedded terminal running claude
|
||||||
import SidebarToggle from "@/components/sidebar/SidebarToggle.vue";
|
import SidebarToggle from "@/components/sidebar/SidebarToggle.vue";
|
||||||
import ConnectionTree from "@/components/sidebar/ConnectionTree.vue";
|
import ConnectionTree from "@/components/sidebar/ConnectionTree.vue";
|
||||||
import FileTree from "@/components/sftp/FileTree.vue";
|
import FileTree from "@/components/sftp/FileTree.vue";
|
||||||
@ -230,7 +210,7 @@ import ThemePicker from "@/components/common/ThemePicker.vue";
|
|||||||
import ImportDialog from "@/components/common/ImportDialog.vue";
|
import ImportDialog from "@/components/common/ImportDialog.vue";
|
||||||
import SettingsModal from "@/components/common/SettingsModal.vue";
|
import SettingsModal from "@/components/common/SettingsModal.vue";
|
||||||
import ConnectionEditDialog from "@/components/connections/ConnectionEditDialog.vue";
|
import ConnectionEditDialog from "@/components/connections/ConnectionEditDialog.vue";
|
||||||
import CopilotPanel from "@/components/copilot/CopilotPanel.vue";
|
// CopilotPanel removed
|
||||||
const SFTP = "github.com/vstockwell/wraith/internal/sftp.SFTPService";
|
const SFTP = "github.com/vstockwell/wraith/internal/sftp.SFTPService";
|
||||||
const CONN = "github.com/vstockwell/wraith/internal/connections.ConnectionService";
|
const CONN = "github.com/vstockwell/wraith/internal/connections.ConnectionService";
|
||||||
|
|
||||||
@ -241,7 +221,7 @@ import type { FileEntry } from "@/composables/useSftp";
|
|||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
const connectionStore = useConnectionStore();
|
const connectionStore = useConnectionStore();
|
||||||
const sessionStore = useSessionStore();
|
const sessionStore = useSessionStore();
|
||||||
const copilotStore = useCopilotStore();
|
// copilotStore removed
|
||||||
|
|
||||||
const sidebarWidth = ref(240);
|
const sidebarWidth = ref(240);
|
||||||
const sidebarTab = ref<SidebarTab>("connections");
|
const sidebarTab = ref<SidebarTab>("connections");
|
||||||
@ -395,13 +375,6 @@ async function handleQuickConnect(): Promise<void> {
|
|||||||
|
|
||||||
/** Global keyboard shortcut handler. */
|
/** Global keyboard shortcut handler. */
|
||||||
function handleKeydown(event: KeyboardEvent): void {
|
function handleKeydown(event: KeyboardEvent): void {
|
||||||
// Ctrl+Shift+K or Cmd+Shift+K — toggle copilot panel
|
|
||||||
if ((event.ctrlKey || event.metaKey) && event.shiftKey && event.key === "K") {
|
|
||||||
event.preventDefault();
|
|
||||||
copilotStore.togglePanel();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl+K or Cmd+K — open command palette
|
// Ctrl+K or Cmd+K — open command palette
|
||||||
if ((event.ctrlKey || event.metaKey) && event.key === "k") {
|
if ((event.ctrlKey || event.metaKey) && event.key === "k") {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@ -421,15 +394,4 @@ onUnmounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.copilot-slide-enter-active,
|
|
||||||
.copilot-slide-leave-active {
|
|
||||||
transition: width 0.3s ease, opacity 0.3s ease;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.copilot-slide-enter-from,
|
|
||||||
.copilot-slide-leave-to {
|
|
||||||
width: 0px !important;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
1
main.go
1
main.go
@ -40,7 +40,6 @@ func main() {
|
|||||||
application.NewService(wraith.SSH),
|
application.NewService(wraith.SSH),
|
||||||
application.NewService(wraith.SFTP),
|
application.NewService(wraith.SFTP),
|
||||||
application.NewService(wraith.RDP),
|
application.NewService(wraith.RDP),
|
||||||
application.NewService(wraith.AI),
|
|
||||||
application.NewService(wraith.Updater),
|
application.NewService(wraith.Updater),
|
||||||
},
|
},
|
||||||
Assets: application.AssetOptions{
|
Assets: application.AssetOptions{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user