# refactor\(desktop\): classify preview exports · PR \#10268 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/10268)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: merged

Source repository: pingdotgg/t3code

Source branch: cleanup-desktop/preview-helpers

Target branch: cleanup-desktop/app-shell-helpers

Head commit: 3dc5b7c12bb3aad2e0fd16114f9a51ab22a3058f

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/10268)

[Commits](https://git.cafe/pingdotgg/t3code/pull/10268/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/10268/diffs?format=markdown)

## Description

---

Preview and browser-import modules had ten unclassified runtime exports. This marks three canonical Effect service constructors as intentional public APIs, narrows six local implementation values, and removes one unused PreviewManager predicate while retaining exported schemas and types.

This is layer 4 of 5 in the desktop Knip cleanup stack.

Verification after the full stack: desktop typecheck; desktop Knip export audit; 831 desktop tests; changed-file lint and format checks. The native libsecret test cannot start on this machine because the system libsecret-1 development package is unavailable.

Model: gpt-6 astra. Harness: Codex in T3 Code.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Documentation**
  - Added documentation comments to public preview service constructors, improving API reference clarity.

- **Refactor**
  - Streamlined the preview module’s public API by keeping internal favicon, picture-in-picture, and error-handling helpers private.
  - No user-facing functionality or behavior was changed.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
