文件最后提交记录最后更新时间
refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire The old web-driven Always-On path (discovery trigger → auto-poll → web chat execution) raced with the DiscoveryFire pipeline, causing duplicate plan executions. This commit removes the entire legacy path: - Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers DiscoveryFire phases 2-4 (workspace → execution → report) directly - Remove MainContent auto-poll, discovery trigger handler, execution lifecycle tracking, and all associated refs/callbacks/useEffects - Delete queueExecution, updateExecution, buildExecutionPrompt from DiscoveryPlanService and the PATCH execution REST endpoint - Unregister /ao slash command; delete alwaysOnSlashActions.ts - Delete discovery-trigger-client.js and its WS handler in index.js - Delete old web discovery prompt and utility files - Remove approvalMode field from WebPlanRecord, UI types, i18n, tests 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 天前
fix(gateway): replay only pending interactive requests Co-authored-by: Cursor <cursoragent@cursor.com> 14 天前
refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire The old web-driven Always-On path (discovery trigger → auto-poll → web chat execution) raced with the DiscoveryFire pipeline, causing duplicate plan executions. This commit removes the entire legacy path: - Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers DiscoveryFire phases 2-4 (workspace → execution → report) directly - Remove MainContent auto-poll, discovery trigger handler, execution lifecycle tracking, and all associated refs/callbacks/useEffects - Delete queueExecution, updateExecution, buildExecutionPrompt from DiscoveryPlanService and the PATCH execution REST endpoint - Unregister /ao slash command; delete alwaysOnSlashActions.ts - Delete discovery-trigger-client.js and its WS handler in index.js - Delete old web discovery prompt and utility files - Remove approvalMode field from WebPlanRecord, UI types, i18n, tests Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire The old web-driven Always-On path (discovery trigger → auto-poll → web chat execution) raced with the DiscoveryFire pipeline, causing duplicate plan executions. This commit removes the entire legacy path: - Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers DiscoveryFire phases 2-4 (workspace → execution → report) directly - Remove MainContent auto-poll, discovery trigger handler, execution lifecycle tracking, and all associated refs/callbacks/useEffects - Delete queueExecution, updateExecution, buildExecutionPrompt from DiscoveryPlanService and the PATCH execution REST endpoint - Unregister /ao slash command; delete alwaysOnSlashActions.ts - Delete discovery-trigger-client.js and its WS handler in index.js - Delete old web discovery prompt and utility files - Remove approvalMode field from WebPlanRecord, UI types, i18n, tests Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
feat(wiring): wire deferred features into createLocalGateway end-to-end Closes the 16 wiring gaps where features had been implemented but never reached the production code path. Highlights: - R0/R1: extend AgentContextRuntime / AgentRuntimeDependencies / Gateway with applyToolResults, captureTurn, elicitation, fileHistory, and the __testModelFactory injection point. Register structured_output (A3) and ask_user_question (B1) in the default builtin registry. - R2: per-project BackgroundTaskRuntime, EdgeClawMemoryProvider and lazy McpRuntime (with parsePluginMcpServers and tool bridging) are now constructed inside ProjectRuntimeRegistry. - R3: per-session ToolResultBudget, FileHistoryStore, sidechain transcript hooks, TokenBudgetManager / CompactionEngine / AutoCompactionPolicy / CachedMicroCompactionEngine are injected via resumeAgentSession's new extendDependencies hook. - R4: AgentLoop now sets messageId/elicitation/fileHistory on the tool runtime context and calls context.applyToolResults / captureTurn at the right turn boundaries. - R5: bidirectional Gateway elicitation — GatewayElicitationBus + GatewayElicitationChannel, AsyncQueue-based event fan-in in InProcessGateway.submitTurn, respondElicitation on Gateway plus a matching WS frame. - R6: replace the fragile grep-style wiring tests with a real __testModelFactory-driven scenario asserting structured_output / ask_user_question reach the model request, and that respondElicitation cleanly reports unknown requestIds. All 591 tests pass (4 skipped). Co-authored-by: Cursor <cursoragent@cursor.com> 24 天前
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(mcp): per-session browser isolation with lifecycle cleanup Give each agent session its own browser-use MCP process instead of sharing a single instance. This prevents cross-session state leakage (cookies, tabs, navigation history) and ensures clean browser state. Key changes: - browser-use plugin.json: mark as perSession, remove shared user-data-dir - createLocalGateway: split MCP servers into shared vs per-session, manage per-session McpRuntime lifecycle with evictSessionMcp() - SessionRouter: add onSessionEvict callback for idle/close/recreate - Gateway config: add maxPerSessionMcpInstances (default 5) - PromptAssembler: remove redundant tool catalog from system prompt Also fixes a potential process leak where repeated resolve() calls on the same session could orphan Chromium processes. Co-authored-by: Cursor <cursoragent@cursor.com> 17 天前
fix(gateway): replay active turns after refresh Co-authored-by: Cursor <cursoragent@cursor.com> 16 天前