MCP Tools for Obsidian

import { type } from "arktype"; import { clean } from "semver"; const envVar = type({ GITHUB_DOWNLOAD_URL: "string.url", GITHUB_REF_NAME: type("string").pipe((ref) => clean(ref)), }); /** * Validates a set of environment variables at build time, such as the enpoint URL for GitHub release artifacts. * Better than define since the build fails if the environment variable is not set. * * @returns An object containing the build time constants. */ export function environmentVariables() { try { const { GITHUB_DOWNLOAD_URL, GITHUB_REF_NAME } = envVar.assert({ GITHUB_DOWNLOAD_URL: process.env.GITHUB_DOWNLOAD_URL, GITHUB_REF_NAME: process.env.GITHUB_REF_NAME, }); return { GITHUB_DOWNLOAD_URL, GITHUB_REF_NAME }; } catch (error) { console.error(`Failed to get environment variables:`, { error }); throw error; } }