UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

35 lines (34 loc) • 1.28 kB
import { type ChatGptCredentialStore } from "./credential-store.js"; import { type CodexAppServer, type CodexAppServerOptions } from "./codex-app-server.js"; import { type ChatGptToken } from "./token.js"; export type ChatGptAuthState = { readonly kind: "checking"; } | { readonly accountLabel?: string; readonly kind: "ready"; } | { readonly kind: "signed-out"; } | { readonly kind: "reauth-required"; } | { readonly kind: "unavailable"; readonly reason: string; }; export type { ChatGptToken } from "./token.js"; export interface CodexTokenBroker { credentialOwner(): ChatGptCredentialOwner | undefined; getToken(input: { readonly reason: "rejected" | "request"; }): Promise<ChatGptToken>; refreshState(): Promise<ChatGptAuthState>; state(): ChatGptAuthState; } export type ChatGptCredentialOwner = "codex" | "eve"; export interface CodexTokenBrokerOptions extends CodexAppServerOptions { readonly appServer?: CodexAppServer; readonly store?: ChatGptCredentialStore; readonly fetch?: typeof fetch; readonly now?: () => number; } export declare function createCodexTokenBroker(options?: CodexTokenBrokerOptions): CodexTokenBroker; export declare function getDefaultCodexTokenBroker(): CodexTokenBroker;