import type { Session, User } from "better-auth"; export interface Env { DB: D1Database; AE: AnalyticsEngineDataset; EMAIL: SendEmail; TUNNEL_RELAY: DurableObjectNamespace; ASSETS: Fetcher; AUTH_SECRET: string; ALLOWED_HOSTS: string; GITHUB_CLIENT_ID: string; GITHUB_CLIENT_SECRET: string; MAILS_ADMIN_TOKEN: string; CF_ACCOUNT_ID: string; CF_API_TOKEN: string; AK_API_URL?: string; AMA_ORIGIN?: string; // OIDC issuer for AMA. Discovery URL is derived from the standard well-known path. AMA_OIDC_ISSUER?: string; AMA_OIDC_CLIENT_ID?: string; AMA_OIDC_CLIENT_SECRET?: string; AMA_OIDC_SCOPES?: string; AMA_RUNNER_VERSION?: string; GITHUB_APP_WEBHOOK_SECRET?: string; GITHUB_APP_ID?: string; // base64 of the App's PKCS#8 PEM private key GITHUB_APP_PRIVATE_KEY?: string; // public App slug, used to build the install URL github.com/apps//installations/new GITHUB_APP_SLUG?: string; MIN_CLI_VERSION?: string; } declare module "hono" { interface ContextVariableMap { ownerId: string; identityType: "user" | "machine" | "maintainer:key" | "agent:worker" | "agent:leader"; apiKeyId?: string; apiKeyConfigId?: string; apiKeyPermissions?: Record | null; apiKeyMetadata?: Record | null; machineId?: string; agentId?: string; sessionId?: string; agentRuntimeSource?: "ama" | "legacy"; agentCapabilities?: string[]; user?: User; session?: Session; } } export type AppContext = { Bindings: Env };