@gtc6244/immediacy-daemon 0.2.18 → 0.2.19
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.
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Answers `usage.get` with, per provider, how much headroom is left:
|
|
5
5
|
* - Anthropic → a rate-limit window (percent used + when it resets), read from
|
|
6
|
-
* the `anthropic-ratelimit-*` response headers
|
|
7
|
-
* probe
|
|
8
|
-
*
|
|
6
|
+
* the `anthropic-ratelimit-*` response headers. An API key uses the free
|
|
7
|
+
* `count_tokens` probe; an OAuth/subscription login only emits its unified
|
|
8
|
+
* 5h/7d window on a real `/v1/messages` reply, so we spend one 1-token call
|
|
9
|
+
* on the cheapest live model. The credential is the stored/env API key, or
|
|
10
|
+
* the Claude Code OAuth token (from `<configDir>/.credentials.json`, or the
|
|
11
|
+
* macOS keychain).
|
|
9
12
|
* - OpenRouter → a dollar-credits balance: total remaining (`/v1/credits`) and,
|
|
10
13
|
* best-effort, spend/remaining today (`/v1/activity`, `/v1/auth/key`).
|
|
11
14
|
* - OpenAI/ChatGPT → no readable subscription usage source today → "unavailable".
|
package/dist/src/usage-report.js
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Answers `usage.get` with, per provider, how much headroom is left:
|
|
5
5
|
* - Anthropic → a rate-limit window (percent used + when it resets), read from
|
|
6
|
-
* the `anthropic-ratelimit-*` response headers
|
|
7
|
-
* probe
|
|
8
|
-
*
|
|
6
|
+
* the `anthropic-ratelimit-*` response headers. An API key uses the free
|
|
7
|
+
* `count_tokens` probe; an OAuth/subscription login only emits its unified
|
|
8
|
+
* 5h/7d window on a real `/v1/messages` reply, so we spend one 1-token call
|
|
9
|
+
* on the cheapest live model. The credential is the stored/env API key, or
|
|
10
|
+
* the Claude Code OAuth token (from `<configDir>/.credentials.json`, or the
|
|
11
|
+
* macOS keychain).
|
|
9
12
|
* - OpenRouter → a dollar-credits balance: total remaining (`/v1/credits`) and,
|
|
10
13
|
* best-effort, spend/remaining today (`/v1/activity`, `/v1/auth/key`).
|
|
11
14
|
* - OpenAI/ChatGPT → no readable subscription usage source today → "unavailable".
|
|
@@ -15,7 +18,7 @@
|
|
|
15
18
|
* This module NEVER throws — every failure degrades to `kind: "unavailable"`
|
|
16
19
|
* with a human `detail`, mirroring the resilience of `agent/openrouter-probe.ts`.
|
|
17
20
|
*/
|
|
18
|
-
import {
|
|
21
|
+
import { anthropicAuthHeaders, resolveAnthropicAuth } from "./anthropic-auth.js";
|
|
19
22
|
const USAGE_TTL_MS = Number(process.env.USAGE_TTL_MS) || 10 * 60_000;
|
|
20
23
|
const PROBE_TIMEOUT_MS = 8_000;
|
|
21
24
|
const ANTHROPIC_BASE_URL = process.env.ANTHROPIC_BASE_URL ?? "https://api.anthropic.com";
|
|
@@ -72,24 +75,21 @@ async function refreshAnthropic(credentials, config) {
|
|
|
72
75
|
const headers = {
|
|
73
76
|
"anthropic-version": ANTHROPIC_VERSION,
|
|
74
77
|
"content-type": "application/json",
|
|
78
|
+
...anthropicAuthHeaders(auth),
|
|
75
79
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
// The two credential kinds expose their usage window through different probes:
|
|
81
|
+
// - An API key surfaces its requests/tokens limits on the FREE
|
|
82
|
+
// `count_tokens` call, so we measure it without spending anything.
|
|
83
|
+
// - An OAuth/subscription login returns NO rate-limit headers on
|
|
84
|
+
// `count_tokens`; its unified 5h/7d window (`anthropic-ratelimit-unified-*`)
|
|
85
|
+
// only appears on a real `/v1/messages` response. We spend one 1-token
|
|
86
|
+
// reply on the cheapest live model — negligible, and gated by USAGE_TTL_MS.
|
|
87
|
+
const res = auth.kind === "apikey"
|
|
88
|
+
? await probeCountTokens(headers)
|
|
89
|
+
: await probeMessages(headers);
|
|
90
|
+
if (!res) {
|
|
91
|
+
return unavailable("anthropic", "no live model available to probe usage");
|
|
81
92
|
}
|
|
82
|
-
// `count_tokens` is free (no billed tokens) yet still returns the account's
|
|
83
|
-
// `anthropic-ratelimit-*` headers, so we measure the window without spending it.
|
|
84
|
-
const res = await fetch(`${ANTHROPIC_BASE_URL}/v1/messages/count_tokens`, {
|
|
85
|
-
method: "POST",
|
|
86
|
-
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
87
|
-
headers,
|
|
88
|
-
body: JSON.stringify({
|
|
89
|
-
model: "claude-3-5-haiku-latest",
|
|
90
|
-
messages: [{ role: "user", content: "hi" }],
|
|
91
|
-
}),
|
|
92
|
-
});
|
|
93
93
|
const parsed = parseAnthropicRateLimit(res.headers);
|
|
94
94
|
if (!parsed) {
|
|
95
95
|
return unavailable("anthropic", res.ok
|
|
@@ -104,6 +104,62 @@ async function refreshAnthropic(credentials, config) {
|
|
|
104
104
|
...(parsed.resetAt ? { resetAt: parsed.resetAt } : {}),
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
+
/** Free probe for an API key: `count_tokens` returns requests/tokens limits. */
|
|
108
|
+
function probeCountTokens(headers) {
|
|
109
|
+
return fetch(`${ANTHROPIC_BASE_URL}/v1/messages/count_tokens`, {
|
|
110
|
+
method: "POST",
|
|
111
|
+
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
112
|
+
headers,
|
|
113
|
+
body: JSON.stringify({
|
|
114
|
+
model: "claude-3-5-haiku-latest",
|
|
115
|
+
messages: [{ role: "user", content: "hi" }],
|
|
116
|
+
}),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Subscription probe: a 1-token `/v1/messages` reply, the only response that
|
|
121
|
+
* carries the OAuth account's `anthropic-ratelimit-unified-*` window. Uses the
|
|
122
|
+
* cheapest model the account actually has (a hard-coded id can 404 as the
|
|
123
|
+
* catalog rolls forward). Returns null when no model can be resolved.
|
|
124
|
+
*/
|
|
125
|
+
async function probeMessages(headers) {
|
|
126
|
+
const model = await pickProbeModel(headers);
|
|
127
|
+
if (!model)
|
|
128
|
+
return null;
|
|
129
|
+
return fetch(`${ANTHROPIC_BASE_URL}/v1/messages`, {
|
|
130
|
+
method: "POST",
|
|
131
|
+
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
132
|
+
headers,
|
|
133
|
+
body: JSON.stringify({
|
|
134
|
+
model,
|
|
135
|
+
max_tokens: 1,
|
|
136
|
+
messages: [{ role: "user", content: "hi" }],
|
|
137
|
+
}),
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The cheapest live model to spend the probe token on: prefer a Haiku, else the
|
|
142
|
+
* last (typically smallest/oldest) id the catalog lists. Returns undefined when
|
|
143
|
+
* `/v1/models` can't be read.
|
|
144
|
+
*/
|
|
145
|
+
async function pickProbeModel(headers) {
|
|
146
|
+
try {
|
|
147
|
+
const res = await fetch(`${ANTHROPIC_BASE_URL}/v1/models`, {
|
|
148
|
+
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
149
|
+
headers,
|
|
150
|
+
});
|
|
151
|
+
if (!res.ok)
|
|
152
|
+
return undefined;
|
|
153
|
+
const body = (await res.json());
|
|
154
|
+
const ids = (body.data ?? [])
|
|
155
|
+
.map((m) => m.id)
|
|
156
|
+
.filter((id) => typeof id === "string" && id.length > 0);
|
|
157
|
+
return ids.find((id) => /haiku/i.test(id)) ?? ids[ids.length - 1];
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
107
163
|
/**
|
|
108
164
|
* Pull a used-percentage and reset time out of Anthropic's rate-limit headers,
|
|
109
165
|
* defensively across header schemes (the unified subscription window if present,
|
|
@@ -128,6 +184,22 @@ function parseAnthropicRateLimit(h) {
|
|
|
128
184
|
const asEpoch = Number(v);
|
|
129
185
|
return Number.isFinite(asEpoch) ? asEpoch * 1000 : undefined;
|
|
130
186
|
};
|
|
187
|
+
// Subscription (OAuth) scheme first: the unified window reports a 0..1
|
|
188
|
+
// `-utilization` fraction (not a limit/remaining pair). The 5h window is the
|
|
189
|
+
// representative claim for the "resets in…" readout; fall back to the 7d cap.
|
|
190
|
+
const utilGroups = [
|
|
191
|
+
"anthropic-ratelimit-unified-5h",
|
|
192
|
+
"anthropic-ratelimit-unified-7d",
|
|
193
|
+
];
|
|
194
|
+
for (const g of utilGroups) {
|
|
195
|
+
const util = num(`${g}-utilization`);
|
|
196
|
+
if (util != null) {
|
|
197
|
+
return {
|
|
198
|
+
usedPct: Math.max(0, Math.min(100, util * 100)),
|
|
199
|
+
resetAt: resetOf(`${g}-reset`),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
131
203
|
// Preference order: unified 5h subscription window → unified → tokens → requests.
|
|
132
204
|
const groups = [
|
|
133
205
|
"anthropic-ratelimit-unified-5h",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-report.js","sourceRoot":"","sources":["../../src/usage-report.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"usage-report.js","sourceRoot":"","sources":["../../src/usage-report.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED