Commit Graph

10952 Commits (bfd163edccdf6bff311d81824ac05c3fb44566dc)
 

Author SHA1 Message Date
PabloGNU bfd163edcc Merge remote-tracking branch 'fork/feature/auth-multi-profile' into feature/auth-multi-profile 2026-04-07 21:16:21 +02:00
PabloGNU f3d8f8c8e3 fix: timeout 2026-04-07 21:15:21 +02:00
PabloGNU 4c2d00c3bf
Merge branch 'dev' into feature/auth-multi-profile 2026-04-07 20:47:07 +02:00
PabloGNU 7b7ef83b71 fix: revert abort-leak test to original values (ITERATIONS=50, timeout=60000) 2026-04-07 20:44:05 +02:00
opencode-agent[bot] 6bfa82de65 chore: generate 2026-04-07 18:33:24 +00:00
Kit Langton d83fe4b540
fix(opencode): improve console login transport errors (#21350) 2026-04-07 18:31:53 +00:00
PabloGNU f33ccc66fb
Merge branch 'dev' into feature/auth-multi-profile 2026-04-07 20:13:23 +02:00
Aiden Cline 81bdffc81c
fix: ensure the alibaba provider errors are retried (#21355) 2026-04-07 17:46:01 +00:00
PabloGNU ee3fb4fd2d fix: add variant to User model schema to resolve merge conflict with dev
Both authProfile and variant now exist in the User model, fixing type errors
after merging with anomalyco/dev
2026-04-07 19:41:11 +02:00
PabloGNU 8fbab1c8c1
Merge branch 'dev' into feature/auth-multi-profile 2026-04-07 19:34:00 +02:00
Ariane Emory 2549a38a71
fix(tui): use sentence case for theme mode command palette items (#21192)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-07 12:25:13 -05:00
James Long 5d48e7bd44
refactor(core): support multiple event streams in worker and remove workspaces from plugin api (#21348) 2026-04-07 13:22:34 -04:00
PabloGNU 560306b3a4 Merge fork/dev into feature/auth-multi-profile 2026-04-07 19:21:57 +02:00
PabloGNU b5635fdee3 fix(husky): make pre-push hook POSIX-compatible 2026-04-07 18:57:29 +02:00
PabloGNU fcc6253f3d fix(husky): run pre-push hook with bash 2026-04-07 18:57:06 +02:00
PabloGNU f8bbdbda78 fix(auth): harden logout default profile behavior
Treat bare provider keys as default during logout, remove both bare and legacy :default keys, and validate profile selection against discovered profiles. Update auth tests to match bare-key storage semantics and relax memory leak test runtime to avoid CI/local timeout flakes.
2026-04-07 18:51:48 +02:00
PabloGNU 2e0666d19d fix(auth): deterministic fallback profile selection when default key missing
For models without explicit authProfile:
- use bare provider key when present
- use :default when present
- otherwise choose first available provider profile (sorted)

Also reflect inferred profile in TUI status when model has no explicit profile.
2026-04-07 18:32:07 +02:00
PabloGNU 82746621de fix(tui): only show default profile when no auth profiles exist 2026-04-07 18:17:52 +02:00
PabloGNU 49418f4638 feat(tui): prompt for auth profile in Connect Provider API flow
In Ctrl+P -> Switch Model -> Connect a provider, prompt for profile name
before auth method handling and store API credentials under provider:profile
(default maps to bare provider key).
2026-04-07 18:14:47 +02:00
PabloGNU 63de652fca fix(auth): handle default profile logout for bare and legacy keys
- Parse auth keys by last colon to avoid malformed profile extraction
- Treat bare provider keys as default profile in logout flow
- Remove both bare and :default keys when logging out default profile
- Validate --profile against discovered profiles

fix(tui): only list switch-model profiles present in auth state
2026-04-07 18:09:04 +02:00
Adam ec8b9810b4
feat(app): better subagent experience (#20708) 2026-04-07 11:06:23 -05:00
PabloGNU e008540bb9 fix(tui): show auth profile in Recent/Favorites model descriptions 2026-04-07 18:02:56 +02:00
Adam 65318a80f7
chore: update web stats 2026-04-07 11:02:37 -05:00
PabloGNU be932a055c fix(tui): derive switch-model profiles from auth, agents, and local state
Ensure profile variants appear even when direct auth profile discovery is unavailable by combining profile sources from auth keys, configured agents, current model, recents, and favorites.
2026-04-07 18:01:05 +02:00
PabloGNU c4caae266a feat(tui): show model choices per auth profile in switch model dialog
Expand Switch Model entries by configured auth profiles per provider and preserve authProfile in recent/favorites selection keys so profile-specific model picks remain distinct.
2026-04-07 17:58:05 +02:00
PabloGNU b9424c12a5 fix(provider): prioritize model runtime options over provider defaults
Use mergeDeep(provider.options, model.options) in resolveSDK so per-request model options
(including profile-specific apiKey injected at runtime) override provider-level defaults.
This prevents provider.key from overriding the auth key selected for the active profile.
2026-04-07 17:47:45 +02:00
PabloGNU 65fd642b71 fix(provider): include apiKey fingerprint in language model cache key
Prevents stale language model reuse when credentials change at runtime and
avoids accidental key leakage across profile switches in the same process.
2026-04-07 17:47:45 +02:00
PabloGNU a144f4470f fix(session): preserve authProfile in prompt input model
SessionPrompt.PromptInput now accepts model.authProfile so TUI/API payloads
keep profile selection instead of dropping it during validation. This allows
profile-specific auth keys to be used end-to-end.

debug(auth): increase key preview length in auth log
2026-04-07 17:47:45 +02:00
PabloGNU 9b75592f42 fix(auth): isolate provider credentials by auth profile at runtime
Propagate authProfile from user messages into resolved models, inject profile-specific
api keys into runtime model options in LLM streaming, and include authProfile in
Provider.getLanguage cache keys to prevent cross-agent credential leakage.
2026-04-07 17:47:07 +02:00
opencode-agent[bot] 6a5aae9a84 chore: generate 2026-04-07 14:14:07 +00:00
Dax 1f94c48bdd
fix(opencode): keep user message variants scoped to model (#21332) 2026-04-07 10:12:53 -04:00
PabloGNU 3d62e43ab5 fix: normalizeKey doesn't add :default suffix
When no profile is provided, normalizeKey now returns the base providerID
without appending ':default'. This ensures backward compatibility - existing
auth.json entries with bare provider keys work correctly.
2026-04-07 16:11:12 +02:00
Frank 01c5eb679c go: support coupon 2026-04-07 10:09:00 -04:00
PabloGNU 5e904080f4 fix: Auth.get fallback chain for profile keys
When looking up auth credentials:
- If profile key exists (e.g., 'minimax-coding-plan:personal'), use it
- If profile key doesn't exist but base provider does (e.g., 'minimax-coding-plan'), use that as fallback

This fixes the issue where build mode (no profile) wouldn't work when only 'minimax-coding-plan:personal' existed in auth.json.

Also removes normalizeKey usage from Auth.get - the fallback logic is now inline and clearer.
2026-04-07 16:03:10 +02:00
PabloGNU 15e104bca8 fix: parse composite auth keys correctly in provider list and load apikeys
providers.ts:
- Use lastIndexOf + slice instead of split(':') for profile parsing

provider.ts:
- Extract base provider ID from composite auth keys (e.g., 'minimax-coding-plan:personal' → 'minimax-coding-plan')
- This fixes the issue where providers weren't recognized when using profile-based auth keys
2026-04-07 15:40:52 +02:00
PabloGNU 2748cf9585 fix: propagate authProfile through message chain to Auth.get
- message-v2.ts: add authProfile to User.model schema
- prompt.ts: copy authProfile from model to userMsg.model
- lllm.ts: build auth key with profile when calling Auth.get()
- acp/types.ts: add authProfile to ACPSessionState.model
- acp/agent.ts: propagate authProfile in setModel call

This fixes the bug where embedded profiles (e.g., 'minimax-coding-plan:personal')
were lost when creating user messages and never reached Auth.get().
2026-04-07 15:20:13 +02:00
PabloGNU cf0c0cee25 feat(ui): show auth profile in status bar
- currentProviderLabel now shows profile suffix when active
- parsed() now returns profile from model state
- isModelValid accepts authProfile optional field
- model.set includes authProfile when updating
- agent model change effect includes authProfile
2026-04-07 15:05:07 +02:00
PabloGNU 4a17c7e143 feat(auth): support embedded profile in model ID
- parseModel extracts authProfile from providerID if contains ':'
- Profile embedded in model string has highest priority
- Precedence: embedded > config authProfile > env var > default
- Auth.get supports direct lookup of provider:profile keys
- Agent.Info model supports optional authProfile field
2026-04-07 14:08:56 +02:00
PabloGNU 153198061d feat(auth): add multi-profile support per provider
- Add composite key storage (providerID:profileName)
- Implement profile resolution: config authProfile > env var > default
- CLI login: prompt profile name before auth method
- CLI logout: show profile list after provider selection
- Add profile validation (max 20 chars, alphanum + hyphen + underscore)
- Add --profile flag to login/logout commands
- Maintain backward compat via virtual alias for bare keys
- Add authProfile field to Provider.options schema
2026-04-07 13:31:57 +02:00
Shoubhit Dash 41612b3dbe
Move auto-accept permissions to settings (#21308) 2026-04-07 11:00:13 +00:00
Shoubhit Dash c2d2ca3522
style(app): redesign jump-to-bottom button per figma spec (#21313) 2026-04-07 10:47:53 +00:00
Shoubhit Dash 3a1ec27feb
feat(app): show full names on composer attachment chips (#21306) 2026-04-07 10:15:22 +00:00
gitpush-gitpaid 3c96bf8468
feat(opencode): Add PDF attachment Drag and Drop (#16926)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-04-07 04:39:59 +00:00
opencode-agent[bot] 3ea6413407 chore: update nix node_modules hashes 2026-04-07 04:38:49 +00:00
Aiden Cline 885df8eb54
feat: add --dangerously-skip-permissions flag to opencode run (#21266) 2026-04-06 23:30:05 -05:00
Frank f4975ef32a go: add mimo 2026-04-07 00:16:34 -04:00
James Long 37883a9f3a
refactor(core): add full http proxy and change workspace adaptor interface (#21239) 2026-04-06 23:19:55 -04:00
Aiden Cline 3c31d04666
chore: bump anthropic ai sdk pkg, delete patch (#21247) 2026-04-06 20:28:32 -05:00
opencode-agent[bot] e64548fb4d chore: update nix node_modules hashes 2026-04-07 00:30:30 +00:00
Aiden Cline 31f6f43cfc
chore: remove ai-sdk/provider-utils patch and update pkg (#21245) 2026-04-06 23:53:27 +00:00