Files
claude-code-viewer/src/types/sse.ts
dobachi b7e9947efb feat: UI許可システムの実装
- permissionModeを設定可能に変更(bypassPermissions, default, acceptEdits, plan)
- defaultモード時のUI許可ダイアログを実装
  - canUseTool callbackによるプログラマティックな許可処理
  - SSEを使用したリアルタイム通信
  - 許可/拒否の選択UI
- PermissionDialog機能
  - 大きなダイアログサイズ(max-w-4xl, max-h-[80vh])
  - パラメータの折りたたみ表示
  - 各パラメータのコピーボタン
  - 長いテキストのスクロール対応
  - レスポンシブデザイン対応
2025-09-24 01:39:13 +09:00

39 lines
762 B
TypeScript

import type {
AliveClaudeCodeTask,
PermissionRequest,
} from "../server/service/claude-code/types";
export type SSEEventDeclaration = {
// biome-ignore lint/complexity/noBannedTypes: correct type
connect: {};
// biome-ignore lint/complexity/noBannedTypes: correct type
heartbeat: {};
sessionListChanged: {
projectId: string;
};
sessionChanged: {
projectId: string;
sessionId: string;
};
taskChanged: {
aliveTasks: AliveClaudeCodeTask[];
};
permission_requested: {
permissionRequest: PermissionRequest;
};
};
export type SSEEventMap = {
[K in keyof SSEEventDeclaration]: SSEEventDeclaration[K] & {
kind: K;
timestamp: string;
};
};
export type SSEEvent = SSEEventMap[keyof SSEEventDeclaration];