| 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 天前 |
| fix(mcp): extract meaningful error text from MCP tool failures
Instead of the generic "returned isError" message, parse the content
array for text blocks and surface the actual error description to the
model.
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 天前 |
| feat(deferred-features): wave 3 — C4 file-history, C5 background tasks, C1 MCP runtime
C4 file-history:
- src/session/filesystem/{types,backupNaming,createBackup,restoreBackup,FileHistoryStore}
- 3-phase commit on edits, mtime-based versioning, snapshot rewind, diff stats,
configurable maxSnapshots eviction, oversize file skip, transcript replay
- editFile/writeFile track edits via ToolRuntimeContext.fileHistory sink
- new fileHistoryDir under chat/<sessionId>/file-history
C5 background task runtime:
- src/task/{protocol/types, storage/TaskOutputStore, runtime/BackgroundTaskRuntime}
- detached child processes, 1MB ring-buffer output store with optional disk spill
- killForAgent / killAll lifecycle, maxTasks cap, incremental getOutput slices
- task_create / task_list / task_output / task_stop builtin tools, opt-in via
createBuiltinRegistry({ backgroundTasks: { runtime } })
C1 MCP runtime:
- src/mcp/{protocol/types, runtime/{sanitize,wireName,truncate,McpRuntime,
PluginToToolBridge}, client/McpClient}
- @modelcontextprotocol/sdk client wrapper: stdio + streamable_http transports,
memoized connect, configurable handshake/call timeouts, LRU listTools cache,
one-shot reconnect on session-expired, M9 unicode sanitization, M10 mcp__id__name
wire format, M11 description truncation, M12 annotation→PolitDeck flag mapping
- bounded connect concurrency (M4), per-server status, per-server instructions
- PluginToToolBridge converts McpToolSpec → PolitDeckToolDefinition with mcp_*
error code propagation
tests:
- 19 new MCP tests (sanitize, wireName, truncate, in-memory client, runtime+bridge)
- file history backup-naming, create/restore-backup, FileHistoryStore, tool-integration
- task output-store, runtime-lifecycle, task-tools
- full suite: 441 tests, 437 pass, 4 skipped, 0 fail
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(deferred-features): wave 3 — C4 file-history, C5 background tasks, C1 MCP runtime
C4 file-history:
- src/session/filesystem/{types,backupNaming,createBackup,restoreBackup,FileHistoryStore}
- 3-phase commit on edits, mtime-based versioning, snapshot rewind, diff stats,
configurable maxSnapshots eviction, oversize file skip, transcript replay
- editFile/writeFile track edits via ToolRuntimeContext.fileHistory sink
- new fileHistoryDir under chat/<sessionId>/file-history
C5 background task runtime:
- src/task/{protocol/types, storage/TaskOutputStore, runtime/BackgroundTaskRuntime}
- detached child processes, 1MB ring-buffer output store with optional disk spill
- killForAgent / killAll lifecycle, maxTasks cap, incremental getOutput slices
- task_create / task_list / task_output / task_stop builtin tools, opt-in via
createBuiltinRegistry({ backgroundTasks: { runtime } })
C1 MCP runtime:
- src/mcp/{protocol/types, runtime/{sanitize,wireName,truncate,McpRuntime,
PluginToToolBridge}, client/McpClient}
- @modelcontextprotocol/sdk client wrapper: stdio + streamable_http transports,
memoized connect, configurable handshake/call timeouts, LRU listTools cache,
one-shot reconnect on session-expired, M9 unicode sanitization, M10 mcp__id__name
wire format, M11 description truncation, M12 annotation→PolitDeck flag mapping
- bounded connect concurrency (M4), per-server status, per-server instructions
- PluginToToolBridge converts McpToolSpec → PolitDeckToolDefinition with mcp_*
error code propagation
tests:
- 19 new MCP tests (sanitize, wireName, truncate, in-memory client, runtime+bridge)
- file history backup-naming, create/restore-backup, FileHistoryStore, tool-integration
- task output-store, runtime-lifecycle, task-tools
- full suite: 441 tests, 437 pass, 4 skipped, 0 fail
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(deferred-features): wave 3 — C4 file-history, C5 background tasks, C1 MCP runtime
C4 file-history:
- src/session/filesystem/{types,backupNaming,createBackup,restoreBackup,FileHistoryStore}
- 3-phase commit on edits, mtime-based versioning, snapshot rewind, diff stats,
configurable maxSnapshots eviction, oversize file skip, transcript replay
- editFile/writeFile track edits via ToolRuntimeContext.fileHistory sink
- new fileHistoryDir under chat/<sessionId>/file-history
C5 background task runtime:
- src/task/{protocol/types, storage/TaskOutputStore, runtime/BackgroundTaskRuntime}
- detached child processes, 1MB ring-buffer output store with optional disk spill
- killForAgent / killAll lifecycle, maxTasks cap, incremental getOutput slices
- task_create / task_list / task_output / task_stop builtin tools, opt-in via
createBuiltinRegistry({ backgroundTasks: { runtime } })
C1 MCP runtime:
- src/mcp/{protocol/types, runtime/{sanitize,wireName,truncate,McpRuntime,
PluginToToolBridge}, client/McpClient}
- @modelcontextprotocol/sdk client wrapper: stdio + streamable_http transports,
memoized connect, configurable handshake/call timeouts, LRU listTools cache,
one-shot reconnect on session-expired, M9 unicode sanitization, M10 mcp__id__name
wire format, M11 description truncation, M12 annotation→PolitDeck flag mapping
- bounded connect concurrency (M4), per-server status, per-server instructions
- PluginToToolBridge converts McpToolSpec → PolitDeckToolDefinition with mcp_*
error code propagation
tests:
- 19 new MCP tests (sanitize, wireName, truncate, in-memory client, runtime+bridge)
- file history backup-naming, create/restore-backup, FileHistoryStore, tool-integration
- task output-store, runtime-lifecycle, task-tools
- full suite: 441 tests, 437 pass, 4 skipped, 0 fail
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |