ai_api / src /lib /build-profile /featureDisabled.ts
Yogesh
initial deploy
cd8bd0a
Raw
History Blame Contribute Delete
1.09 kB
/**
* Helper used by the `OMNIROUTE_BUILD_PROFILE=minimal` stubs to surface a
* consistent "this feature was compiled out" error. Routes that depend on a
* stubbed module should catch the error and return HTTP 503 with a clear
* message; we don't want the bundle to silently fail.
*
* See docs/security/SOCKET_DEV_FINDINGS.md for the build profile rationale.
*/
export class FeatureDisabledError extends Error {
readonly featureName: string;
constructor(featureName: string) {
super(
`Feature "${featureName}" is disabled in this build (OMNIROUTE_BUILD_PROFILE=minimal). ` +
`Install the full omniroute artifact instead of omniroute-secure if you need this feature.`
);
this.name = "FeatureDisabledError";
this.featureName = featureName;
}
}
export function featureDisabledError(featureName: string): FeatureDisabledError {
return new FeatureDisabledError(featureName);
}
export const OMNIROUTE_BUILD_PROFILE: string = process.env.OMNIROUTE_BUILD_PROFILE || "full";
export const IS_MINIMAL_BUILD: boolean = OMNIROUTE_BUILD_PROFILE === "minimal";