Skip to main content
Glama

AI Code Toolkit

by AgiFlow
ScaffoldConfigLoader.ts1.82 kB
import { vi } from 'vitest'; import type { IScaffoldConfigLoader } from '../../src/types/interfaces'; import type { ArchitectConfig, ParsedInclude, TemplateValidationResult, } from '../../src/types/scaffold'; export const createMockScaffoldConfigLoader = (): IScaffoldConfigLoader => ({ parseArchitectConfig: vi.fn().mockResolvedValue({ boilerplate: [ { name: 'test-boilerplate', targetFolder: 'apps', description: 'Test boilerplate', variables_schema: { type: 'object', properties: { appName: { type: 'string', description: 'App name' }, }, required: ['appName'], }, includes: ['package.json', 'src/index.ts'], }, ], } as ArchitectConfig), parseIncludeEntry: vi .fn() .mockImplementation((entry: string, _variables: Record<string, any>): ParsedInclude => { const [pathPart, conditionsPart] = entry.split('?'); const conditions: Record<string, string> = {}; if (conditionsPart) { conditionsPart.split('&').forEach((pair) => { const [key, value] = pair.split('='); if (key && value) conditions[key.trim()] = value.trim(); }); } if (pathPart.includes('->')) { const [sourcePath, targetPath] = pathPart.split('->').map((p) => p.trim()); return { sourcePath, targetPath, conditions }; } return { sourcePath: pathPart.trim(), targetPath: pathPart.trim(), conditions, }; }), replaceVariablesInPath: vi.fn().mockImplementation((path: string) => path), shouldIncludeFile: vi.fn().mockReturnValue(true), validateTemplate: vi.fn().mockResolvedValue({ isValid: true, errors: [], missingFiles: [], } as TemplateValidationResult), });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgiFlow/aicode-toolkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server