Commit Graph

168 Commits

Author SHA1 Message Date
adamdottv fc221d8478 fix: visual tweaks 2025-05-01 07:32:04 -05:00
adamdottv 1901265e05 fix: remove lsp tool 2025-05-01 07:28:37 -05:00
adamdottv 32b0bbd6b0 fix: remove manual lsp definition 2025-05-01 07:24:53 -05:00
adamdottv ca9e155be9 fix: logo 2025-05-01 06:43:59 -05:00
adamdottv df0ddd32a9 fix: don't mark as init 2025-05-01 06:43:30 -05:00
adamdottv 6e4b45c715 fix: logo 2025-05-01 06:36:30 -05:00
adamdottv a5553c7246 fix: minor prompt fix 2025-05-01 06:35:47 -05:00
adamdottv d02d2a0b8f feat: lsp discovery 2025-05-01 06:26:20 -05:00
adamdottv 2d9d09f57d fix: better diagnostics visual 2025-04-30 15:23:19 -05:00
adamdottv 19873ebf12 fix: lsp issues with tmp and deleted files 2025-04-30 12:20:51 -05:00
adamdottv 9eccfd4137 fix: more intuitive keybinds 2025-04-30 11:34:21 -05:00
adamdottv 51108868bf fix: minor icon tweak 2025-04-30 11:33:30 -05:00
adamdottv c394d582fc feat: custom themes 2025-04-30 11:05:59 -05:00
adamdottv c140001de5 fix: info and hint icons 2025-04-30 07:47:14 -05:00
adamdottv 7b8ad4efcd fix: status sizing 2025-04-30 07:47:10 -05:00
adamdottv e236d6477d feat: tron theme 2025-04-30 07:46:35 -05:00
adamdottv 1e171bc075 feat: tokyonight theme 2025-04-30 07:46:35 -05:00
adamdottv b245a0f3b5 feat: dracula theme 2025-04-30 07:46:35 -05:00
adamdottv 6805500c06 feat: opencode theme (default) 2025-04-30 07:46:35 -05:00
adamdottv a15f384d67 feat: monokai pro theme 2025-04-30 07:46:34 -05:00
adamdottv e8158f0b60 feat: onedark theme 2025-04-30 07:46:34 -05:00
adamdottv 5c95f247a4 feat: flexoki theme 2025-04-30 07:46:34 -05:00
adamdottv 2ba130f3a9 feat: themes 2025-04-30 07:46:34 -05:00
Adam 986110fc4d fix: allow text selection (#127) 2025-04-30 12:52:30 +02:00
Hunter Casten 7ac47f42f5 fix(openrouter): set api key from env (#129) 2025-04-30 12:50:57 +02:00
Isaac Scarrott 6168954b93 feat: Add support for OpenRouter (#92)
release / goreleaser (push) Has been cancelled
* Add support for OpenRouter as a new model provider

- Introduced `ProviderOpenRouter` in the `models` package.
- Added OpenRouter-specific models, including `GPT41`, `GPT41Mini`, `GPT4o`, and others, with their configurations and costs.
- Updated `generateSchema` to include OpenRouter as a provider.
- Added OpenRouter-specific environment variable handling (`OPENROUTER_API_KEY`) in `config.go`.
- Implemented default model settings for OpenRouter agents in `setDefaultModelForAgent`.
- Updated `getProviderAPIKey` to retrieve the OpenRouter API key.
- Extended `SupportedModels` to include OpenRouter models.
- Added OpenRouter client initialization in the `provider` package.
- Modified `processGeneration` to handle `FinishReasonUnknown` in addition to `FinishReasonToolUse`.

* [feature/openrouter-provider] Add new models and provider to schema

- Added "deepseek-chat-free" and "deepseek-r1-free" to the list of supported models in `opencode-schema.json`.

* [feature/openrouter-provider] Add OpenRouter provider support and integrate new models

- Updated README.md to include OpenRouter as a supported provider and its configuration details.
- Added `OPENROUTER_API_KEY` to environment variable configuration.
- Introduced OpenRouter-specific models in `internal/llm/models/openrouter.go` with mappings to existing cost and token configurations.
- Updated `internal/config/config.go` to set default models for OpenRouter agents.
- Extended `opencode-schema.json` to include OpenRouter models in the schema definitions.
- Refactored model IDs and names to align with OpenRouter naming conventions.

* [feature/openrouter-provider] Refactor finish reason handling and tool call logic in agent and OpenAI provider

- Simplified finish reason check in `agent.go` by removing redundant variable assignment.
- Updated `openai.go` to override the finish reason to `FinishReasonToolUse` when tool calls are present.
- Ensured consistent finish reason handling in both `send` and `stream` methods of the OpenAI provider.

[feature/openrouter-provider] Refactor finish reason handling and tool call logic in agent and OpenAI provider

- Simplified finish reason check in `agent.go` by removing redundant variable assignment.
- Updated `openai.go` to override the finish reason to `FinishReasonToolUse` when tool calls are present.
- Ensured consistent finish reason handling in both `send` and `stream` methods of the OpenAI provider.

* **[feature/openrouter-provider] Add support for custom headers in OpenAI client configuration**

- Introduced a new `extraHeaders` field in the `openaiOptions` struct to allow specifying additional HTTP headers.
- Added logic in `newOpenAIClient` to apply `extraHeaders` to the OpenAI client configuration.
- Implemented a new option function `WithOpenAIExtraHeaders` to set custom headers in `openaiOptions`.
- Updated the OpenRouter provider configuration in `NewProvider` to include default headers (`HTTP-Referer` and `X-Title`) for OpenRouter API requests.

* Update OpenRouter model config and remove unsupported models

* [feature/openrouter-provider] Update OpenRouter models and default configurations

- Added new OpenRouter models: `claude-3.5-sonnet`, `claude-3-haiku`, `claude-3.7-sonnet`, `claude-3.5-haiku`, and `claude-3-opus` in `openrouter.go`.
- Updated default agent models in `config.go`:
  - `agents.coder.model` now uses `claude-3.7-sonnet`.
  - `agents.task.model` now uses `claude-3.7-sonnet`.
  - `agents.title.model` now uses `claude-3.5-haiku`.
- Updated `opencode-schema.json` to include the new models in the allowed list for schema validation.
- Adjusted logic in `setDefaultModelForAgent` to reflect the new default models.

* [feature/openrouter-provider] Remove unused ProviderEvent emission in stream function

The changes remove the emission of a `ProviderEvent` with type `EventContentStop` in the `stream` function of the `openaiClient` implementation. This event was sent upon successful stream completion but is no longer used.
v0.0.36
2025-04-29 13:56:49 +02:00
Kujtim Hoxha 3054f62fe8 fix diagnostics for deleted files 2025-04-28 19:37:42 +02:00
Aiden Cline 88adff87d6 feat: model selection for given provider (#57)
release / goreleaser (push) Has been cancelled
* feat: model selection for given provider

* tweak: adjust cfg validation func, remove duplicated logic, consolidate agent updating into agent.go

* tweak: make the model dialog scrollable, adjust padding slightly for modal"

* feat: add provider selection, add hints, simplify some logic, add horizontal scrolling support, additional scroll indicators"

* remove nav help

* update docs

* increase number of visible models, make horizontal scroll "wrap"

* add provider popularity rankings
v0.0.35
2025-04-28 19:25:06 +02:00
YJG ed1070b38f feat: add azure openai models (#74) 2025-04-28 15:42:57 +02:00
Kujtim Hoxha fc97308a59 fix duplicate context
release / goreleaser (push) Has been cancelled
v0.0.34
2025-04-27 20:43:27 +02:00
Kujtim Hoxha ff59510f90 remove unnecessary var 2025-04-27 20:34:20 +02:00
Kujtim Hoxha 0c94b9a576 fix context
release / goreleaser (push) Has been cancelled
v0.0.33
2025-04-27 20:31:53 +02:00
Garrett Ladley 0b9088eb28 feat: configure context paths (#86)
release / goreleaser (push) Has been cancelled
v0.0.32
2025-04-27 20:11:09 +02:00
Kujtim Hoxha 0172dcddf5 fix minor issue
release / goreleaser (push) Has been cancelled
v0.0.31
2025-04-27 19:24:46 +02:00
Kujtim Hoxha b387a7d30b fix gemini provider
release / goreleaser (push) Has been cancelled
v0.0.30
2025-04-27 19:12:02 +02:00
Lukáš Loukota dacaaf7465 fix: gemini tool calling 2025-04-27 19:12:02 +02:00
Kujtim Hoxha c7c723ee7f small glob fixes 2025-04-27 18:01:31 +02:00
isaac-scarrott 63617f4345 [feature/ripgrep-glob] Add ripgrep-based file globbing to improve performance
- Introduced `globWithRipgrep` function to perform file globbing using the `rg` (ripgrep) command.
- Updated `globFiles` to prioritize ripgrep-based globbing and fall back to doublestar-based globbing if ripgrep fails.
- Added logic to handle ripgrep command execution, output parsing, and filtering of hidden files.
- Ensured results are sorted by path length and limited to the specified maximum number of matches.
- Modified imports to include `os/exec` and `bytes` for ripgrep integration.
2025-04-27 18:01:31 +02:00
Kujtim Hoxha b362dd2182 fix provider config
release / goreleaser (push) Has been cancelled
v0.0.29
2025-04-27 14:44:40 +02:00
Sam Ottenhoff 0e783fbbfa Handle new Cursor rules format
1. Check if a path ends with a slash (/)
2. If it does, treat it as a directory and read all files within it
3. For directories like .cursor/rules/, it will scan all files and include their content in the prompt
4. Each file from a directory will be prefixed with "# From filename" for clarity
2025-04-27 14:17:06 +02:00
Kujtim Hoxha 8cad545138 fix retry warning
release / goreleaser (push) Has been cancelled
v0.0.28
2025-04-27 14:08:09 +02:00
Garrett Mitchell Ladley 108ba90f13 feat: simpler diff implementation 2025-04-27 13:56:57 +02:00
Fuad f83e9980f0 use workingDir if shellInstance is nil otherwise use cwd if shellInstance is not nil 2025-04-27 13:46:59 +02:00
Fuad 869dc96ac1 use provided workingg dir 2025-04-27 13:46:59 +02:00
Fuad 024118757d Fix nil pointer dereference in GetPersistentShell
Added nil check in GetPersistentShell before accessing
shellInstance.isAlive
to prevent panic when newPersistentShell returns nil due to shell
startup
errors. This resolves the "invalid memory address or nil pointer
dereference"
error that was occurring in the shell tool.
2025-04-27 13:46:59 +02:00
Kujtim Hoxha 7710a5c8cb fix acc error
release / goreleaser (push) Has been cancelled
v0.0.27
2025-04-25 21:58:14 +02:00
Kujtim Hoxha e0da02457b small fixes 2025-04-25 14:42:47 +02:00
Hunter Casten 8f31eb3ba0 feat(groq): add support for Groq using the OpenAI provider 2025-04-25 11:11:52 +02:00
Kujtim Hoxha bd986442e8 remove tool timeout 2025-04-24 22:35:17 +02:00
Dax Raad 99099458ed add more installation options 2025-04-24 16:34:57 -04:00