Commit Graph
6894 Commits
Author SHA1 Message Date
can1357 051110cfe6 hack: backtrack changelog 2026-06-19 16:46:39 +02:00
can1357 67f6518e42 feat: enhanced tool robustness, improve authentication flow, and update API parameters
- Implement JSON repair and strict argument validation to sanitize raw payloads and redact sensitive information from agent event logs.
- Add automatic authentication fallback for benchmark model resolution to ensure consistent performance testing across providers.
- Refactor search tool API parameters by replacing `i` with a case-sensitive `case` boolean flag for clarity.
- Update session history formatting to ensure empty objects are consistently serialized as `{}` instead of empty strings.
2026-06-19 16:46:07 +02:00
can1357 7d28c60c86 refactor: renamed intent field from _i to i
- Renamed the global `INTENT_FIELD` constant from `_i` to `i`.
- Updated documentation strings, type annotations, and test expectations across packages to reflect the new field name.
- Ensured consistent usage of the constant in tool schema construction and intent serialization.
2026-06-19 16:42:33 +02:00
can1357 db7ca77a8f chore: bump version to 16.1.2 2026-06-19 16:17:09 +02:00
can1357 d46bd0139b refactor(coding-agent): fixed system prompt customization path
- Fixed `SYSTEM.md` integration to correctly include custom-rendered sections like rules and skills.
- Consolidated system prompt validation by requiring `<skills>` tag presence instead of specific prose.
- Removed redundant system prompt math-formatting tests and orphaned task batch documentation tests.
2026-06-19 16:16:37 +02:00
can1357 fd0dd40083 refactor(coding-agent): improved detection of reflowing markdown
- Replaced regex-based markdown detection with a stateful parser in `detectLiveReflowingMarkdown`.
- Correctly ignore table delimiters and mermaid markers when they appear inside fenced code blocks.
- Added tests to verify that code blocks containing markdown-like syntax do not prevent commit stability.
2026-06-19 16:11:40 +02:00
can1357 865694df7e fix: resolved streaming stability and reference isolation issues
- Prevent object reference sharing between agent snapshots and stream events by deep-cloning tool-call arguments.
- Stabilize GFM tables and Mermaid diagrams during streaming by delaying transcript block commits until content finalization.
- Implement session resume safety to prevent crashes when working directories are missing.
- Add comprehensive test suites to verify streaming commit stability and immutable snapshot isolation.
2026-06-19 16:09:00 +02:00
can1357 bb304dc2cc refactor(coding-agent/prompts): shortened language in browser.md, eval.md, and
- Shortened language in `browser.md`, `eval.md`, and `prompt.md` to improve clarity and reduce token consumption.
- Refined instructional phrasing throughout the tool documentation for better readability.
2026-06-19 16:08:06 +02:00
can1357 80a0a1b8a8 feat(utils): replaced createAbortableStream with abortableSource
- Introduced `abortableSource` as a lighter, direct-reader async generator.
- Removed the `createAbortableStream` public API to eliminate unnecessary stream wrapper layers.
- Updated internal stream processing to use `abortableSource` for improved memory and performance.
2026-06-19 16:06:18 +02:00
can1357 3f10bc5e43 perf(coding-agent/debug): optimized buffer eviction with head-index ring
- Replaced O(n) `Array.shift()` calls with O(1) head-index tracking in `RawSseDebugBuffer`.
- Implemented lazy compaction to reclaim the dead-prefix memory only when the leading window grows sufficiently large.
- Added comprehensive tests to verify ordering, dropped count accuracy, and buffer limits under heavy load.
2026-06-19 16:06:18 +02:00
can1357 a98230addc chore: update changelog & tests 2026-06-19 16:06:18 +02:00
can1357 6bc194b0fb feat(coding-agent): added subagent launch latency instrumentation
- Add `onFirstChatDispatch` hook to `CreateAgentSessionOptions` to track the boundary between session creation and the initial model request.
- Update `runSubprocess` and `TaskTool` to measure and log detailed latency metrics across the subagent lifecycle, including semaphore queue wait, setup time, and dispatch latency.
2026-06-19 16:06:17 +02:00
can1357 30c2c35c88 feat(coding-agent/modes): implemented weighted selection for welcome tips
- Added weighted selection logic to bias discovery toward "[NEW]" tips.
- Updated the tip marker regex to allow trailing whitespace.
- Migrated tip selection to use the new biased distribution algorithm.
2026-06-19 16:06:17 +02:00
can1357 e1cd7a6692 perf(coding-agent/extensibility): deferred context allocation in extension runner
- Delay the creation of the extension context until a relevant handler is identified.
- Avoid unnecessary performance overhead for events that have no registered handlers, such as frequent streaming updates.
2026-06-19 16:06:17 +02:00
can1357 a1dae58c34 fix(coding-agent/session): prevented emission of unhandled agent events
- Added an early return to stop event propagation if no handlers are registered for the event type.
- Updated the `agent_start` logic to return early, ensuring consistent flow control.
2026-06-19 16:06:17 +02:00
can1357 9f30e241b5 feat(coding-agent/modes): added animated "NEW!" rainbow tag to tips
- Introduced a "[NEW]" marker in tip text that triggers an animated rainbow-colored tag in the welcome component.
- Implemented `renderNewTag` to calculate cyclic HSL hue offsets based on render timing.
- Updated `renderWelcomeTip` to intelligently wrap the tag at the end of the last line or on a new line to prevent layout overflow.
2026-06-19 16:06:17 +02:00
can1357 0abcd76101 docs(coding-agent-prompts): refined agent instructions and tool documentation
- Simplified system and personality prompts for improved conciseness and clarity.
- Streamlined tool instruction sets and parameter descriptions across all agent modules.
- Refactored prompt documentation in `hashline` to clarify terminology and task-specific constraints.
- Updated tool metadata in TypeScript service definitions to align with reduced documentation verbosity.
2026-06-19 16:06:17 +02:00
can1357 cba0ea3b45 chore(coding-agent/scripts): added token usage measurement script
- Added a diagnostic script to calculate and log token consumption for tool schemas and system prompts.
2026-06-19 16:06:16 +02:00
can1357 0393bc6697 feat(coding-agent): removed timeout parameter from find tool
- Removed the customizable `timeout` parameter from the tool schema and implementation.
- Fixed the timeout duration to 5 seconds to simplify tool usage.
- Updated documentation and error messages to advise narrowing search patterns instead of adjusting timeouts.
2026-06-19 16:06:16 +02:00
can1357 e47371f631 feat(coding-agent/prompts): refined job tool instructions
- Update job tool prompt for clarity and conciseness.
- Remove redundant implementation details regarding poll timing logic.
2026-06-19 16:06:16 +02:00
can1357 0dfeac8a75 feat: added auth discovery broker and expand model support
- Introduced a centralized `discoverAuthStorage` mechanism across packages to unify credential retrieval and configuration resolution.
- Added support for new Gemini and Moonshot model variants while updating context window and effort configuration for existing models.
- Resolved provider-specific 400 errors for OpenRouter and GLM models by refining reasoning effort mapping and retry logic.
- Standardized credential management in both the coding-agent and model catalog by migrating to the unified authentication broker.
2026-06-19 16:06:16 +02:00
can1357 a62211c586 config(coding-agent): changed default for inline tool descriptors to false
- Updated the system schema and prompt options to disable inline tool descriptors by default.
- Modified the build system prompt logic to reflect the new default fallback value.
2026-06-19 16:06:15 +02:00
can1357 8167a34593 refactor(coding-agent): removed unused repeatToolDescriptions from session creation
- Cleaned up the agent session configuration by removing an unused property.
2026-06-19 16:06:15 +02:00
can1357 45b2eb5ca8 Merge remote-tracking branch 'origin/farm/117835bc/fix-custom-system-prompt' 2026-06-19 16:06:15 +02:00
can1357 6d7dab0c68 fix(coding-agent): prevented crash when resuming session in deleted directory
- Export `directoryExists` in `utils` to safely validate working directories before traversal.
- Update `SessionManager` and startup logic to fallback to the launch directory if a session's recorded working directory no longer exists.
- Add regression tests to ensure sessions now correctly adopt the launch directory instead of crashing on missing paths.
2026-06-19 16:06:01 +02:00
can1357 81d0993915 feat(coding-agent/session): prevented adoption of missing session directories
- Add `directoryExists` check to validate session working directories.
- Skip updating the session cwd if the recorded directory no longer exists on disk to prevent runtime errors.
2026-06-19 16:06:00 +02:00
cagedbird043 5ff5f110af fix(agent): dynamically fallback from snapcompact to text summary on high CJK/non-ASCII rates 2026-06-19 21:50:16 +08:00
roboomp bbbd256565 fix(prompting): preserved custom prompt project footer
Render the project footer for custom system prompts while omitting context and append text already emitted by the custom prompt template.

Fixes #3014
2026-06-19 12:09:34 +00:00
roboomp b4b11232e5 fix(prompting): preserved CLI prompt precedence over SYSTEM.md
Skip the secondary loadSystemPromptFiles capability walk when the caller already controls block 0 via customPrompt/resolvedCustomPrompt, so project/user SYSTEM.md cannot silently augment a CLI --system-prompt override.

Fixes #3014
2026-06-19 12:00:46 +00:00
roboomp 21f3496976 fix(prompting): preserved resolved system prompt text
Bypass path resolution when session startup has already loaded SYSTEM.md or APPEND_SYSTEM.md contents.

Fixes #3014
2026-06-19 11:57:16 +00:00
roboomp e2da0c5458 fix(prompting): rendered system prompt template for system md
Route resolved SYSTEM.md content through the custom prompt template path instead of replacing the fully rendered default prompt block.

Fixes #3014
2026-06-19 11:50:45 +00:00
can1357 492fe5e896 chore: bump version to 16.1.1 2026-06-19 09:03:07 +02:00
can1357 39478b58d2 chore: update changelogs 2026-06-19 09:02:53 +02:00
can1357 ea9ff271e5 Merge remote-tracking branch 'origin/farm/ba7d8cf5/lsp-register-capability' 2026-06-19 09:02:38 +02:00
can1357 29221ae202 Merge remote-tracking branch 'origin/farm/e2ad9334/gate-advisor-sub-options' 2026-06-19 09:02:29 +02:00
can1357 3c90f3bdd1 feat(coding-agent): ignored cache invalidation false positives for implicit providers
- Add a check requiring `cacheWrite > 0` to identify meaningful cache invalidation.
- Prevent false positives for providers with implicit caching that intermittently report zero reads without a fresh cache write.
- Add regression test case to verify implicit providers are not flagged as invalidations.
2026-06-19 09:02:22 +02:00
can1357 7864a1363c feat(coding-agent): consolidated macOS power settings into enum
- Replaced four individual power boolean settings with a single `power.sleepPrevention` enum for improved configuration management.
- Implemented automatic migration logic in `Settings.init` to map legacy macOS power booleans to the new enum levels.
- Updated `AgentSession` to utilize the new `sleepPrevention` enum for macOS power assertion lifecycle management.
- Changed default value of `display.cacheMissMarker` to `false` to suppress cache-miss markers.
- Added comprehensive unit tests in `settings-manager.test.ts` to verify backward-compatible migration behavior.
2026-06-19 08:54:20 +02:00
roboomp 1a9fef5014 fix(lsp): accepted dynamic capability registration
- Accepted client/registerCapability and client/unregisterCapability server requests so Expert can continue startup before semantic requests.\n- Allowed JSON-RPC string ids on LSP request/response handling.\n- Added a regression test for dynamic registration gating hover.\n\nFixes #3029
2026-06-19 06:50:02 +00:00
roboomp ffcbc5f876 fix(ux): gated advisor dependent settings
Added an advisorEnabled visibility predicate and wired the advisor dependent settings through it so the Model Advisor sub-options hide unless Enable Advisor is active. Added regression coverage for the settings UI adapter.\n\nFixes #3027
2026-06-19 06:39:24 +00:00
can1357 ed1c977bbb tests: remove stale openrouter tests 2026-06-19 08:11:40 +02:00
can1357 3d0b3d71af chore: bump version to 16.1.0 2026-06-19 08:08:44 +02:00
can1357 82c4c14fd7 feat(coding-agent): added tracking for expected cache invalidations
- Added tracking for expected cache invalidations during model changes, compactions, and plan-mode transitions.
- Included `cacheMissExplainedAt` metadata in session context to prevent displaying misleading cache miss warnings in the transcript.
- Updated controller logic to reset assistant usage markers when mode-switching or performing actions that invalidate the prompt cache.
2026-06-19 08:08:14 +02:00
can1357 65f0d0a245 refactor(coding-agent): renamed repeatToolDescriptions to inlineToolDescriptors
- Renamed `repeatToolDescriptions` to `inlineToolDescriptors` throughout configuration, SDK, and internal session management.
- Set the default value to `true` and updated descriptions to clarify the descriptor inlining behavior.
- Fixed the `/dump` command to prevent duplicate tool inventory output when inlining is enabled.
2026-06-19 08:05:49 +02:00
can1357 b877464575 refactor(coding-agent): migrated UI chrome to rounded box corners
- Switch all UI components and tests from sharp box corners (`boxSharp`) to rounded ones (`boxRound`).
- Update `Theme` to re-export sharp junction symbols (tees and cross) under `boxRound` to ensure consistent divider rendering in rounded boxes.
- Remove outdated architectural notes regarding forced tool-choice queues in documentation.
2026-06-19 07:57:15 +02:00
can1357 a9c493db13 feat(coding-agent): added toggleable prompt cache miss markers
- Added `display.cacheMissMarker` setting to enable visual indicators for prompt cache invalidation in assistant messages.
- Included updated theme symbols to represent cache misses across supported icon sets.
- Configured the selector controller to rebuild the chat display when the marker visibility setting is toggled.
2026-06-19 07:54:32 +02:00
can1357 ed73429faa feat: implemented soft tool requirement and escalation system
- Introduced `SoftToolRequirement` to support non-invasive tool enforcement with lifecycle management and escalation.
- Added `ToolChoiceDirective` to coordinate hard and soft tool requirements within the agent loop.
- Optimized preview workflows in `coding-agent` by replacing forced tool choices with non-forcing pending invokers.
- Enhanced `CompactionSummaryMessage` to prioritize structured rendering for tool requirement reminders.
2026-06-19 07:51:27 +02:00
can1357 5e507b0165 feat(coding-agent): implemented detectCacheInvalidation to identify
- Implemented `detectCacheInvalidation` to identify when model requests lose their prompt cache.
- Added `CacheInvalidationMarkerComponent` to display a slim notice above affected assistant turns.
- Updated `ChatTranscriptBuilder` and `EventController` to track session usage and inject markers dynamically.
- Included comprehensive test coverage for invalidation detection logic and UI rendering.
2026-06-19 07:49:53 +02:00
can1357 63b2c9603a refactor(snapcompact): replaced legacy frame pinning with full text-sourced re-rendering
- Removed legacy `pinnedFrames` logic and state, simplifying compaction to unconditionally re-render from the full source archive.
- Updated `historyBlocks` to reliably order archive regions (text head, imaged middle, text tail) based on the re-rendered state.
- Updated documentation and summary templates to reflect the transition to text-first compaction and the use of the new `FILES` section.
2026-06-19 07:48:46 +02:00
can1357 64b81c3b8f feat(coding-agent): standardized message card styling
- Refreshed all injected message frames with a consistent rounded-outline card design.
- Implemented icon-tagged headers for hooks, local skill invocations, and generic custom messages.
- Updated skill invocation cards with home-shortened paths, dynamic line count units, and compact invocation argument display.
- Unified branch summary styling with compaction banners to provide a consistent visual language for history collapse points.
- Removed leaked absolute home directory paths from skill metadata displays.
2026-06-19 07:41:23 +02:00
can1357 b137764f0c feat: implemented text-first foveated snapcompact archive layout
- Implemented text-first archive structure that incorporates bounded source text with foveated image frames (HQ edges, LQ middle) to improve context quality.
- Updated snapcompact core logic to use `historyBlocks` for reconstruction, transitioning away from reliance on previous PNG frame inheritance.
- Increased default frame limits to 80 and adjusted token estimation constants (5024) to enhance context budget accuracy.
- Added `pruneToolDescriptions` and improved multi-block summary token estimation to optimize tool spec usage.
2026-06-19 07:38:54 +02:00