Commit Graph

147 Commits

Author SHA1 Message Date
Adam fa262b5984 fix: more intuitive keybinds (#121) 2025-05-01 12:51:07 +02:00
Adam 183ed91158 feat: themes (#113)
* feat: themes

* feat: flexoki theme

* feat: onedark theme

* feat: monokai pro theme

* feat: opencode theme (default)

* feat: dracula theme

* feat: tokyonight theme

* feat: tron theme

* some small fixes

---------

Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
2025-05-01 12:49:26 +02: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
Kujtim Hoxha 36a7f2fb51 try fix 2025-04-24 22:27:51 +02:00
Kujtim Hoxha f6427a32dc try fix 2025-04-24 22:27:51 +02:00
Kujtim Hoxha 75170dac12 change db driver 2025-04-24 22:27:51 +02:00
Kujtim Hoxha f59ee986a4 fix kitty issues 2025-04-24 19:57:04 +02:00
Dax Raad c8f1148b8e back to disablign cgo 2025-04-24 12:46:11 -04:00
Dax Raad 30586e2710 force CGO
release / goreleaser (push) Has been cancelled
v0.0.22
2025-04-24 12:34:55 -04:00
Dax Raad 484dff2677 turn on cgo
release / goreleaser (push) Has been cancelled
v0.0.21
2025-04-24 12:30:33 -04:00
Dax Raad e35a914ccc fix version ldflags
release / goreleaser (push) Has been cancelled
v0.0.20
2025-04-24 12:26:42 -04:00
Kujtim Hoxha 6e33817b30 change package name 2025-04-24 18:26:16 +02:00
Kujtim Hoxha dcc3012f1b change additions/removals 2025-04-24 16:40:36 +02:00
Kujtim Hoxha 5c7850576b small fixes 2025-04-24 16:40:36 +02:00
Kujtim Hoxha 4c9ee89ff3 update mainter email 2025-04-24 16:40:36 +02:00
Kujtim Hoxha b90d7e3a9b small changes 2025-04-24 16:40:36 +02:00
Kujtim Hoxha a29f155feb remove edit/normal mode 2025-04-24 16:40:36 +02:00
Dax Raad e3419bb8b3 sync 2025-04-22 21:29:32 -04:00
Dax Raad dd79157a62 remove cache
release / goreleaser (push) Has been cancelled
v0.0.16
2025-04-22 21:23:20 -04:00
Dax Raad ebeb8c6973 sync
release / goreleaser (push) Has been cancelled
v0.0.15
2025-04-22 21:21:53 -04:00
Dax Raad c7ca4ababf attempt cache builds 2025-04-22 21:20:35 -04:00
Dax d9d6dbcd9a CI (#43)
release / goreleaser (push) Has been cancelled
* sync

* ci test

* ci test

* tag

* sync

* sync

* ci

* sync

* enable cgo

* sync

* add back brew

* switch to main
v0.0.14
2025-04-22 21:16:14 -04:00
Kujtim Hoxha fe98959d41 Merge pull request #38 from rgodha24/fix-provider-defaults
fix: set provider defaults correctly in AWS projects
2025-04-22 12:15:27 +02:00
Rohan Godha 7ee99cbd99 fix: set provider defaults correctly in AWS projects 2025-04-22 00:53:05 -04:00