feat(plugins): allow daemon API opt-out - #4151
Closed
IEatCodeDaily wants to merge 1 commit into
Closed
Conversation
Let RPC-only plugins skip their internal daemon session and defer loading the client SDK. Existing manifests keep the current behavior by default. Authored-by: Zephyr (AI Assistant) <raisalpwardana+zephyr@gmail.com>
IEatCodeDaily
force-pushed
the
feat/plugin-daemon-api-opt-out
branch
from
September 1, 2026 09:42
5a53aed to
3877e2a
Compare
10 tasks
Collaborator
|
Thanks for the report and the memory measurements. Closing this in favor of #4470, which makes the client advertise its supported protocol optimizations by default and keeps timeline and catalog traffic subscription-driven. We prefer to make the default connection lean rather than add a daemonApi manifest flag. #4470 is still under validation and has not merged. The separate SDK import-memory cost remains outside its scope. |
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.
Summary
daemonApiplugin manifest flag, defaulting totrue@getpaseo/clientwhendaemonApiisfalsepaseofails explicitly when opted outMotivation
Every plugin worker currently creates a full
DaemonClientsession even when its server handlers never usecontext.paseo. That makes RPC-only plugins receive the daemon's global agent stream and retain the full client-side session state.This showed up under active agent traffic as unrelated RPC-only workers growing together from roughly 186 MiB RSS each to more than 700 MiB. A three-run production-build probe against the emitted
plugin-process.jsmeasured an idle worker at:daemonApi: truedaemonApi: falseThat is a 103.5 MiB (63.6%) baseline reduction before accounting for the avoided stream growth.
The opt-out is explicit so existing manifests and plugins using the server-side
PaseoApiretain current behavior.Test plan
npx vitest run packages/server/src/server/plugins/runtime.posix.test.ts --bail=1— 23 passednpx vitest run packages/server/src/server/plugins/plugin-paseo-api.e2e.test.ts --bail=1— 2 passednpm run build:servernpm run lint, formatting checks, and typechecks for all workspaces