Commit Graph

4911 Commits

Author SHA1 Message Date
can1357 9e18d3fbb0 Merge branch 'main' into farm/a4aed75b/npm-plugin-load-deps 2026-06-14 18:13:29 +02:00
can1357 3709ae0ca9 Merge PR #2451: fix(coding-agent): preserve discovered context windows 2026-06-14 17:54:50 +02:00
Gerben Meijer 4a6eec624b fix(coding-agent): preserve vLLM discovered context windows
Read vLLM max_model_len and OpenAI-compatible context_length metadata during model discovery, route providers.vllm.baseUrl into built-in discovery before cached models exist, and avoid sending local placeholder bearer tokens.

Scope the vLLM model cache to the discovery base URL so endpoint changes refetch immediately, and add focused regression coverage for configured and built-in vLLM discovery.
2026-06-14 17:50:16 +02:00
can1357 80c2004ac9 Merge PR #2466: fix(config): prefer context_length from API in model discovery 2026-06-14 17:44:57 +02:00
can1357 da26651129 Merge PR #2432: fix(coding-agent): report local rpc prompt completion 2026-06-14 17:44:29 +02:00
can1357 091c452dd1 Merge PR #2377: fix(coding-agent): derive bundled self root from dist path 2026-06-14 17:44:28 +02:00
can1357 ae0898e3a5 Merge PR #2456: fix(coding-agent): attach clipboard image on stale screenshot paste path 2026-06-14 17:44:28 +02:00
can1357 884cfefe9c Merge PR #2449: fix(discovery): follow symlinked extension packages 2026-06-14 17:44:28 +02:00
can1357 b0ab7ed28c Merge PR #2410: feat(extensions): expose model resolve() and family() via ctx.models 2026-06-14 17:44:28 +02:00
art-wiedzmin e31926e698 fix(coding-agent/modes): fall back to clipboard image when pasted screenshot path is missing 2026-06-14 17:33:17 +02:00
Kormákur c805514c75 fix(coding-agent): gate rpc extension turn tracking on send success 2026-06-14 17:30:37 +02:00
Kormákur 1b7fd189bb fix(coding-agent): trim rpc prompt completion scope 2026-06-14 17:30:37 +02:00
Kormákur e2cd316f33 fix(coding-agent): complete local rpc prompts 2026-06-14 17:30:37 +02:00
Kormákur b59ea8e344 fix(coding-agent): handle queued rpc extension messages 2026-06-14 17:30:37 +02:00
Kormákur 27105c99a9 fix(coding-agent): track extension-triggered rpc turns 2026-06-14 17:30:37 +02:00
Kormákur a19d5a35fc fix(coding-agent): mark rpc skill prompts as agent work 2026-06-14 17:30:37 +02:00
Kormákur d418467715 fix(coding-agent): report local rpc prompt completion 2026-06-14 17:30:36 +02:00
can1357 bcde055998 test(config): cover non-positive context_length fallback and satisfy formatter
Add a proxy-discovery regression: a `context_length: 0` upstream value
must be rejected by `toPositiveNumberOrUndefined` and fall back to the
default window. Raw `??` would have pinned it at 0 (nullish coalescing
does not skip 0), so this guards the should-fix the helper was added for.

Also apply biome formatting to the discovery change (collapse the
multiline `contextWindow:` expression, drop a trailing space) and the new
tests so `biome check` passes — the PR as submitted failed the formatter.

Addresses review feedback on #2466.
2026-06-14 17:30:20 +02:00
Nicolas Lorin 87c9e77dbe fix(config): prefer context_length from API in model discovery
Updated model discovery to use `context_length` reported by the API when available, falling back to bundled reference data and default. Added `context_length` field to parsed model response and modified context window assignment logic.
2026-06-14 17:30:20 +02:00
SUPREME 12ef9b11a9 fix(discovery): follow symlinked extension packages 2026-06-14 17:25:53 +02:00
Asaf Mahlev 57ea171859 address #2406 review: full-priority role resolve, family JSDoc, catalog changelog, role + canonical tests 2026-06-14 17:24:48 +02:00
Asaf Mahlev 3c53218e19 feat(extensions): add read-only ctx.models query facade
Expose `ctx.models` to extensions: list() / current() / resolve(spec) /
family(model). Lets extension tools select models the same way core does
(settings-backed aliases, match preferences, canonical-identity family
classification) without reaching into the mutable registry.

- types.ts: ExtensionModelQuery interface + `models` on ExtensionContext
- model-api.ts: createExtensionModelQuery facade
- runner.ts: thread optional Settings; build `models` in createContext()
- sdk.ts + agent-session.ts + extension-ui-controller.ts: pass settings / build models on the direct context literals
- catalog identity: modelFamilyToken() — coarse canonical-backed lineage token
- docs + changelog + tests

Implements #2406.
2026-06-14 17:24:48 +02:00
metaphorics 8e21f4b41d fix(coding-agent): route MCP connecting banner through the render tree
Deferred MCP discovery wrote 'Connecting to MCP servers: …' straight to process.stderr while the TUI owned the terminal, overdrawing the chat input box border. onMCPConnecting now emits McpConnectingEvent on the mcp:connecting channel; InteractiveMode subscribes and renders it via showStatus (status container), mirroring the LSP-startup pattern. New mcp/startup-events.ts holds the channel, type, and formatMCPConnectingMessage.
2026-06-14 17:24:21 +02:00
jiwangyihao c47718a6b5 fix(coding-agent): derive bundled self root from dist path 2026-06-14 17:24:07 +02:00
can1357 2351e0bba0 Merge remote-tracking branch 'origin/farm/ee42914d/searxng-empty-results-fallback' 2026-06-14 17:18:18 +02:00
can1357 9fbd8288ab fix(stt): use macOS default audio input (:default) for ffmpeg avfoundation capture
Hardcoding device index `:0` grabbed whatever avfoundation enumerated first
(often a camera or the wrong input), so recording could capture silence or the
wrong source. Both the single-shot and streaming ffmpeg recorder paths now
request the system default input device.
2026-06-14 17:14:37 +02:00
roboomp df5bfe15e3 fix(web-search): handled empty searxng result fallback
Treated SearXNG HTTP 200 responses with no usable sources and upstream engine failures as transient provider errors. Added a generic renderable-content guard so provider fallback continues instead of returning an invisible success.\n\nFixes #2571
2026-06-14 15:11:04 +00:00
can1357 99a4e2933e fix(tui): fixed native scrollback loss for streaming assistant rows
- Tracked snapshot-safe boundaries to retain commit-stable streamed rows in scrollback.
- Computed durableBoundary from commit and snapshot ends to prevent row drop regressions.
- Updated audit-row handling so drifting durable rows were excluded from resync checks.
- Added regression tests for commit-stable and commit-unstable relayout streaming cases.
2026-06-14 17:10:35 +02:00
can1357 c031662e1b Merge remote-tracking branch 'origin/farm/71308c81/prompt-templates-in-slash-autocomplete' 2026-06-14 17:10:19 +02:00
can1357 d4f6d39d88 Merge remote-tracking branch 'origin/farm/bbef5632/fix-theme-session-export-with-custom-lig' 2026-06-14 17:10:19 +02:00
can1357 7985e760d7 Merge remote-tracking branch 'origin/farm/391be2bd/discover-plugin-skills' 2026-06-14 17:10:19 +02:00
can1357 f22a7e22ce Merge remote-tracking branch 'origin/farm/0c857c58/load-agents-user-skills-into-slash' 2026-06-14 17:10:19 +02:00
can1357 dbf2786434 Merge remote-tracking branch 'origin/farm/874ccbad/cli-reject-unknown-flags' 2026-06-14 17:10:18 +02:00
can1357 c9adcd5da5 Merge remote-tracking branch 'origin/farm/17ca1d16/defer-goal-objective-while-streaming' 2026-06-14 17:10:18 +02:00
can1357 e97f3e82a0 Merge remote-tracking branch 'origin/farm/76b4d961/mnemopi-stable-bank-id' 2026-06-14 17:10:18 +02:00
can1357 d591275956 Merge remote-tracking branch 'origin/farm/b937e0f1/fix-plan-mode-edit-sandbox' 2026-06-14 17:10:18 +02:00
can1357 e18ee7c7d9 Merge remote-tracking branch 'origin/farm/428ce54a/sqlite-busy-recovery-during-concurrent-s' 2026-06-14 17:10:18 +02:00
can1357 af8a050a76 Merge remote-tracking branch 'origin/farm/5cda8de9/fix-openrouter-baseurl-switch' 2026-06-14 17:10:17 +02:00
can1357 3efebf8805 fix: harden merged provider, agent-loop, eager, and autolearn paths
- agent-loop: raise repetition-detection floor to 180 chars and clear thinking
  replay anchors when collapsing a detected loop.
- providers/google: ignore empty text parts, retain terminal thoughtSignatures,
  and stop function-call signatures clobbering the prior block.
- autolearn: capture goal-mode at the turn boundary; harden managed-skill writes
  against hard-links/symlinks (O_NOFOLLOW + nlink); refuse minting managed skills
  whose name an authored skill already claims.
- eager tasks: thread agentKind through the session so a custom top-level agentId
  still gets always-mode delegation; split Eager Tasks prompt into hard vs soft.
- title-generator: race the online title model against a local tiny-model fallback.
- eager-todo: keep the soft reminder aligned with the todo init schema.
- mcp/stdio: keep close() detaching the read loop instead of awaiting it.
- stream loop: fix collapsing and tool-call thought-signature handling.
2026-06-14 17:09:59 +02:00
can1357 c38b9f8a3b Merge PR #2550: fix(prompts): instruct models to avoid LaTeX math delimiters and commands 2026-06-14 17:09:42 +02:00
can1357 42bd488859 Merge PR #2542: feat(coding-agent): opt-in experimental auto-learn (memory + isolated managed skills) 2026-06-14 17:09:41 +02:00
can1357 c03566cd01 Merge PR #2540: feat(coding-agent): three-level eagerness enum for task.eager and todo.eager 2026-06-14 17:09:41 +02:00
can1357 2b94fa8c71 Merge PR #2549: fix(agent-loop): detect repetition loops during assistant stream and abort gracefully 2026-06-14 17:09:41 +02:00
can1357 a93ceabaad Merge remote-tracking branch 'origin/farm/1b8d98f8/plan-toggle-exits-to-none' 2026-06-14 16:14:33 +02:00
can1357 9ac310583f Merge remote-tracking branch 'origin/farm/a635c8cc/fix-resolve-gate-thinking' 2026-06-14 16:14:21 +02:00
can1357 1510b783a5 Merge remote-tracking branch 'origin/farm/494f52c3/fix-windows-task-fanout-rangeerror' 2026-06-14 16:13:57 +02:00
can1357 760de18d23 Merge remote-tracking branch 'origin/farm/a1b8f17d/disable-bun-fetch-timeout' 2026-06-14 16:13:38 +02:00
can1357 b4672551f9 Merge remote-tracking branch 'origin/farm/1a5cf810/todo-init-hang' 2026-06-14 16:08:40 +02:00
can1357 ee84d8df7d Merge remote-tracking branch 'origin/farm/9e92d013/fix-oauth-compat-remap' 2026-06-14 16:08:19 +02:00
can1357 b830f7912b feat: unified speech setup and introduced local STT/TTS capabilities
- Added unified `omp setup speech` flow with JSON/check modes and model picker.
- Added local STT pipeline with sherpa workers, recorder/download flow, and streaming inference.
- Added local TTS pipeline with `omp say`, backend selection, and streaming vocalization.
- Replaced legacy speech settings with unified `speech`/`speechgen` configuration keys.
2026-06-14 16:07:44 +02:00