Repository navigation
Conversation
This was referenced Sep 26, 2026
saphid
force-pushed
the
pr/03-web
branch
3 times, most recently
from
October 1, 2026 21:26
987c4eb to
d68e899
Compare
Add @t3tools/extension-sdk (authoring API, versioned API catalogue, React surface adapter, t3-extension build|check CLI) and @t3tools/extension-runtime (install, discovery, worker host, capability-scoped API and stream broker), plus the wire contracts in @t3tools/contracts. No app loads extensions yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The server installs extension packages under T3 home, runs their server entry in the extension worker, and serves them over the authenticated environment HTTP API with the same session and pairing checks as native RPC. Host implementations cover the public workspace, terminal, VCS, PR, browser, resource-lease, composer, orchestration, provider-status and UI client APIs. The extensions HTTP group and the new WebSocket methods join @t3tools/contracts here, next to their handlers. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Web and desktop load trusted extension packages through the authenticated extensions API. Settings > Integrations > Environment extensions manages them, and the thread header Extensions menu opens their views in the side panel or bottom dock. The six built-in panels mount through the same surface contract via native bridges with unchanged behavior. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Member
|
Thanks for working on this. We merged the orchestrator V2 rewrite in #2829, and we are closing this PR as part of that transition. This extension layer includes the pre-V2 extension host dependency. EnvironmentExtensions and agentSessionsApi depend on deleted ProjectionSnapshotQuery, OrchestrationEngineService and ProviderSessionDirectory; provider credential wiring modifies deleted ProviderService. Rebuild the host on V2 and recreate this dependent layer. Sorry for the extra work this creates. If the change is still needed on V2, please rebuild it on current main, verify it there, and open a new PR linking back here. We're closing the current implementation without assuming the underlying request is resolved. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Installed packages need a real client surface and a discoverable entry point. Web and Electron now open registered surfaces from the thread header and manage packages and grants in Settings.
Views retain state through hide/show and reconnect, mount in side panels or bottom docks, and use host menus, tooltips, editors and composer bridges. Native fallback remains available. Reviewer pickers preserve team candidates, and tooltip triggers follow host semantics. Native and extension checkout handoffs show the provider’s actionable login detail without internal prefixes. Long checkout guidance can be expanded in its toast, and typed extension-operation errors survive HTTP and connection handling. The titlebar reserves measured controls space once; hidden terminal docks release histories and active archived threads keep their dock.
Review
Depends on #13821. Review this layer’s last commit; the comparison against main includes its dependencies.
Verification
The table retains this layer’s fresh first-run results. Only checks matching the documented local server port collision or the combined-patch-limit flake receive one rerun; for a full-suite failure, the rerun covers only its failed test file. Unresolved failures remain visible.
The Default host Diff renderer uses native parsed-path resolvers, preserving real a/ and b/ directories and decoded rename paths. The regression fails before the fix and passes afterward. The host regression belongs to Web; the pack-dependent path-identity tests and fixture belong to Diff.
The main merge preserves both agent-download handling and remote preview ownership. Its omission regression fails before resolution and passes afterward; the complete preview suite, desktop typecheck, lint and format passed.
The final integrated extension rebuild and bundle-freshness check passed. Generated bundles are excluded from the review layers and built from source there.
Earlier integration testing used real web and Electron desktop clients and real GitHub workflows. Desktop testing verified Browser menus, picture-in-picture and pressed-state styling; web testing verified Diff gap expansion, folding/reveal and Open/Copy actions for all four path cases, the Version Control workflow and Files remote editor routing. Agents testing verified launch, script viewing and opening a seeded session. This evidence covers the integrated implementation; these individual PR branches have not had a fresh real-client pass.
Testing against local Forgejo verified both native and extension reviewer pickers in the web client: candidates appeared once without repeated listing, user and team assignment/removal succeeded through the picker, and disabled-state reasons appeared on hover and keyboard focus. The later GitLab web-client proof covers authenticated separate-worktree fork checkout, configured API ports, host-qualified lookup, token isolation, and visible login guidance in both native and extension checkout handoffs. No new real-client pass was run for these individual PR branches. Mobile extension support remains follow-up work.
Current parity assessment: 182 PARITY / 0 SHIPPED-UNVERIFIED / 0 GAP / 2 DEFERRED of 184 scored rows, plus one N/A.
GPT-6.1 Sol via T3 Code