Commit Graph

16539 Commits

Author SHA1 Message Date
can1357 c101452bb5 refactor: restructured and condensed agent prompts and system instructions
- Refactored and condensed numerous system prompts, agent instructions, and tool documentation files across packages.
- Streamlined workflow rules, formatting constraints, and execution guidelines for improved clarity and brevity.
- Updated discovery rules, recommendation criteria, and syntax standards in prompt templates.
2026-08-12 01:48:14 +02:00
can1357 bc4404203c feat(coding-agent/cleanse): updated ty parser regex and test cases
- Update the ty parser regex to correctly match file path and position before the severity and error code.
- Adjust discovery prompt documentation and test cases to match the revised ty output format.
2026-08-12 01:16:11 +02:00
can1357 78ef4f6bb9 feat(ai/providers): added forced tool directive for antigravity gemini routes
- Added a markdown template defining a tool-only turn directive for Gemini models.
- Appended the forced tool directive to request contents when using Antigravity Gemini routes with forced tool mode.
2026-08-12 00:58:25 +02:00
can1357 93fed035f6 feat(coding-agent/cleanse): introduced discovery subagent and tui flows
- Added discovery subagent and custom checker specifications for alternative toolings across multiple languages.
- Implemented interactive TUI flows for target picking and free-form request discovery.
- Added output parsers for popular static analysis and linting tools.
- Increased default maximum subagents cap and documented the new capabilities.
2026-08-12 00:58:12 +02:00
can1357 1217ee1317 feat(coding-agent/compress): implemented semantic compression command and protocol
- Implemented the `omp compress` command with batch processing, file resolution, and concurrency support.
- Added the semantic compression protocol, session factory, and rewrite-approve evaluation loop.
- Included prompt templates, tool descriptions, and comprehensive test coverage for compression targets.
- Generalized the progress reporter module for shared use across CLI commands.
2026-08-12 00:46:08 +02:00
can1357 052095e156 test(coding-agent): fixed think-tool CI failures in gallery and activation tests
- Added a curated think gallery fixture; the generic fallback carries no
  thoughts field, so the streaming state rendered zero lines.
- Seeded the shared test registry with a runtime openai key: the prompt
  preflight validates through the registry, not the per-request getApiKey
  override, so keyless CI runners threw before reaching the mock server.
- Expected reasoning effort "none" — the only disable level the Responses
  wire accepts; "off" is not a wire value.
2026-08-11 21:16:13 +02:00
can1357 eb5e167abb test(coding-agent): included think tool in HIDDEN_TOOLS expectation 2026-08-11 21:01:02 +02:00
can1357 e5ebb2aee0 chore: bump version to 17.2.14 2026-08-11 20:43:02 +02:00
can1357 10fd42289c feat: introduced external thinking support and private scratchpad think tool
- Added support for external thinking and forced reasoning disablement across AI provider options and request transformers.
- Implemented the private scratchpad think tool along with its renderer, system prompt rules, and schema configuration.
- Updated agent session management and SDK tools to support dynamic runtime activation of the think tool via the externalThinking setting.
- Added comprehensive unit tests covering reasoning fallbacks, tool activation, and rendering behavior.
2026-08-11 20:39:57 +02:00
can1357 d3b22a0db6 test(ai): removed env-dependent dual-stack test, made launch-route port-reuse safe
- Deleted the IPv6-wildcard coexistence test: on Linux `::` binds dual-stack
  by default, so the flow's 127.0.0.1 bind genuinely conflicts and port
  fallback is correct there — the test premise only holds on macOS.
- Stale /launch assertion no longer requires the freed ephemeral port to stay
  unbound (parallel test files reclaim it); it now asserts the stale authorize
  URL is never served again.
2026-08-11 16:31:23 +02:00
can1357 2157becbe9 chore: bump version to 17.2.13 2026-08-11 16:03:05 +02:00
can1357 af52e1de0f refactor(coding-agent): verified binary updates by explicit path
- Extracted version verification logic into a reusable function accepting an explicit binary path.
- Updated shim takeover to verify the newly placed executable path directly instead of re-resolving via PATH.
2026-08-11 16:02:23 +02:00
can1357 87a18e3880 feat(cli): enabled binary updates and script-shim takeover on windows
- Added `resolveReleaseDist` and `shouldForceBinaryUpdate` to parse package manifests and gate major updates to binary releases.
- Implemented `updateViaShimTakeover` in `update-cli.ts` to seamlessly replace Windows script launchers with standalone binaries.
- Added comprehensive unit tests covering release distribution parsing, binary force updates, and script-shim takeover behavior.
2026-08-11 15:49:50 +02:00
roboomp 54ce9e47fc fix(ai): synthesized reasoning_text on DeepSeek Responses replay
After a prewalk hand-off plus mid-run compaction, the openai-responses input
builder re-encoded replayed assistant turns via convertResponsesAssistantMessage,
demoting their reasoning to <think> output_text and emitting no reasoning item.
DeepSeek (opencode-go) then rejected the thinking-mode continuation with
400 "The reasoning_text in the thinking mode must be passed back to the API"
and OMP looped on the unchanged request.

The encoder now synthesizes a reasoning_text reasoning item for every replayed
assistant turn when the target requires reasoning replay in thinking mode
(requiresReasoningContentForAllAssistantTurns / requiresReasoningContentForToolCalls),
carrying surviving thinking text when present, mirroring the chat-completions
reasoning_content safety net. Gated on reasoning being active for the request,
so non-DeepSeek Responses targets and reasoning-disabled turns are unaffected.

Fixes #8248
2026-08-11 15:43:41 +02:00
can1357 b524dfe36f refactor: standardized outbound User-Agent headers on shared utility constant
- Define a centralized `USER_AGENT` constant in `@oh-my-pi/pi-utils` formatted as `omp/<version>`.
- Replace hardcoded and platform-specific user agent strings across AI providers, catalog scrapers, tools, and search providers with the unified `USER_AGENT`.
- Add unit tests for update-cli binary release distribution gating.
2026-08-11 15:38:32 +02:00
can1357 f22cb606bf feat(ai): enabled automatic reasoning summaries in codex requests
- Default reasoning.summary to auto in openai-codex requests to ensure summaries are emitted by the backend.
- Gate stream_options reasoning_summary_delivery behind the PI_CODEX_CONCURRENT_SUMMARIES environment variable opt-in.
- Update tests in openai-codex-responses-lite to verify default summary behavior and opt-in concurrent delivery controls.
2026-08-11 15:29:26 +02:00
can1357 8fed93632a refactor(ai): rebranded openrouter identifiers and user agent to omp
- Updated user agent and openrouter titles in packages/ai from Oh-My-Pi to omp.
- Integrated getOpenRouterHeaders into image generation tool requests in packages/coding-agent.
- Updated provider documentation and test assertions to reflect the rebrand.
2026-08-11 15:28:28 +02:00
can1357 47b282ff9b Merge PR #8069: fix(extensions): register lifecycle tools (@mrexodia) 2026-08-11 15:24:18 +02:00
can1357 e064f83444 chore(changelog): normalized unreleased entries after merges 2026-08-11 15:18:39 +02:00
can1357 ca6e13fd47 Merge PR #8218: fix(agent): park subagents on shutdown (@roboomp) 2026-08-11 15:18:17 +02:00
can1357 1960f80ffd Merge PR #8179: fix(cli): honor dry-run in plugin uninstall (@roboomp) 2026-08-11 15:18:16 +02:00
can1357 f3a3073a3d Merge PR #7959: fix(tui): show edit previews before approval (@roboomp) 2026-08-11 15:18:16 +02:00
can1357 f393b1c413 fix(test): aligned advisor and cursor-exec tests with merged api changes 2026-08-11 15:18:16 +02:00
can1357 733c3271bb Merge PR #8212: fix(ai): resolve AWS role_arn/source_profile role chains for Bedrock (@roboomp) 2026-08-11 15:15:45 +02:00
can1357 b807d67e1d Merge PR #8238: fix(tui): render platform-aware modifier labels on macOS (@roboomp) 2026-08-11 15:15:45 +02:00
can1357 9649bc4dfa Merge PR #8230: fix(coding-agent): emit clap-compatible CI=true and honor PI_BASH_NO_CI (@roboomp) 2026-08-11 15:15:44 +02:00
can1357 3b66177abd Merge PR #8226: fix(advisor): accept silent Gemini reviews (@roboomp) 2026-08-11 15:15:44 +02:00
can1357 64baa7c1bd chore(format): applied biome formatting and removed dead code from merged prs 2026-08-11 15:14:15 +02:00
can1357 8bd621f118 chore(changelog): promoted merged entries back to unreleased 2026-08-11 15:12:36 +02:00
can1357 1340ce6d18 Merge PR #8200: fix(catalog): Fix reasoning levels of GLM-5.2 models; add Baseten GLM 5.2 Fast (@jcfrancisco) 2026-08-11 15:09:34 +02:00
can1357 2670dc345c Merge PR #7930: fix(coding-agent): let a classifier refusal cascade when its tool calls never ran (@mvid)
# Conflicts:
#	packages/coding-agent/src/session/turn-recovery.ts
2026-08-11 15:09:34 +02:00
can1357 706371bb91 fix(extension-api): preserved overlay option factories 2026-08-11 15:08:39 +02:00
Vanko ed820703a7 fix(extension-api): restore overlayOptions/onHandle passthrough in ui.custom
showHookCustom hardcoded the overlay geometry and never read
overlayOptions/onHandle, which regressed the v0.45.6 API (PR
badlogic/pi-mono#667). Forward overlayOptions to showOverlay (keeping the
full-cover defaults as fallback), invoke onHandle with the returned
OverlayHandle, widen the options type via a shared ExtensionCustomOptions,
and re-export OverlayHandle/OverlayOptions from the extension API.
2026-08-11 15:08:39 +02:00
can1357 4cea411ec1 fix(utils): moved log retention changelog to unreleased 2026-08-11 15:07:43 +02:00
can1357 978db72a46 Merge PR #7120: fix(utils): retain one rolled log per process day (@wolfiesch) 2026-08-11 15:07:43 +02:00
can1357 600bac9615 Merge PR #8213: Fix/8030 osc133 command start (@Mustaqeem66) 2026-08-11 15:07:43 +02:00
can1357 7e8be71ead Merge PR #7247: fix(advisor): prevent false full replays and preserve cache growth (@cuipengfei) 2026-08-11 15:07:43 +02:00
can1357 f460e6dd71 Merge PR #7703: fix: discover workspace AGENTS files (@listellm) 2026-08-11 15:07:43 +02:00
can1357 f95ba550b5 Merge PR #8228: fix(ai): support Daybreak Responses Lite (@pickpocket) 2026-08-11 15:06:17 +02:00
can1357 24c348862f Merge PR #8197: fix(status-line): recognized kimi-code subscription windows in the usage segment (@tehfiend) 2026-08-11 15:06:16 +02:00
can1357 270fe8d454 Merge PR #8183: fix(cursor): omit undefined exec args and keep exec-resolved under owned dialects (@jairuspace) 2026-08-11 15:06:16 +02:00
can1357 164edcb466 chore: removed stray blank line 2026-08-11 15:06:16 +02:00
can1357 4b8dbcee07 Merge PR #8172: fix: make terminal Mermaid state diagrams readable (@shawnkoh) 2026-08-11 15:06:16 +02:00
can1357 e56777e138 fix(lsp): rearmed cached idle checker after shutdown 2026-08-11 15:06:16 +02:00
can1357 7b3bd4781b Merge PR #8154: fix(lsp): stop idle checker during shutdown (@MikeeI) 2026-08-11 15:06:16 +02:00
can1357 046fdeab00 Merge PR #8153: fix(lsp): cancel requests after client timeout (@MikeeI) 2026-08-11 15:06:15 +02:00
can1357 55d1831dd3 Merge PR #8152: perf(session): weakly cache conversion histories (@MikeeI) 2026-08-11 15:06:15 +02:00
can1357 da680b6e67 Merge PR #8150: perf(rpc): reuse serialized output frames (@MikeeI) 2026-08-11 15:06:15 +02:00
can1357 5ba362777a Merge PR #8149: perf(session): reuse parsed journal during resume (@MikeeI) 2026-08-11 15:06:15 +02:00
can1357 7a8c72df94 Merge PR #8141: fix(eval): re-validate memoized kernel runner path (@roboomp) 2026-08-11 15:06:15 +02:00