provider: moved Cursor users get plugin 0.2.5: an account with a Grok Bot allowance shows it on its Usage card, and a model asked for by its bare name counts in its sized ids' pool (magpie-community/plugins#64, Morganwan90; Will on Discord)

Cursor's Grok Bot has an allowance apart from Cursor's monthly usage that
only cursor.com's dashboard showed. Plugin 0.2.5 reads it from
cursor.com/api/dashboard/get-sand-usage-status (the sign-in sent as the
dashboard's WorkosCursorSessionToken cookie, as CodexBar does) and adds a
"Grok Bot" window, or "Grok Bot (trial)": aside, so a spent Bot never stops
Cursor requests, placed before Total so it is among the card's three rings.
A missing or failed reading leaves Cursor's own windows as they were.
0.2.4 (not shipped to moved users until now) counts a model asked for by
its bare name (grok-4.7) in the pool its sized ids (grok-4.7@256k) are in.

The cursor mover's min goes from 0.2.3 to 0.2.5, so keepMovedCurrent
updates every moved Cursor user.

0.2.5 on npm (registry.npmjs.org, latest) has an index.mjs byte-identical
to plugins main 6bed2c1. The plugin PR was reviewed at 40d4df6 and merged:
- bun test in packages/cursor: 73 pass, 0 fail; whole repo 1033 pass,
  0 fail; bun scripts/check.mjs all 15 pass
- botUsage broken 16 ways: 12 turn usage.test.mjs red; no timeout, no
  Origin, no res.ok check (the catch covers it) and an added bearer stay
  green
- the request and parsing match CodexBar's CursorSandUsage.swift
- not tried with a real Cursor account on the review side (the author saw
  the Bot ring on a Free account linked to SuperGrok)

go test -tags nogui ./internal/provider passes (temp HOME, pinned caches).
go vet -tags nogui ./internal/provider passes for darwin, linux and windows.
gofmt -l is clean. No test pins a mover's min, as for 0.2.3.
This commit is contained in:
yetone committed 2026-10-10 11:52:49 +08:00
1 parent 9bb2a467e4
commit 338ea97909
1 file changed
+1 -1
+1 -1
View File
@@ -221,7 +221,7 @@ func init() {
// the plugin reads cursor-agent's token as the built-in does.
movers["cursor"] = &mover{
pkg: "@magpie-community/opencode-cursor-auth",
min: "0.2.3", // a failure's status and its sign-in mark as the built-in's; Max Mode models retried in Max Mode; glm-5.3 listed; catalog entries written as CallDynamicTool calls, an empty turn retried (plugins #11); a tool step's usage from the dashboard's usage event, cache included (#676); far from Cursor a step whose event shows late is counted by the conversation's next steps instead of guessed (#1053); a turn's parallel calls split over two assistant messages keep their results (#1275); the list is Cursor's picker, a model once per context size with that window, effort and fast sent as the variant's parameters, and an id 0.1.x listed still runs as the variant it stood for (plugins #51); an id 0.1.x listed, at an effort only its other branch has, goes as that branch's nearest effort, not as the default's id with parameters that contradict it (plugins #54); a model listed at a size Cursor has a fast variant of says fast, for magpie's Fast switch (#1360); a Run HTTP/2 can't open (a proxy or network that blocks it, "h2 is not supported") goes over HTTP/1.1 as RunSSE + BidiAppend on api2 (plugins #59)
min: "0.2.5", // a failure's status and its sign-in mark as the built-in's; Max Mode models retried in Max Mode; glm-5.3 listed; catalog entries written as CallDynamicTool calls, an empty turn retried (plugins #11); a tool step's usage from the dashboard's usage event, cache included (#676); far from Cursor a step whose event shows late is counted by the conversation's next steps instead of guessed (#1053); a turn's parallel calls split over two assistant messages keep their results (#1275); the list is Cursor's picker, a model once per context size with that window, effort and fast sent as the variant's parameters, and an id 0.1.x listed still runs as the variant it stood for (plugins #51); an id 0.1.x listed, at an effort only its other branch has, goes as that branch's nearest effort, not as the default's id with parameters that contradict it (plugins #54); a model listed at a size Cursor has a fast variant of says fast, for magpie's Fast switch (#1360); a Run HTTP/2 can't open (a proxy or network that blocks it, "h2 is not supported") goes over HTTP/1.1 as RunSSE + BidiAppend on api2 (plugins #59); a model asked for by its bare name (grok-4.7) counts in the pool its sized ids (grok-4.7@256k) are in (Will on Discord); an account with a Grok Bot allowance shows it on its Usage card, aside, so a spent Bot never stops Cursor requests (plugins #64)
agents: []string{"cursor"},
out: func() ([]Moving, error) {
if CursorExecutable() == "" || cursorSignedOut() {