@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 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;AAeH,OAAO,EAAuC,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAO7F,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;AAsLD;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CtD"}
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
- // 1) Skip-if-unchanged: same resource signature redundant tick, skip
325
- // without writing (the dominant case vim/permission/re-render ticks).
326
- if (prev.sig === sig) {
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
- // 2) Min-interval throttle: even on a real metric change, don't emit more
330
- // often than `emitMinIntervalSeconds` (default 10; 0 disables). Rapid
331
- // changes coalesce — the next tick after the interval elapses emits the
332
- // latest state. Skip WITHOUT advancing state so the pending change is
333
- // still emitted once the window opens.
334
- const intervalMs = (0, config_1.getStatusLineEmitMinIntervalSeconds)(cfg) * 1000;
335
- const now = Date.now();
336
- if (intervalMs > 0 && prev.lastEmitMs !== undefined && now - prev.lastEmitMs < intervalMs) {
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
- (0, queue_1.submit)(projectDir, sessionId, "send_event", event);
340
- writeStatuslineState(statePath, { sig, lastEmitMs: now });
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 — never blocks/breaks the render.
422
- await submitSessionStatusEvent(input, projectDir).catch((e) => {
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 runChained(chained, raw);
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"}