Conversation
43ba767 to
c6441b3
Compare
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (5.85%) is below the target coverage (75.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #1337 +/- ##
==========================================
+ Coverage 13.94% 18.11% +4.17%
==========================================
Files 683 687 +4
Lines 62913 63582 +669
Branches 1748 1483 -265
==========================================
+ Hits 8774 11520 +2746
+ Misses 53858 51787 -2071
+ Partials 281 275 -6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR adds CLI-side support for recording browser-agent sessions by consuming the browser agent’s WebSocket MJPEG frame stream and converting it into an MP4 via fluent-ffmpeg.
Changes:
- Extend browser session registration to optionally enable a local WebSocket stream outside VSCode.
- Add an MJPEG→MP4 converter module using
fluent-ffmpeg, and wire recording/finalization into thenewTasktool. - Introduce new CLI plumbing (blob store in tool options,
--ffmpegflag) and add required dependencies.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/common/src/browser/browser-session-store.ts | Allows enabling browser stream when not in VSCode; stream URL handling updated. |
| packages/cli/src/types.ts | Adds blobStore to ToolCallOptions so tools can persist generated binaries. |
| packages/cli/src/tools/new-task.ts | Connects to the browser stream, collects frames, converts to MP4, and stores a URL reference in the task file system. |
| packages/cli/src/tools/tests/background-job-integration.test.ts | Updates test setup to provide blobStore in tool options. |
| packages/cli/src/task-runner.ts | Passes blobStore into tool call options. |
| packages/cli/src/lib/ffmpeg-mjpeg-to-mp4.ts | New converter implementation based on ffmpeg stdin MJPEG piping and timestamp-based frame repetition. |
| packages/cli/src/cli.ts | Adds --ffmpeg <path> option to configure ffmpeg binary location. |
| packages/cli/package.json | Adds ffmpeg + websocket dependencies required for recording. |
| bun.lock | Locks newly added dependencies (including fluent-ffmpeg transitive deps). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Summary
fluent-ffmpegfor video conversion from MJPEG frames.Test plan
.mp4file is generated in the specified directory.🤖 Generated with Pochi | Task