文件最后提交记录最后更新时间
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(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 天前
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(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 天前