Add pretty-printed JSON parameters to MCP tool permission dialogs so
users can read more of the content.
Co-Authored-By: Crush <crush@charm.land>
Amolith
and
Crush
created
6b161d2
feat(config): allow custom providers of type gemini (#585)
Click to expand commit body
This change extends the provider configuration to allow users to define custom providers with `type: "gemini"`.
This enables connecting to any Gemini-compatible API by specifying its `base_url` and `api_key` within the `providers` section of `crush.json`. It supports complex setups, such as using a local proxy or a model-balancing service.
kslamph
created
3b6a375
feat: add alt/option+esc binding to current esc key behavior
Click to expand commit body
This mimics the behavior of Claude Code and allows folks who use
Crush from within a terminal emulator that captures the escape key
(like Nvim's built in terminal emulator) to use it.
* fix: disable providers
if we remove then from the list, they'll still show up because they
won't get merged with catwalk providers later on.
closes #1037
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
a09f040
refactor(mcp): remove unused context parameter from createToolsMaker
林玮 (Jade Lin)
created
4e05d45
refactor(mcp): simplify tool management and improve error handling
Click to expand commit body
- Replace mcpClientTools with mcpClient2Tools for direct tool storage
- Consolidate tool updates in updateMcpTools function
- Improve error handling by removing client on connection errors
- Remove redundant client deletion in getTools function
林玮 (Jade Lin)
created
b60c6cf
refactor(agent): remove globalCtx field and improve event setup
Click to expand commit body
- Remove globalCtx field from agent struct
- Refactor setupEvents to accept context parameter directly
林玮 (Jade Lin)
created
8414748
test(csync): wrap NewLazyMap test with synctest.Test
* fix(mcp): improve timeout errors
refs #970
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: improve
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
0da5e6b
feat(lsp): load defaults by either name or command (#1109)
Click to expand commit body
* fix(lsp): load defaults by name or command name
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix(lsp): simplify
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
1f46a69
fix(grep): resolve Windows path parsing with null separation (#1095)
* fix(lsp): powernap load by name
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix(mcp): expand command
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix(lsp): expand command
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
701e550
feat(config): search`crush.json` recursively up from the working directory (#898)
- windows/arm/v7 was marked broken by the Go team
- add `-trimpath` to trim the `/home/etc` from logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit ensures that the "Yes" and "No" options in the init screen
get properly selected when navigating with the keyboard.
Related: https://github.com/charmbracelet/crush/issues/1048
The summarization dialog was getting stuck in "Generating..." state due to two issues:
- Agent was formatting nil error values instead of actual response errors
- Dialog only handled summarize events but not error events, leaving it in loading state
💖 Generated with Crush
Co-authored-by: Crush <crush@charm.land>
The environment variable indicated to configure the Azure AI endpoint
did not match the value in [Catwalk][].
[Catwalk]: https://github.com/charmbracelet/catwalk/blob/9d9a86e3a4aec20b8874175c115a3533d5083b54/internal/providers/configs/azure.json#L6
Mike Steinert
created
f982965
chore(legal): @msteinert has signed the CLA
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
fa34edc
refactor: put tool descriptions in markdown files (#1077)
Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
91b6b31
fix(mcp): pass down mcp name to logger (#1078)
Click to expand commit body
This will make the logs more useful. Right now it would simply print the
MCP's library logs without any additional context, so you wouldn't know
which MCP is causing issues.
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
96af782
Revert "refactor(tidy): remove nested if and else block"
Click to expand commit body
This reverts commit a6e99fff52b4ab105df91f595a6e94ff3e8bd2cb.
kujtimiihoxha
created
5811c4a
refactor(tidy): remove nested if and else block
d66dfa2
fix(lsp): use csync for lsp clients (#1073)
Click to expand commit body
The map was being passed down everywhere, but the locking mechanism only
ever lived in `app.go`, which might cause concurrent access issues.
This changes it to a `*csync.Map`.
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat(lsp): remove internal watcher
It was only ever useful if the user edits files through their editor,
but we don't really need it assuming we only care about edits done by
Crush itself.
Basically, we lose that functionality, but save a bunch of file
descriptors and have improved perf.
Damn good deal if you ask me.
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: cleanup
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: remove rlimit
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: more cleanup
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>