Add configurable Paseo Agent provider#1610
Conversation
|
| Filename | Overview |
|---|---|
| packages/server/src/server/agent/providers/paseo-agent/agent.ts | New PaseoAgentClient and PaseoAgentSession classes; clean Pi-seam integration with proper session lifecycle, MCP bridging, and event mapping. |
| packages/protocol/src/messages.ts | Adds four Paseo Agent config RPC schemas; RedactedPaseoAgentProviderConfigSchema inlines the provider-type enum instead of reusing PaseoAgentProviderTypeSchema; COMPAT version v0.1.85 is lower than the existing worktreeRestore gate at v0.1.97. |
| packages/server/src/server/websocket-server.ts | Adds paseoAgentConfig feature gate and redactPaseoAgentConfigSecrets helper; COMPAT version v0.1.85 is lower than the existing worktreeRestore gate at v0.1.97. |
| packages/server/src/server/session.ts | Wires four Paseo Agent config RPC handlers; uses ??= for singleton config service per session. |
| packages/cli/src/commands/login/index.ts | New paseo login chatgpt command; browser-first flow sends credential to daemon; device-code is local-only with explicit mutual-exclusion check against --host. |
| packages/app/e2e/paseo-agent-provider-config.spec.ts | Clean E2E spec with intent-level helpers; uses daemon API for state seeding; cleanup runs afterEach with proper set tracking. |
Reviews (7): Last reviewed commit: "Open Paseo Agent E2E provider settings" | Re-trigger Greptile
|
Review follow-up:
Leaving the broader config-store and websocket-redaction architecture notes as-is in this PR: the config store strips the secret-bearing |
Linked issue
N/A
Type of change
What does this PR do
Adds Paseo Agent as a first-class provider that runs through Paseo-owned daemon config instead of another tool's global state.
The PR wires the provider into the daemon, app provider settings, CLI login/provider commands, protocol messages, config persistence, prompt-profile loading, MCP tool bridging, OAuth credential storage, docs, and focused unit/E2E coverage.
How did you verify it
npm installnpm run build:clientnpm run typechecknpm run formatnpm run lintExtra review/smoke needed: this touches Expo UI for the Paseo Agent settings sheet, but I did not capture screenshots or video in this pass. Please smoke the settings sheet on the affected app surfaces before merge.
Risk surface: provider execution, credential storage, and config persistence all meet at the daemon boundary. The protocol uses a feature gate for the new config RPCs, so old hosts should continue to reject the new UI/CLI path cleanly instead of attempting a degraded fallback.
Checklist
npm run typecheckpassesnpm run lintpassesnpm run formatran (Biome)