feat(server): add optional sessionId and cwd to ServerOptions/ServerResult#751
Open
buihongduc132 wants to merge 1 commit into
Open
feat(server): add optional sessionId and cwd to ServerOptions/ServerResult#751buihongduc132 wants to merge 1 commit into
buihongduc132 wants to merge 1 commit into
Conversation
…esult Adds two optional fields that enable future session isolation without breaking any existing callers: - sessionId: optional string, auto-generates UUID if omitted - cwd: optional string, defaults to process.cwd() Both fields appear on the returned ServerResult so callers can reference the session and working directory after server startup. This is a foundation for: - Concurrent sessions with isolated storage and decisions - Draft scoping per session - Remote client session management Zero behavior change for existing callers.
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.
What
Two new optional fields on
ServerOptionsthat get passed through toServerResult:sessionId— optional string, auto-generates a UUID if omittedcwd— optional string, defaults toprocess.cwd()Why
I'm building a Pi coding agent extension that runs plannotator as a long-lived server with multiple concurrent sessions. Right now there's no way to identify which session a server belongs to, or what working directory it was started from.
These two fields are the foundation for session isolation without changing any existing behavior. Down the line they enable:
Changes
ServerOptions(input)ServerResult(output)Testing
4 tests covering:
Backwards Compatibility
100% — both fields are optional on input, and adding non-optional fields to the output interface is safe since the interface was already being constructed internally.