Deprecate CLI standalone experience and adopt full client/server model for this client#2199
Merged
GeorgeNgMsft merged 8 commits intomainfrom Apr 15, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR deprecates the standalone/in-process CLI mode and shifts the CLI to operate exclusively as a thin client over the agent server (WebSocket RPC), including new server management subcommands and updated docs/config.
Changes:
- Removed the standalone interactive CLI command and routed run/explain/translate/replay through
@typeagent/agent-server-client. - Added CLI
server status/server stopcommands and madeconnectthe default CLI command. - Enhanced agent-server client/server support (export
isServerRunning, hidden/visible server spawn option, and startup sweep of orphaned ephemeral CLI sessions) plus documentation updates.
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| ts/packages/cli/src/commands/server/stop.ts | Adds CLI subcommand to request server shutdown via RPC |
| ts/packages/cli/src/commands/server/status.ts | Adds CLI subcommand to check whether server is reachable |
| ts/packages/cli/src/commands/run/translate.ts | Converts translate flow to connect/join session via agent-server |
| ts/packages/cli/src/commands/run/request.ts | Converts request flow to connect/join session via agent-server |
| ts/packages/cli/src/commands/run/explain.ts | Converts explain flow to connect/join session via agent-server |
| ts/packages/cli/src/commands/replay.ts | Replays history via an ephemeral agent-server session, with cleanup |
| ts/packages/cli/src/commands/interactive.ts | Removes in-process interactive mode implementation |
| ts/packages/cli/src/commands/connect.ts | Adds default connected-mode behaviors, --memory, and hidden spawn option |
| ts/packages/cli/package.json | Sets default command to connect, removes unused deps |
| ts/packages/cli/README.md | Updates CLI docs to connected-only model and new commands/flags |
| ts/packages/agentServer/server/src/status.ts | Adds a server status script using isServerRunning |
| ts/packages/agentServer/server/src/sessionManager.ts | Sweeps orphaned ephemeral CLI sessions on startup |
| ts/packages/agentServer/server/package.json | Adds agent-server-stop / agent-server-status bins |
| ts/packages/agentServer/server/README.md | Updates server docs for new stop/status guidance and ensure function name |
| ts/packages/agentServer/client/src/index.ts | Exports isServerRunning from client package |
| ts/packages/agentServer/client/src/agentServerClient.ts | Exports isServerRunning, adds hidden/visible server spawn and hidden plumbing |
| ts/packages/agentServer/client/README.md | Documents ensure/spawn behavior and new exported APIs |
| ts/packages/agentServer/README.md | Updates agent-server architecture docs for new lifecycle/CLI integration |
| ts/docs/architecture/completion.md | Updates CLI integration reference from interactive → connect |
| ts/docs/architecture/agentServerSessions.md | Documents new --hidden, run session targeting, and server commands |
| ts/README.md | Updates top-level docs referencing interactive → connect |
| ts/CLAUDE.md | Updates repo overview to reflect connected-only CLI model |
| ts/.vscode/launch.json | Updates launch configs to use connect instead of interactive |
Files not reviewed (1)
- ts/pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…lly shutdown server
…th instead of just path resolution
…b.com/microsoft/TypeAgent into dev/georgeng/deprecate_cli_standalone
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.
Deprecate standalone CLI experience
This PR removes the standalone (in-process) CLI mode and makes the CLI exclusively a thin client over the agent server via WebSocket RPC. Starting the CLI alone will automatically trigger agent-server startup in a new window (or connect to an existing one if it exists). It also adds server lifecycle management features to make the server-first model ergonomic.
Key changes
Remove standalone interactive command
Improve server spawn behavior (connect command)
Server-side idle shutdown
New CLI server subcommands
Client API improvements