perf: remove raw field from timeline items to reduce payload size

Remove the `raw` field that was duplicating provider data in timeline
items, reducing WebSocket payload sizes by 64-85%:
- session_state: ~320KB → ~48KB
- agent_stream_snapshot: ~320KB → ~114KB

Changes:
- Remove raw from AgentTimelineItem, AgentStreamEvent, AgentPermissionRequest
- Remove raw assignments from claude-agent.ts and codex-agent.ts
- Remove provider_event handling from stream.ts (only used for Codex raw)
- Update tests to reflect new behavior

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mohamed Boudra
2025-11-28 18:20:33 +00:00
co-authored by Claude
parent ae4678bca8
commit e80989ea78
11 changed files with 65 additions and 590 deletions
@@ -266,7 +266,7 @@ export function AgentStreamView({
<ToolCall
toolName={toolLabel}
kind={data.kind}
args={data.raw}
args={undefined}
result={data.result}
error={data.error}
status={data.status as "executing" | "completed" | "failed"}
@@ -565,17 +565,17 @@ function PermissionRequestCard({
}, [request]);
const editEntries = useMemo(
() => extractEditEntries(request.input, request.metadata, request.raw),
() => extractEditEntries(request.input, request.metadata),
[request]
);
const readEntries = useMemo(
() => extractReadEntries(request.input, request.metadata, request.raw),
() => extractReadEntries(request.input, request.metadata),
[request]
);
const commandDetails = useMemo(
() => extractCommandDetails(request.input, request.metadata, request.raw),
() => extractCommandDetails(request.input, request.metadata),
[request]
);