UNPKG

@gensx/storage

Version:

Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.

43 lines (34 loc) 1.06 kB
import { getSelectedEnvironment, readProjectConfig } from "@gensx/core"; interface ProjectEnvConfig { project: string; environment: string; } export function getProjectAndEnvironment(props: { project?: string; environment?: string; }): ProjectEnvConfig { const projectConfig = readProjectConfig(process.cwd()) as | { projectName: string } | undefined; const project = props.project ?? process.env.GENSX_PROJECT ?? projectConfig?.projectName ?? ""; if (!project) { throw new Error( "Project must be provided via props, a gensx.yaml file, or the GENSX_PROJECT environment variable", ); } const selectedEnvironment = getSelectedEnvironment(project) as | string | undefined; let environment = props.environment ?? process.env.GENSX_ENV ?? selectedEnvironment ?? ""; if (!environment) { throw new Error( "Environment must be provided via props, set in the CLI via `gensx env select`, or the GENSX_ENV environment variable", ); } return { project, environment }; }