86 lines
3.0 KiB
TypeScript
86 lines
3.0 KiB
TypeScript
// Custom environment variable type definitions
|
|
// These extend the auto-generated Env interface from worker-configuration.d.ts
|
|
|
|
declare namespace Cloudflare {
|
|
interface Env {
|
|
R2: R2Bucket;
|
|
OAUTH_KV: KVNamespace;
|
|
|
|
// Durable Object backing the onboarding strategy chat (see wrangler.jsonc).
|
|
ONBOARDING_CHAT: DurableObjectNamespace;
|
|
|
|
// Durable Object backing the SAM in-app agent (see wrangler.jsonc).
|
|
SAM_CHAT: DurableObjectNamespace;
|
|
|
|
// Durable Object holding per-audit crawl scratch state (frontier, link
|
|
// edges, page mirror). Bound ONLY in the open-seo-audit aux worker;
|
|
// untyped here — getAuditScratchpad narrows the stub.
|
|
AUDIT_SCRATCHPAD: DurableObjectNamespace;
|
|
|
|
// Service binding to the audit worker's AuditEngine entrypoint (cancel +
|
|
// GDPR erasure of scratchpad state). The inline import() is required: a
|
|
// top-level import would turn this ambient file into a module and break
|
|
// the global augmentation.
|
|
// oxlint-disable-next-line typescript-eslint/consistent-type-imports
|
|
AUDIT_ENGINE: Service<typeof import("./audit-worker").default>;
|
|
|
|
AUTH_MODE?: "cloudflare_access" | "local_noauth" | "hosted";
|
|
BYPASS_EMAIL_VERIFICATION?: string;
|
|
TEAM_DOMAIN?: string;
|
|
POLICY_AUD?: string;
|
|
POSTHOG_PUBLIC_KEY?: string;
|
|
POSTHOG_HOST?: string;
|
|
BETTER_AUTH_SECRET?: string;
|
|
BETTER_AUTH_URL?: string;
|
|
DATABASE_PROVIDER?: "d1" | "postgres";
|
|
HYPERDRIVE?: {
|
|
connectionString: string;
|
|
};
|
|
GOOGLE_CLIENT_ID?: string;
|
|
GOOGLE_CLIENT_SECRET?: string;
|
|
LOOPS_API_KEY?: string;
|
|
LOOPS_TRANSACTIONAL_VERIFY_EMAIL_ID?: string;
|
|
LOOPS_TRANSACTIONAL_RESET_PASSWORD_ID?: string;
|
|
AUTUMN_SECRET_KEY?: string;
|
|
AUTUMN_WEBHOOK_SECRET?: string;
|
|
// Dub referral conversion tracking (hosted only); all Dub code no-ops
|
|
// when unset.
|
|
DUB_API_KEY?: string;
|
|
// HMAC secret for the operator-only GDPR storage-erasure endpoint.
|
|
GDPR_ERASURE_SECRET?: string;
|
|
|
|
// Cloudflare Turnstile — signup captcha (hosted only). Secret verifies
|
|
// tokens server-side; site key is public and inlined into the client build.
|
|
TURNSTILE_SECRET_KEY?: string;
|
|
TURNSTILE_SITE_KEY?: string;
|
|
|
|
// DataForSEO API Basic auth value (base64 of login:password)
|
|
DATAFORSEO_API_KEY: string;
|
|
|
|
// OpenRouter API key for the in-app chat agents (onboarding + SAM).
|
|
OPENROUTER_API_KEY?: string;
|
|
// Optional OpenRouter model slug override (defaults in openrouter.ts).
|
|
OPENROUTER_MODEL?: string;
|
|
}
|
|
}
|
|
|
|
interface ImportMetaEnv {
|
|
readonly AUTH_MODE?: "cloudflare_access" | "local_noauth" | "hosted";
|
|
readonly DATABASE_PROVIDER?: "d1" | "postgres";
|
|
readonly BYPASS_EMAIL_VERIFICATION?: string;
|
|
readonly POSTHOG_PUBLIC_KEY?: string;
|
|
readonly POSTHOG_HOST?: string;
|
|
readonly TURNSTILE_SITE_KEY?: string;
|
|
readonly VITE_E2E_DOMAIN_FIXTURES?: string;
|
|
readonly VITE_E2E_KEYWORD_FIXTURES?: string;
|
|
}
|
|
|
|
interface ImportMeta {
|
|
readonly env: ImportMetaEnv;
|
|
}
|
|
|
|
declare module "*.md?raw" {
|
|
const content: string;
|
|
export default content;
|
|
}
|