quota-axi 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -23
- package/dist/src/advice.js +19 -8
- package/dist/src/advice.js.map +1 -1
- package/dist/src/lib/fs.d.ts +1 -0
- package/dist/src/lib/fs.js +7 -0
- package/dist/src/lib/fs.js.map +1 -1
- package/dist/src/providers/cursor-cli-credential.d.ts +46 -0
- package/dist/src/providers/cursor-cli-credential.js +213 -0
- package/dist/src/providers/cursor-cli-credential.js.map +1 -0
- package/dist/src/providers/cursor.d.ts +2 -2
- package/dist/src/providers/cursor.js +134 -28
- package/dist/src/providers/cursor.js.map +1 -1
- package/dist/src/skill.js +12 -10
- package/dist/src/skill.js.map +1 -1
- package/dist/src/tui.js +4 -1
- package/dist/src/tui.js.map +1 -1
- package/package.json +1 -1
- package/skills/quota-axi/SKILL.md +12 -10
package/README.md
CHANGED
|
@@ -25,11 +25,10 @@ It is data only: it never routes, recommends a provider, model, harness, credent
|
|
|
25
25
|
|
|
26
26
|
## Quick Start
|
|
27
27
|
|
|
28
|
-
**macOS
|
|
29
|
-
quota-axi
|
|
28
|
+
**macOS Keychain note:** Claude Code and the Cursor CLI (`cursor-agent`) keep live tokens in the macOS Keychain.
|
|
29
|
+
quota-axi does not read either Keychain value until the user grants permission, so Claude quota can stay stale and CLI-only Cursor auth can appear unavailable when no other usable credential exists.
|
|
30
30
|
Run `quota-axi --allow-keychain-prompt` once and approve Keychain access with "Always Allow".
|
|
31
|
-
After a successful
|
|
32
|
-
Legacy markers created before account-pinned lookup are not reused, so an upgrade may require this one-time grant again.
|
|
31
|
+
After a successful read, future non-interactive quota calls reuse the corresponding account-scoped grant without requiring the flag. Claude grants are also profile-scoped; legacy Claude markers created before account-pinned lookup are not reused.
|
|
33
32
|
|
|
34
33
|
```sh
|
|
35
34
|
$ npx -y quota-axi
|
|
@@ -219,12 +218,13 @@ $ quota-axi --provider claude --json
|
|
|
219
218
|
$ quota-axi auth
|
|
220
219
|
bin: ~/.npm/_npx/.../quota-axi
|
|
221
220
|
description: Inspect local quota auth sources without printing secret values
|
|
222
|
-
auth[
|
|
221
|
+
auth[10]{provider,source,path,status,error}:
|
|
223
222
|
claude,oauth-file,~/.claude/.credentials.json,available,none
|
|
224
223
|
claude,keychain,none,skipped,keychain_prompt_required
|
|
225
224
|
codex,auth-json,~/.codex/auth.json,available,none
|
|
226
225
|
codex,cli-rpc,~/.local/bin/codex,available,none
|
|
227
226
|
cursor,state-vscdb,~/Library/Application Support/Cursor/User/globalStorage/state.vscdb,available,none
|
|
227
|
+
cursor,cli-keychain,~/.cursor/cli-config.json,skipped,keychain_prompt_required
|
|
228
228
|
copilot,apps-json,~/.config/github-copilot/apps.json,available,none
|
|
229
229
|
grok,auth-json,~/.grok/auth.json,available,none
|
|
230
230
|
kimi,pi:kimi-coding,none,available,none
|
|
@@ -303,7 +303,7 @@ It is generated from `src/skill.ts`; update it with `pnpm run build:skill` and v
|
|
|
303
303
|
```
|
|
304
304
|
|
|
305
305
|
- **Live first** - direct provider HTTP calls use 15 second request timeouts, Codex JSON-RPC reads use short per-call timeouts, and stale cache fallback is per provider.
|
|
306
|
-
- **No first-run Keychain prompt** - macOS Claude Keychain value reads are skipped on plain calls until `--allow-keychain-prompt` succeeds once, then future plain calls reuse
|
|
306
|
+
- **No first-run Keychain prompt** - macOS Claude and Cursor CLI Keychain value reads are skipped on plain calls until `--allow-keychain-prompt` succeeds once for that source, then future plain calls reuse the corresponding grant.
|
|
307
307
|
- **Partial success is success** - one provider can fail while another returns fresh or stale data, and the process still exits 0. Exit code 1 means every provider failed, and 2 means a usage error.
|
|
308
308
|
- **No token equivalence** - quota-axi does not claim that one provider percentage equals another provider percentage.
|
|
309
309
|
|
|
@@ -327,7 +327,7 @@ It is generated from `src/skill.ts`; update it with `pnpm run build:skill` and v
|
|
|
327
327
|
| `--tui` | Render the live human terminal report instead of TOON (quota only) |
|
|
328
328
|
| `--refresh 30s\|5m\|1h` | Live `--tui` refresh interval, default 5m (30s-24h) |
|
|
329
329
|
| `--once` | Render one `--tui` frame and exit instead of staying live |
|
|
330
|
-
| `--allow-keychain-prompt` | Permit macOS
|
|
330
|
+
| `--allow-keychain-prompt` | Permit macOS provider Keychain access that could prompt |
|
|
331
331
|
| `--intelligence high\|medium\|low` | Filter `models` by editorial intelligence bucket |
|
|
332
332
|
| `--sort runway` | Explicitly sort `models` by documented usable-runway evidence |
|
|
333
333
|
| `-h`, `--help` | Print terse [AXI](https://axi.md) help |
|
|
@@ -341,7 +341,7 @@ It is generated from `src/skill.ts`; update it with `pnpm run build:skill` and v
|
|
|
341
341
|
- Live frames paint on the alternate screen and repaint immediately on terminal resize; quitting restores the screen and prints the final frame so the last report stays in scrollback.
|
|
342
342
|
- Each live card leads with the `effective[]` rollup (min across bounding windows), colored by headroom: >=50% healthy, 20-50% tight, <20% critical. Per-window rows, including per-model breakouts, are the supporting detail.
|
|
343
343
|
- The headline is labeled with the window it actually is: the minimum across bounding windows always equals at least one named window, so the label names the `limitingWindowIds` window (`week`, `session`, `credits`) and changes per provider and over time. Tied limiting windows read `credits + grok build`, compacting to `credits +2` when the names do not fit; a model- or product-scoped headline appends its scope, and any unresolved limiter falls back to the scope wording (`all models`).
|
|
344
|
-
- The bar fill is current headroom; the `┃` marker sits at `pace.timeRemainingPercent`, the fill position of exactly linear burn. Fill ending left of the marker means burning faster than the reset clock. The marker is omitted when pace is unknown.
|
|
344
|
+
- The bar fill is current headroom; the `┃` marker sits at the binding window's `pace.timeRemainingPercent`, the fill position of exactly linear burn. The headline marker therefore matches the corresponding `limitingWindowIds` sub-bar even when another window supplies the finite-runway `empty in` verdict. Fill ending left of the marker means burning faster than the reset clock. The marker is omitted when that window's pace is unknown.
|
|
345
345
|
- Pace is shown by the bar and marker alone, never as a numeric burn multiple. The runway verdict on the headline reads `on pace ✓` for `through_reset` and `empty in 7h 21m` for `projected_exhaustion`. Two-up rows keep both card bottoms aligned by padding the shorter card inside its border. The JSON and TOON surfaces keep the `through_reset` vocabulary and the full `pace` object.
|
|
346
346
|
- Signed-out and failed providers stay visible as dimmed cards and are excluded from the fleet totals in the header.
|
|
347
347
|
- Width comes from the terminal, clamped to 80-120 columns; below the two-up width the grid reflows to one column. Color honors `NO_COLOR`, `TERM=dumb`, and non-TTY stdout (the glyph skeleton is kept), re-enables with `FORCE_COLOR`, and uses truecolor when `COLORTERM` advertises it, falling back to 256-color then ANSI-16.
|
|
@@ -510,23 +510,23 @@ Default model order is deterministic and non-preferential: provider, then model
|
|
|
510
510
|
|
|
511
511
|
Auth source entries can include `credentialPresent` when a non-secret probe confirms a credential item exists.
|
|
512
512
|
|
|
513
|
-
| Name | Values
|
|
514
|
-
| -------------------- |
|
|
515
|
-
| Auth source statuses | `available`, `missing`, `invalid`, `expired`, `skipped`, or `error`
|
|
516
|
-
| Auth source names | `oauth-file`, `keychain`, `auth-json`, `auth-env`, `apps-json`, `state-vscdb`, `cli-rpc`, `pi:kimi-coding`, `pi:xai`, and `kimi-code-cli` |
|
|
513
|
+
| Name | Values |
|
|
514
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
515
|
+
| Auth source statuses | `available`, `missing`, `invalid`, `expired`, `skipped`, or `error` |
|
|
516
|
+
| Auth source names | `oauth-file`, `keychain`, `auth-json`, `auth-env`, `apps-json`, `state-vscdb`, `cli-keychain`, `cli-rpc`, `pi:kimi-coding`, `pi:xai`, and `kimi-code-cli` |
|
|
517
517
|
|
|
518
518
|
## Security Posture
|
|
519
519
|
|
|
520
520
|
### Provider credential sources
|
|
521
521
|
|
|
522
|
-
| Provider | Credential sources read
|
|
523
|
-
| -------------- |
|
|
524
|
-
| Claude | `$CLAUDE_CONFIG_DIR/.credentials.json` or `~/.claude/.credentials.json`; on macOS, the corresponding default or path-hashed Claude Code Keychain value pinned to Claude Code's validated current-user account, with `--allow-keychain-prompt` or, after a profile-and-account-scoped non-secret access marker exists, on plain calls
|
|
525
|
-
| Codex | `$CODEX_HOME/auth.json` or `~/.codex/auth.json` before the read-only CLI fallback; `$QUOTA_AXI_CODEX_BINARY` can pin that fallback to an absolute executable path
|
|
526
|
-
| Cursor | `$CURSOR_STATE_DB` when set or the platform Cursor state database path
|
|
527
|
-
| GitHub Copilot | `$GITHUB_COPILOT_APPS_JSON` when set or the local Copilot apps auth file
|
|
528
|
-
| Grok | Grok CLI session auth from `$GROK_AUTH_JSON`, inline `$GROK_AUTH`, `$GROK_AUTH_PATH`, or `$GROK_HOME/auth.json` / `~/.grok/auth.json`, plus Pi's independent `$PI_CODING_AGENT_DIR/auth.json` `xai` entry (default `~/.pi/agent/auth.json`) for OAuth or literal API-key model auth
|
|
529
|
-
| Kimi | Pi's `$PI_CODING_AGENT_DIR/auth.json` (default `~/.pi/agent/auth.json`) for a literal `kimi-coding` API key or unexpired OAuth access token first, then a fresh official Kimi Code CLI access token from `$KIMI_CODE_HOME/credentials/kimi-code.json` (default `$HOME/.kimi-code/credentials/kimi-code.json`)
|
|
522
|
+
| Provider | Credential sources read |
|
|
523
|
+
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
524
|
+
| Claude | `$CLAUDE_CONFIG_DIR/.credentials.json` or `~/.claude/.credentials.json`; on macOS, the corresponding default or path-hashed Claude Code Keychain value pinned to Claude Code's validated current-user account, with `--allow-keychain-prompt` or, after a profile-and-account-scoped non-secret access marker exists, on plain calls |
|
|
525
|
+
| Codex | `$CODEX_HOME/auth.json` or `~/.codex/auth.json` before the read-only CLI fallback; `$QUOTA_AXI_CODEX_BINARY` can pin that fallback to an absolute executable path |
|
|
526
|
+
| Cursor | Cursor editor: `$CURSOR_STATE_DB` when set or the platform Cursor state database path. Cursor CLI (`cursor-agent`), macOS only: identity from `$CURSOR_CLI_CONFIG` or `~/.cursor/cli-config.json`, plus the `cursor-access-token` / `cursor-user` Keychain value with `--allow-keychain-prompt` or, after an account-scoped non-secret access marker exists, on plain calls |
|
|
527
|
+
| GitHub Copilot | `$GITHUB_COPILOT_APPS_JSON` when set or the local Copilot apps auth file |
|
|
528
|
+
| Grok | Grok CLI session auth from `$GROK_AUTH_JSON`, inline `$GROK_AUTH`, `$GROK_AUTH_PATH`, or `$GROK_HOME/auth.json` / `~/.grok/auth.json`, plus Pi's independent `$PI_CODING_AGENT_DIR/auth.json` `xai` entry (default `~/.pi/agent/auth.json`) for OAuth or literal API-key model auth |
|
|
529
|
+
| Kimi | Pi's `$PI_CODING_AGENT_DIR/auth.json` (default `~/.pi/agent/auth.json`) for a literal `kimi-coding` API key or unexpired OAuth access token first, then a fresh official Kimi Code CLI access token from `$KIMI_CODE_HOME/credentials/kimi-code.json` (default `$HOME/.kimi-code/credentials/kimi-code.json`) |
|
|
530
530
|
|
|
531
531
|
### Provider notes
|
|
532
532
|
|
|
@@ -550,8 +550,11 @@ Auth source entries can include `credentialPresent` when a non-secret probe conf
|
|
|
550
550
|
|
|
551
551
|
**Cursor**
|
|
552
552
|
|
|
553
|
-
-
|
|
554
|
-
- If `sqlite3` is unavailable,
|
|
553
|
+
- The Cursor editor and the Cursor CLI keep credentials in different stores, so both are independent sources and Cursor auth is usable when either one is. For quota fetching, the editor `state-vscdb` source is tried first because it never prompts; a CLI Keychain value read occurs only when the editor has no usable token or its token is rejected. The `auth` command still reports both sources without reading the CLI token value when the editor source is available.
|
|
554
|
+
- Editor source: it uses `sqlite3 -readonly` to read `cursorAuth` values and calls Cursor's first-party dashboard usage endpoint. If `sqlite3` is unavailable, that source is reported as skipped with `sqlite3_unavailable`.
|
|
555
|
+
- CLI source (macOS only): `cli-config.json` holds sign-in identity only and is never a token; its `authInfo` is the signed-in signal and supplies the reported account email. The access token is read from the login Keychain item `cursor-access-token` / `cursor-user` only under `--allow-keychain-prompt` or an existing account-scoped non-secret access marker, which is recorded after a successful value read. Without either, quota-axi performs a non-secret presence check only and reports `keychain_prompt_required`.
|
|
556
|
+
- quota-axi never refreshes Cursor credentials. CLI access-token refresh is intentionally not implemented: the `cursor-refresh-token` Keychain item is never read, so an expired CLI access token surfaces as `Cursor sign-in required` and the remedy is running `cursor-agent login` again. This is a known limitation, not a silent gap.
|
|
557
|
+
- The token value is used only as the bearer of Cursor's read-only dashboard usage request. It is never logged, cached, or included in any output.
|
|
555
558
|
|
|
556
559
|
**GitHub Copilot**
|
|
557
560
|
|
|
@@ -583,7 +586,7 @@ Auth source entries can include `credentialPresent` when a non-secret probe conf
|
|
|
583
586
|
- The user-initiated `update` command is the only non-provider network surface, and it is not part of quota measurement.
|
|
584
587
|
- It sends credential values only to the first-party provider request they authenticate.
|
|
585
588
|
- It never prints, logs, or caches credential values.
|
|
586
|
-
- It never launches the Claude, Grok, Pi, or Kimi CLIs, so it cannot spend quota or mutate provider credentials while measuring them.
|
|
589
|
+
- It never launches the Claude, Cursor, Grok, Pi, or Kimi CLIs, so it cannot spend quota or mutate provider credentials while measuring them.
|
|
587
590
|
|
|
588
591
|
### Cache
|
|
589
592
|
|
|
@@ -593,6 +596,7 @@ Auth source entries can include `credentialPresent` when a non-secret probe conf
|
|
|
593
596
|
| Quota cache permissions | Uses `0600` file permissions. |
|
|
594
597
|
| Quota cache contents | Stores normalized non-secret snapshots only. |
|
|
595
598
|
| Claude Keychain access marker | Lives alongside the quota cache as `claude-keychain-access-granted[-<profile-hash>]-account-<account-hash>`; the profile hash is eight hexadecimal characters when applicable and the account hash is sixteen. It uses `0600` file permissions, contains no credential material or raw account name, and legacy service-only markers are ignored rather than deleted. |
|
|
599
|
+
| Cursor CLI Keychain access marker | Lives alongside the quota cache as `cursor-cli-keychain-access-granted-account-<account-hash>`, where the account hash is sixteen hexadecimal characters. It uses `0600` file permissions and contains no credential material or raw account identity. |
|
|
596
600
|
| Cached reports | Only fresh provider snapshots with windows are cached. |
|
|
597
601
|
| Fresh provider reports with no windows | Clear any cached snapshot for that provider, so entitlement-only reports do not leave stale quota windows behind. |
|
|
598
602
|
| Reports and details not cached | Failed providers, stale providers, account identity, and source attempts are not cached. |
|
package/dist/src/advice.js
CHANGED
|
@@ -3,10 +3,6 @@ export const KEYCHAIN_ACCESS_REMEDY_COMMAND = "quota-axi --allow-keychain-prompt
|
|
|
3
3
|
export const CREDENTIALS_EXPIRED_REASON = "credentials_expired";
|
|
4
4
|
export const GROK_TOKEN_REFRESH_REMEDY_COMMAND = "grok";
|
|
5
5
|
export const GROK_ACCESS_TOKEN_EXPIRED_ERROR = "Grok access token expired";
|
|
6
|
-
const BLOCKED_CREDENTIAL_ERRORS = new Set([
|
|
7
|
-
"credentials_expired",
|
|
8
|
-
"credentials_missing",
|
|
9
|
-
]);
|
|
10
6
|
export function annotateQuotaAdvice(response) {
|
|
11
7
|
const providers = response.providers.map(annotateProviderAdvice);
|
|
12
8
|
const help = providers.flatMap(providerHelpLines);
|
|
@@ -63,12 +59,27 @@ function needsGrokTokenRefreshAdvice(provider) {
|
|
|
63
59
|
provider.state.error === GROK_ACCESS_TOKEN_EXPIRED_ERROR);
|
|
64
60
|
}
|
|
65
61
|
function isBlockedCredentialAttempt(attempt) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
if (isKeychainSource(attempt.source))
|
|
63
|
+
return false;
|
|
64
|
+
if (attempt.status === "skipped")
|
|
65
|
+
return true;
|
|
66
|
+
return (attempt.status === "failed" &&
|
|
67
|
+
isDefinitiveCredentialRejection(attempt.error));
|
|
68
|
+
}
|
|
69
|
+
function isDefinitiveCredentialRejection(error) {
|
|
70
|
+
if (!error)
|
|
71
|
+
return false;
|
|
72
|
+
return (/^credentials_(?:missing|invalid|expired)$/i.test(error) ||
|
|
73
|
+
/\bsign-in required\b/i.test(error) ||
|
|
74
|
+
/\b(?:unauthorized|forbidden)\b/i.test(error) ||
|
|
75
|
+
/(?:^|\D)(?:401|403)(?:\D|$)/.test(error));
|
|
76
|
+
}
|
|
77
|
+
/** Providers name their Keychain source `keychain` or `<store>-keychain`. */
|
|
78
|
+
function isKeychainSource(source) {
|
|
79
|
+
return source === "keychain" || source.endsWith("-keychain");
|
|
69
80
|
}
|
|
70
81
|
function isPromptBlockedKeychainAttempt(attempt) {
|
|
71
|
-
return (attempt.source
|
|
82
|
+
return (isKeychainSource(attempt.source) &&
|
|
72
83
|
attempt.status === "skipped" &&
|
|
73
84
|
attempt.error === "keychain_prompt_required" &&
|
|
74
85
|
attempt.credentialPresent === true);
|
package/dist/src/advice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advice.js","sourceRoot":"","sources":["../../src/advice.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AACjE,MAAM,CAAC,MAAM,8BAA8B,GACzC,mCAAmC,CAAC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAChE,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,2BAA2B,CAAC;AAE3E,MAAM,
|
|
1
|
+
{"version":3,"file":"advice.js","sourceRoot":"","sources":["../../src/advice.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/fs.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type JsonFileReadResult = {
|
|
|
10
10
|
export declare function collapseHome(path: string): string;
|
|
11
11
|
export declare function cacheFilePath(): string;
|
|
12
12
|
export declare function claudeKeychainAccessMarkerPath(account: string, configDir?: string): string;
|
|
13
|
+
export declare function cursorCliKeychainAccessMarkerPath(account: string): string;
|
|
13
14
|
export declare function ensurePrivateParent(file: string): void;
|
|
14
15
|
export declare function readJsonFile(file: string): unknown | undefined;
|
|
15
16
|
export declare function readJsonFileResult(file: string): JsonFileReadResult;
|
package/dist/src/lib/fs.js
CHANGED
|
@@ -47,6 +47,13 @@ export function claudeKeychainAccessMarkerPath(account, configDir) {
|
|
|
47
47
|
.slice(0, 16);
|
|
48
48
|
return join(cacheDirPath(), `claude-keychain-access-granted${profileSuffix}-account-${accountSuffix}`);
|
|
49
49
|
}
|
|
50
|
+
export function cursorCliKeychainAccessMarkerPath(account) {
|
|
51
|
+
const accountSuffix = createHash("sha256")
|
|
52
|
+
.update(account)
|
|
53
|
+
.digest("hex")
|
|
54
|
+
.slice(0, 16);
|
|
55
|
+
return join(cacheDirPath(), `cursor-cli-keychain-access-granted-account-${accountSuffix}`);
|
|
56
|
+
}
|
|
50
57
|
function cacheDirPath() {
|
|
51
58
|
const base = process.env.XDG_CACHE_HOME || join(homedir(), ".cache");
|
|
52
59
|
return join(base, "quota-axi");
|
package/dist/src/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/lib/fs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/lib/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AuthSourceReport, ProviderOptions } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The Cursor CLI (`cursor-agent`) keeps sign-in identity in a plain
|
|
4
|
+
* `cli-config.json` and the tokens themselves in the macOS login Keychain,
|
|
5
|
+
* unlike the Cursor editor which keeps both in its `state.vscdb`. This module
|
|
6
|
+
* reads only the access token, only on macOS, and only through the same
|
|
7
|
+
* `--allow-keychain-prompt` gate the Claude keychain source uses.
|
|
8
|
+
*
|
|
9
|
+
* Access-token refresh is intentionally not implemented: the sibling
|
|
10
|
+
* `cursor-refresh-token` item is never read, because quota-axi does not mutate
|
|
11
|
+
* provider state and has no first-party refresh contract to rely on. An expired
|
|
12
|
+
* access token therefore surfaces as `Cursor sign-in required`, whose remedy is
|
|
13
|
+
* running `cursor-agent login` again.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CURSOR_CLI_SOURCE = "cli-keychain";
|
|
16
|
+
export declare const CURSOR_CLI_KEYCHAIN_SERVICE = "cursor-access-token";
|
|
17
|
+
export declare const CURSOR_CLI_KEYCHAIN_ACCOUNT = "cursor-user";
|
|
18
|
+
export type CursorCliIdentity = {
|
|
19
|
+
email?: string;
|
|
20
|
+
userId?: string;
|
|
21
|
+
};
|
|
22
|
+
export type CursorCliCredentialState = {
|
|
23
|
+
status: "available";
|
|
24
|
+
accessToken: string;
|
|
25
|
+
identity: CursorCliIdentity;
|
|
26
|
+
source: AuthSourceReport;
|
|
27
|
+
} | {
|
|
28
|
+
status: "missing" | "invalid" | "skipped";
|
|
29
|
+
source: AuthSourceReport;
|
|
30
|
+
};
|
|
31
|
+
type IdentityResult = {
|
|
32
|
+
status: "present";
|
|
33
|
+
identity: CursorCliIdentity;
|
|
34
|
+
} | {
|
|
35
|
+
status: "missing";
|
|
36
|
+
} | {
|
|
37
|
+
status: "invalid";
|
|
38
|
+
error: string;
|
|
39
|
+
};
|
|
40
|
+
/** The Cursor CLI token store is the macOS login Keychain only. */
|
|
41
|
+
export declare function isCursorCliSourceSupported(): boolean;
|
|
42
|
+
export declare function cursorCliConfigPath(): string;
|
|
43
|
+
export declare function readCursorCliCredentialState(options: ProviderOptions, presenceOnly?: boolean): Promise<CursorCliCredentialState>;
|
|
44
|
+
/** Identity only: `cli-config.json` never holds a token. */
|
|
45
|
+
export declare function readCursorCliIdentity(path: string): IdentityResult;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { chmodSync, existsSync, renameSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { cursorCliKeychainAccessMarkerPath, ensurePrivateParent, readJsonFileResult, } from "../lib/fs.js";
|
|
5
|
+
import { execFileText } from "../lib/process.js";
|
|
6
|
+
/**
|
|
7
|
+
* The Cursor CLI (`cursor-agent`) keeps sign-in identity in a plain
|
|
8
|
+
* `cli-config.json` and the tokens themselves in the macOS login Keychain,
|
|
9
|
+
* unlike the Cursor editor which keeps both in its `state.vscdb`. This module
|
|
10
|
+
* reads only the access token, only on macOS, and only through the same
|
|
11
|
+
* `--allow-keychain-prompt` gate the Claude keychain source uses.
|
|
12
|
+
*
|
|
13
|
+
* Access-token refresh is intentionally not implemented: the sibling
|
|
14
|
+
* `cursor-refresh-token` item is never read, because quota-axi does not mutate
|
|
15
|
+
* provider state and has no first-party refresh contract to rely on. An expired
|
|
16
|
+
* access token therefore surfaces as `Cursor sign-in required`, whose remedy is
|
|
17
|
+
* running `cursor-agent login` again.
|
|
18
|
+
*/
|
|
19
|
+
export const CURSOR_CLI_SOURCE = "cli-keychain";
|
|
20
|
+
export const CURSOR_CLI_KEYCHAIN_SERVICE = "cursor-access-token";
|
|
21
|
+
export const CURSOR_CLI_KEYCHAIN_ACCOUNT = "cursor-user";
|
|
22
|
+
const KEYCHAIN_PROMPT_TIMEOUT_MS = 60_000;
|
|
23
|
+
const KEYCHAIN_PRESENCE_TIMEOUT_MS = 5_000;
|
|
24
|
+
const KEYCHAIN_ITEM_NOT_FOUND_EXIT_CODE = 44;
|
|
25
|
+
/** The Cursor CLI token store is the macOS login Keychain only. */
|
|
26
|
+
export function isCursorCliSourceSupported() {
|
|
27
|
+
return process.platform === "darwin";
|
|
28
|
+
}
|
|
29
|
+
export function cursorCliConfigPath() {
|
|
30
|
+
if (process.env.CURSOR_CLI_CONFIG)
|
|
31
|
+
return process.env.CURSOR_CLI_CONFIG;
|
|
32
|
+
return join(homedir(), ".cursor", "cli-config.json");
|
|
33
|
+
}
|
|
34
|
+
export async function readCursorCliCredentialState(options, presenceOnly = false) {
|
|
35
|
+
const path = cursorCliConfigPath();
|
|
36
|
+
if (!isCursorCliSourceSupported())
|
|
37
|
+
return missingState(path);
|
|
38
|
+
const identityResult = readCursorCliIdentity(path);
|
|
39
|
+
if (identityResult.status === "missing")
|
|
40
|
+
return missingState(path);
|
|
41
|
+
if (identityResult.status === "invalid") {
|
|
42
|
+
return {
|
|
43
|
+
status: "invalid",
|
|
44
|
+
source: {
|
|
45
|
+
source: CURSOR_CLI_SOURCE,
|
|
46
|
+
path,
|
|
47
|
+
status: "invalid",
|
|
48
|
+
error: identityResult.error,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const { identity } = identityResult;
|
|
53
|
+
if (presenceOnly ||
|
|
54
|
+
!(options.allowKeychainPrompt || hasKeychainAccessMarker(identity))) {
|
|
55
|
+
return skippedKeychainState(path, await readKeychainItemPresence());
|
|
56
|
+
}
|
|
57
|
+
return readKeychainAccessToken(path, identity);
|
|
58
|
+
}
|
|
59
|
+
/** Identity only: `cli-config.json` never holds a token. */
|
|
60
|
+
export function readCursorCliIdentity(path) {
|
|
61
|
+
const raw = readJsonFileResult(path);
|
|
62
|
+
if (raw.status === "missing")
|
|
63
|
+
return { status: "missing" };
|
|
64
|
+
if (raw.status === "invalid")
|
|
65
|
+
return { status: "invalid", error: raw.error };
|
|
66
|
+
const authInfo = objectValue(objectValue(raw.value)?.authInfo);
|
|
67
|
+
if (!authInfo)
|
|
68
|
+
return { status: "missing" };
|
|
69
|
+
const identity = {
|
|
70
|
+
email: stringValue(authInfo.email),
|
|
71
|
+
userId: stringValue(authInfo.userId) ?? stringValue(authInfo.authId),
|
|
72
|
+
};
|
|
73
|
+
if (!identity.email && !identity.userId)
|
|
74
|
+
return { status: "missing" };
|
|
75
|
+
return { status: "present", identity };
|
|
76
|
+
}
|
|
77
|
+
async function readKeychainAccessToken(path, identity) {
|
|
78
|
+
let secret;
|
|
79
|
+
try {
|
|
80
|
+
secret = await execFileText("security", [
|
|
81
|
+
"find-generic-password",
|
|
82
|
+
"-a",
|
|
83
|
+
CURSOR_CLI_KEYCHAIN_ACCOUNT,
|
|
84
|
+
"-w",
|
|
85
|
+
"-s",
|
|
86
|
+
CURSOR_CLI_KEYCHAIN_SERVICE,
|
|
87
|
+
], KEYCHAIN_PROMPT_TIMEOUT_MS);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
return keychainFailureState(path, error);
|
|
91
|
+
}
|
|
92
|
+
writeKeychainAccessMarkerBestEffort(identity);
|
|
93
|
+
const accessToken = secret.trim();
|
|
94
|
+
if (accessToken.length === 0) {
|
|
95
|
+
return {
|
|
96
|
+
status: "invalid",
|
|
97
|
+
source: {
|
|
98
|
+
source: CURSOR_CLI_SOURCE,
|
|
99
|
+
path,
|
|
100
|
+
status: "invalid",
|
|
101
|
+
error: "empty_credential",
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
status: "available",
|
|
107
|
+
accessToken,
|
|
108
|
+
identity,
|
|
109
|
+
source: {
|
|
110
|
+
source: CURSOR_CLI_SOURCE,
|
|
111
|
+
path,
|
|
112
|
+
status: "available",
|
|
113
|
+
credentialPresent: true,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/** Presence check only: no `-w`, so it never prompts and never reads a value. */
|
|
118
|
+
async function readKeychainItemPresence() {
|
|
119
|
+
try {
|
|
120
|
+
await execFileText("security", [
|
|
121
|
+
"find-generic-password",
|
|
122
|
+
"-a",
|
|
123
|
+
CURSOR_CLI_KEYCHAIN_ACCOUNT,
|
|
124
|
+
"-s",
|
|
125
|
+
CURSOR_CLI_KEYCHAIN_SERVICE,
|
|
126
|
+
], KEYCHAIN_PRESENCE_TIMEOUT_MS);
|
|
127
|
+
return "present";
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return isKeychainItemNotFound(error) ? "missing" : "unknown";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function skippedKeychainState(path, presence) {
|
|
134
|
+
if (presence === "missing")
|
|
135
|
+
return missingState(path);
|
|
136
|
+
return {
|
|
137
|
+
status: "skipped",
|
|
138
|
+
source: {
|
|
139
|
+
source: CURSOR_CLI_SOURCE,
|
|
140
|
+
path,
|
|
141
|
+
status: "skipped",
|
|
142
|
+
error: presence === "present"
|
|
143
|
+
? "keychain_prompt_required"
|
|
144
|
+
: "keychain_presence_check_failed",
|
|
145
|
+
...(presence === "present" ? { credentialPresent: true } : {}),
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function keychainFailureState(path, error) {
|
|
150
|
+
const failure = error;
|
|
151
|
+
if (failure.killed || failure.signal) {
|
|
152
|
+
return {
|
|
153
|
+
status: "skipped",
|
|
154
|
+
source: {
|
|
155
|
+
source: CURSOR_CLI_SOURCE,
|
|
156
|
+
path,
|
|
157
|
+
status: "skipped",
|
|
158
|
+
error: "keychain_prompt_timeout",
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
if (isKeychainItemNotFound(error))
|
|
163
|
+
return missingState(path);
|
|
164
|
+
return {
|
|
165
|
+
status: "skipped",
|
|
166
|
+
source: {
|
|
167
|
+
source: CURSOR_CLI_SOURCE,
|
|
168
|
+
path,
|
|
169
|
+
status: "skipped",
|
|
170
|
+
error: "keychain_access_denied",
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function missingState(path) {
|
|
175
|
+
return {
|
|
176
|
+
status: "missing",
|
|
177
|
+
source: { source: CURSOR_CLI_SOURCE, path, status: "missing" },
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function hasKeychainAccessMarker(identity) {
|
|
181
|
+
return existsSync(cursorCliKeychainAccessMarkerPath(markerKey(identity)));
|
|
182
|
+
}
|
|
183
|
+
function writeKeychainAccessMarkerBestEffort(identity) {
|
|
184
|
+
try {
|
|
185
|
+
const file = cursorCliKeychainAccessMarkerPath(markerKey(identity));
|
|
186
|
+
ensurePrivateParent(file);
|
|
187
|
+
const temp = `${file}.${process.pid}.tmp`;
|
|
188
|
+
writeFileSync(temp, "granted\n", { mode: 0o600 });
|
|
189
|
+
chmodSync(temp, 0o600);
|
|
190
|
+
renameSync(temp, file);
|
|
191
|
+
chmodSync(file, 0o600);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/** Scopes the grant to the signed-in CLI account, never storing its raw value. */
|
|
198
|
+
function markerKey(identity) {
|
|
199
|
+
return identity.userId ?? identity.email ?? CURSOR_CLI_KEYCHAIN_ACCOUNT;
|
|
200
|
+
}
|
|
201
|
+
function isKeychainItemNotFound(error) {
|
|
202
|
+
return (error.code ===
|
|
203
|
+
KEYCHAIN_ITEM_NOT_FOUND_EXIT_CODE);
|
|
204
|
+
}
|
|
205
|
+
function objectValue(value) {
|
|
206
|
+
return value && typeof value === "object"
|
|
207
|
+
? value
|
|
208
|
+
: undefined;
|
|
209
|
+
}
|
|
210
|
+
function stringValue(value) {
|
|
211
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=cursor-cli-credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-cli-credential.js","sourceRoot":"","sources":["../../../src/providers/cursor-cli-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAEzD,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAC3C,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAoB7C,mEAAmE;AACnE,MAAM,UAAU,0BAA0B;IACxC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACxE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAwB,EACxB,YAAY,GAAG,KAAK;IAEpB,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;IACnC,IAAI,CAAC,0BAA0B,EAAE;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,MAAM,EAAE,iBAAiB;gBACzB,IAAI;gBACJ,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,cAAc,CAAC,KAAK;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IACpC,IACE,YAAY;QACZ,CAAC,CAAC,OAAO,CAAC,mBAAmB,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC,EACnE,CAAC;QACD,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,wBAAwB,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAsB;QAClC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;KACrE,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAY,EACZ,QAA2B;IAE3B,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,YAAY,CACzB,UAAU,EACV;YACE,uBAAuB;YACvB,IAAI;YACJ,2BAA2B;YAC3B,IAAI;YACJ,IAAI;YACJ,2BAA2B;SAC5B,EACD,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,MAAM,EAAE,iBAAiB;gBACzB,IAAI;gBACJ,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,kBAAkB;aAC1B;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,WAAW;QACX,QAAQ;QACR,MAAM,EAAE;YACN,MAAM,EAAE,iBAAiB;YACzB,IAAI;YACJ,MAAM,EAAE,WAAW;YACnB,iBAAiB,EAAE,IAAI;SACxB;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,wBAAwB;IACrC,IAAI,CAAC;QACH,MAAM,YAAY,CAChB,UAAU,EACV;YACE,uBAAuB;YACvB,IAAI;YACJ,2BAA2B;YAC3B,IAAI;YACJ,2BAA2B;SAC5B,EACD,4BAA4B,CAC7B,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,QAA8B;IAE9B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACN,MAAM,EAAE,iBAAiB;YACzB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,KAAK,EACH,QAAQ,KAAK,SAAS;gBACpB,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,gCAAgC;YACtC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAc;IAEd,MAAM,OAAO,GAAG,KAIf,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,MAAM,EAAE,iBAAiB;gBACzB,IAAI;gBACJ,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,yBAAyB;aACjC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,sBAAsB,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACN,MAAM,EAAE,iBAAiB;YACzB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,wBAAwB;SAChC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA2B;IAC1D,OAAO,UAAU,CAAC,iCAAiC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,mCAAmC,CAC1C,QAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iCAAiC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QAC1C,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,SAAS,CAAC,QAA2B;IAC5C,OAAO,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,2BAA2B,CAAC;AAC1E,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,CACJ,KAA2C,CAAC,IAAI;QACjD,iCAAiC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC"}
|
|
@@ -5,8 +5,8 @@ type CursorCredentials = {
|
|
|
5
5
|
membershipType?: string;
|
|
6
6
|
};
|
|
7
7
|
export declare const cursorAdapter: ProviderAdapter;
|
|
8
|
-
export declare function fetchQuota(
|
|
9
|
-
export declare function inspectAuth(
|
|
8
|
+
export declare function fetchQuota(options: ProviderOptions): Promise<ProviderQuota>;
|
|
9
|
+
export declare function inspectAuth(options: ProviderOptions): Promise<AuthProviderReport>;
|
|
10
10
|
export declare function normalizeCursorUsage(usage: unknown, planInfo?: unknown, credentials?: Pick<CursorCredentials, "email" | "membershipType">): {
|
|
11
11
|
plan?: string;
|
|
12
12
|
account?: ProviderQuota["account"];
|
|
@@ -4,6 +4,7 @@ import { readCachedProvider } from "../cache.js";
|
|
|
4
4
|
import { execFileText, commandExists } from "../lib/process.js";
|
|
5
5
|
import { clampPercent, nowIso, retryAfterToIso } from "../lib/time.js";
|
|
6
6
|
import { failedProvider, sourceNames, staleFromCache, statusFromError, successProvider, withRemaining, } from "./common.js";
|
|
7
|
+
import { isCursorCliSourceSupported, readCursorCliCredentialState, } from "./cursor-cli-credential.js";
|
|
7
8
|
const API_URL = "https://api2.cursor.sh";
|
|
8
9
|
const API_TIMEOUT_MS = 15_000;
|
|
9
10
|
const SQLITE_TIMEOUT_MS = 5_000;
|
|
@@ -14,28 +15,27 @@ export const cursorAdapter = {
|
|
|
14
15
|
fetchQuota,
|
|
15
16
|
inspectAuth,
|
|
16
17
|
};
|
|
17
|
-
export async function fetchQuota(
|
|
18
|
+
export async function fetchQuota(options) {
|
|
18
19
|
const attempts = [];
|
|
19
20
|
let finalError;
|
|
20
21
|
let retryAfter;
|
|
21
|
-
const
|
|
22
|
-
|
|
22
|
+
const resolution = await resolveCredentials(options);
|
|
23
|
+
for (const state of resolution.unavailable) {
|
|
24
|
+
attempts.push({
|
|
25
|
+
source: state.source.source,
|
|
26
|
+
status: "skipped",
|
|
27
|
+
error: cursorCredentialError(state),
|
|
28
|
+
...(state.source.credentialPresent === undefined
|
|
29
|
+
? {}
|
|
30
|
+
: { credentialPresent: state.source.credentialPresent }),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (resolution.credentials) {
|
|
23
34
|
attempts.push({ source: "api", status: "failed" });
|
|
24
35
|
try {
|
|
25
|
-
const quota = await fetchCursorUsage(
|
|
36
|
+
const quota = await fetchCursorUsage(resolution.credentials);
|
|
26
37
|
attempts[attempts.length - 1] = { source: "api", status: "success" };
|
|
27
|
-
return
|
|
28
|
-
provider: "cursor",
|
|
29
|
-
label: "Cursor",
|
|
30
|
-
source: "api",
|
|
31
|
-
plan: quota.plan,
|
|
32
|
-
account: quota.account,
|
|
33
|
-
windows: quota.windows,
|
|
34
|
-
credits: quota.credits,
|
|
35
|
-
refreshedAt: quota.refreshedAt,
|
|
36
|
-
sourcesTried: sourceNames(attempts),
|
|
37
|
-
attempts,
|
|
38
|
-
});
|
|
38
|
+
return cursorSuccess(quota, attempts);
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
41
41
|
finalError = errorMessage(error);
|
|
@@ -44,18 +44,55 @@ export async function fetchQuota(_options) {
|
|
|
44
44
|
status: "failed",
|
|
45
45
|
error: finalError,
|
|
46
46
|
};
|
|
47
|
-
if (error instanceof
|
|
47
|
+
if (error instanceof CursorAuthError &&
|
|
48
|
+
resolution.source === "state-vscdb" &&
|
|
49
|
+
isCursorCliSourceSupported()) {
|
|
50
|
+
attempts[attempts.length - 1] = {
|
|
51
|
+
source: "state-vscdb",
|
|
52
|
+
status: "failed",
|
|
53
|
+
error: finalError,
|
|
54
|
+
};
|
|
55
|
+
const cliState = await readCliCredentialState(options);
|
|
56
|
+
if (cliState.status === "available") {
|
|
57
|
+
attempts.push({ source: "cli-keychain", status: "failed" });
|
|
58
|
+
try {
|
|
59
|
+
const quota = await fetchCursorUsage(cliState.credentials);
|
|
60
|
+
attempts[attempts.length - 1] = {
|
|
61
|
+
source: "cli-keychain",
|
|
62
|
+
status: "success",
|
|
63
|
+
};
|
|
64
|
+
return cursorSuccess(quota, attempts);
|
|
65
|
+
}
|
|
66
|
+
catch (cliError) {
|
|
67
|
+
finalError = errorMessage(cliError);
|
|
68
|
+
attempts[attempts.length - 1] = {
|
|
69
|
+
source: "cli-keychain",
|
|
70
|
+
status: "failed",
|
|
71
|
+
error: finalError,
|
|
72
|
+
};
|
|
73
|
+
if (cliError instanceof RateLimitError)
|
|
74
|
+
retryAfter = cliError.retryAfter;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
attempts.push({
|
|
79
|
+
source: cliState.source.source,
|
|
80
|
+
status: "skipped",
|
|
81
|
+
error: cursorCredentialError(cliState),
|
|
82
|
+
...(cliState.source.credentialPresent === undefined
|
|
83
|
+
? {}
|
|
84
|
+
: { credentialPresent: cliState.source.credentialPresent }),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (error instanceof RateLimitError) {
|
|
48
89
|
retryAfter = error.retryAfter;
|
|
90
|
+
}
|
|
49
91
|
}
|
|
50
92
|
}
|
|
51
93
|
else {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
source: credentialState.source.source,
|
|
55
|
-
status: "skipped",
|
|
56
|
-
error,
|
|
57
|
-
});
|
|
58
|
-
finalError = cursorFinalError(credentialState, error);
|
|
94
|
+
const primary = resolution.unavailable[0];
|
|
95
|
+
finalError = cursorFinalError(primary, cursorCredentialError(primary));
|
|
59
96
|
}
|
|
60
97
|
const cached = readCachedProvider("cursor");
|
|
61
98
|
if (cached) {
|
|
@@ -71,9 +108,59 @@ export async function fetchQuota(_options) {
|
|
|
71
108
|
attempts,
|
|
72
109
|
});
|
|
73
110
|
}
|
|
74
|
-
export async function inspectAuth(
|
|
75
|
-
const
|
|
76
|
-
|
|
111
|
+
export async function inspectAuth(options) {
|
|
112
|
+
const editorState = await readCredentialState();
|
|
113
|
+
const sources = [editorState.source];
|
|
114
|
+
if (isCursorCliSourceSupported()) {
|
|
115
|
+
const editorAvailable = editorState.status === "available";
|
|
116
|
+
sources.push((await readCliCredentialState(editorAvailable
|
|
117
|
+
? { ...options, allowKeychainPrompt: false }
|
|
118
|
+
: options, editorAvailable)).source);
|
|
119
|
+
}
|
|
120
|
+
return { provider: "cursor", sources };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The Cursor editor and CLI keep credentials in different stores, and either
|
|
124
|
+
* source is enough. Quota fetching tries the non-prompting editor store first;
|
|
125
|
+
* it reads the CLI Keychain value only when the editor token is absent or
|
|
126
|
+
* rejected by Cursor.
|
|
127
|
+
*/
|
|
128
|
+
async function resolveCredentials(options) {
|
|
129
|
+
const unavailable = [];
|
|
130
|
+
const editorState = await readCredentialState();
|
|
131
|
+
if (editorState.status === "available") {
|
|
132
|
+
return {
|
|
133
|
+
credentials: editorState.credentials,
|
|
134
|
+
source: "state-vscdb",
|
|
135
|
+
unavailable,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
unavailable.push(editorState);
|
|
139
|
+
if (!isCursorCliSourceSupported())
|
|
140
|
+
return { unavailable };
|
|
141
|
+
const cliState = await readCliCredentialState(options);
|
|
142
|
+
if (cliState.status === "available") {
|
|
143
|
+
return {
|
|
144
|
+
credentials: cliState.credentials,
|
|
145
|
+
source: "cli-keychain",
|
|
146
|
+
unavailable,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
unavailable.push(cliState);
|
|
150
|
+
return { unavailable };
|
|
151
|
+
}
|
|
152
|
+
async function readCliCredentialState(options, presenceOnly = false) {
|
|
153
|
+
const state = await readCursorCliCredentialState(options, presenceOnly);
|
|
154
|
+
if (state.status !== "available")
|
|
155
|
+
return state;
|
|
156
|
+
return {
|
|
157
|
+
status: "available",
|
|
158
|
+
credentials: {
|
|
159
|
+
accessToken: state.accessToken,
|
|
160
|
+
email: state.identity.email,
|
|
161
|
+
},
|
|
162
|
+
source: state.source,
|
|
163
|
+
};
|
|
77
164
|
}
|
|
78
165
|
export function normalizeCursorUsage(usage, planInfo, credentials) {
|
|
79
166
|
const data = objectValue(usage);
|
|
@@ -181,7 +268,7 @@ async function postDashboardRpc(accessToken, method) {
|
|
|
181
268
|
}
|
|
182
269
|
function rejectUnusableUsageResponse(response) {
|
|
183
270
|
if (response.status === 401 || response.status === 403) {
|
|
184
|
-
throw new
|
|
271
|
+
throw new CursorAuthError();
|
|
185
272
|
}
|
|
186
273
|
if (response.status === 429) {
|
|
187
274
|
throw new RateLimitError(retryAfterToIso(response.headers.get("retry-after")));
|
|
@@ -314,6 +401,25 @@ function errorMessage(error) {
|
|
|
314
401
|
return "Cursor quota request timed out";
|
|
315
402
|
return error instanceof Error ? error.message : "Cursor quota unavailable";
|
|
316
403
|
}
|
|
404
|
+
function cursorSuccess(quota, attempts) {
|
|
405
|
+
return successProvider({
|
|
406
|
+
provider: "cursor",
|
|
407
|
+
label: "Cursor",
|
|
408
|
+
source: "api",
|
|
409
|
+
plan: quota.plan,
|
|
410
|
+
account: quota.account,
|
|
411
|
+
windows: quota.windows,
|
|
412
|
+
credits: quota.credits,
|
|
413
|
+
refreshedAt: quota.refreshedAt,
|
|
414
|
+
sourcesTried: sourceNames(attempts),
|
|
415
|
+
attempts,
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
class CursorAuthError extends Error {
|
|
419
|
+
constructor() {
|
|
420
|
+
super("Cursor sign-in required");
|
|
421
|
+
}
|
|
422
|
+
}
|
|
317
423
|
class RateLimitError extends Error {
|
|
318
424
|
retryAfter;
|
|
319
425
|
constructor(retryAfter) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/providers/cursor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/providers/cursor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/skill.js
CHANGED
|
@@ -57,7 +57,7 @@ route, proxies, intercepts, logs in, imports browser cookies, or mutates provide
|
|
|
57
57
|
output has no ordering preference. The explicit \`models --sort runway\` comparator only orders
|
|
58
58
|
quota evidence, preserves ties, and is never a recommendation. It reads local provider auth sources and calls
|
|
59
59
|
first-party provider quota, usage, billing, or entitlement endpoints; it never launches the
|
|
60
|
-
Claude, Grok, Pi, or Kimi CLIs, so it cannot spend the quota it measures.
|
|
60
|
+
Claude, Cursor, Grok, Pi, or Kimi CLIs, so it cannot spend the quota it measures.
|
|
61
61
|
|
|
62
62
|
## When to use
|
|
63
63
|
|
|
@@ -90,13 +90,14 @@ or when comparing supported local provider headroom side by side.
|
|
|
90
90
|
4. Pass \`--full\` to include account identity, per-source attempts, and raw reserve diagnostics.
|
|
91
91
|
5. Run \`npx -y quota-axi auth\` to check local auth-source availability without printing
|
|
92
92
|
secret values.
|
|
93
|
-
6. On macOS, Claude Keychain value reads are
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
6. On macOS, Claude and Cursor CLI Keychain value reads are skipped by default until the user
|
|
94
|
+
grants access once. If quota output reports \`reason: keychain_access_required\`, tell your user
|
|
95
|
+
to run \`quota-axi --allow-keychain-prompt\` once and approve Keychain access ("Always Allow").
|
|
96
|
+
Plain calls then reuse the corresponding account-scoped access marker. Claude's marker is also
|
|
97
|
+
profile-scoped and its Keychain lookup is pinned to Claude Code's validated current-user
|
|
98
|
+
account. Cursor's \`cli-keychain\` source is used only when its non-prompting editor source has no
|
|
99
|
+
usable token; quota-axi never reads \`cursor-refresh-token\`, so an expired CLI access token
|
|
100
|
+
requires \`cursor-agent login\`. Legacy Claude markers are not reused.
|
|
100
101
|
7. For Grok, read \`state.authStatus\` before any logout wording. \`expired_refreshable\` means a
|
|
101
102
|
local session still looks signed in but short-lived access expired. Only when quota-axi also
|
|
102
103
|
emits \`reason: credentials_expired\` / \`remedyCommand: grok\` should you tell your user to
|
|
@@ -143,8 +144,9 @@ ${TOP_HELP.trimEnd()}
|
|
|
143
144
|
Claude local expiry metadata is advisory when an access token exists: the existing read-only
|
|
144
145
|
usage request decides validity. Missing or invalid credentials without a usable token and HTTP
|
|
145
146
|
401/403 retire Claude cache; only transient failures may use bounded, reset-pruned stale data.
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
Claude and Cursor CLI Keychain access markers live alongside it, use hashed account scope,
|
|
148
|
+
and contain no credential values or raw account identity. The Claude marker is also
|
|
149
|
+
profile-scoped.
|
|
148
150
|
`;
|
|
149
151
|
}
|
|
150
152
|
//# sourceMappingURL=skill.js.map
|
package/dist/src/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,sFAAsF;AACtF,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,qHAAqH;IACrH,8IAA8I;IAC9I,6GAA6G;IAC7G,6FAA6F;IAC7F,6DAA6D,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,KAAK;CACN,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;eAEM,eAAe,CAAC,iBAAiB,CAAC;;UAEvC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,sFAAsF;AACtF,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,qHAAqH;IACrH,8IAA8I;IAC9I,6GAA6G;IAC7G,6FAA6F;IAC7F,6DAA6D,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,KAAK;CACN,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;eAEM,eAAe,CAAC,iBAAiB,CAAC;;UAEvC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EX,QAAQ,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBnB,CAAC;AACF,CAAC"}
|
package/dist/src/tui.js
CHANGED
|
@@ -299,7 +299,10 @@ function pickHeadlineAvailability(provider) {
|
|
|
299
299
|
function effectiveMarkerPercent(provider, headline) {
|
|
300
300
|
if (!headline)
|
|
301
301
|
return undefined;
|
|
302
|
-
|
|
302
|
+
// The headline bar represents effective headroom, so its reset marker must
|
|
303
|
+
// follow that headroom's binding window. A finite runway can be constrained
|
|
304
|
+
// by another window and is rendered as the separate "empty in" verdict.
|
|
305
|
+
const limitingId = headline.limitingWindowIds?.[0];
|
|
303
306
|
if (limitingId === undefined)
|
|
304
307
|
return undefined;
|
|
305
308
|
const limiting = provider.windows.find((window) => window.id === limitingId);
|
package/dist/src/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/tui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/tui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -32,7 +32,7 @@ route, proxies, intercepts, logs in, imports browser cookies, or mutates provide
|
|
|
32
32
|
output has no ordering preference. The explicit `models --sort runway` comparator only orders
|
|
33
33
|
quota evidence, preserves ties, and is never a recommendation. It reads local provider auth sources and calls
|
|
34
34
|
first-party provider quota, usage, billing, or entitlement endpoints; it never launches the
|
|
35
|
-
Claude, Grok, Pi, or Kimi CLIs, so it cannot spend the quota it measures.
|
|
35
|
+
Claude, Cursor, Grok, Pi, or Kimi CLIs, so it cannot spend the quota it measures.
|
|
36
36
|
|
|
37
37
|
## When to use
|
|
38
38
|
|
|
@@ -65,13 +65,14 @@ or when comparing supported local provider headroom side by side.
|
|
|
65
65
|
4. Pass `--full` to include account identity, per-source attempts, and raw reserve diagnostics.
|
|
66
66
|
5. Run `npx -y quota-axi auth` to check local auth-source availability without printing
|
|
67
67
|
secret values.
|
|
68
|
-
6. On macOS, Claude Keychain value reads are
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
6. On macOS, Claude and Cursor CLI Keychain value reads are skipped by default until the user
|
|
69
|
+
grants access once. If quota output reports `reason: keychain_access_required`, tell your user
|
|
70
|
+
to run `quota-axi --allow-keychain-prompt` once and approve Keychain access ("Always Allow").
|
|
71
|
+
Plain calls then reuse the corresponding account-scoped access marker. Claude's marker is also
|
|
72
|
+
profile-scoped and its Keychain lookup is pinned to Claude Code's validated current-user
|
|
73
|
+
account. Cursor's `cli-keychain` source is used only when its non-prompting editor source has no
|
|
74
|
+
usable token; quota-axi never reads `cursor-refresh-token`, so an expired CLI access token
|
|
75
|
+
requires `cursor-agent login`. Legacy Claude markers are not reused.
|
|
75
76
|
7. For Grok, read `state.authStatus` before any logout wording. `expired_refreshable` means a
|
|
76
77
|
local session still looks signed in but short-lived access expired. Only when quota-axi also
|
|
77
78
|
emits `reason: credentials_expired` / `remedyCommand: grok` should you tell your user to
|
|
@@ -136,5 +137,6 @@ examples:
|
|
|
136
137
|
Claude local expiry metadata is advisory when an access token exists: the existing read-only
|
|
137
138
|
usage request decides validity. Missing or invalid credentials without a usable token and HTTP
|
|
138
139
|
401/403 retire Claude cache; only transient failures may use bounded, reset-pruned stale data.
|
|
139
|
-
|
|
140
|
-
|
|
140
|
+
Claude and Cursor CLI Keychain access markers live alongside it, use hashed account scope,
|
|
141
|
+
and contain no credential values or raw account identity. The Claude marker is also
|
|
142
|
+
profile-scoped.
|