add policies for future

This commit is contained in:
2026-03-18 13:44:19 +03:00
parent e21c786e71
commit 860182d409
2 changed files with 43 additions and 0 deletions
+26
View File
@@ -3,6 +3,7 @@ import {saveData} from "../db/database";
import {Answers} from "../model/answers";
import {ifTrue} from "../util/utils";
import {AiProvider} from "../model/ai-provider";
import {ImageHandleFallbackPolicy, ImageHandlePolicy, RateLimitFallbackPolicy} from "./policies";
export class Environment {
static BOT_TOKEN: string;
@@ -31,6 +32,10 @@ export class Environment {
static DEFAULT_AI_PROVIDER: AiProvider;
static RATE_LIMIT_FALLBACK_POLICY: RateLimitFallbackPolicy;
static IMAGE_HANDLE_POLICY: ImageHandlePolicy;
static IMAGE_HANDLE_FALLBACK_POLICY: ImageHandleFallbackPolicy;
static SYSTEM_PROMPT?: string;
static OLLAMA_ADDRESS?: string;
@@ -86,6 +91,27 @@ export class Environment {
Environment.DEFAULT_AI_PROVIDER = AiProvider.OLLAMA;
}
const rateLimitFallbackPolicy = process.env.RATE_LIMIT_FALLBACK_POLICY || "NOTIFY_USER";
if (Object.values(RateLimitFallbackPolicy).includes(rateLimitFallbackPolicy as RateLimitFallbackPolicy)) {
Environment.RATE_LIMIT_FALLBACK_POLICY = rateLimitFallbackPolicy as RateLimitFallbackPolicy;
} else {
Environment.RATE_LIMIT_FALLBACK_POLICY = RateLimitFallbackPolicy.NOTIFY_USER;
}
const imageHandlePolicy = process.env.IMAGE_HANDLE_POLICY || "HANDLE_IF_CAPABLE";
if (Object.values(ImageHandlePolicy).includes(imageHandlePolicy as ImageHandlePolicy)) {
Environment.IMAGE_HANDLE_POLICY = imageHandlePolicy as ImageHandlePolicy;
} else {
Environment.IMAGE_HANDLE_POLICY = ImageHandlePolicy.HANDLE_IF_CAPABLE;
}
const imageHandleFallbackPolicy = process.env.IMAGE_HANDLE_FALLBACK_POLICY || "NOTIFY_USER";
if (Object.values(ImageHandleFallbackPolicy).includes(imageHandleFallbackPolicy as ImageHandleFallbackPolicy)) {
Environment.IMAGE_HANDLE_FALLBACK_POLICY = imageHandleFallbackPolicy as ImageHandleFallbackPolicy;
} else {
Environment.IMAGE_HANDLE_FALLBACK_POLICY = ImageHandleFallbackPolicy.NOTIFY_USER;
}
Environment.SYSTEM_PROMPT = process.env.SYSTEM_PROMPT?.trim();
Environment.OLLAMA_ADDRESS = process.env.OLLAMA_ADDRESS;
+17
View File
@@ -0,0 +1,17 @@
export enum RateLimitFallbackPolicy {
NOTIFY_USER = "NOTIFY_USER",
IGNORE_USER = "IGNORE_USER",
USE_OLLAMA = "USE_OLLAMA",
}
export enum ImageHandlePolicy {
IGNORE = "IGNORE",
FORCE_HANDLE = "FORCE_HANDLE",
HANDLE_IF_CAPABLE = "HANDLE_IF_CAPABLE",
}
export enum ImageHandleFallbackPolicy {
NOTIFY_USER = "NOTIFY_USER",
IGNORE_USER = "IGNORE_USER",
USE_OLLAMA = "USE_OLLAMA",
}