import { type ModelEntry } from './env.js'; export type { ModelEntry }; export declare const ASSISTANT_NAME: string; export declare const ASSISTANT_HAS_OWN_NUMBER: boolean; /** Workspace coding CLI. Supen currently supports Codex app-server only. */ export declare const SUPEN_CODING_CLI: string; export declare const MIND_ADMIN_USERS: string[]; export declare const MIND_LOCK_MODE: string; export declare const POLL_INTERVAL = 2000; export declare const SCHEDULER_POLL_INTERVAL = 60000; export declare let SUPEN_HOME: string; export declare function expandHomePath(inputPath: string): string; export declare function resolveSpacesDir(homeDir: string): string; export declare let MOUNT_ALLOWLIST_PATH: string; export declare let SPACES_DIR: string; export declare let AGENTS_DIR: string; export declare let DATA_DIR: string; export declare let SKILLS_HOME: string; export declare let SKILLS_STATE_DIR: string; export declare let SKILLS_STATE_PATH: string; export declare let SKILLS_AUDIT_LOG_PATH: string; export declare function configureSupenDaemon(options: { dataDir?: string; }): void; export declare function initializeDataDirs(): void; export declare const SECURITY_TRUSTED_REMOTE_HOSTS: string[]; export declare const SECURITY_ALLOW_INSECURE_REMOTE_ENDPOINTS: boolean; export declare const CODEX_TRUSTED_DATA_HOSTS: string[]; export declare const WORKSPACE_ALLOWED_ROOTS: string[]; interface SpaceConfigFile { knowledge?: { default?: unknown; roots?: unknown; }; files?: { uploads?: unknown; outputs?: unknown; tasks?: unknown; }; runtime?: { root?: unknown; }; state?: { root?: unknown; }; logs?: { root?: unknown; }; } export interface SpaceKnowledgeRoot { id: string; name: string; root: string; isDefault: boolean; mode?: string; } export declare function defaultSpaceRoot(_spaceId: string): string; export declare function resolveSpaceConfiguredRoot(spaceId: string, key: keyof SpaceConfigFile, defaultSegment: string): string; export declare function resolveSpaceFilesRoot(spaceId: string, key: 'uploads' | 'outputs' | 'tasks', defaultSegment: string): string; export declare function resolveSpaceTasksRoot(spaceId: string): string; export declare function resolveSpaceKnowledgeRoots(spaceId: string): SpaceKnowledgeRoot[]; export declare function resolveSpaceKnowledgeRoot(spaceId: string, knowledgeId?: string | null): SpaceKnowledgeRoot; export declare function resolveSpaceDriveRoot(spaceId: string): string; export declare function skillMountRootsForKnowledgeRoots(roots: Array<{ root: string; }>): string[]; export declare function resolveSpaceSkillMountRoots(spaceId?: string): string[]; export declare const CHILD_ENV_ALLOWLIST: string[]; export declare const AGENT_MIND_FILES: readonly ["SOUL.md", "IDENTITY.md", "USER.md", "MEMORY.md"]; export interface SkillsRuntimeConfig { directories: string[]; adminOnly: boolean; allowLevel3: boolean; autoEnableOnInstall: boolean; defaultEnabled: string[]; statePath: string; auditLogPath: string; } export declare const SKILLS_CONFIG: SkillsRuntimeConfig; export declare const CONTAINER_IMAGE: string; export declare const CONTAINER_TIMEOUT: number; export declare const CONTAINER_MAX_OUTPUT_SIZE: number; export declare const IPC_POLL_INTERVAL = 1000; export declare const IDLE_TIMEOUT: number; export declare const MAX_CONCURRENT_CONTAINERS: number; export declare const TRIGGER_PATTERN: RegExp; export declare const TIMEZONE: string; export declare const HTTP_PORT: number; export declare const CODEX_BRIDGE_PORT: number; export declare const HTTP_ENABLED: boolean; export declare const HTTP_API_KEY: string; export declare const SUPEN_AUTH_TOKEN: string; export declare const WORKSPACE_ROOT: string; export declare const ALLOWED_ORIGINS: string; /** * Get pricing for a model entry. * Priority: 1) explicit config.yaml pricing, 2) provider-specific built-in, 3) global fallback. */ export declare function getModelPricing(entry: ModelEntry): { input: number; output: number; }; /** Runtime model registry. Reloadable without daemon restart. */ export declare let MODELS_REGISTRY: ModelEntry[]; /** Runtime default model entry (marked default:true, or first in list). */ export declare let DEFAULT_MODEL: ModelEntry | undefined; /** * Reload model providers/models from config.yaml into the runtime registry. * Returns a small summary for API/CLI callers. */ export declare function reloadModelsRegistry(options?: { ensureExists?: boolean; }): { total_models: number; default_model: string | null; }; export declare function stableHostNameFrom(rawHostname: string, platform?: NodeJS.Platform, darwinHostName?: string | null): string; export declare function resolveStableHostName(): string; export declare const DAEMON_HOSTNAME: string; /** Product branding name (e.g. "Supen", "Ticos"). Defaults to "Supen". */ export declare const SUPEN_PRODUCT_NAME: string; export declare const LIBREOFFICE_BINARY: string; export declare const TIWATER_CONVERT_BINARY: string; export declare const OFFICE_PREVIEW_SERVICE_URL: string; export declare const ONLYOFFICE_DOCUMENT_SERVER_URL: string; export declare const ONLYOFFICE_JWT_SECRET: string; export declare const ONLYOFFICE_SOURCE_BASE_URL: string; export declare const CONCURRENCY_LIMIT: number; export declare const AGENT_CONCURRENCY_LIMIT: number; export declare const SESSION_CONCURRENCY_LIMIT: number; export declare const AUTOMATION_MAX_PARALLEL: number; export declare const TASK_DEFAULT_TIMEOUT_MS: number; export declare const TASK_DEFAULT_STEP_TIMEOUT_MS: number; export declare const TASK_DEFAULT_RETRY_COUNT: number; export declare const TASK_DEFAULT_RETRY_BACKOFF_MS: number; export declare function agentPaths(agentId: string): { base: string; config: string; workspace: string; logs: string; brain: string; }; /** * Get the ordered list of models for a specific agent. * * 1. Checks `agent-config.json` for `model`: "provider_id:model_name" (composite key) * 2. If present, puts that model first, followed by the rest of the registry for fallback. * 3. If absent or invalid, returns the full registry (which puts the default model first). */ export declare function getAgentModelConfig(agentId: string, silent?: boolean): ModelEntry[]; export declare function readAgentModelSelection(agentId: string): string | null; export declare function setAgentModelSelection(agentId: string, modelId: string): ModelEntry | undefined; //# sourceMappingURL=config.d.ts.map