| fix(coding-agent): changed local tiny-model default to CPU inference
- Changed tiny-device preference resolution to always default to CPU instead of platform-specific DirectML/CUDA heuristics.
- Updated settings schema, documentation, and changelog text to describe the CPU default while keeping accelerated providers behind explicit providers.tinyModelDevice/PI_TINY_DEVICE choices.
| 1 天前 |
| fix(tui): corrected tmux overlay rendering to preserve native scrollback
- Preserved hidden tmux overlays in live viewport while keeping native scrollback intact during forced renders.
- Adjusted forced-render handling so pure appends preserve full scrollback and return viewport repaint on equal-size diffs.
- Capped streaming edit diff previews to a fixed trailing window and reported hidden hunk counts.
- Updated tmux and regression tests to validate hidden overlays, nativeText frame sources, and scrollback retention.
- Removed stream preview height tracking and simplified tool call rendering to always invalidate the content box.
| 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 天前 |
| feat(coding-agent): added emoji shortcode autocomplete and inline replace
- Added bucketed emoji dataset with prefix-indexed lookup for O(log n) suggestions.
- Implemented :name: inline replace that fires on closing colon without popup.
- Wired emoji suggestions and completions into PromptActionAutocompleteProvider.
- Extended AutocompleteProvider interface with trySyncInlineReplace hook.
| 15 天前 |
| refactor: replaced instanceof Promise checks with isPromise utility
- Imported isPromise from node:util/types in four modules.
- Replaced four instanceof Promise checks with isPromise calls for more reliable promise detection.
| 5 天前 |
| feat(coding-agent): added setup providers tabs for sign-in/web-search
- Added SetupTab abstractions and wired Sign-In/Web-Search tabs under the new providers onboarding scene.
- Added providersSetupScene and swapped providerSetupScene for providers in setup-wizard scene registration.
- Added WebSearchTab option loading, provider availability checks, and persisted selected search-provider preference.
- Changed sign-in flow handling to keep the scene active across providers and support cancellation during authentication.
- Changed glyph-mode picker initialization and rendering to preselect current preset and show live symbol previews.
- Updated setup wizard tests to use the providers scene id and cover the new web search tab path.
| 1 天前 |
| feat(coding-agent): added per-turn AUTO_THINKING in coding-agent session
- Added AUTO_THINKING as a configured thinking level in settings, schema, SDK, and session plumbing.
- Implemented per-turn auto reasoning classification with online/local prompts, effort clamping, and skip guards.
- Updated model selectors, ACP options, footer/status UI, and events to render auto and auto->resolved states.
- Added AUTO_THINKING parse/clamp tests and fixed local-module cycle and hashline preview regressions.
| 1 天前 |
| fix(session): prevented runtime model switches from persisting default role
- Restricted setModel to persist settings only when persist: true is passed; all runtime switches (Ctrl+P, --model, /model, model picker temp selections) no longer overwrite modelRoles.default.
- Changed cycleRoleModels to accept a direction ("forward"/"backward") instead of a temporary flag; both directions now use applyRoleModel without persisting.
- Added persist: true exclusively to the model picker's "Set as default" action in SelectorController.
- Added test suite covering persistence behavior for setModel, cycleRoleModels, and cycleModel.
| 1 天前 |
| feat(emoji): added emoticon expansion and inline replace
- Added a hand-maintained EMOTICONS table mapping western text emoticons (:), :-D, `
| 15 天前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |
| feat(coding-agent): enabled bidirectional RPC tool execution with host-owned custom tools
- Added RPC host-owned custom tools framework enabling bidirectional tool execution between RPC client and host.
- Added set_host_tools RPC command and refreshRpcHostTools() method for dynamic tool registry management.
- Added RpcHostToolBridge and RpcHostToolAdapter classes with abort signal handling for cancellable tool execution.
- Added defineRpcClientTool helper and customTools option to RpcClient for embedding host tool definitions.
- Added comprehensive test suite covering RPC host tool execution, cancellation, and client-host communication.
| 1 个月前 |
| feat(coding-agent): integrated shake commands and lifecycle
Integrate shake commands and lifecycle into agent-session, controllers, interactive mode, and slash-command wiring, with shake behavior tests.
| 1 天前 |
| feat(coding-agent): added internal URL completion with async handlers
- Added internal URL completion types and router support for async scheme completion handlers.
- Implemented complete() for local, memory, agent, artifact, omp, rule, and skill handlers with robust completion fallbacks.
- Added internal URL autocomplete flow with context extraction, fuzzy matching, ranking, and a 25-item suggestion cap.
- Integrated internal URL completion into prompt and editor autocomplete behaviors and added completion tests.
| 2 天前 |
| feat(coding-agent): added /loop count/duration arg parsing and budgeting
- Added optional /loop count|duration command arguments and wired command.args into loop handling.
- Implemented loop-limit parsing and runtime types/helpers for iteration and duration budget limits with validation.
- Updated interactive mode to enforce loop limits per iteration, check duration expiry, and clear budget state on disable.
- Added loop-limit parse/runtime tests and fixed /loop arg errors plus macOS MallocStackLogging environment leakage.
| 25 天前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |
| feat(oauth): Enabled manual OAuth callbacks via slash command input
- Introduced OAuthManualInputManager and routed callback-server logins to await pasted redirect URLs with a visible tip.
- Extended /login slash command to submit redirect URLs, block overlapping logins, and covered manual callbacks in tests.
- Propagated onManualCodeInput through OAuth provider login helpers with a default authorization prompt.
- Resolved docs index generation paths using path.resolve relative to the script directory.
| 3 个月前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |
| perf(coding-agent): added PI_TIMING flag to log prompt durations
- Wrapped initial and subsequent print-mode prompts with logger.time for timing instrumentation.
- Printed collected timings after session run when PI_TIMING env var is set.
| 15 天前 |
| feat(coding-agent): added internal URL completion with async handlers
- Added internal URL completion types and router support for async scheme completion handlers.
- Implemented complete() for local, memory, agent, artifact, omp, rule, and skill handlers with robust completion fallbacks.
- Added internal URL autocomplete flow with context extraction, fuzzy matching, ranking, and a 25-item suggestion cap.
- Integrated internal URL completion into prompt and editor autocomplete behaviors and added completion tests.
| 2 天前 |
| fix(extensibility): added centralized session slash command discovery for extensions
- Added a shared session command helper that aggregates extension, prompt, and skill slash commands.
- Updated ACP, extension UI, runtime-init, and task executor extension contexts to return session command data instead of empty arrays.
| 17 天前 |
| | 1 个月前 |
| fix(tui): resolved tui status footer truncation using VT stripping
- Replaced ad-hoc ANSI/VT stripping regexes with stripVTControlCharacters in status text handling and related tests.
- Updated status footer rendering to truncate using truncateToWidth and visible width after VT stripping.
- Extended tui cursor handling and rendering to strip markers from all lines and fit repaint/append-tail lines to width.
- Expanded deterministic render tests with overlay-aware assertions and recorded the truncation/cursor-marker behavior in changelogs.
| 1 天前 |
| feat(coding-agent): added turn-budget parsing, multipliers and hard caps
- Added +Nk/+Nm turn-budget parsing with whitespace-boundary matching, multipliers, and hard ! indicator.
- Added per-turn budget lifecycle plus APIs (getTurnBudget, recordEvalSubagentUsage) and hard-cap checks in eval runs.
- Added hard budget observability in eval preludes and docs by exposing budget.hard and documenting ceiling modes.
- Fixed streaming preview stutter with max-row tracking and padding, with tests for preview height and budget parsing.
| 1 天前 |
| feat(coding-agent): integrated shake commands and lifecycle
Integrate shake commands and lifecycle into agent-session, controllers, interactive mode, and slash-command wiring, with shake behavior tests.
| 1 天前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |
| feat(coding-agent): added markdown-aware magic-keyword flow for 3 modes
- Added highlightMagicKeywords(text: string, resetTo?: string): string and chained ultrathink, orchestrate, workflow glow.
- Updated ultrathink, orchestrate, and workflow matching to lowercase whitespace-delimited patterns with prose-only checks.
- Added maskNonProse and keywordInProse to skip fenced/inline code and HTML/XML segments while highlighting keywords.
- Added KeywordHighlighter with optional resetTo, and updated gradient highlighting to use masked match slicing. | 1 天前 |