UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

42 lines • 1.38 kB
/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import * as fs from 'node:fs'; import * as path from 'node:path'; const DESCRIPTIONS_PATH = path.join(import.meta.dirname, '../third_party/issue-descriptions'); let issueDescriptions = {}; /** * Reads all issue descriptions from the filesystem into memory. */ export async function loadIssueDescriptions() { if (Object.keys(issueDescriptions).length > 0) { return; } const files = await fs.promises.readdir(DESCRIPTIONS_PATH); const descriptions = {}; const results = await Promise.all(files .filter(file => file.endsWith('.md')) .map(async (file) => { const content = await fs.promises.readFile(path.join(DESCRIPTIONS_PATH, file), 'utf-8'); return { file, content }; })); for (const { file, content } of results) { descriptions[file] = content; } issueDescriptions = descriptions; } /** * Gets an issue description from the in-memory cache. * @param fileName The file name of the issue description. * @returns The description of the issue, or null if it doesn't exist. */ export function getIssueDescription(fileName) { return issueDescriptions[fileName] ?? null; } export const ISSUE_UTILS = { loadIssueDescriptions, getIssueDescription, }; //# sourceMappingURL=issueDescriptions.js.map