文件最后提交记录最后更新时间
Fix review custom instructions submission 7 天前
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 天前
fix(coding-agent): process @file before session creation; drop built-in flag-name list Two review fixes for the extension-flag/initial-prompt work: 1. @file ordering — processFileArguments runs process.exit(1) on a missing/unreadable file. It had been moved after createSession, which writes the terminal breadcrumb eagerly (SessionManager.create → #newSessionSync), so omp @missing.md "x" left a junk session/breadcrumb behind before exiting. Resolve extension-registered CLI flags BEFORE creating the session: load the session's extensions up front (new loadSessionExtensions helper, the single source of createAgentSession's discovery-branch logic), build an ExtensionFlagSink straight from the loaded extensions + runtime, re-parse argv, then process @file args — all before any session exists. The loaded result is handed back to createAgentSession via preloadedExtensions (now checked before disableExtensionDiscovery, so it can't double-load) and the same EventBus is shared, so no extra work. This keeps the P1#1 fix (--flag @value is the flag's value, not a file) while failing fast with no session side effects. 2. "Can we avoid the big list of names?" — removed the hand-maintained BUILTIN_FLAG_NAMES set (and its stale "rejected at registration" doc). applyExtensionFlags now always falls back to recovering a flag's value from argv when parseArgs didn't surface it; the recovery scan mirrors parseArgs's consumption rules (flag-looking space-form values stay their own flag) and is a no-op for flags that were absent or already surfaced, so no list of built-in names is needed. Adds ExtensionRunner.aggregateFlags (static) so getFlags and the CLI's pre-session sink share one implementation. Tests: pre-session flag resolution via the exact main.ts sink pattern; list-free recovery of an arbitrary colliding built-in (--model); and the flag-looking-value rule. Verified typecheck + extension/runner/acp suites. 1 天前
Fix review custom instructions submission 7 天前
refactor(mnemosyne/core): typed embedding provider outputs and tightened normalization - Defined EmbeddingRow and EmbeddingOutput in runtime options and exported them from core embeddings. - Updated EmbeddingProvider, MnemosyneEmbeddingProvider, and provider runtime option types to return EmbeddingOutput instead of unknown. - Refactored embedding result normalization to accept typed rows and sync/async batches and coerce them into validated Float32Array vectors. 1 天前
fix(extensibility): redirected legacy pi-ai root imports through Type-compat shim Plannotator-class legacy extensions still import Type from @(scope)/pi-ai (e.g. @earendil-works/pi-ai rewritten to @oh-my-pi/pi-ai). pi-ai 15.1.0 removed the root Type runtime export, so extension load crashed with Export named 'Type' not found even though the @sinclair/typebox Zod-backed shim still ships in the coding agent. Routed bare @oh-my-pi/pi-ai root specifiers — used by both the mirrored-source rewriter and the Bun.plugin onResolve hook — through a new sibling shim that re-exports the canonical pi-ai surface plus the Type runtime from the existing TypeBox shim. Subpath imports such as @oh-my-pi/pi-ai/utils/oauth continue to resolve directly against the bundled pi-ai package. Fixes #1437 5 天前
fix(cli): routed legacy pi-coding-agent imports through a sibling shim Listing the coding-agent's own ./src/index.ts as a bun --compile extra entrypoint silently breaks the CLI binary startup. Added a dedicated legacy-pi-coding-agent-shim.ts that re-exports the canonical barrel, registered the shim instead of the package index, and updated the compat resolver to point pi-coding-agent at the shim path. 3 天前
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 天前
feat(coding-agent): added hidden skill flag for system prompt filtering - Added optional hide metadata to skill capabilities so SKILL.md frontmatter intent is preserved when skills are loaded. - Filtered system prompt skill rendering to exclude hide: true skills from the <skills> listing while keeping them loadable. 18 天前
refactor(prompt-templates): migrated prompt utilities to pi-utils package - Extracted prompt rendering and formatting utilities from coding-agent to centralized pi-utils package with new API surface (prompt.render, prompt.format, prompt.registerHelper). - Migrated parseFrontmatter utility from coding-agent to pi-utils package; updated 8 files to import from @oh-my-pi/pi-utils. - Removed 170-line prompt-format.ts module and consolidated 192 lines of Handlebars helper registrations into pi-utils prompt module. - Updated 60+ files across coding-agent and typescript-edit-benchmark to use new prompt.render() and prompt.format() API from pi-utils. - Simplified prompt-templates.ts by delegating core functionality to pi-utils while retaining custom helper registrations (jtdToTypeScript, jsonStringify, etc.). 1 个月前
refactor(coding-agent/extensibility): extracted tool proxy logic into reusable applyToolProxy utility function - Extracted tool property proxying logic into a new applyToolProxy utility function to reduce duplication across wrapper classes. - Simplified wrapper class implementations by replacing manual property assignments with declarative property forwarding via applyToolProxy. - Converted explicit property declarations to declare statements and lazy getters that delegate to the underlying tool object. - Removed renderCall and renderResult method declarations from wrapper classes, consolidating rendering logic handling in the tool-proxy module. 3 个月前
fix(ai): decontaminate leaked Zod schema instances to valid JSON Schema Rewrites JSON-roundtripped Zod 4 schema objects that leak Zod internals as JSON Schema keywords (e.g., type:"enum", enum:{...}) into valid JSON Schema 2020-12. This prevents validation failures when such schemas are used as tool input schemas (e.g., from MCP servers). Updates isZodSchema to reject deserialized Zod impostors that retain _zod but lose their prototype. Wires toJSON methods onto TypeBox shim schemas to ensure JSON.stringify produces clean JSON Schema, preventing future leaks. Fixes #1101 13 天前
refactor: improve path handling with normalization refactor - Refactor path normalization to combine expandPath and normalizeLocalScheme - Add validation in utils.ts to reject local:// paths as filesystem paths - Fix bash-skill-urls regex to handle hyphen-prefixed local:/ patterns - Add tests for hyphen-prefixed and @local: patterns 1 个月前