refactor(contracts): keep RPC implementation exports private - #10168
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
ApprovabilityA prior Macroscope approval was dismissed. Re-evaluating 38c1d41… No code changes detected at |
1427661 to
cebd3fb
Compare
cebd3fb to
5ae3d22
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
5ae3d22 to
5dd4e97
Compare
5dd4e97 to
38c1d41
Compare
Dismissing prior approval to re-evaluate 38c1d41
38c1d41 to
e36f20d
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
Five conflicts, resolved as follows: - contracts/rpc.ts: adopted upstream's pingdotgg#10168 convention (RPC implementation exports private) for the two fork subscription RPCs; they are only used by the aggregation group in this file. - client-runtime/state/runtime.ts: upstream rewrote the query body inline with Atom.swr/makeRefreshOnSignal, so only one construction path could survive. Took upstream's body and bridged the fork's `invalidate` stream onto it via createStreamRevisionAtom, so both option shapes drive one trigger path and projectCommands.ts is unchanged. - server/WorkspaceFileSystem.ts: git interleaved both refactors of the same readFile body into an incoherent splice, so the file was rebuilt from upstream's version with the fork's realPathWithinRoot helper and watchFile re-applied. Reads follow upstream pingdotgg#9140 and may target absolute host paths; watches stay contained to the real workspace root. - web/ChatComposer.tsx: kept the required footerCompact prop, took upstream's resting-composer compact expression and its contextWindowMeterEnabled gate. - web/ContextWindowMeter.logic.test.ts: took upstream's rename to hasAvailableCompactionProvider; the old fork name was imported but unused. Verified: typecheck clean on contracts, client-runtime, t3, web; tests green for client-runtime/state (415), server/workspace (79), web/components/chat (665).
Individual WebSocket RPC definitions are consumed through the assembled RPC group, not as separate package exports.
Keep those RPC implementation values and the runtime tool-lifecycle constant private. Preserve all Effect schemas, schema aliases, and exported types. This PR no longer rewrites schema aliases or their consumers.
Verification: contracts and consumer typechecks pass, existing contracts tests pass, and the integrated Knip gate passes. No existing tests were changed or removed.
Follows #10167.
Note
Keep RPC implementation exports private in
contractsConverts all exported RPC definition constants in rpc.ts and the
TOOL_LIFECYCLE_ITEM_TYPESconstant in providerRuntime.ts to module-private. Schema fields and behavior are unchanged; severalRpc.makecalls were reformatted to a compact layout.Macroscope summarized e36f20d.
Model: gpt-6 astra. Harness: Codex in T3 Code.