refactor: remove dead notification systems and legacy broadcasts
- Delete claude-hooks.ts store (processHook never called, always empty) - Delete HookNotifications.vue and NotificationLog.vue (orphan components) - Delete claude-status.ts route and broadcastClaudeStatus (no consumers) - Delete agent-bar.md legacy doc - Remove legacy WS 'claude-hook' broadcast (frontend ignores it) - Move isAgentRunning tracking into broadcastClaudeHook
This commit is contained in:
@@ -1,52 +0,0 @@
|
||||
import { jsonResponse, errorResponse } from '../utils/cors'
|
||||
import { PORT_TERMINAL } from '../config'
|
||||
|
||||
type ClaudeStatus =
|
||||
| 'idle'
|
||||
| 'thinking' // UserPromptSubmit / PostToolUse - Claude is thinking
|
||||
| 'toolUse' // PreToolUse - Using a tool (generic)
|
||||
| 'reading' // PreToolUse(Read/Glob/Grep) - Reading files
|
||||
| 'writing' // PreToolUse(Edit/Write) - Writing files
|
||||
| 'sessionStart' // SessionStart - Session just started
|
||||
| 'sessionEnd' // SessionEnd - Session ended
|
||||
| 'permissionRequest' // PermissionRequest - Waiting for user permission
|
||||
| 'interrupted' // PostToolUseFailure with is_interrupt
|
||||
| 'error' // PostToolUseFailure without is_interrupt
|
||||
|
||||
interface ClaudeStatusPayload {
|
||||
status: ClaudeStatus
|
||||
tool?: string
|
||||
agent?: string
|
||||
}
|
||||
|
||||
export async function handleClaudeStatus(req: Request): Promise<Response | null> {
|
||||
if (req.method !== 'POST') return null
|
||||
|
||||
try {
|
||||
const body = await req.json() as ClaudeStatusPayload
|
||||
|
||||
const validStatuses: ClaudeStatus[] = [
|
||||
'idle', 'thinking', 'toolUse', 'reading', 'writing',
|
||||
'sessionStart', 'sessionEnd', 'permissionRequest',
|
||||
'interrupted', 'error'
|
||||
]
|
||||
if (!body.status || !validStatuses.includes(body.status)) {
|
||||
return errorResponse(`Invalid status. Must be one of: ${validStatuses.join(', ')}`, 400)
|
||||
}
|
||||
|
||||
// Forward to terminal server for WebSocket broadcast
|
||||
try {
|
||||
await fetch(`http://localhost:${PORT_TERMINAL}/claude-status`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(body)
|
||||
})
|
||||
} catch (e) {
|
||||
console.error('[claude-status] Failed to forward to terminal server:', e)
|
||||
}
|
||||
|
||||
return jsonResponse({ success: true, status: body.status })
|
||||
} catch (e) {
|
||||
return errorResponse('Invalid JSON body', 400)
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,6 @@ import { handleGiteaRepo, handleGiteaTree, handleGiteaFile } from './gitea'
|
||||
import { handleTables, handleStats, handleTableSchema, handleTableData, handleQuery } from './database'
|
||||
import { handleWhisperRoutes } from './whisper'
|
||||
import { handleRecordingsRoutes } from './recordings'
|
||||
import { handleClaudeStatus } from './claude-status'
|
||||
import { handleClaudeHook } from './claude-hook'
|
||||
import { handleSnapshots, handleSnapshotById } from './snapshots'
|
||||
import { handleGitStatus, handleGitDiff, handleGitLog, handleGitLogCommit, handleGitCompare, handleGitBranches, handleGitCurrentBranch, handleGitTree, handleGitFile } from './git'
|
||||
@@ -68,12 +67,6 @@ export async function handleRequest(req: Request): Promise<Response> {
|
||||
if (res) return res
|
||||
}
|
||||
|
||||
// Claude Code status (thinking/idle)
|
||||
if (path === '/api/claude-status') {
|
||||
const res = await handleClaudeStatus(req)
|
||||
if (res) return res
|
||||
}
|
||||
|
||||
// Claude Code hook (rich stdin data forwarding)
|
||||
if (path === '/api/claude-hook') {
|
||||
const res = await handleClaudeHook(req)
|
||||
|
||||
Reference in New Issue
Block a user