fa13c7f
v0.62.1
Andrey Nering 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
3474733
ci: use stable goreleaser action
Andrey Nering created
82d373d
chore(legal): @gavmor has signed the CLA
Charm created
ea50d10
v0.61.0
Andrey Nering created
0a86d5f
refactor(skills): strip implementation hints from crush-owned descriptions
Descriptions should describe when a skill applies, not how it does its job. Leaving language like "using go doc", "the jq command-line processor", etc. in the trigger encourages the model to guess its way through without reading SKILL.md.
Christian Rocha created
e64db33
feat(prompt): require loading appropriate skills before acting
Models frequently skipped viewing a skill's SKILL.md and inferred its behavior from the description alone; making the load mandatory in <critical_rules> prevents LLMs from taking that shortcut.
Christian Rocha created
2da70c1
feat(skills): log skill activation to help diagnose load failures
Christian Rocha created
3138c8b
fix: use same chroma formatter as diffview for markdown (#2656)
Andrey Nering created
0e9e0a6
chore(deps): bump the all group with 2 updates (#2659)
dependabot[bot] created
f15c2d7
chore(deps): bump the all group with 6 updates (#2660)
dependabot[bot] created
be3e81f
chore(legal): @enrell has signed the CLA
Charm created
3af50fd
chore(legal): @pi128 has signed the CLA
Charm created
e74253e
fix(oauth): fix copy to clipboard on terminals that don't support osc52 (#2642)
For example: Apple Terminal.
Andrey Nering created
2f32c9b
feat: enable progress bar on iterm2 (#2641)
Andrey Nering created
f1a931d
v0.60.0
Andrey Nering created
ea86101
feat(hyper): use openai-compatible endpoint for hyper (#2640)
Andrey Nering created
ce34984
v0.59.0
Andrey Nering created
73fec04
ci: fix test race condition
Do not run these two new tests in parallel.
Andrey Nering created
52dcef6
ci: only run `build` and `lint` workflows once in pull requests
Andrey Nering created