Repository navigation
Sync upstream 337c5858c3 into coder-only (two stages) - #307
Merged
Merged
Conversation
…arent's turn (pingdotgg#29752) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…and longer fences (pingdotgg#29755) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#26495) Co-authored-by: maria-rcks <maria@kuuro.net>
…ts or subagents (pingdotgg#29917) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… without raw provider text (pingdotgg#29877) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#29905) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ect under diff.relative (pingdotgg#29879) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…in a subagent or side chat (pingdotgg#29891) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#29912) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#28684) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…squash-merged (pingdotgg#29919) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ointed parent run (pingdotgg#25662) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#29721) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#29580) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
… the project folder (pingdotgg#29908) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Maria <maria-rcks@users.noreply.github.com>
…ngdotgg#29962) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#29911) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…oading it (pingdotgg#29893) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#29902) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…oved or steered (pingdotgg#29904) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… it inherited (pingdotgg#29794) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…r hosts' tokens (pingdotgg#29554) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…0421) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Elliot Drel <elliotdrel@gmail.com>
…gg#28928) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#30704) Co-authored-by: Maxime Cathala <84846651+mcathala@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…onnection in a loop (pingdotgg#23758) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
… it (pingdotgg#24946) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…7935) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…otgg#26464) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Albert Li <albertli_042@hotmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…wake (pingdotgg#28204) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…29838) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#25341) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…ironment disconnects (pingdotgg#31269) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#31218) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#29639) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…ve Error (pingdotgg#31216) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#31266) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#31277) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…gdotgg#31317) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Stage 1 of the 47f2c8d..337c585 sync: 327 upstream commits up to "chore(release): prepare v0.1.7", including the Effect 4.0.5 -> 4.1.2 upgrade (pingdotgg#26833). Carried: Effect 4.1.2 (catalog, @effect/vitest 4.1.2 patch as upstream renamed it; Crypto -> effect/crypto SecureRandom/Digest in fork modules, NodeCrypto.layer in coderServer.ts and fork-only tests), Claude models reported by Claude Code (pingdotgg#30511), the Claude Agent SDK type pin 0.3.284, copy-thread links (pingdotgg#26290, web; the new /threads route), and the generic server, web, client-runtime, shared, Pi, Claude, Codex, ACP and GitLab fixes. pingdotgg#28910's session title reaches the CLI transport's initialize request. Cut: GitHub star prompts (pingdotgg#29922, pingdotgg#29987; sourceControl.star is not served), secret-provider readers (pingdotgg#27756, pingdotgg#27760, pingdotgg#27763; the helper passes a constant settings client), managed policy (pingdotgg#29862, pingdotgg#29911, pingdotgg#29915), Kiro (pingdotgg#14693, pingdotgg#29841: package, registration, fixtures, docs; shared provider-acp code stays upstream's), telemetry and analytics export (pingdotgg#30033, pingdotgg#29786, pingdotgg#29348), mobile, desktop, relay, T3 Connect and other providers and hosts, agent preview recordings (pingdotgg#29853), and the terminal-link metadata check (pingdotgg#30526; fork terminal links never open). Resolution: the .repos reference-repo sync (pingdotgg#30472, pingdotgg#30481) and every other modify/delete under a deleted path was resolved by sync-resolve-deleted.mjs (which now feeds git rm on stdin); 60 newly conflicting cut files joined DELETED_PATHS. Manifests and the lockfile were rebuilt from ours; ws@8.22.1 was pinned back to upstream's 8.22.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stage 2 of the 47f2c8d..337c585 sync: 50 upstream commits after bb4afa5. Carried: @effect/tsgo typechecks (pingdotgg#31028) as upstream has them (the @effect/tsgo devDependency, no `typescript` catalog entry, its minimumReleaseAgeExclude entries, `.vscode/tsdk/tsgo`, and `effect-tsgo tsrs` typecheck scripts, also for the fork's packages and root typecheck:* scripts); `typescript-legacy` stays for knip's preprocessor. The Effect refactors pingdotgg#31216, pingdotgg#31217, pingdotgg#31218 and effect/jose and effect/crypto (pingdotgg#30474, pingdotgg#30501, pingdotgg#30523; auth/PayloadSigner and assets/AssetSigner are carried for the signed asset URLs), request_secret instead of chat (pingdotgg#30257), MCP Apps from Claude tool calls (pingdotgg#29803), ghq-style clone folders (pingdotgg#24904), the Claude Agent SDK type pin 0.3.316, thread titles RPC (pingdotgg#29000), PR description checkbox saves (pingdotgg#30704), and the generic fixes. Upstream's strictPeerDependencies is carried; @effect/platform-node's unused redis peer joins ignoreMissing. Effect-rule diagnostics the switch surfaced: upstream files carry no new suppressions (seam lines are rewritten in upstream's style); fork-only files take the mechanical fixes (Schema.TaggedError, typed Effect.try, HostProcess.Environment, Effect.fn) and keep per-line or per-file suppressions with reasons where a fix would change behaviour or touch the gateway's HTTP, spawn, and termination code. Cut: relay and T3 Connect signing (pingdotgg#30529, pingdotgg#30540, cloud environment keys and cloud link state), mobile, devices, Claude accounts (pingdotgg#28928), managed Codex sharing notices (pingdotgg#25341), socket frame parts on the HTTP route (pingdotgg#23758, the helper speaks stdio), metrics, and the other surfaces cut in stage 1. 22 newly conflicting cut files joined DELETED_PATHS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#29803 renders MCP Apps from Claude tool calls through Query's mcpServerStatus and readMcpResource and the SDK's private request (for mcp_call and list_permission_rules). The workspace CLI transport now sends those as control requests with the SDK 0.3.316 wire shapes; any other raw request is refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seams doc: new seams and cuts from both stages (thread links on the gateway origin, secret-provider and policy follow-ups, Kiro's dormant provider-acp hooks, PayloadSigner/AssetSigner, the typecheck setup under @effect/tsgo, MCP Apps transport, test adaptations), and the review sourceKind seam dropped now that upstream has it. sync-check's unused-locals runs effect-tsgo tsrs; SYNC_BASE is 337c585. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntation .vscode/tsdk/tsgo is an extension-less shell script for an editor setup the fork does not carry, and the work download scanner rejects tracked shell scripts. ProviderSessionManager's release block keeps upstream's Effect.gen shape with one effectFnOpportunity suppression instead of an 80-line re-indent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Review follow-up (c478417):
Reverified on c478417: format check, all 11 typechecks, knip:check, seams-check, 🤖 Generated with Claude Code |
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.
Syncs upstream
pingdotgg/t3codemainintocoder-onlyin two stages, as two merge commits plus two adaptation commits.Range
47f2c8d29e. Base:origin/coder-onlyadf176d93e.bb4afa5425("chore(release): prepare v0.1.7"), 327 commits, including the Effect 4.0.5 → 4.1.2 upgrade (chore(deps): upgrade Effect to 4.1.2 and alchemy to beta.85 pingdotgg/t3code#26833). Merge commit94085d96f0.337c5858c3, 50 more commits. Merge commitcaee27a8c4.69820f4b12: Claude CLI transport for MCP Apps.7d03f6b9d5: seams doc, sync tooling, andSYNC_BASEset to337c5858c3..repos/reference-repo sync (chore(repos): sync reference repos from shallow clones pingdotgg/t3code#30472, chore(repos): sync Effect 4.1.2 and Alchemy beta.85, rename effect-smol pingdotgg/t3code#30481) resolved as deleted paths: about 19,800 modify/delete conflicts plus about 2,950 added files.sync-resolve-deleted.mjsnow uses a large output buffer and passes paths togit rmon stdin, because the argument list was too long. 82 cut files that upstream modified after their cut joinedDELETED_PATHS.Cut
sourceControl.staris not served, and the source-control-core driver has nostarRepository.coderSecretResolver.tsstand-in stays, andsecretReferencesis not advertised. The helper passes a constantsettingsClient(secretReferences: true), because it has no WebSocket query to read upstream'sclientCapabilitiesfrom.resolveRuntimeModeOptionstakes no policy.provider-acpcode stays upstream's; see open questions.Carried
@effect/vitest@4.1.2patch is taken.Cryptomoved toeffect/crypto(SecureRandom/Digest), andNodeCrypto.layeris provided incoderServer.tsand the fork-only tests.ws@8.22.1is pinned back to upstream's 8.22.0.@effect/tsgo, as upstream has it. This follows your decision change. The details:@effect/tsgo0.67.1 devDependency;typescriptcatalog entry or root devDependency, so the fork'stypescript: 7.0.2pin is gone;minimumReleaseAgeExcludeentries;.vscode/tsdk/tsgo;effect-tsgo tsrs --noEmittypecheck scripts, also in the fork's packages and the roottypecheck:*scripts (the names are unchanged, soAGENTS.mdneeds no edit);tsconfig.effect.json).typescript-legacystays in the root devDependencies, because knip'sscripts/knip-schemas.tspreprocessor needs the JavaScript compiler API. Upstream keeps the same alias in its uncarriedscripts/package.json.auth/PayloadSigner.tsandassets/AssetSigner.tsare kept, because the carried signed asset URLs use them.request_secretinstead of chat (feat(server): agents ask for secrets through request_secret instead of chat pingdotgg/t3code#30257), Claude models reported by Claude Code (feat(server): list Claude models reported by Claude Code pingdotgg/t3code#30511), ghq-style clone folders (feat: optionally clone repos into ghq-style <host>/<owner>/<repo> folders pingdotgg/t3code#24904), and copy-thread links (feat(server,web,mobile,desktop): Copy thread copies a link that opens the thread pingdotgg/t3code#26290, web part) with the new/threads/$environmentId/$threadIdroute. Links use the gateway's own origin, and upstream's hosted links still parse.mcpAppsrendering path, so no remote content loads in the browser.ClaudeCli.tsnow sends:mcp_status;mcp_read_resource;mcp_callandlist_permission_rulescontrol requests, with SDK 0.3.316 wire shapes; any other raw request is refused.initialize, as the SDK sends it.strictPeerDependencies. The fork installs withautoInstallPeers: false, so@effect/platform-node's unusedredispeer joinsignoreMissing.Effect-rule diagnostics after the tsgo switch
Effect.fn,tryPromise({ try, catch })with aSchema.TaggedError,Schema.is,Clock,SecureRandom,HostProcess.Environment, andEffect.forEach.Schema.TaggedError(FileBridgeToolFailure,PastedImageAttachments,CoderWorkspaceResourceUsageError);Effect.try/Schema.fromJsonString;HostProcess.EnvironmentincoderEnvironment.tsandcoder-helper/helper.ts(which gains a@t3tools/sharedworkspace dependency);Effect.fnacrosscoderWs.ts,coderHub.ts,T3ToolBridge.ts, andT3ToolDispatch.ts(this re-indentscoderWs.ts'smakeHandlers);Effect.orElseSucceed/Effect.ignoreCause/Effect.undefined.nodeBuiltinImportassetProxy,assetProxy.test,bin,connectionShutdown.test; coder-helperbuild; servercoderAssets(1 line),FileBridge.test,T3ToolBridge.test,configMetadata.test,storageCleanup.coder.test(1 line);scripts/build-infoglobalDateassetProxy.test,coderCommands,hub.test,rpcBridge.test,workspaceConnections; servercoderAssets(2 lines),FileBridge; client-runtimeerrors/diagnostics(1 line); coder-clitransfer.testglobalTimersassetProxy.test,hub.test,rpcBridge.test; coder-helperbundle.test; servercoderAssets(1 line),FileBridge.test,FileBridge,ClaudeCli.test(1 line); coder-clihelperConnection.test,helperConnectionextendsNativeErrorconfigChanges,lifecycleState,process,rpcBridge×2; coder-clihelperConnection,portForward,processTermination,transfer(callersinstanceofand render.messageat the HTTP boundary)anyUnknownInErrorContextbin,connectionShutdown.test,portForwards,server,server.test,testUtils/gateway,workspaceConnections; serverT3ToolBridge(1 line)globalErrorInEffectFailurecoderCommands,portForwards,server,workspaceConnectionsunknownInEffectCatchserver,testUtils/gateway,workspaceConnectionsglobalFetchassetProxy.test,connectionShutdown.test(the tests act as the browser)globalJsonInEffectcoderCommands(coderCLI JSON); coder-clihelperConnection(RPC frames)deterministicKeyscoderEnvironment,coderSecretResolver(they keep upstream's service keys)globalErrorInEffectCatchservertryCatchInEffectGenprocessTerminationEntries without "(line)" are file-level directives.
Seams changed (
docs/internals/coder-only.md)threadLinks.ts' localDEFAULT_HOSTED_APP_URL;settingsClientconstant;CodexAdapterV2'scodexUsageLimitResetAtwithoutCodexManagedErrors;provider-acpflavor hooks;maintainerEditsChoiceInForceunexported;supervisor.tswithout fix(client-runtime): connect to the primary environment while the browser reports offline pingdotgg/t3code#29347's offline exemption or learned-route lease;PayloadSigner;resolveRuntimeModeOptionswithout policy;redisignoreMissingentry;sourceKindseam (GitVcsDriverCore and DiffPanel), because upstream now has it (8b44f42 / fix(web): load selected diff metadata before file patches pingdotgg/t3code#30567).GitLabCli"checked against" moved to337c5858c3; the fixes are still absent upstream.Checks
pnpm test:coder: passes on the head (exit 0): gateway/helper/coder-cli node tests 121/121, server 4006 (1 skipped), web unit 1168 and browser 555, client-runtime 1101, shared 3992, providers, source control, and knip.Coder:notes: GitHub/Bitbucket registry rows, the preview-recording id, the secret-request metric count, the offline query store step, the terminal-link metadata case, and the Antigravity runtime-mode case.ClaudeCapabilitiesProbespies on the CLI transport.ThreadServersPanel's browser test mocksuseCoder.effect-tsgo tsrs.pnpm knip:checkpasses, after two upstream exports only cut code uses were added toignoreIssues(PayloadSigner.ts,socketFrameParts.ts).vp fmt --checkover the changed files passes.seams-checkpasses, no.orig/.rejfiles are tracked, andls patchesmatchespatchedDependencies.pnpm build: passes.sync-check:markerschanges are all new seams or the droppedsourceKindseam.lost: 484 lines in stage 1 and 127 in stage 2. All are cut surfaces (Kiro fixtures and registration, peer HTTP links, usage analytics, secret-provider readers, managed policy, preview recordings, the terminal-link check, cloud keys, relay/DPoP, the socket frame route) or existing seams (metrics, Codex managed errors,lastErrorCode, the Claude fork/settings seams, the HTTP routes).both-sides: only the intended seam rewrites remain, plus the removedtimingSafeEqualBase64Urlthat no carried code calls.unused-locals: clean.titleoption and themcpServerStatus/readMcpResource/raw calls are all mapped.engines.nodestays^24.13.1and@types/nodestays on 24.WsSourceControlStarRpcis omitted (cut);WsOrchestrationV2GetThreadTitlesRpcis served.Live smoke
scripts/coder-pr-smoke.mjs(the local helper with the fakeglab): MR list, detail, diff, comment, title update, activity, and a re-read showing the new title all passed over the gateway RPC. The new/threads/…route is served.scripts/coder-live-test.mjsharness on Coder 2.34.5:kilo acpturn found the file-bridge command in its prompt;--listincludedt3_queue, andt3_queuereturned{"items":[],…};t3_attachment_prepare_uploadstored a workspace file;t3_thread_send_attachmentsstarted a new turn with it, and the attachment appears in the thread projection;Open questions
@effect/tsgoships platform-native binaries through optional dependencies:@effect/tsgo-win32-x64on the work laptop, containingtsrs, a patchedtsc, and oxlint artifacts, about 100 MB. Please confirm they run there. The Microsoft TypeScript 7 they replace also installed native@typescript/typescript-win32-x64binaries, but those are Microsoft-signed..vscode/tsdk/tsgois a tracked shell script with no.shextension. The work download scanner keyed on.shfiles last time; this file may still trip it. Upstream's.vscode/settings.jsonandextensions.jsonare not carried, so the script is only useful if you point VS Code at it yourself.provider-acp. I kept upstream's generic flavor hooks (steering, fork from turn,compactSession,cancelAfterPromptStarts,ignoreSessionUpdate,configOptionChanges) andruntimeModel.ts's Kiro tool-name parsing, the same way asmcpOverAcpBridge.ts. Cutting them would add many seams toadapter.ts. Say if you want them cut.t3-thread://chips.coderWs.ts'sEffect.fnandProviderSessionManager's releaseEffect.fnUntraced) grow diffs in files that conflict often.🤖 Generated with Claude Code