Commit Graph

2777 Commits

Author SHA1 Message Date
can1357 5959bb0ad3 test(mnemopi): disabled embeddings in mnemopi tests
- Added beforeEach and afterEach hooks in mnemopi tests to set and clear MNEMOPI_NO_EMBEDDINGS so embeddings are skipped during those runs.
- Updated the bun-install cache script to archive only node_modules paths that exist as directories.
2026-06-15 00:29:24 +02:00
can1357 0d29c349ad feat(coding-agent): normalized generated titles to title case
- Applied title-casing to `normalizeGeneratedTitle` outputs using a new internal helper.
- Adjusted tiny text and title generator tests to assert the new title-cased results.
2026-06-15 00:28:08 +02:00
can1357 5a910863c3 feat(coding-agent): added hidden title role for prioritized title model selection
- Added a new built-in `title` model role with `hidden` metadata and updated role definitions and schema.
- Updated title generation to resolve models in `title`, `commit`, then `smol` order and added test coverage for that precedence.
- Filtered hidden roles from selector badges and documented the new built-in role in model/settings docs.
2026-06-15 00:23:29 +02:00
can1357 2be8256af0 ci(workflows): shared bun caching in CI via backend-aware install action
- Updated CI dependency install flow to share bun cache orchestration across jobs.
- Added RustFS-backed bun cache restore/save script keyed by bun.lock hash.
2026-06-15 00:18:43 +02:00
can1357 b8e4da23d0 ci(ci): refactored CI setup and test-state isolation for coding-agent workflows
- Added a setup-system-deps action with preloaded-runner guards and apt fallbacks.
- Updated CI workflows to download Linux x64 native artifacts and gate on native job success.
- Renamed coding-agent fast mode to singleton in scripts and test partitioning logic.
- Added settings test-state begin/restore helpers with recursive cleanup in affected tests.
2026-06-14 22:37:05 +02:00
can1357 afc93111a8 test: ditto 2026-06-14 21:13:17 +02:00
can1357 00739815cf test: ditto 2026-06-14 21:07:18 +02:00
can1357 b235382edf test: f it 2026-06-14 20:55:43 +02:00
can1357 5da4ab6085 Merge remote-tracking branch 'origin/farm/ed9bea08/isolate-settings-parallel-tests' 2026-06-14 20:35:38 +02:00
roboomp 805fbfbad8 fix(coding-agent): isolated parallel-test races on the Settings singleton
Two CustomEditor/streaming-preview tests timed out under bun test --parallel
because they reset+reinitialised the process-global Settings singleton in
beforeEach. 50+ other test files do the same dance, so under parallelism the
proxy points at whichever instance won the latest race rather than the one
under test (issue #2582).

- Added CustomEditor#magicKeywordsEnabledOverride: an instance-level test/host
  injection that short-circuits the global lookup at the read site.
  Production wiring still reads from Settings.
- Switched the magic-keyword shimmer-disabled test to set
  magicKeywordsEnabledOverride directly instead of mutating the singleton.
- Removed the gratuitous reset+init from the 'streaming tool call preview
  height (bounded across renderers)' describe -- bash/ssh/eval pending
  previews never read settings.*; only initTheme() (idempotent) is kept.

Fixes #2582
2026-06-14 18:26:20 +00:00
can1357 687487385b test(coding-agent): drop tts/stt worker tests; harden timing-bound tests
The tts/stt suite spawns sherpa-onnx worker subprocesses that hang on the
headless CI runner (zero-output stall → SIGTERM), and the resulting event-loop
starvation tipped real-time TUI tests (streaming-preview, custom-editor shimmer,
ask timeouts) past bun's 5s default. Remove the tts/stt tests and give the
timing-sensitive tests an explicit 30s timeout.
2026-06-14 20:18:09 +02:00
can1357 c362976ac5 test(coding-agent/core): consolidated python executor session lifecycle tests
- Added a lifecycle test case verifying executePython retries execution with a fresh kernel when the prior session kernel dies during run.
- Removed the now-redundant python-executor-session.test.ts file that defined session lifecycle tests.
2026-06-14 19:04:18 +02:00
can1357 6325de72f8 test(coding-agent): drop flaky task pending preview height test 2026-06-14 19:03:29 +02:00
Can Bölük 6eb57448c5 Merge pull request #2444 from 381181295/extension-approval-lifecycle
feat(coding-agent): emit tool approval lifecycle events
2026-06-14 18:16:36 +02:00
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
can1357 8e7a2fac97 chore: update changelogs 2026-06-14 17:32:28 +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
can1357 f4734e1940 Merge PR #2487: fix(coding-agent): route MCP connecting banner through the render tree 2026-06-14 17:29:38 +02:00
SUPREME 1f17347b31 test(discovery): cover linked index entrypoints 2026-06-14 17:25:54 +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
oldschoola 425ad24274 test(coding-agent): drive ACP /move test with os.tmpdir(); drop duplicate changelog line 2026-06-14 17:24:13 +02:00
oldschoola ed8df083fa test(coding-agent): make ACP /move path assertion portable on Windows 2026-06-14 17:24:13 +02:00
jiwangyihao c47718a6b5 fix(coding-agent): derive bundled self root from dist path 2026-06-14 17:24:07 +02:00
can1357 0bf5f5f7bf test: drop stale priority-default and memory-tab assertions
- model-resolver: removed three resolveAgentModelPatterns cases that pinned exact
  priority.json model names (gpt-5.4 / gemini-3 designer list); priority.json now
  leads slow with gpt-5.5 and includes gemini-3.5-flash, so the hardcoded lists
  were stale. The remaining cases still cover cross-role alias inheritance and
  configured-override precedence.
- settings-selector: removed the condition-hidden group-title assertion that
  depended on the pre-autolearn memory-tab group layout.
2026-06-14 17:20:18 +02:00
can1357 2351e0bba0 Merge remote-tracking branch 'origin/farm/ee42914d/searxng-empty-results-fallback' 2026-06-14 17:18:18 +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 5d210f80f3 Merge remote-tracking branch 'origin/farm/79944106/magic-keyword-glow-shimmer' 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