Skip to content

feat(pi): add Pi provider settings and runtime support#2800

Open
zulrang wants to merge 1 commit into
pingdotgg:mainfrom
zulrang:phase-0/pi-discovery
Open

feat(pi): add Pi provider settings and runtime support#2800
zulrang wants to merge 1 commit into
pingdotgg:mainfrom
zulrang:phase-0/pi-discovery

Conversation

@zulrang
Copy link
Copy Markdown

@zulrang zulrang commented May 25, 2026

I understand this may not get merged. I'm getting this working on my own fork and hope others can benefit, so I'm breaking the work into digestible chunks and opening PRs for each if they get accepted

What Changed

  • Introduced PiSettings schema for configuration.
  • Added Pi driver kind and associated metadata.
  • Updated server settings to include Pi provider.
  • Implemented tests for Pi settings and runtime event handling.
  • Enhanced UI components to support Pi provider integration.

Why

This is the initial groundwork to add support for the pi agent (see: #402)

This PR adds Pi as a recognized provider in T3 Code's contracts and web UI layer. It establishes the PiSettings schema, wires up the driver metadata and icon in the settings UI, adds the pi.rpc.* runtime event source template for future RPC streaming, and removes the old piAgent coming-soon placeholder now that Pi is becoming a real provider. No server-side runtime yet.

UI Changes

No new visual components, no layout changes, no new pages.

It's purely "Pi now exists as a selectable option in the provider settings UI" with correct iconography. The provider won't actually appear in the model picker sidebar (PROVIDER_OPTIONS in session-logic.ts) until a later PR wires up the server-side availability reporting.

Before

Screenshot 2026-05-25 092954

After

image Screenshot 2026-05-25 092625

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes

Note

Low Risk
Schema and UI-only changes with Pi disabled by default; no auth, session, or server execution paths modified in this diff.

Overview
Adds Pi as a first-class provider in contracts and the web settings layer: PiSettings on legacy ServerSettings.providers (defaults disabled, binary pi), patch/encode paths, and display name wiring.

The settings UI treats Pi like other active drivers (Early Access badge, binary path only) and maps PiAgentIcon for provider icons. The add-instance dialog drops the old piAgent “coming soon” stub in favor of the real pi driver.

Runtime contracts accept pi.rpc.* raw event sources for future RPC streaming, with tests for decode defaults and event validation. No server runtime in this PR—model picker availability stays unchanged until a follow-up.

Reviewed by Cursor Bugbot for commit ef3d662. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add Pi provider settings and runtime support

  • Adds a PiSettings schema to settings.ts with binaryPath (default 'pi'), enabled (default false), and customModels fields; integrates into ServerSettings and ServerSettingsPatch.
  • Registers Pi as an active, configurable provider in the settings UI via providerDriverMeta.ts with an 'Early Access' badge, replacing its previous 'Coming soon' entry.
  • Extends RuntimeEventRawSource in providerRuntime.ts to accept pi.rpc.* raw event sources.
  • Adds PI_DRIVER_KIND constant and 'Pi' display name to model.ts.

Macroscope summarized ef3d662.

- Introduced PiSettings schema for configuration.
- Added Pi driver kind and associated metadata.
- Updated server settings to include Pi provider.
- Implemented tests for Pi settings and runtime event handling.
- Enhanced UI components to support Pi provider integration.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 25, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1661a3cd-c5e7-4bcb-90d3-ad2d17ca5bfe

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 25, 2026
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 25, 2026

Approvability

Verdict: Needs human review

This PR introduces a new Pi provider integration, adding new user-facing capability across settings, runtime events, and UI components. New feature additions that enable new provider integrations warrant human review, especially from a first-time contributor.

You can customize Macroscope's approvability policy. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant