文件最后提交记录最后更新时间
refactor(coding-agent): removed async model registry factory and migration warmup path - Removed ModelRegistry.create and updated construction sites to use new ModelRegistry directly. - Dropped the async ConfigFile migration warmup path and switched migration handling to the unified #ensureMigrated logic used by relocate and load flows. - Adjusted model registry tests to instantiate ModelRegistry through the constructor. 1 天前
fix(coding-agent,ai): file-lock race + render-utils sanitization + google named-tool routing F1 (coding-agent): close the withFileLock mkdir-vs-writeLockInfo race that let a losing contender wipe the winner's freshly-created lock directory. Every lock now carries a per-process UUID token; releaseLock verifies the token before fs.rm, and isLockStale no longer treats an info-less but fresh dir (or a dir that vanished mid-check) as stale. F4 (coding-agent): sanitize tabs and truncate oversized error strings in formatErrorMessage so error renderings that embed file content (apply_patch, hashline, etc.) cannot break terminal alignment or overflow the line width. F7 (ai): support named-tool routing on Google providers. Widens GoogleSharedStreamOptions.toolChoice and GoogleGeminiCliOptions.toolChoice to accept { mode: 'ANY'; allowedFunctionNames }. mapGoogleToolChoice now converts ToolChoice { type: 'tool'|'function', name } to the wire shape (mirroring mapAnthropicToolChoice). buildGoogleGenerateContentParams and the gemini-cli request serializer honor the allow-list. 1 天前
feat(coding-agent): migrated keybindings config to YAML with JSON migration - Changed canonical config path from keybindings.json to keybindings.yml. - Added automatic migration of legacy JSON to YAML on first load. - Retained read support for keybindings.yaml without promoting it to canonical. - Added tests for yml, yaml, and JSON migration scenarios. 1 天前
Allow disabling MCP client timeouts 6 天前
feat(mnemosyne): added session-scoped visibility, graph tools, and safety hardening - Filtered recall, fact, vector, temporal, and polyphonic voices to session-owned or explicitly global memories. - Implemented graph_query and graph_link MCP tool handlers via EpisodicGraph; wired annotations and graph into Mnemosyne's external-db path. - Fixed restore to stage and integrity-check before replacing the live database, rolling back on failure. - Deduped generateId with a per-process nonce to prevent batch duplicate-content collisions. 2 天前
feat(memory): added Mnemosyne local SQLite memory backend - Introduced @oh-my-pi/pi-mnemosyne workspace package with BeamMemory, recall/retain, FTS, and optional fastembed ONNX embeddings. - Wired memory.backend = "mnemosyne" into the coding-agent settings schema and backend resolver. - Added MnemosyneSessionState for per-session auto-recall on first turn and auto-retain after completed turns. - Documented configuration, environment variables, and operational notes in docs/mnemosyne-memory-backend.md. 2 天前
refactor(coding-agent): removed async model registry factory and migration warmup path - Removed ModelRegistry.create and updated construction sites to use new ModelRegistry directly. - Dropped the async ConfigFile migration warmup path and switched migration handling to the unified #ensureMigrated logic used by relocate and load flows. - Adjusted model registry tests to instantiate ModelRegistry through the constructor. 1 天前
refactor(coding-agent): replaced console.warn with logger.warn calls - Migrated warning output from raw console.warn+chalk to the shared logger utility. - Removed unused chalk import as a result. 15 天前
feat(model-registry): added proxy discovery type for mixed Anthropic/OpenAI proxies - Added discovery.type: proxy that hits GET /v1/models and routes each model via supported_endpoint_types (anthropic/v1/messages, openai/v1/chat/completions). - Made provider-level api optional when discovery.type is proxy, since wire protocol is derived per-model. - Increased discovery fetch timeout from 250ms to 10s to accommodate remote proxies. - Documented proxy discovery configuration in docs/models.md. 2 天前
refactor(coding-agent)!: removed href/hline helpers and fixed blank-line payload semantics - Removed href, hrefr, and hline Handlebars helpers along with shared hashline anchor state; unused by any template. - Changed blank lines between ops from silent separators to literal payload lines appended to the open op. - Added overlapping-delete validation to reject before/after-block patch patterns. - Simplified hashline prompt doc, removing template-helper examples and tightening rules. 5 天前
refactor(natives): migrated native bindings to NAPI-RS with auto-generated types - Migrated native bindings from TypeScript wrappers to NAPI-RS generated modules with auto-generated type definitions and runtime enums. - Replaced chunk tree API with stateful ChunkState class supporting render, edit, and resolve operations with improved error handling. - Converted callback signatures to error-first pattern (error, result) for shell, PTY, glob, and grep operations. - Introduced type-safe enums for MacOSAppearance, GrepOutputMode, KeyEventType, ImageFormat, and AstMatchStrictness replacing string literals. - Refactored chunk tree implementation with dedicated modules for edit, indent, resolve, and state management with comprehensive validation. - Moved clipboard utilities from native bindings to coding-agent package with improved OSC 52 and Termux compatibility. 1 个月前
refactor(shake): removed shake-summary mode and local-model compressor - Dropped summarizeShakeRegions, the shake-summary prompt, and related types. - Removed shake-summary compaction strategy and providers.shakeSummaryModel setting. - Migrated existing shake-summary configs to plain shake on load. - Simplified /shake to elide and images modes only. 1 天前
refactor(shake): removed shake-summary mode and local-model compressor - Dropped summarizeShakeRegions, the shake-summary prompt, and related types. - Removed shake-summary compaction strategy and providers.shakeSummaryModel setting. - Migrated existing shake-summary configs to plain shake on load. - Simplified /shake to elide and images modes only. 1 天前