UNPKG

gaunt-sloth-assistant

Version:

[![Tests and Lint](https://github.com/Galvanized-Pukeko/gaunt-sloth-assistant/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/Galvanized-Pukeko/gaunt-sloth-assistant/actions/workflows/unit-tests.yml) [![Integration Tests](https://github.co

51 lines 2.16 kB
import { displayError } from '#src/utils/consoleUtils.js'; import { wrapContent } from '#src/utils/llmUtils.js'; /** * Requirements providers. Expected to be in `.providers/` dir. * Aliases are mapped to actual providers in this file */ export const REQUIREMENTS_PROVIDERS = { 'jira-legacy': 'jiraIssueLegacyProvider.js', jira: 'jiraIssueProvider.js', github: 'ghIssueProvider.js', text: 'text.js', file: 'file.js', }; /** * Content providers. Expected to be in `.providers/` dir. * Aliases are mapped to actual providers in this file */ export const CONTENT_PROVIDERS = { github: 'ghPrDiffProvider.js', text: 'text.js', file: 'file.js', }; export async function getRequirementsFromProvider(requirementsProvider, requirementsId, config) { const requirements = await getFromProvider(requirementsProvider, requirementsId, (config?.requirementsProviderConfig ?? {})[requirementsProvider], REQUIREMENTS_PROVIDERS); return wrapContent(requirements, requirementsProvider, 'requirements'); } export async function getContentFromProvider(contentProvider, contentId, config) { const content = await getFromProvider(contentProvider, contentId, (config?.contentProviderConfig ?? {})[contentProvider], CONTENT_PROVIDERS); return wrapContent(content, contentProvider, contentProvider === 'github' ? 'GitHub diff' : 'content'); } async function getFromProvider(provider, id, // eslint-disable-next-line @typescript-eslint/no-explicit-any config, legitPredefinedProviders) { if (typeof provider === 'string') { // Use one of the predefined providers if (legitPredefinedProviders[provider]) { const providerPath = `#src/providers/${legitPredefinedProviders[provider]}`; const { get } = await import(providerPath); return await get(config, id); } else { displayError(`Unknown provider: ${provider}. Continuing without it.`); } } else if (typeof provider === 'function') { // Type assertion to handle function call return await provider(id); } return ''; } //# sourceMappingURL=commandUtils.js.map