UNPKG

@dollhousemcp/mcp-server

Version:

DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.

194 lines 9.46 kB
/** * Centralized Environment Configuration * * This module provides type-safe access to environment variables with validation. * All environment variables should be accessed through this module rather than * directly via process.env to ensure type safety and validation. * * Usage: * ```typescript * import { env } from './config/env'; * const token = env.GITHUB_TOKEN; // Type: string * ``` */ import { z } from 'zod'; /** * Environment variable schema with validation */ declare const envSchema: z.ZodObject<{ NODE_ENV: z.ZodDefault<z.ZodEnum<{ test: "test"; development: "development"; production: "production"; }>>; GITHUB_TOKEN: z.ZodOptional<z.ZodString>; GITHUB_USERNAME: z.ZodOptional<z.ZodString>; GITHUB_REPOSITORY: z.ZodOptional<z.ZodString>; GITHUB_TEST_TOKEN: z.ZodOptional<z.ZodString>; GITHUB_TEST_USERNAME: z.ZodOptional<z.ZodString>; GITHUB_TEST_REPOSITORY: z.ZodOptional<z.ZodString>; PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>; LOG_LEVEL: z.ZodDefault<z.ZodEnum<{ error: "error"; debug: "debug"; info: "info"; warn: "warn"; }>>; TEST_BASE_DIR: z.ZodOptional<z.ZodString>; TEST_PERSONAS_DIR: z.ZodOptional<z.ZodString>; TEST_CACHE_DIR: z.ZodOptional<z.ZodString>; TEST_CONFIG_DIR: z.ZodOptional<z.ZodString>; DOLLHOUSE_AUTO_SUBMIT_TO_COLLECTION: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; ENABLE_DEBUG: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; TEST_VERBOSE_LOGGING: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; MCP_INTERFACE_MODE: z.ZodDefault<z.ZodEnum<{ discrete: "discrete"; mcpaql: "mcpaql"; }>>; MCP_AQL_ENDPOINT_MODE: z.ZodDefault<z.ZodEnum<{ single: "single"; crude: "crude"; }>>; MCP_AQL_MODE: z.ZodOptional<z.ZodEnum<{ single: "single"; crude: "crude"; }>>; DOLLHOUSE_LOG_DIR: z.ZodDefault<z.ZodString>; DOLLHOUSE_LOG_FORMAT: z.ZodDefault<z.ZodEnum<{ text: "text"; jsonl: "jsonl"; }>>; DOLLHOUSE_LOG_RETENTION_DAYS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_SECURITY_RETENTION_DAYS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_FLUSH_INTERVAL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_BUFFER_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MEMORY_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MEMORY_APP_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MEMORY_SECURITY_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MEMORY_PERF_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MEMORY_TELEMETRY_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MAX_ENTRY_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_IMMEDIATE_FLUSH_RATE: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_FILE_MAX_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MAX_DIR_SIZE_BYTES: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_LOG_MAX_FILES_PER_CATEGORY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_PERMISSION_SERVER: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_WEB_CONSOLE: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_WEB_CONSOLE_PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_WEB_AUTH_ENABLED: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_CONSOLE_TOKEN_FILE: z.ZodOptional<z.ZodString>; DOLLHOUSE_CONSOLE_LEADER_LOCK_FILE: z.ZodOptional<z.ZodString>; DOLLHOUSE_CONSOLE_BIND_RETRY_DELAYS: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<number[] | undefined, string | undefined>>; DOLLHOUSE_CONSOLE_MAX_FORWARD_FAILURES: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_CONSOLE_ROTATION_REQUIRE_CONFIRMATION: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_GATEKEEPER_ENABLED: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_GATEKEEPER_ELEMENT_POLICY_OVERRIDES: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_POLICY_EXPORT_ENABLED: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_SCAN_COOLDOWN_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_INDEX_DEBOUNCE_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_ELEMENT_CACHE_TTL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_PATH_CACHE_TTL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_TOOL_CACHE_TTL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_GLOBAL_CACHE_MEMORY_MB: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_CLI_APPROVAL_MAX: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_CLI_APPROVAL_TTL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_PERMISSION_PROMPT_RATE_LIMIT: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_CLI_APPROVAL_RATE_LIMIT: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_PERMISSION_RATE_WINDOW_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_METRICS_ENABLED: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_METRICS_COLLECTION_INTERVAL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_METRICS_MAX_SNAPSHOT_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_METRICS_COLLECTOR_FAILURE_THRESHOLD: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_METRICS_COLLECTION_DURATION_WARN_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_METRICS_MEMORY_SNAPSHOT_CAPACITY: z.ZodDefault<z.ZodCoercedNumber<unknown>>; DOLLHOUSE_DISABLE_ENCRYPTION: z.ZodDefault<z.ZodCoercedBoolean<unknown>>; DOLLHOUSE_ENCRYPTION_SECRET: z.ZodOptional<z.ZodString>; DOLLHOUSE_ENCRYPTION_SALT: z.ZodOptional<z.ZodString>; DOLLHOUSE_TOKEN_SECRET: z.ZodOptional<z.ZodString>; }, z.core.$strip>; /** * Validated environment variables * Type is automatically inferred from the schema */ export declare const env: { NODE_ENV: "test" | "development" | "production"; PORT: number; LOG_LEVEL: "error" | "debug" | "info" | "warn"; DOLLHOUSE_AUTO_SUBMIT_TO_COLLECTION: boolean; ENABLE_DEBUG: boolean; TEST_VERBOSE_LOGGING: boolean; MCP_INTERFACE_MODE: "discrete" | "mcpaql"; MCP_AQL_ENDPOINT_MODE: "single" | "crude"; DOLLHOUSE_LOG_DIR: string; DOLLHOUSE_LOG_FORMAT: "text" | "jsonl"; DOLLHOUSE_LOG_RETENTION_DAYS: number; DOLLHOUSE_LOG_SECURITY_RETENTION_DAYS: number; DOLLHOUSE_LOG_FLUSH_INTERVAL_MS: number; DOLLHOUSE_LOG_BUFFER_SIZE: number; DOLLHOUSE_LOG_MEMORY_CAPACITY: number; DOLLHOUSE_LOG_MEMORY_APP_CAPACITY: number; DOLLHOUSE_LOG_MEMORY_SECURITY_CAPACITY: number; DOLLHOUSE_LOG_MEMORY_PERF_CAPACITY: number; DOLLHOUSE_LOG_MEMORY_TELEMETRY_CAPACITY: number; DOLLHOUSE_LOG_MAX_ENTRY_SIZE: number; DOLLHOUSE_LOG_IMMEDIATE_FLUSH_RATE: number; DOLLHOUSE_LOG_FILE_MAX_SIZE: number; DOLLHOUSE_LOG_MAX_DIR_SIZE_BYTES: number; DOLLHOUSE_LOG_MAX_FILES_PER_CATEGORY: number; DOLLHOUSE_PERMISSION_SERVER: boolean; DOLLHOUSE_WEB_CONSOLE: boolean; DOLLHOUSE_WEB_CONSOLE_PORT: number; DOLLHOUSE_WEB_AUTH_ENABLED: boolean; DOLLHOUSE_CONSOLE_BIND_RETRY_DELAYS: number[] | undefined; DOLLHOUSE_CONSOLE_MAX_FORWARD_FAILURES: number; DOLLHOUSE_CONSOLE_ROTATION_REQUIRE_CONFIRMATION: boolean; DOLLHOUSE_GATEKEEPER_ENABLED: boolean; DOLLHOUSE_GATEKEEPER_ELEMENT_POLICY_OVERRIDES: boolean; DOLLHOUSE_POLICY_EXPORT_ENABLED: boolean; DOLLHOUSE_SCAN_COOLDOWN_MS: number; DOLLHOUSE_INDEX_DEBOUNCE_MS: number; DOLLHOUSE_ELEMENT_CACHE_TTL_MS: number; DOLLHOUSE_PATH_CACHE_TTL_MS: number; DOLLHOUSE_TOOL_CACHE_TTL_MS: number; DOLLHOUSE_GLOBAL_CACHE_MEMORY_MB: number; DOLLHOUSE_CLI_APPROVAL_MAX: number; DOLLHOUSE_CLI_APPROVAL_TTL_MS: number; DOLLHOUSE_PERMISSION_PROMPT_RATE_LIMIT: number; DOLLHOUSE_CLI_APPROVAL_RATE_LIMIT: number; DOLLHOUSE_PERMISSION_RATE_WINDOW_MS: number; DOLLHOUSE_METRICS_ENABLED: boolean; DOLLHOUSE_METRICS_COLLECTION_INTERVAL_MS: number; DOLLHOUSE_METRICS_MAX_SNAPSHOT_SIZE: number; DOLLHOUSE_METRICS_COLLECTOR_FAILURE_THRESHOLD: number; DOLLHOUSE_METRICS_COLLECTION_DURATION_WARN_MS: number; DOLLHOUSE_METRICS_MEMORY_SNAPSHOT_CAPACITY: number; DOLLHOUSE_DISABLE_ENCRYPTION: boolean; GITHUB_TOKEN?: string | undefined; GITHUB_USERNAME?: string | undefined; GITHUB_REPOSITORY?: string | undefined; GITHUB_TEST_TOKEN?: string | undefined; GITHUB_TEST_USERNAME?: string | undefined; GITHUB_TEST_REPOSITORY?: string | undefined; TEST_BASE_DIR?: string | undefined; TEST_PERSONAS_DIR?: string | undefined; TEST_CACHE_DIR?: string | undefined; TEST_CONFIG_DIR?: string | undefined; MCP_AQL_MODE?: "single" | "crude" | undefined; DOLLHOUSE_CONSOLE_TOKEN_FILE?: string | undefined; DOLLHOUSE_CONSOLE_LEADER_LOCK_FILE?: string | undefined; DOLLHOUSE_ENCRYPTION_SECRET?: string | undefined; DOLLHOUSE_ENCRYPTION_SALT?: string | undefined; DOLLHOUSE_TOKEN_SECRET?: string | undefined; }; /** * Environment type (inferred from schema) */ export type Env = z.infer<typeof envSchema>; /** * Convenience helpers for environment detection */ export declare const isTest: boolean; export declare const isDevelopment: boolean; export declare const isProduction: boolean; export {}; //# sourceMappingURL=env.d.ts.map