quotacap 0.0.38 → 0.0.39
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 +1 -1
- package/dist/adapters/claude.js +4 -1
- package/dist/catalog/claude.js +2 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ QuotaCap helps you get more from the AI coding subscriptions you already pay for
|
|
|
18
18
|
|
|
19
19
|
| Provider | Mechanism | Source |
|
|
20
20
|
|---|---|---|
|
|
21
|
-
| Claude Code | `exec` — `claude -p /usage --output-format json` | Live |
|
|
21
|
+
| Claude Code | `exec` — `claude -p /usage --output-format json --strict-mcp-config` | Live |
|
|
22
22
|
| Antigravity | `exec` — `agy -p /usage --output-format json` (two rows: Antigravity for Gemini, Antigravity 3P for third-party models) | Live |
|
|
23
23
|
| Codex | `pty` — `codex --no-alt-screen` then `/status`, parse `Weekly/5h limit: X% left` | Live |
|
|
24
24
|
| Kimi Code | `pty` — `kimi` then `/usage`, parse `Weekly/5h limit: Y% used` | Live |
|
package/dist/adapters/claude.js
CHANGED
|
@@ -23,7 +23,10 @@ export const claudeAdapter = {
|
|
|
23
23
|
execPath: "claude",
|
|
24
24
|
async poll(execPath) {
|
|
25
25
|
const bin = execPath ?? claudeAdapter.execPath ?? "claude";
|
|
26
|
-
|
|
26
|
+
// --strict-mcp-config: a usage read needs no MCP servers. Without it every
|
|
27
|
+
// poll boots the user's servers under the daemon's PATH, and their failures
|
|
28
|
+
// are cached and hide those servers from the user's own sessions.
|
|
29
|
+
const { stdout } = await trackedExecFile("claude", bin, ["-p", "/usage", "--output-format", "json", "--strict-mcp-config"], { timeout: 8000 });
|
|
27
30
|
const parsed = JSON.parse(stdout);
|
|
28
31
|
const result = parsed.result ?? stdout;
|
|
29
32
|
return parseClaudeUsage(result);
|
package/dist/catalog/claude.js
CHANGED
|
@@ -56,7 +56,8 @@ export const claudeCatalogFetcher = {
|
|
|
56
56
|
// Reuse the pinned claude path the daemon resolves (claudeAdapter.execPath).
|
|
57
57
|
const bin = claudeAdapter.execPath ?? "claude";
|
|
58
58
|
// Per-fetch catalog-owned signal: never the usage poll's shared controller.
|
|
59
|
-
|
|
59
|
+
// No MCP servers for a model listing; see the usage adapter for why.
|
|
60
|
+
const { stdout } = await trackedExecFile("claude", bin, ["-p", "/model", "--output-format", "json", "--strict-mcp-config"], {
|
|
60
61
|
timeout: EXEC_TIMEOUT_MS,
|
|
61
62
|
signal: new AbortController().signal,
|
|
62
63
|
});
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by scripts/build-embed.mjs — do not edit
|
|
2
|
-
export const VERSION = "0.0.
|
|
2
|
+
export const VERSION = "0.0.39";
|