b19fd14f80
ignore: make issue button send opencode version too
Aiden Cline
2025-11-12 10:40:48 -06:00
715265de4b
Update .gitignore to remove '*.bun-build'
Ian Maurer
2025-11-12 11:33:59 -05:00
2048f32491
Merge branch 'dev' into fix/cli-clean-exit-on-model-errors
Ian Maurer
2025-11-12 11:30:36 -05:00
2d7ba43a21
chore: format code
GitHub Action
2025-11-12 16:14:12 +00:00
bd198d8550
fix(cli): robust suggestions for unknown provider and model-only input; ignore bun build artifacts
Ian Maurer
2025-11-12 11:13:24 -05:00
cbffbcdd3d
chore: format code
GitHub Action
2025-11-12 15:43:30 +00:00
2be8b2269f
feat(cli): suggest closest provider/model on not found ("Did you mean…")\n\nSummary\n- Add fuzzy suggestions to ProviderModelNotFoundError with up to 3 candidates\n- Normalize punctuation (e.g., 4.5 vs 4-5) and case to better match common typos\n- Support model-only input (no provider) by searching across all providers\n- Enhance CLI error formatter to display suggestions when present\n\nImplementation\n- provider.ts: use fuzzysort; add normalization by stripping non-alphanumerics; search by key for robust matches\n- provider.ts: when provider is unknown and model is empty, treat token as unqualified model and search across all providers' models; otherwise suggest provider matches\n- error.ts: print "Did you mean: <provider/model>, …" when suggestions exist\n\nExamples\n1) Typo in model ID\n $ bun run ./src/index.ts run --model anthropic/claude-haiu-4-5 "hi"\n Error: Model not found: anthropic/claude-haiu-4-5\n Did you mean: anthropic/claude-haiku-4-5, anthropic/claude-haiku-4-5-20251001\n Try: zai-coding-plan/glm-4.5-flash zai-coding-plan/glm-4.5 zai-coding-plan/glm-4.5-air zai-coding-plan/glm-4.5v zai-coding-plan/glm-4.6 opencode/big-pickle opencode/grok-code anthropic/claude-opus-4-0 anthropic/claude-3-5-sonnet-20241022 anthropic/claude-opus-4-1 anthropic/claude-haiku-4-5 anthropic/claude-3-5-sonnet-20240620 anthropic/claude-3-5-haiku-latest anthropic/claude-3-opus-20240229 anthropic/claude-sonnet-4-5 anthropic/claude-sonnet-4-5-20250929 anthropic/claude-sonnet-4-20250514 anthropic/claude-opus-4-20250514 anthropic/claude-3-5-haiku-20241022 anthropic/claude-3-haiku-20240307 anthropic/claude-3-7-sonnet-20250219 anthropic/claude-3-7-sonnet-latest anthropic/claude-sonnet-4-0 anthropic/claude-opus-4-1-20250805 anthropic/claude-3-sonnet-20240229 anthropic/claude-haiku-4-5-20251001 openai/gpt-4.1-nano openai/text-embedding-3-small openai/gpt-4 openai/o1-pro openai/gpt-4o-2024-05-13 openai/gpt-4o-2024-08-06 openai/gpt-4.1-mini openai/o3-deep-research openai/gpt-3.5-turbo openai/text-embedding-3-large openai/gpt-4-turbo openai/o1-preview openai/o3-mini openai/codex-mini-latest openai/gpt-5-nano openai/gpt-5-codex openai/gpt-4o openai/gpt-4.1 openai/o4-mini openai/o1 openai/gpt-5-mini openai/o1-mini openai/text-embedding-ada-002 openai/o3-pro openai/gpt-4o-2024-11-20 openai/o3 openai/o4-mini-deep-research openai/gpt-4o-mini openai/gpt-5 openai/gpt-5-pro to list available models\n Or check your config (opencode.json) provider/model names\n\n2) Dot vs dash (punctuation normalization)\n $ bun run ./src/index.ts run --model anthropic/claude-haiku-4.5 "hi"\n Error: Model not found: anthropic/claude-haiku-4.5\n Did you mean: anthropic/claude-haiku-4-5, anthropic/claude-haiku-4-5-20251001\n Try: zai-coding-plan/glm-4.5-flash zai-coding-plan/glm-4.5 zai-coding-plan/glm-4.5-air zai-coding-plan/glm-4.5v zai-coding-plan/glm-4.6 opencode/big-pickle opencode/grok-code anthropic/claude-opus-4-0 anthropic/claude-3-5-sonnet-20241022 anthropic/claude-opus-4-1 anthropic/claude-haiku-4-5 anthropic/claude-3-5-sonnet-20240620 anthropic/claude-3-5-haiku-latest anthropic/claude-3-opus-20240229 anthropic/claude-sonnet-4-5 anthropic/claude-sonnet-4-5-20250929 anthropic/claude-sonnet-4-20250514 anthropic/claude-opus-4-20250514 anthropic/claude-3-5-haiku-20241022 anthropic/claude-3-haiku-20240307 anthropic/claude-3-7-sonnet-20250219 anthropic/claude-3-7-sonnet-latest anthropic/claude-sonnet-4-0 anthropic/claude-opus-4-1-20250805 anthropic/claude-3-sonnet-20240229 anthropic/claude-haiku-4-5-20251001 openai/gpt-4.1-nano openai/text-embedding-3-small openai/gpt-4 openai/o1-pro openai/gpt-4o-2024-05-13 openai/gpt-4o-2024-08-06 openai/gpt-4.1-mini openai/o3-deep-research openai/gpt-3.5-turbo openai/text-embedding-3-large openai/gpt-4-turbo openai/o1-preview openai/o3-mini openai/codex-mini-latest openai/gpt-5-nano openai/gpt-5-codex openai/gpt-4o openai/gpt-4.1 openai/o4-mini openai/o1 openai/gpt-5-mini openai/o1-mini openai/text-embedding-ada-002 openai/o3-pro openai/gpt-4o-2024-11-20 openai/o3 openai/o4-mini-deep-research openai/gpt-4o-mini openai/gpt-5 openai/gpt-5-pro to list available models\n Or check your config (opencode.json) provider/model names\n\n3) Missing provider (model-only input)\n $ bun run ./src/index.ts run --model big-pickle "hi"\n Error: Model not found: big-pickle/\n Did you mean: opencode/big-pickle\n\n4) Correct model after suggestion\n $ bun run ./src/index.ts run --model opencode/big-pickle "hi"\n Hi! How can I help you with your opencode project today?\n\nNotes\n- Suggestions are hints only; behavior is unchanged (no auto-selection).\n- This runs locally as part of the CLI error path; performance impact is negligible (small in-memory scans).
Ian Maurer
2025-11-12 10:41:38 -05:00
a0f469095c
upgrade opentui to 0.1.42, fixing some CJK/grapheme issues with prompt extmarks and char corruption
Sebastian Herrlinger
2025-11-12 15:35:16 +01:00
0ccb26df94
feat(desktop): sticky diff headers
Adam
2025-11-12 07:03:35 -06:00
71fd5966ad
fix(desktop): styling tweaks
Adam
2025-11-11 14:49:02 -06:00
c1fa257a92
Merge branch 'dev' into fix/cli-clean-exit-on-model-errors
Ian Maurer
2025-11-11 17:18:23 -05:00
7fd81dd93e
chore(cli): resolve merge conflict with dev in bootstrap; keep try/finally with explicit return
Ian Maurer
2025-11-11 17:16:47 -05:00
d554e7aaef
fix(cli): always dispose instance on error to prevent hanging; add friendly ProviderModelNotFoundError/InitError messages\n\n- Wrap bootstrap callback in try/finally to guarantee Instance.dispose()\n- Format provider/model errors into actionable guidance (opencode models, config)\n\nRepro: running opencode run --model typo/claude-haiku-4-5 prints stack and hangs until SIGINT due to lingering watchers.\nFix: disposing Instance tears down watchers/subscriptions, allowing process to exit.\n\nNotes: Prior attempt (#3083) explicitly exited; this approach addresses root cause without forcing exit and improves UX for common misconfigurations.
Ian Maurer
2025-11-11 17:13:55 -05:00
0b001c3e80
tweak: make todos appear list of modified files
Aiden Cline
2025-11-11 16:05:23 -06:00
53b7cb62c4
upgrade opentui to 0.1.41: - enables modifyOtherKeys to get CSI u sequences in terminals that support it - uses Private Mode 2026 for synced rendering to fix cursor flickering in terminals like iTerm2 - lazy highlighting for code renderables (perf) - linear scroll acceleration by default - align textarea default bindings more with readline - fix vertical cursor movement in textarea - introduce stdin buffer to handle chunked sequences - improve capability detection (async) - renderer emits focus/blur events when app is focused/blurred (if supported by terminal)
Sebastian Herrlinger
2025-11-11 23:00:23 +01:00
c5e096c76a
fix: costs being 0 when using custom model id overrides (#4219)
Aiden Cline
2025-11-11 13:58:14 -08:00
ce1397cc34
core: add test to verify OpenCode doesn't crash when starting in git repositories with no commit history
Dax Raad
2025-11-11 15:14:37 -05:00
dc7c5ced4c
tui: restore full text when editing prompts with summarized content (#4030)
Ron Suhodrev
2025-11-12 03:14:50 +07:00
b8e8fe7e31
docs: Update dead Context7 mcp server link (#4207)
Corwin Marsh
2025-11-11 12:13:31 -08:00