| 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 天前 |
| feat(plan): pass planTitle/planSummary as structured data from backend to plan card
Extract plan title and summary on the backend (planMode.ts) and thread
them through the gateway event, bridge, and useChatMessages into the
PlanApprovedCard component, replacing the previous approach of parsing
truncated resultPreview text on the frontend.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 7 天前 |
| 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 天前 |
| 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 天前 |
| feat(tool): align edit_file/read_file with robust edit design
- Partial reads now register write snapshots, allowing edits after
ranged read_file calls instead of requiring a full read
- Layered stale check: full-read snapshots fall back to content hash
comparison; partial-read snapshots reject on mtime change directly
- Persist writeSnapshots and readFileState across session recreation
via AgentLoop.snapshotFileState → TurnRunner → AgentSession →
createLocalGateway.recreateSession seedState pipeline
- Two-level old_string matching: exact match first, then curly-quote
normalized match via new editNormalization.ts module
- Pre-process new_string: strip trailing whitespace (except markdown)
- Improved error messages: echo old_string on not-found, show match
count on ambiguous matches
- Tool descriptions now explicitly state read-before-write constraint
and character-exact old_string requirement
- Updated and added tests covering all new behavior (30 tests pass)
Co-authored-by: Cursor <cursoragent@cursor.com>
| 8 天前 |
| fix(always-on): exclude interactive tools from unattended agent sessions
Always-On phases run with canPrompt:false but still exposed
enter_plan_mode, exit_plan_mode, and ask_user_question to the model.
These tools either block (waiting for elicitation with no listener) or
counterproductively switch into plan mode. Filter them out at session
creation time via a new SessionConfigOverride.excludeTools field.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 13 天前 |
| feat(tool): add ConcurrentToolScheduler for parallel tool execution
Introduces ConcurrentToolScheduler that runs concurrency-safe tools in
parallel (via Promise.all) and serializes the rest. Replaces the default
SequentialToolScheduler in both main and sub-agent sessions.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 20 天前 |
| fix(context): prevent multimodal content from accumulating in context
Separate PDF binary data from tool_result into supplementalMessages,
enforce a 10-page limit for PDFs without explicit pages parameter,
remove image duplication in projectToolResults, add COMPACTABLE_TOOLS
filtering to MicroCompactionEngine with proper multimodal size
estimation, and strip multimedia before full compaction summarization.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 10 天前 |