@ironbee-ai/cli 0.14.0 → 0.14.1
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/CHANGELOG.md +6 -0
- package/dist/clients/claude/hooks/session-status.d.ts +5 -0
- package/dist/clients/claude/hooks/session-status.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-status.js +120 -17
- package/dist/clients/claude/hooks/session-status.js.map +1 -1
- package/dist/clients/claude/oauth.d.ts +96 -0
- package/dist/clients/claude/oauth.d.ts.map +1 -0
- package/dist/clients/claude/oauth.js +290 -0
- package/dist/clients/claude/oauth.js.map +1 -0
- package/dist/commands/claude.d.ts +30 -0
- package/dist/commands/claude.d.ts.map +1 -0
- package/dist/commands/claude.js +188 -0
- package/dist/commands/claude.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +41 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +42 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/tui/config/schema.d.ts.map +1 -1
- package/dist/tui/config/schema.js +19 -0
- package/dist/tui/config/schema.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.14.1 (2026-05-26)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **oauth:** add Claude OAuth access capability + statusline rate-limit fallback ([600ff2c](https://github.com/ironbee-ai/ironbee-cli/commit/600ff2c0e6b04aca3afc445927964d3e416ddcbc))
|
|
8
|
+
|
|
3
9
|
## 0.14.0 (2026-05-26)
|
|
4
10
|
|
|
5
11
|
### Features
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* user's statusline vanish.
|
|
17
17
|
*/
|
|
18
18
|
import { SessionStatusEvent } from "../../../lib/event";
|
|
19
|
+
import { OauthRateLimits } from "../oauth";
|
|
19
20
|
/** Subset of the statusline stdin JSON this wrapper consumes. */
|
|
20
21
|
interface StatusLinePayload {
|
|
21
22
|
session_id?: string;
|
|
@@ -120,6 +121,10 @@ export declare function deriveSessionStatusEventId(sessionId: string, totalDurat
|
|
|
120
121
|
* resource snapshot, so the later one is a redundant emit and is skipped.
|
|
121
122
|
*/
|
|
122
123
|
export declare function computeSessionStatusSignature(e: SessionStatusEvent): string;
|
|
124
|
+
/** True when the event has no rate-limit windows at all (the team/enterprise case). */
|
|
125
|
+
export declare function needsRateLimitFallback(e: SessionStatusEvent): boolean;
|
|
126
|
+
/** Fill ONLY missing windows on the event from the OAuth usage cache (never overwrites). */
|
|
127
|
+
export declare function applyOauthRateLimits(e: SessionStatusEvent, usage: OauthRateLimits): void;
|
|
123
128
|
/**
|
|
124
129
|
* Statusline entry point. Reads stdin, submits the event (gated, fire-and-
|
|
125
130
|
* forget), then chains the user's original statusline.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"session-status.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAiBH,OAAO,EAAuC,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAM7F,OAAO,EAAyB,eAAe,EAAE,MAAM,UAAU,CAAC;AAElE,iEAAiE;AACjE,UAAU,iBAAiB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,SAAS,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,CAAC,EAAE;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,cAAc,CAAC,EAAE;QACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,aAAa,CAAC,EAAE;YACZ,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;YACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;SACpC,GAAG,IAAI,CAAC;KACZ,CAAC;IACF,WAAW,CAAC,EAAE;QACV,SAAS,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,SAAS,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChE,CAAC;CACL;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAIlE;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAczE;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE/D;AA+BD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CA6C3H;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAK7F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAY3E;AAiMD,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAWxF;AA8FD;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDtD"}
|
|
@@ -24,6 +24,8 @@ exports.normalizeModelId = normalizeModelId;
|
|
|
24
24
|
exports.buildSessionStatusEvent = buildSessionStatusEvent;
|
|
25
25
|
exports.deriveSessionStatusEventId = deriveSessionStatusEventId;
|
|
26
26
|
exports.computeSessionStatusSignature = computeSessionStatusSignature;
|
|
27
|
+
exports.needsRateLimitFallback = needsRateLimitFallback;
|
|
28
|
+
exports.applyOauthRateLimits = applyOauthRateLimits;
|
|
27
29
|
exports.runSessionStatus = runSessionStatus;
|
|
28
30
|
const child_process_1 = require("child_process");
|
|
29
31
|
const crypto_1 = require("crypto");
|
|
@@ -37,6 +39,7 @@ const stdin_1 = require("../../../lib/stdin");
|
|
|
37
39
|
const queue_1 = require("../../../queue");
|
|
38
40
|
const actions_1 = require("../../../hooks/core/actions");
|
|
39
41
|
const session_state_1 = require("../../../hooks/core/session-state");
|
|
42
|
+
const oauth_1 = require("../oauth");
|
|
40
43
|
const CLIENT = "claude";
|
|
41
44
|
/**
|
|
42
45
|
* True only when the command is EXACTLY our bare wrapper invocation. A tight
|
|
@@ -256,6 +259,8 @@ function readStatuslineState(path) {
|
|
|
256
259
|
return {
|
|
257
260
|
sig: typeof obj.sig === "string" ? obj.sig : undefined,
|
|
258
261
|
lastEmitMs: typeof obj.lastEmitMs === "number" ? obj.lastEmitMs : undefined,
|
|
262
|
+
usage: parseCachedUsage(obj.usage),
|
|
263
|
+
usageFetchedMs: typeof obj.usageFetchedMs === "number" ? obj.usageFetchedMs : undefined,
|
|
259
264
|
};
|
|
260
265
|
}
|
|
261
266
|
catch (e) {
|
|
@@ -263,6 +268,37 @@ function readStatuslineState(path) {
|
|
|
263
268
|
return {};
|
|
264
269
|
}
|
|
265
270
|
}
|
|
271
|
+
/** Parse one cached `{ used_percentage, resets_at }` window (both numbers required). */
|
|
272
|
+
function parseCachedWindow(v) {
|
|
273
|
+
if (v === null || typeof v !== "object") {
|
|
274
|
+
return undefined;
|
|
275
|
+
}
|
|
276
|
+
const o = v;
|
|
277
|
+
if (typeof o.used_percentage === "number" && typeof o.resets_at === "number") {
|
|
278
|
+
return { used_percentage: o.used_percentage, resets_at: o.resets_at };
|
|
279
|
+
}
|
|
280
|
+
return undefined;
|
|
281
|
+
}
|
|
282
|
+
/** Parse the cached OAuth rate-limit fallback from our own state file (lenient). */
|
|
283
|
+
function parseCachedUsage(v) {
|
|
284
|
+
if (v === null || typeof v !== "object") {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
const o = v;
|
|
288
|
+
const five = parseCachedWindow(o.five_hour);
|
|
289
|
+
const seven = parseCachedWindow(o.seven_day);
|
|
290
|
+
if (!five && !seven) {
|
|
291
|
+
return undefined;
|
|
292
|
+
}
|
|
293
|
+
const out = {};
|
|
294
|
+
if (five) {
|
|
295
|
+
out.five_hour = five;
|
|
296
|
+
}
|
|
297
|
+
if (seven) {
|
|
298
|
+
out.seven_day = seven;
|
|
299
|
+
}
|
|
300
|
+
return out;
|
|
301
|
+
}
|
|
266
302
|
/** Atomic write (tmp+rename). Single writer, so no lost-update concern. */
|
|
267
303
|
function writeStatuslineState(path, state) {
|
|
268
304
|
const tmp = `${path}.tmp.${process.pid}.${Date.now()}`;
|
|
@@ -318,26 +354,85 @@ async function submitSessionStatusEvent(input, projectDir) {
|
|
|
318
354
|
return;
|
|
319
355
|
}
|
|
320
356
|
const event = buildSessionStatusEvent(input, projectDir, sessionId);
|
|
321
|
-
const sig = computeSessionStatusSignature(event);
|
|
322
357
|
const statePath = statuslineStatePath(projectDir, sessionId);
|
|
323
358
|
const prev = readStatuslineState(statePath);
|
|
324
|
-
//
|
|
325
|
-
//
|
|
326
|
-
|
|
359
|
+
// OAuth rate-limit fallback (TTL-cached, before the signature so the filled
|
|
360
|
+
// windows participate in skip-if-unchanged). Naturally targets team /
|
|
361
|
+
// enterprise: Pro/Max already carry rate_limits in the statusline JSON by
|
|
362
|
+
// the time we pass the empty-tick guard, so `needsRateLimitFallback` is
|
|
363
|
+
// false for them and the keychain is never touched.
|
|
364
|
+
const fb = await maybeFillRateLimitsFromOauth(event, cfg, prev);
|
|
365
|
+
const sig = computeSessionStatusSignature(event);
|
|
366
|
+
const now = Date.now();
|
|
367
|
+
const intervalMs = (0, config_1.getStatusLineEmitMinIntervalSeconds)(cfg) * 1000;
|
|
368
|
+
const sigUnchanged = prev.sig === sig;
|
|
369
|
+
const throttled = intervalMs > 0 && prev.lastEmitMs !== undefined && now - prev.lastEmitMs < intervalMs;
|
|
370
|
+
const willEmit = !sigUnchanged && !throttled;
|
|
371
|
+
// 1) Skip-if-unchanged: same resource signature → redundant tick (the
|
|
372
|
+
// dominant case — vim/permission/re-render ticks).
|
|
373
|
+
// 2) Min-interval throttle: even on a real change, coalesce to at most one
|
|
374
|
+
// emit per `emitMinIntervalSeconds` (default 10; 0 disables). Skipping
|
|
375
|
+
// does NOT advance sig/lastEmitMs so the pending change still emits once
|
|
376
|
+
// the window opens — but we DO persist a refreshed usage cache so the
|
|
377
|
+
// TTL'd `/api/oauth/usage` fetch doesn't re-fire on every skipped tick.
|
|
378
|
+
if (willEmit) {
|
|
379
|
+
(0, queue_1.submit)(projectDir, sessionId, "send_event", event);
|
|
380
|
+
writeStatuslineState(statePath, { sig, lastEmitMs: now, usage: fb.usage, usageFetchedMs: fb.usageFetchedMs });
|
|
327
381
|
return;
|
|
328
382
|
}
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
383
|
+
if (fb.fetched) {
|
|
384
|
+
writeStatuslineState(statePath, {
|
|
385
|
+
sig: prev.sig,
|
|
386
|
+
lastEmitMs: prev.lastEmitMs,
|
|
387
|
+
usage: fb.usage,
|
|
388
|
+
usageFetchedMs: fb.usageFetchedMs,
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
/** True when the event has no rate-limit windows at all (the team/enterprise case). */
|
|
393
|
+
function needsRateLimitFallback(e) {
|
|
394
|
+
return e.rate_limits === undefined || (e.rate_limits.five_hour === undefined && e.rate_limits.seven_day === undefined);
|
|
395
|
+
}
|
|
396
|
+
/** Fill ONLY missing windows on the event from the OAuth usage cache (never overwrites). */
|
|
397
|
+
function applyOauthRateLimits(e, usage) {
|
|
398
|
+
if (!usage.five_hour && !usage.seven_day) {
|
|
337
399
|
return;
|
|
338
400
|
}
|
|
339
|
-
|
|
340
|
-
|
|
401
|
+
e.rate_limits = e.rate_limits ?? {};
|
|
402
|
+
if (usage.five_hour && !e.rate_limits.five_hour) {
|
|
403
|
+
e.rate_limits.five_hour = usage.five_hour;
|
|
404
|
+
}
|
|
405
|
+
if (usage.seven_day && !e.rate_limits.seven_day) {
|
|
406
|
+
e.rate_limits.seven_day = usage.seven_day;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* When `claude.oauthAccess` is on AND the statusline gave no rate_limits, fill
|
|
411
|
+
* them from `/api/oauth/usage` — TTL-cached in the statusline state file so the
|
|
412
|
+
* network + credential read fire at most once per `usageTtlSeconds`. Mutates
|
|
413
|
+
* `event` in place; returns the cache fields the caller persists.
|
|
414
|
+
*/
|
|
415
|
+
async function maybeFillRateLimitsFromOauth(event, cfg, prev) {
|
|
416
|
+
if (!(0, config_1.getClaudeOauthAccessEnabled)(cfg) || !needsRateLimitFallback(event)) {
|
|
417
|
+
return { usage: prev.usage, usageFetchedMs: prev.usageFetchedMs, fetched: false };
|
|
418
|
+
}
|
|
419
|
+
const ttlMs = (0, config_1.getClaudeOauthAccessUsageTtlSeconds)(cfg) * 1000;
|
|
420
|
+
const fresh = prev.usageFetchedMs !== undefined && Date.now() - prev.usageFetchedMs < ttlMs;
|
|
421
|
+
if (fresh) {
|
|
422
|
+
if (prev.usage) {
|
|
423
|
+
applyOauthRateLimits(event, prev.usage);
|
|
424
|
+
}
|
|
425
|
+
return { usage: prev.usage, usageFetchedMs: prev.usageFetchedMs, fetched: false };
|
|
426
|
+
}
|
|
427
|
+
// Cache stale/empty → fetch once. On failure keep the prior cached value
|
|
428
|
+
// (a slightly stale window beats none) but still advance the TTL anchor so
|
|
429
|
+
// we don't hammer the endpoint when it's down.
|
|
430
|
+
const fetched = await (0, oauth_1.fetchClaudeRateLimits)();
|
|
431
|
+
const usage = fetched ?? prev.usage;
|
|
432
|
+
if (usage) {
|
|
433
|
+
applyOauthRateLimits(event, usage);
|
|
434
|
+
}
|
|
435
|
+
return { usage, usageFetchedMs: Date.now(), fetched: true };
|
|
341
436
|
}
|
|
342
437
|
/**
|
|
343
438
|
* Spawn the chained statusline command, piping our stdin to it and inheriting
|
|
@@ -418,8 +513,13 @@ async function runSessionStatus() {
|
|
|
418
513
|
return;
|
|
419
514
|
}
|
|
420
515
|
const projectDir = resolveProjectDir(input);
|
|
421
|
-
// 1) Submit our metrics —
|
|
422
|
-
|
|
516
|
+
// 1) Submit our metrics — fire-and-forget. Run it CONCURRENTLY with the
|
|
517
|
+
// chained render below (not before) so the OAuth rate-limit fallback's
|
|
518
|
+
// network round-trip OVERLAPS the chained render instead of serializing
|
|
519
|
+
// ahead of it. The fetch is bounded (2.5s timeout) and TTL-gated (fires
|
|
520
|
+
// at most once per usageTtlSeconds), so added process lifetime is rare
|
|
521
|
+
// and capped — not a per-tick cost.
|
|
522
|
+
const submitPromise = submitSessionStatusEvent(input, projectDir).catch((e) => {
|
|
423
523
|
logger_1.logger.debug(`session-status: submit failed: ${e instanceof Error ? e.message : e}`);
|
|
424
524
|
});
|
|
425
525
|
// 2) Chain the user's original statusline. Primary: SessionStart cache.
|
|
@@ -439,10 +539,13 @@ async function runSessionStatus() {
|
|
|
439
539
|
chained = resolveChainTarget(projectDir);
|
|
440
540
|
}
|
|
441
541
|
if (chained && !isIronbeeStatusLine(chained)) {
|
|
442
|
-
await
|
|
542
|
+
// Render + submit in parallel; await both before exit so a queued event
|
|
543
|
+
// (and any refreshed usage cache) lands even when the chain finishes first.
|
|
544
|
+
await Promise.all([submitPromise, runChained(chained, raw)]);
|
|
443
545
|
return;
|
|
444
546
|
}
|
|
445
547
|
// 3) Nothing to chain → silent unless renderDefault is on.
|
|
548
|
+
await submitPromise;
|
|
446
549
|
if ((0, config_1.getStatusLineRenderDefault)((0, config_1.loadConfig)(projectDir))) {
|
|
447
550
|
process.stdout.write(buildDefaultLine(input) + "\n");
|
|
448
551
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-status.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { RateLimitWindow } from "../../lib/event";
|
|
2
|
+
export interface ClaudeOauthToken {
|
|
3
|
+
accessToken: string;
|
|
4
|
+
/** Epoch ms; undefined when the blob omitted it. */
|
|
5
|
+
expiresAt?: number;
|
|
6
|
+
/** "pro" / "max" / … when present in the blob; informational only. */
|
|
7
|
+
subscriptionType?: string;
|
|
8
|
+
}
|
|
9
|
+
/** The two rolling-window rate limits we map onto `SessionStatusEvent.rate_limits`. */
|
|
10
|
+
export interface OauthRateLimits {
|
|
11
|
+
five_hour?: RateLimitWindow;
|
|
12
|
+
seven_day?: RateLimitWindow;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Outcome of a macOS Keychain read, with the failure reason mapped from
|
|
16
|
+
* `security`'s exit code so the `enable` / `status` commands can explain WHY
|
|
17
|
+
* the read failed. The hook path uses the quiet {@link readClaudeOauthToken}
|
|
18
|
+
* wrapper instead and only cares about success/failure.
|
|
19
|
+
*/
|
|
20
|
+
export type KeychainResult = {
|
|
21
|
+
ok: true;
|
|
22
|
+
raw: string;
|
|
23
|
+
} | {
|
|
24
|
+
ok: false;
|
|
25
|
+
reason: "not_found" | "locked" | "denied" | "timeout" | "error";
|
|
26
|
+
message: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Read the Claude Code credential blob from the macOS login Keychain via the
|
|
30
|
+
* `security` CLI. Exit-code mapping mirrors opencode-claude-auth's keychain.ts:
|
|
31
|
+
* 44 → item not found · 36 → keychain locked · 128 → access denied ·
|
|
32
|
+
* killed / ETIMEDOUT → timeout (seen on macOS Tahoe) · else → generic error.
|
|
33
|
+
*
|
|
34
|
+
* Using the `security` binary (not a node keychain lib) is deliberate: the
|
|
35
|
+
* Keychain ACL identifies the requesting app by code signature, and `security`
|
|
36
|
+
* is a stable Apple-signed binary — so once the user grants "Always Allow",
|
|
37
|
+
* the grant survives IronBee version updates (a node-lib request would re-key
|
|
38
|
+
* on the changing node/ironbee binary and re-prompt).
|
|
39
|
+
*/
|
|
40
|
+
export declare function readKeychainCredential(): KeychainResult;
|
|
41
|
+
/**
|
|
42
|
+
* Parse a raw Claude Code OAuth credential blob. The blob is either
|
|
43
|
+
* `{ claudeAiOauth: {...} }` (the on-disk / keychain wrapper) or the inner
|
|
44
|
+
* object directly. Returns null when there's no usable `accessToken` (e.g. an
|
|
45
|
+
* `mcpOAuth`-only entry, which is an MCP server credential, not a user token).
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseClaudeOauthBlob(raw: string): ClaudeOauthToken | null;
|
|
48
|
+
/**
|
|
49
|
+
* Detailed token resolution for the `enable` / `status` commands. Reports which
|
|
50
|
+
* source supplied the token and, on macOS keychain failure with no file
|
|
51
|
+
* fallback, the mapped diagnostic. `source: "none"` + `diag` = nothing worked.
|
|
52
|
+
*/
|
|
53
|
+
export interface OauthTokenResolution {
|
|
54
|
+
token: ClaudeOauthToken | null;
|
|
55
|
+
source: "keychain" | "file" | "none";
|
|
56
|
+
diag?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function resolveClaudeOauthToken(homeOverride?: string): OauthTokenResolution;
|
|
59
|
+
/**
|
|
60
|
+
* Quiet cross-platform token read for the hot path (statusline hook). Tries the
|
|
61
|
+
* Keychain (macOS) then the file, returning null on any failure without
|
|
62
|
+
* surfacing diagnostics.
|
|
63
|
+
*/
|
|
64
|
+
export declare function readClaudeOauthToken(homeOverride?: string): ClaudeOauthToken | null;
|
|
65
|
+
/** Map the raw `/api/oauth/usage` body onto the windows we ship. Null when neither maps. */
|
|
66
|
+
export declare function mapOauthUsageToRateLimits(usage: unknown): OauthRateLimits | null;
|
|
67
|
+
/**
|
|
68
|
+
* Generic GET against an OAuth-scoped endpoint (`/usage`, `/profile`, …) with
|
|
69
|
+
* the access token + required beta header. Bounded by `timeoutMs`
|
|
70
|
+
* (AbortController) so a caller on the statusline path never hangs. Returns the
|
|
71
|
+
* parsed JSON body, or null on any failure (non-2xx, timeout, malformed body).
|
|
72
|
+
*/
|
|
73
|
+
export declare function oauthGet(path: string, accessToken: string, timeoutMs?: number): Promise<unknown | null>;
|
|
74
|
+
/** Query `/api/oauth/usage` with a resolved token and map to rate-limit windows. */
|
|
75
|
+
export declare function fetchOauthUsage(accessToken: string, timeoutMs?: number): Promise<OauthRateLimits | null>;
|
|
76
|
+
/** Authoritative plan / org summary from `/api/oauth/profile` (used by `status`). */
|
|
77
|
+
export interface OauthProfileSummary {
|
|
78
|
+
email?: string;
|
|
79
|
+
organizationType?: string;
|
|
80
|
+
rateLimitTier?: string;
|
|
81
|
+
subscriptionStatus?: string;
|
|
82
|
+
}
|
|
83
|
+
export declare function summarizeOauthProfile(profile: unknown): OauthProfileSummary | null;
|
|
84
|
+
/** Query `/api/oauth/profile` with a resolved token and summarize it. */
|
|
85
|
+
export declare function fetchOauthProfile(accessToken: string, timeoutMs?: number): Promise<OauthProfileSummary | null>;
|
|
86
|
+
/**
|
|
87
|
+
* Read the token + query `/api/oauth/usage`, returning the mapped rate limits.
|
|
88
|
+
* The convenience wrapper the statusline hook calls. Returns null when no token
|
|
89
|
+
* is available, the token is already expired (skip the doomed call — we don't
|
|
90
|
+
* refresh), or the fetch fails.
|
|
91
|
+
*/
|
|
92
|
+
export declare function fetchClaudeRateLimits(opts?: {
|
|
93
|
+
timeoutMs?: number;
|
|
94
|
+
homeOverride?: string;
|
|
95
|
+
}): Promise<OauthRateLimits | null>;
|
|
96
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/clients/claude/oauth.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AASlD,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAmDvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAyBzE;AAgBD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAsBnF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEnF;AAyBD,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAkBhF;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAiC,GAC7C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAsBzB;AAED,oFAAoF;AACpF,wBAAsB,eAAe,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAiC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAiBlF;AAED,yEAAyE;AACzE,wBAAsB,iBAAiB,CACnC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAiC,GAC7C,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAErC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUlC"}
|