| fix(gateway): harden MCP timeout recovery, soften router config, expand web_search
- mcp: on -32001 Request timed out, recycle the stdio transport so the
next call respawns the subprocess. Stops @playwright/mcp-style
wedges where the server-side page.goto keeps running and every
follow-up call from the same session also times out.
- router: stop treating a partial router: block from the UI as fatal.
parseRouterConfig now keeps the rest of the config when scenarios
is absent; ensureRouterConfig fills scenarios.default from
agent.model so RouterRuntime always sees a valid map.
- web_search: route tools.webSearch.{apiKey,endpoint} from yaml into
the builtin tool; add hostname-based auth-mode auto-detection so
*.serp.hk / *.serp.global endpoints use POST + Bearer (their
current API shape) while SerpAPI keeps the legacy GET ?api_key=.
- ui/server: add POST /api/config/test-web-search mirroring the same
dialect rules so the Settings → Search Test button probes the exact
shape the agent tool will use.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 18 天前 |
| feat(mcp): per-session browser profile isolation
Inject a unique --user-data-dir temp directory per MCP stdio spawn when
perSession is enabled, so concurrent sessions get isolated browser
profiles. The temp directory is cleaned up on client close.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 19 天前 |
| chore(branding): complete cleanup of legacy CloudCLI/Claude Code references
- CLOUDCLI_DISABLE_LOCAL_AUTH → PILOTDECK_DISABLE_LOCAL_AUTH
- CLOUDCLI_CRON_DAEMON_* → PILOTDECK_CRON_DAEMON_*
- CLOUDCLI_GITHUB_STARS → PILOTDECK_GITHUB_STARS
- ~/.claude-code-ui/plugins/ → ~/.pilotdeck/plugins/
- claudecodeui-server → pilotdeck-server
- edgeClawConfig i18n key → pilotDeckConfig (248 refs in TSX + settings.json)
- claude-code-main source provenance comments → generic descriptions
- CloudCLI user-facing strings → PilotDeck
- DEFAULT_PROVIDER_FALLBACK "edgeclaw" → "pilotdeck"
- .claude/ config home → .pilotdeck/ in cron daemon services
Co-authored-by: Cursor <cursoragent@cursor.com>
| 9 天前 |
| refactor: rename Polit/PolitDeck to Pilot/PilotDeck across entire codebase
Automated global rename covering all case variants:
- PolitDeck → PilotDeck, politdeck → pilotdeck, POLITDECK → PILOTDECK
- Polit → Pilot, polit → pilot, POLIT → PILOT, politDeck → pilotDeck
Includes:
- 648 content replacements across 200+ source files
- 24 file renames + 3 directory renames (src/polit→pilot, tests/polit→pilot, docs/polit-config→pilot-config)
- package.json name, bin, env vars updated
- package-lock.json regenerated
- "Politely" in server-manager.ts preserved via placeholder mechanism
- All 587 unit tests pass, tsc --noEmit clean
- E2E tests verified against real OpenRouter API (model, tool-use, context, lifecycle hooks)
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |