feat(server): expose secure harness API
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { z } from "zod";
|
||||
|
||||
const EnvironmentSchema = z.object({
|
||||
HOST: z.string().default("127.0.0.1"),
|
||||
PORT: z.coerce.number().int().min(1).max(65_535).default(3_001),
|
||||
SESSIONS_ROOT: z.string().min(1).default(".agent-studio-sessions"),
|
||||
AGENT_DIR: z.string().min(1).default(".agent-studio-runtime"),
|
||||
MAX_IMAGE_BYTES: z.coerce.number().int().positive().default(5 * 1024 * 1024),
|
||||
SESSION_RUN_TIMEOUT_MS: z.coerce.number().int().positive().default(120_000),
|
||||
APPROVAL_TIMEOUT_MS: z.coerce.number().int().positive().default(60_000),
|
||||
MAX_IMAGES_PER_MESSAGE: z.coerce.number().int().positive().max(16).default(4),
|
||||
ALLOW_PRIVATE_LLM_BASE_URLS: z.enum(["true", "false"]).default("false"),
|
||||
}).passthrough();
|
||||
|
||||
export function loadServerConfig(environment: NodeJS.ProcessEnv) {
|
||||
const parsed = EnvironmentSchema.parse(environment);
|
||||
return {
|
||||
host: parsed.HOST,
|
||||
port: parsed.PORT,
|
||||
sessionsRoot: parsed.SESSIONS_ROOT,
|
||||
agentDir: parsed.AGENT_DIR,
|
||||
maxImageBytes: parsed.MAX_IMAGE_BYTES,
|
||||
runTimeoutMs: parsed.SESSION_RUN_TIMEOUT_MS,
|
||||
approvalTimeoutMs: parsed.APPROVAL_TIMEOUT_MS,
|
||||
maxImagesPerMessage: parsed.MAX_IMAGES_PER_MESSAGE,
|
||||
allowPrivateLlmBaseUrls: parsed.ALLOW_PRIVATE_LLM_BASE_URLS === "true",
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user