<!--
  Before opening this PR, confirm the linked issue has been TRIAGED (no `triage` label)
  and is not assigned to someone else. PRs against untriaged issues may be closed without review.
  See CONTRIBUTING.md.
-->

### Overview

<!-- A short description of the change and why it's needed. -->

### Details

<!-- A detailed explanation of the change with accompanying explanatory visuals where applicable. -->

### Testing

<!-- Describe what you ran. Include output or screenshots for UI changes. -->

- [ ] `bun test` passes
- [ ] `bun run test:e2e` passes (if behavior is user-facing)

### Checklist

- [ ] The linked issue is triaged (no `triage` label) and not assigned to someone else.
- [ ] I read [CONTRIBUTING.md](https://github.com/khoj-ai/pipali/blob/main/CONTRIBUTING.md).
- [ ] I added or updated tests for important behavior changes.
- [ ] The change is focused; unrelated refactors are in separate PRs.

### References

Closes #<!-- issue number -->

<!-- This PR must resolve an open, triaged issue (no `triage` label). If the issue is
     assigned to someone else, it's reserved for them — please don't open a competing PR.
     If no triaged issue exists yet, open one and wait for it to be triaged first. -->
