3f7b12b2fe
The last non-session `useAgent` consumers, all thin aliases over calls the clients already make: - `handle.ts`: `getProfile` / `resolveHandle` to the appview client. - `post.ts`: the three post readers share one `fetchPost` helper on the appview client. Their consumers still want `@atproto/api` views, so the generated view is asserted across at that single boundary rather than at each call site. - `post-feed.ts`: `agent.session` gated the logged-out "did any post survive moderation" assertion, which is a question about the session, not the transport - it reads `hasSession` from the session context now. - `ChangeHandleDialog`: `agent.serviceUrl` becomes `currentAccount.service`. - `TestCtrls.e2e`: drops the `configureProxy` call. The appview client reads `BLUESKY_PROXY_HEADER` when the bundle builds it, and the gate around this input means no bundle exists yet, so setting the constant is sufficient. `preferences/index.ts` still writes labeler subscriptions to the agent; that one moves with the bundle rework, which is what gives it a client to write to. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>