bad0d43
docs(config): document api key validation methods
Christian Rocha created
bad0d43
docs(config): document api key validation methods
Christian Rocha created
a6d56fc
fix(config): fix and add API key validatoin for various providers
Basically, the /models endpoint is public on many openai-compat providers, so validation was always passing with any string. This likely broke in 7d14abb9 and cce8edf9. Validation has been restored for: - AiHubMix - Avian - Cortecs - HuggingFace - io.net - Quiniu Cloud - Synthetic - Venice New validation added: - Minimax Cannot be validated yet: - Chutes - Neuralwatt
Christian Rocha created
2be2024
fix(hyper): re-auth at selection time to ensure provider availability
Christian Rocha created
a4488ca
feat(ui): switch to hyper theme when provider hyper is chosen
Christian Rocha created
9d4653e
chore(styles): use hypercrush theme when hyper is selected
Christian Rocha created
e29353f
v0.63.0
Andrey Nering created
1495028
chore(deps): update fantasy and catwalk
Andrey Nering created
1948ca7
fix(ui/hooks): restore hook styling
Christian Rocha created
ead1c28
chore(deps): bump goreleaser/goreleaser-action in the all group (#2728)
dependabot[bot] created
b0b9842
chore(deps): bump the all group with 6 updates (#2729)
dependabot[bot] created
e5611c3
docs(hooks): improve hook documentation
Christian Rocha created
b9fdf72
chore(hooks,skills): update crush-hooks skill per recent changes
Christian Rocha created
3cda50f
fix(ui): fix dialog box shift when session rename is active
Christian Rocha created
755f6fa
chore(ui): theme prep
Christian Rocha created
f686999
chore: auto-update files
Charm created
dc003bf
feat: PreToolUse hook (#2598)
Christian Rocha created
a7546ad
chore(tests): regression test for (lack of) disabled skills in the ui
Christian Rocha created
7a6149d
fix(ui): don't show disabled skills
Bruno Krugel created
fa13c7f
v0.62.1
Andrey Nering created
8ab740f
test: re-record vcr cassettes
Andrey Nering created
37daf0f
chore(deps): update fantasy and catwalk
Andrey Nering created
e5d95aa
fix(hyper): fix re-authorization flow not triggering on certain conditions (#2703)
We attempt to refresh tokens in two scenarios: * Pro-actively, when we expiration date passed before a request * Reactively, when we try a request but a 401 was returned The error / event handling that shows a dialog asking the user to re-authenticate is dependent on code that runs for the second scenario. This means that the dialog might not show on the first scenario, if refreshing the token fails. If refreshing a token fails, continue with the previous token. Let it fail and the 401 will trigger a re-authorization dialog. I caught this because I was switching between local vs. prod Hyper a lot.
Andrey Nering created
e5b5a40
Merge pull request #2692 from charmbracelet/hypercrush
chore(styles): overhaul style definitions
Christian Rocha created
81daa26
fix(styles): use semantic names in styles + drop deadcode
Christian Rocha created
4f3a308
chore(ui): formal hypercrush type treatment
Christian Rocha created
511916a
fix(ui): logo and grad arguments from earlier refactor
Christian Rocha created
7cbb1db
chore(ui): use Lip Gloss for color blends
Christian Rocha created
15f20e6
chore(ui): add new letterforms: h, y, p, e, with alts
Christian Rocha created
549f717
fix(agent): implement OnRetry logging with structured retry fields (#2700)
iceymoss created
f669bd3
fix(lsp): replace sticky unavailable cache with retry backoff (#2498)
Scope unavailable tracking to each Manager instance and retry missing server commands after a short backoff so temporary environment changes do not permanently block LSP startup.
iceymoss created
da31815
chore(deps): update catwalk
Andrey Nering created
28ab548
docs(readme): tiny updates
Andrey Nering created
31025a1
chore: auto-update files
Charm created
cce8edf
fix: remove minimax api key validate (#2688)
MiniMax API keys don't always follow the "sk-" prefix pattern, so the validation was causing unnecessary errors for valid keys. Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
flynn-eye and Andrey Nering created
b8eccf9
chore(legal): @flynn-eye has signed the CLA
Charm created
59927d5
chore(legal): @ne275 has signed the CLA
Charm created
79e5a6f
v0.62.0
Andrey Nering created
7437d2b
fix: silence unless warning about non-existent skill paths
Andrey Nering created
bbab2bc
chore: auto-update files
Charm created
7cc020b
chore: update catwalk to new domain (#2680)
Andrey Nering created
f6a8854
chore(legal): @iuga has signed the CLA
Charm created
ebf0c1c
chore(deps): update fantasy and catwalk
Andrey Nering created
b0b5c14
chore: remove CODEOWNERS
Andrey Nering created
da33883
fix: reduce token usage, use short tool descriptions by default (#2679)
* Follow-up of #2592
We've been testing this for 2 weeks, and it's working great.
This is a very useful enhancement to reduce token usage, cost, and make
smaller models behave better.
This is particularly significant for local models. These models are tiny,
and with a long enough system prompt they have little context window left
for work.
It's still possible to have the old behavior by setting:
export CRUSH_SHORT_TOOL_DESCRIPTIONS=0
Andrey Nering created
4d7c55e
test: re-record vcr cassettes
Andrey Nering created
9d555a7
fix: reduce `fetch` and `view` tools truncation size to 100KB
Some models like Kimi K2.5 and GLM 5 simply don't handle well that many content. When a big page or JSON API is fetch, it can break Crush sessions. We're drastically reducing the truncation size here, to 1/10 of what we had before. It may look too much at first look, but 100KB it's actually very reasonable. For example, the entire Task guide, which is significantly large, is only 61KB: https://taskfile.dev/docs/guide.md
Andrey Nering created
9a20f78
chore(legal): @axeprpr has signed the CLA
Charm created
d3f6d98
fix(lsp): mitigate stale diagnostics
* fix(lsp): mitigate stale diagnostics * fix(lsp): log warning when workspace change notification fails 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land> * test(lsp): add unit tests for diagnostics settling behavior 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land> * refactor(lsp): remove blocking diagnostic wait from post-edit notifications 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land> * chore: add async diagnostic waits * Update internal/agent/tools/diagnostics.go Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com> * fix(lsp): stop timer leaks in WaitForDiagnostics Replace time.After with time.NewTimer + defer Stop() to prevent unreclaimable timer allocations on early returns. 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land> --------- Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Christian Rocha and Andrey Nering created
f7beb12
feat: generally render output that looks like a diff as a diff (#2607)
For example, the GitHub MCP server can fetch diffs. This makes those diffs render as such, rather than just showing their raw output.
Christian Rocha created
7edf395
v0.61.1
Andrey Nering created