文件最后提交记录最后更新时间
feat(lsp): added diagnostic versioning to suppress stale LSP results - Added LSP diagnostic versioning support to track document versions and suppress stale diagnostics. - Added options parameter to waitForDiagnostics and getDiagnosticsForFile with version filtering capabilities. - Enabled versionSupport in LSP client capabilities to receive diagnostic version information from servers. - Added test coverage for stale diagnostic suppression scenarios in LSP diagnostic freshness. 1 个月前
fix(lsp): shut down servers with exit notification Send the LSP exit notification after a successful shutdown response before falling back to process termination. Add a regression test that fails when a server receives shutdown but not exit.\n\nFixes #1593 1 天前
fix(lsp): supported config-only marketplace servers Loaded marketplace lspServers metadata from Claude plugin caches and embedded it for OMP marketplace installs so config-only plugins register without package code. Fixes #1352 7 天前
fix(coding-agent/lsp): fixed root marker glob detection and marksman warmup timeout - Updated root marker detection to read the directory once and match glob markers against top-level entries, preventing recursive scans when checking project roots. - Adjusted root-marker glob error handling to warn on directory listing failures and treat the marker set as absent when unreadable. - Reduced marksman's configured warmup timeout from 15,000 ms to 2,000 ms in LSP defaults. 17 天前
fix(coding-agent/lsp): accept $-prefixed identifiers; apply documentChanges in declared order - BARE_IDENTIFIER_RE accepts $-prefixed names ($store, $count, RxJS/Svelte/ Angular). Word-boundary check now fires on those names, so searches no longer return the offset inside a compound identifier like bar$store. - applyWorkspaceEdit walks documentChanges in declared order, flushing per-URI text edits immediately before any subsequent resource op for the same URI. Folder rename/delete ops flush every pending URI under the affected subtree. Rename ops also flush pending edits queued against renameOp.newUri (and descendants) before fs.rename runs. - Legacy changes-map-only WorkspaceEdit payloads are unchanged. 6 天前
feat(coding-agent): added coding-agent approval types and mode options - Added ToolTier, ToolApproval, and ToolApprovalDecision types and exported approval APIs. - Updated approval-mode options from auto|prompt|custom to always-ask|write|yolo and defaulted mode to yolo. - Changed approval resolution to apply per-tool decisions first, then mode-tier limits, with legacy-mode migration. - Assigned read/write/exec approval and approval-detail prompts across built-in, custom, extension, and MCP tools. 6 天前
refactor(chunk): restructured language classifiers to declarative rule tables - Migrated language classifiers from imperative methods to declarative semantic rule tables with ClassifierTables and StructuralOverrides. - Extracted node shape analysis into dedicated shape module with field priority constants and helper functions for AST traversal. - Added schema module with language-aware node metadata and thread-local language context management. - Centralized environment variable parsing across codebase using $flag(), $envpos(), and isBunTestRuntime() utilities. - Added PI_CHUNK_AUTOINDENT configuration to control indentation normalization in chunk read/edit operations. - Enhanced system prompt with instruction priority, output contract, tool persistence, and completeness guidelines. 1 个月前
chore: reformat 2 天前
feat(lsp): implemented async LSP server discovery with real-time startup events - Added asynchronous LSP server discovery and warmup at startup via discoverStartupLspServers() function. - Added LSP startup event channel (lsp:startup) for real-time server status notifications during warmup. - Added LspStartupServerInfo type to track LSP server status (connecting, ready, error) throughout lifecycle. - Changed LSP server warmup from blocking synchronous operation to non-blocking background task. - Refactored interactive mode to subscribe to LSP startup events and display real-time server status updates. 1 个月前
refactor(coding-agent)!: removed StringEnum helper and shortened tool schema descriptions - Replaced all StringEnum(...) usages with z.enum([...]) across tools, examples, and tests. - Removed StringEnum re-export from @oh-my-pi/pi-coding-agent public API. - Condensed verbose tool parameter descriptions to minimal lowercase phrases. - Renamed AuthCredentialStore to SqliteAuthCredentialStore at usage sites. 16 天前
fix(coding-agent/lsp): accept $-prefixed identifiers; apply documentChanges in declared order - BARE_IDENTIFIER_RE accepts $-prefixed names ($store, $count, RxJS/Svelte/ Angular). Word-boundary check now fires on those names, so searches no longer return the offset inside a compound identifier like bar$store. - applyWorkspaceEdit walks documentChanges in declared order, flushing per-URI text edits immediately before any subsequent resource op for the same URI. Folder rename/delete ops flush every pending URI under the affected subtree. Rename ops also flush pending edits queued against renameOp.newUri (and descendants) before fs.rename runs. - Legacy changes-map-only WorkspaceEdit payloads are unchanged. 6 天前