@botiverse/oar 0.0.3 → 0.0.5
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 +15 -4
- package/dist/contracts/account-usage.d.ts +1 -0
- package/dist/contracts/account-usage.d.ts.map +1 -1
- package/dist/contracts/model-catalog.d.ts +51 -0
- package/dist/contracts/model-catalog.d.ts.map +1 -0
- package/dist/contracts/model-catalog.js +9 -0
- package/dist/contracts/model-catalog.js.map +1 -0
- package/dist/contracts/provider-auth.d.ts +77 -0
- package/dist/contracts/provider-auth.d.ts.map +1 -0
- package/dist/contracts/provider-auth.js +9 -0
- package/dist/contracts/provider-auth.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/runtimes/claude/account-usage.d.ts +21 -19
- package/dist/runtimes/claude/account-usage.d.ts.map +1 -1
- package/dist/runtimes/claude/account-usage.js +153 -131
- package/dist/runtimes/claude/account-usage.js.map +1 -1
- package/dist/runtimes/codex/account-usage.d.ts +21 -0
- package/dist/runtimes/codex/account-usage.d.ts.map +1 -1
- package/dist/runtimes/codex/account-usage.js +27 -10
- package/dist/runtimes/codex/account-usage.js.map +1 -1
- package/dist/runtimes/grok/account-usage.d.ts +6 -0
- package/dist/runtimes/grok/account-usage.d.ts.map +1 -0
- package/dist/runtimes/grok/account-usage.js +142 -0
- package/dist/runtimes/grok/account-usage.js.map +1 -0
- package/dist/runtimes/grok/index.d.ts +9 -0
- package/dist/runtimes/grok/index.d.ts.map +1 -0
- package/dist/runtimes/grok/index.js +13 -0
- package/dist/runtimes/grok/index.js.map +1 -0
- package/dist/runtimes/grok/installation.d.ts +4 -0
- package/dist/runtimes/grok/installation.d.ts.map +1 -0
- package/dist/runtimes/grok/installation.js +19 -0
- package/dist/runtimes/grok/installation.js.map +1 -0
- package/dist/runtimes/grok/session.d.ts +10 -0
- package/dist/runtimes/grok/session.d.ts.map +1 -0
- package/dist/runtimes/grok/session.js +66 -0
- package/dist/runtimes/grok/session.js.map +1 -0
- package/dist/runtimes/kimi/account-usage.d.ts +9 -0
- package/dist/runtimes/kimi/account-usage.d.ts.map +1 -0
- package/dist/runtimes/kimi/account-usage.js +241 -0
- package/dist/runtimes/kimi/account-usage.js.map +1 -0
- package/dist/runtimes/kimi/auth-config.d.ts +12 -0
- package/dist/runtimes/kimi/auth-config.d.ts.map +1 -0
- package/dist/runtimes/kimi/auth-config.js +90 -0
- package/dist/runtimes/kimi/auth-config.js.map +1 -0
- package/dist/runtimes/kimi/index.d.ts +9 -0
- package/dist/runtimes/kimi/index.d.ts.map +1 -0
- package/dist/runtimes/kimi/index.js +13 -0
- package/dist/runtimes/kimi/index.js.map +1 -0
- package/dist/runtimes/kimi/installation.d.ts +4 -0
- package/dist/runtimes/kimi/installation.d.ts.map +1 -0
- package/dist/runtimes/kimi/installation.js +18 -0
- package/dist/runtimes/kimi/installation.js.map +1 -0
- package/dist/runtimes/kimi/oauth-token.d.ts +12 -0
- package/dist/runtimes/kimi/oauth-token.d.ts.map +1 -0
- package/dist/runtimes/kimi/oauth-token.js +38 -0
- package/dist/runtimes/kimi/oauth-token.js.map +1 -0
- package/dist/runtimes/kimi/session.d.ts +7 -0
- package/dist/runtimes/kimi/session.d.ts.map +1 -0
- package/dist/runtimes/kimi/session.js +39 -0
- package/dist/runtimes/kimi/session.js.map +1 -0
- package/dist/runtimes/pi/auth.d.ts +16 -0
- package/dist/runtimes/pi/auth.d.ts.map +1 -0
- package/dist/runtimes/pi/auth.js +124 -0
- package/dist/runtimes/pi/auth.js.map +1 -0
- package/dist/runtimes/pi/catalog.d.ts +10 -0
- package/dist/runtimes/pi/catalog.d.ts.map +1 -0
- package/dist/runtimes/pi/catalog.js +66 -0
- package/dist/runtimes/pi/catalog.js.map +1 -0
- package/dist/shared/acp/errors.d.ts +16 -0
- package/dist/shared/acp/errors.d.ts.map +1 -0
- package/dist/shared/acp/errors.js +25 -0
- package/dist/shared/acp/errors.js.map +1 -0
- package/dist/shared/acp/process.d.ts +24 -0
- package/dist/shared/acp/process.d.ts.map +1 -0
- package/dist/shared/acp/process.js +88 -0
- package/dist/shared/acp/process.js.map +1 -0
- package/dist/shared/acp/profile.d.ts +36 -0
- package/dist/shared/acp/profile.d.ts.map +1 -0
- package/dist/shared/acp/profile.js +104 -0
- package/dist/shared/acp/profile.js.map +1 -0
- package/dist/shared/acp/projection.d.ts +21 -0
- package/dist/shared/acp/projection.d.ts.map +1 -0
- package/dist/shared/acp/projection.js +160 -0
- package/dist/shared/acp/projection.js.map +1 -0
- package/dist/shared/acp/session.d.ts +5 -0
- package/dist/shared/acp/session.d.ts.map +1 -0
- package/dist/shared/acp/session.js +254 -0
- package/dist/shared/acp/session.js.map +1 -0
- package/dist/shared/acp/terminal.d.ts +17 -0
- package/dist/shared/acp/terminal.d.ts.map +1 -0
- package/dist/shared/acp/terminal.js +193 -0
- package/dist/shared/acp/terminal.js.map +1 -0
- package/dist/shared/executable/index.d.ts +0 -1
- package/dist/shared/executable/index.d.ts.map +1 -1
- package/dist/shared/executable/index.js.map +1 -1
- package/dist/shared/executable/process.d.ts +16 -15
- package/dist/shared/executable/process.d.ts.map +1 -1
- package/dist/shared/executable/process.js +46 -32
- package/dist/shared/executable/process.js.map +1 -1
- package/dist/shared/executable/resolve.d.ts +2 -15
- package/dist/shared/executable/resolve.d.ts.map +1 -1
- package/dist/shared/executable/resolve.js +4 -61
- package/dist/shared/executable/resolve.js.map +1 -1
- package/dist/shared/executable/version.d.ts +1 -1
- package/dist/shared/executable/version.d.ts.map +1 -1
- package/dist/shared/executable/version.js +2 -2
- package/dist/shared/executable/version.js.map +1 -1
- package/dist/shared/installation.d.ts +6 -1
- package/dist/shared/installation.d.ts.map +1 -1
- package/dist/shared/installation.js +11 -9
- package/dist/shared/installation.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
# @botiverse/oar
|
|
2
2
|
|
|
3
|
-
Provider-independent TypeScript contracts and built-in implementations for observing
|
|
3
|
+
Provider-independent TypeScript contracts and built-in implementations for controlling and observing Claude, Codex, Grok, Kimi, and Pi.
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
import { runtimes } from "@botiverse/oar";
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
const installation = await
|
|
10
|
-
|
|
8
|
+
const runtime = runtimes.require("grok");
|
|
9
|
+
const installation = await runtime.installation?.();
|
|
10
|
+
|
|
11
|
+
if (installation?.kind === "available") {
|
|
12
|
+
const session = await runtime.session(installation, { cwd: process.cwd() });
|
|
13
|
+
const result = session.prompt("Inspect this repository");
|
|
14
|
+
if (result.kind === "turn") {
|
|
15
|
+
console.log(await result.turn.outcome);
|
|
16
|
+
}
|
|
17
|
+
console.log(await runtime.accountUsage?.(installation));
|
|
18
|
+
await session.dispose();
|
|
19
|
+
}
|
|
11
20
|
```
|
|
12
21
|
|
|
22
|
+
Grok and Kimi share an internal ACP v1 transport and session kernel, but only their concrete runtime identities are public. The registry deliberately does not expose a generic `acp` runtime.
|
|
23
|
+
|
|
13
24
|
The command-line interface is a separate package: `@botiverse/oar-cli`.
|
|
@@ -17,6 +17,7 @@ export interface AccountUsageWindow {
|
|
|
17
17
|
}
|
|
18
18
|
export type AccountUsageSnapshot = {
|
|
19
19
|
readonly kind: "available";
|
|
20
|
+
/** Runtime-reported subscription plan or tier; omitted when not exposed. */
|
|
20
21
|
readonly plan?: string;
|
|
21
22
|
/** Signed-in account email; omitted when the runtime does not expose one. */
|
|
22
23
|
readonly email?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../src/contracts/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../src/contracts/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-independent model catalog facade — the other half of the provider
|
|
3
|
+
* plane (see {@link ./provider-auth.js}). It lists providers and their models
|
|
4
|
+
* with capabilities and refreshes the remote catalog, but is credential-blind:
|
|
5
|
+
* it reads auth status only to report which providers are usable, never logs
|
|
6
|
+
* in. The built-in implementation wraps Pi's `ModelRegistry`.
|
|
7
|
+
*/
|
|
8
|
+
/** One provider in the catalog. */
|
|
9
|
+
export interface CatalogProvider {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
/** Whether this provider has a usable configured credential. */
|
|
13
|
+
readonly configured: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** One model with its normalized capabilities. */
|
|
16
|
+
export interface CatalogModel {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly providerId: string;
|
|
19
|
+
/** The provider's wire protocol, e.g. `"anthropic-messages"` or `"openai-completions"`. */
|
|
20
|
+
readonly wire: string;
|
|
21
|
+
readonly baseUrl: string;
|
|
22
|
+
readonly contextWindow: number;
|
|
23
|
+
readonly maxTokens: number;
|
|
24
|
+
/** Whether the model exposes a reasoning/thinking channel. */
|
|
25
|
+
readonly reasoning: boolean;
|
|
26
|
+
/** Accepted input modalities. */
|
|
27
|
+
readonly input: readonly ("text" | "image")[];
|
|
28
|
+
}
|
|
29
|
+
export interface CatalogRefreshOptions {
|
|
30
|
+
/** Limit the refresh to these provider ids. */
|
|
31
|
+
readonly providers?: readonly string[];
|
|
32
|
+
/** Allow network access to fetch the remote catalog. */
|
|
33
|
+
readonly allowNetwork?: boolean;
|
|
34
|
+
readonly signal?: AbortSignal;
|
|
35
|
+
}
|
|
36
|
+
export interface CatalogRefreshResult {
|
|
37
|
+
readonly aborted: boolean;
|
|
38
|
+
/** Per-provider refresh errors, keyed by provider id. */
|
|
39
|
+
readonly errors: ReadonlyMap<string, string>;
|
|
40
|
+
}
|
|
41
|
+
export interface ModelCatalogFacade {
|
|
42
|
+
/** Every provider that has models, with its usable-auth status. */
|
|
43
|
+
providers(): readonly CatalogProvider[];
|
|
44
|
+
/** Every model, optionally narrowed to one provider. */
|
|
45
|
+
models(providerId?: string): readonly CatalogModel[];
|
|
46
|
+
/** The id of the recommended default model for a provider, if any. */
|
|
47
|
+
defaultModel(providerId: string): string | undefined;
|
|
48
|
+
/** Reload provider catalogs (remote overlay is cached with ETag/Last-Modified). */
|
|
49
|
+
refresh(options?: CatalogRefreshOptions): Promise<CatalogRefreshResult>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=model-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/contracts/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,wDAAwD;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,SAAS,IAAI,SAAS,eAAe,EAAE,CAAC;IACxC,wDAAwD;IACxD,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAAC;IACrD,sEAAsE;IACtE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrD,mFAAmF;IACnF,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-independent model catalog facade — the other half of the provider
|
|
3
|
+
* plane (see {@link ./provider-auth.js}). It lists providers and their models
|
|
4
|
+
* with capabilities and refreshes the remote catalog, but is credential-blind:
|
|
5
|
+
* it reads auth status only to report which providers are usable, never logs
|
|
6
|
+
* in. The built-in implementation wraps Pi's `ModelRegistry`.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=model-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../src/contracts/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-independent authentication facade. Unlike a {@link Runtime} facet,
|
|
3
|
+
* this describes the *provider* plane — the accounts and credentials a runtime
|
|
4
|
+
* consumes (Anthropic, xAI, Moonshot, …) — which is orthogonal to which harness
|
|
5
|
+
* runs them. Implementations wrap a credential/model backend (the built-in one
|
|
6
|
+
* wraps Pi's `ModelRuntime`) without leaking its types.
|
|
7
|
+
*/
|
|
8
|
+
/** The two login methods a provider may accept. */
|
|
9
|
+
export type ProviderLoginMethod = "oauth" | "api_key";
|
|
10
|
+
/** A non-secret snapshot of one provider's stored auth. */
|
|
11
|
+
export interface ProviderAuthStatus {
|
|
12
|
+
readonly providerId: string;
|
|
13
|
+
/** Whether any usable credential is configured for this provider. */
|
|
14
|
+
readonly configured: boolean;
|
|
15
|
+
/** How the configured credential authenticates; omitted when not configured. */
|
|
16
|
+
readonly method?: ProviderLoginMethod;
|
|
17
|
+
/** Human-readable source label, e.g. `"OAuth"` or `"ANTHROPIC_API_KEY"`. */
|
|
18
|
+
readonly label?: string;
|
|
19
|
+
/** True when the credential is a subscription OAuth login rather than a metered key. */
|
|
20
|
+
readonly subscription?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** An event surfaced while a login flow runs. */
|
|
23
|
+
export type ProviderLoginEvent = {
|
|
24
|
+
readonly kind: "auth_url";
|
|
25
|
+
readonly url: string;
|
|
26
|
+
readonly instructions?: string;
|
|
27
|
+
} | {
|
|
28
|
+
readonly kind: "device_code";
|
|
29
|
+
readonly userCode: string;
|
|
30
|
+
readonly verificationUri: string;
|
|
31
|
+
readonly intervalSeconds?: number;
|
|
32
|
+
readonly expiresInSeconds?: number;
|
|
33
|
+
} | {
|
|
34
|
+
readonly kind: "info";
|
|
35
|
+
readonly message: string;
|
|
36
|
+
};
|
|
37
|
+
/** A prompt the login flow needs the caller to answer. */
|
|
38
|
+
export type ProviderLoginPrompt = {
|
|
39
|
+
readonly kind: "text" | "secret" | "manual_code";
|
|
40
|
+
readonly message: string;
|
|
41
|
+
readonly placeholder?: string;
|
|
42
|
+
} | {
|
|
43
|
+
readonly kind: "select";
|
|
44
|
+
readonly message: string;
|
|
45
|
+
readonly options: readonly {
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly label: string;
|
|
48
|
+
readonly description?: string;
|
|
49
|
+
}[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Caller-supplied login interaction: observe flow events (the OAuth URL or
|
|
53
|
+
* device code lands here) and answer prompts. This is the provider-independent
|
|
54
|
+
* mirror of the backend's own interaction callback.
|
|
55
|
+
*/
|
|
56
|
+
export interface ProviderLoginInteraction {
|
|
57
|
+
readonly signal?: AbortSignal;
|
|
58
|
+
onEvent(event: ProviderLoginEvent): void;
|
|
59
|
+
prompt(prompt: ProviderLoginPrompt): Promise<string>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* List, inspect, and mutate provider credentials. Reading never resolves or
|
|
63
|
+
* returns secret values; `login`/`setApiKey`/`logout` are the only writes.
|
|
64
|
+
*/
|
|
65
|
+
export interface ProviderAuthFacade {
|
|
66
|
+
/** Every provider that has a configured credential, with its non-secret status. */
|
|
67
|
+
listProviders(): Promise<readonly ProviderAuthStatus[]>;
|
|
68
|
+
/** The status of one provider (`configured: false` when nothing is stored). */
|
|
69
|
+
status(providerId: string): Promise<ProviderAuthStatus>;
|
|
70
|
+
/** Run the provider's OAuth or API-key login flow and persist the result. */
|
|
71
|
+
login(providerId: string, method: ProviderLoginMethod, interaction: ProviderLoginInteraction): Promise<ProviderAuthStatus>;
|
|
72
|
+
/** Store an API key for a provider without an interactive flow. */
|
|
73
|
+
setApiKey(providerId: string, apiKey: string): Promise<void>;
|
|
74
|
+
/** Clear a provider's stored credential. */
|
|
75
|
+
logout(providerId: string): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=provider-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-auth.d.ts","sourceRoot":"","sources":["../../src/contracts/provider-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,iDAAiD;AACjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7G,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,aAAa,IAAI,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IACxD,+EAA+E;IAC/E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxD,6EAA6E;IAC7E,KAAK,CACH,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,mEAAmE;IACnE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,4CAA4C;IAC5C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-independent authentication facade. Unlike a {@link Runtime} facet,
|
|
3
|
+
* this describes the *provider* plane — the accounts and credentials a runtime
|
|
4
|
+
* consumes (Anthropic, xAI, Moonshot, …) — which is orthogonal to which harness
|
|
5
|
+
* runs them. Implementations wrap a credential/model backend (the built-in one
|
|
6
|
+
* wraps Pi's `ModelRuntime`) without leaking its types.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=provider-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-auth.js","sourceRoot":"","sources":["../../src/contracts/provider-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { RuntimeRegistry } from "./registry.js";
|
|
2
2
|
export type { AccountUsageReader, AccountUsageReadOptions, AccountUsageSnapshot, AccountUsageWindow, UtcInstant, } from "./contracts/account-usage.js";
|
|
3
3
|
export type { AvailableInstallation, BundledInstallation, ExecutableInstallation, InstallationProbe, InstallationSnapshot, } from "./contracts/installation.js";
|
|
4
|
+
export type { ProviderAuthFacade, ProviderAuthStatus, ProviderLoginEvent, ProviderLoginInteraction, ProviderLoginMethod, ProviderLoginPrompt, } from "./contracts/provider-auth.js";
|
|
5
|
+
export type { CatalogModel, CatalogProvider, CatalogRefreshOptions, CatalogRefreshResult, ModelCatalogFacade, } from "./contracts/model-catalog.js";
|
|
4
6
|
export type { Runtime } from "./contracts/runtime.js";
|
|
5
7
|
export type { AdapterSession, PromptResult, ReasoningContent, Session, SessionEvent, SessionEventBody, SessionEventEnvelope, SessionObserver, SessionOptions, StartSession, SteerOrQueueResult, SteerResult, Turn, TurnOutcome, TurnQueue, Unsubscribe, } from "./contracts/session.js";
|
|
6
8
|
export { defineRuntime } from "./contracts/runtime.js";
|
|
@@ -21,6 +23,16 @@ export { claudeInstallation } from "./runtimes/claude/installation.js";
|
|
|
21
23
|
export { codexRuntime } from "./runtimes/codex/index.js";
|
|
22
24
|
export { codexSession } from "./runtimes/codex/session.js";
|
|
23
25
|
export { codexInstallation } from "./runtimes/codex/installation.js";
|
|
26
|
+
export { createPiProviderAuth } from "./runtimes/pi/auth.js";
|
|
27
|
+
export type { PiProviderAuthOptions } from "./runtimes/pi/auth.js";
|
|
28
|
+
export { createPiModelCatalog } from "./runtimes/pi/catalog.js";
|
|
29
|
+
export type { PiModelCatalogOptions } from "./runtimes/pi/catalog.js";
|
|
30
|
+
export { grokRuntime } from "./runtimes/grok/index.js";
|
|
31
|
+
export { grokSession } from "./runtimes/grok/session.js";
|
|
32
|
+
export { grokInstallation } from "./runtimes/grok/installation.js";
|
|
33
|
+
export { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
34
|
+
export { kimiSession } from "./runtimes/kimi/session.js";
|
|
35
|
+
export { kimiInstallation } from "./runtimes/kimi/installation.js";
|
|
24
36
|
export { piRuntime } from "./runtimes/pi/index.js";
|
|
25
37
|
export { piSession } from "./runtimes/pi/session.js";
|
|
26
38
|
export { piInstallation } from "./runtimes/pi/installation.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOhD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,IAAI,EACJ,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,eAAO,MAAM,QAAQ,iBAMnB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { RuntimeRegistry } from "./registry.js";
|
|
2
2
|
import { claudeRuntime } from "./runtimes/claude/index.js";
|
|
3
3
|
import { codexRuntime } from "./runtimes/codex/index.js";
|
|
4
|
+
import { grokRuntime } from "./runtimes/grok/index.js";
|
|
5
|
+
import { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
4
6
|
import { piRuntime } from "./runtimes/pi/index.js";
|
|
5
7
|
export { defineRuntime } from "./contracts/runtime.js";
|
|
6
8
|
export { utcInstantFromDate } from "./shared/instant.js";
|
|
@@ -16,8 +18,22 @@ export { claudeInstallation } from "./runtimes/claude/installation.js";
|
|
|
16
18
|
export { codexRuntime } from "./runtimes/codex/index.js";
|
|
17
19
|
export { codexSession } from "./runtimes/codex/session.js";
|
|
18
20
|
export { codexInstallation } from "./runtimes/codex/installation.js";
|
|
21
|
+
export { createPiProviderAuth } from "./runtimes/pi/auth.js";
|
|
22
|
+
export { createPiModelCatalog } from "./runtimes/pi/catalog.js";
|
|
23
|
+
export { grokRuntime } from "./runtimes/grok/index.js";
|
|
24
|
+
export { grokSession } from "./runtimes/grok/session.js";
|
|
25
|
+
export { grokInstallation } from "./runtimes/grok/installation.js";
|
|
26
|
+
export { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
27
|
+
export { kimiSession } from "./runtimes/kimi/session.js";
|
|
28
|
+
export { kimiInstallation } from "./runtimes/kimi/installation.js";
|
|
19
29
|
export { piRuntime } from "./runtimes/pi/index.js";
|
|
20
30
|
export { piSession } from "./runtimes/pi/session.js";
|
|
21
31
|
export { piInstallation } from "./runtimes/pi/installation.js";
|
|
22
|
-
export const runtimes = new RuntimeRegistry([
|
|
32
|
+
export const runtimes = new RuntimeRegistry([
|
|
33
|
+
claudeRuntime,
|
|
34
|
+
codexRuntime,
|
|
35
|
+
grokRuntime,
|
|
36
|
+
kimiRuntime,
|
|
37
|
+
piRuntime,
|
|
38
|
+
]);
|
|
23
39
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAkDnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;IAC1C,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,SAAS;CACV,CAAC,CAAC"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import type { AccountUsageReader, AccountUsageSnapshot } from "../../contracts/account-usage.js";
|
|
2
|
-
export declare function projectClaudeUsage(content: string, referenceInstant?: Date, email?: string): AccountUsageSnapshot;
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Project the `/api/oauth/usage` payload. The authoritative shape is its
|
|
4
|
+
* `limits` array; a representative (subscription) response is:
|
|
6
5
|
*
|
|
7
6
|
* ```json
|
|
8
7
|
* {
|
|
9
|
-
* "
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* "limits": [
|
|
9
|
+
* { "kind": "session", "group": "session", "percent": 17, "severity": "normal",
|
|
10
|
+
* "resets_at": "2026-08-26T13:49:59.725522+00:00", "scope": null, "is_active": false },
|
|
11
|
+
* { "kind": "weekly_all", "group": "weekly", "percent": 72, "severity": "normal",
|
|
12
|
+
* "resets_at": "2026-08-28T06:59:59.725547+00:00", "scope": null, "is_active": false },
|
|
13
|
+
* { "kind": "weekly_scoped", "group": "weekly", "percent": 100, "severity": "critical",
|
|
14
|
+
* "resets_at": "2026-08-28T06:59:59.725963+00:00",
|
|
15
|
+
* "scope": { "model": { "display_name": "Fable" } }, "is_active": true }
|
|
16
|
+
* ]
|
|
13
17
|
* }
|
|
14
18
|
* ```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Reset text has no year, so it is interpreted as the next occurrence in its
|
|
26
|
-
* named IANA time zone relative to when the command result is projected.
|
|
19
|
+
*/
|
|
20
|
+
export declare function projectClaudeUsage(payload: unknown, email?: string, plan?: string): AccountUsageSnapshot;
|
|
21
|
+
/** Extract Claude Code's explicit subscription tier from a confirmed login. */
|
|
22
|
+
export declare function claudeAccountPlan(payload: unknown): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Reads Claude account usage in two steps: `claude auth status --json` for the
|
|
25
|
+
* login gate and account email, then a single read-only request to Anthropic's
|
|
26
|
+
* structured usage endpoint using the persisted `/login` OAuth token. This
|
|
27
|
+
* replaces the older `claude -p /usage` subprocess, which was slower and only
|
|
28
|
+
* returned pre-rendered text.
|
|
27
29
|
*/
|
|
28
30
|
export declare const claudeAccountUsage: AccountUsageReader;
|
|
29
31
|
//# sourceMappingURL=account-usage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;AAqG1C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,oBAAoB,CA8BtB;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOtE;AAaD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBA2ChC,CAAC"}
|