Skip to main content
Glama
resource_generator.ts1.91 kB
export interface ArgInput { toSet: string; readFrom: string; } export interface ArgOutput { toSet?: string; readFrom: string; } export interface RefreshOptions { inputs: Array<ArgInput>; missingResources: Array<String>; outputs: Array<ArgOutput>; } export interface DeleteOptions { inputs: Array<ArgInput>; } export function parseInputOption(input: string): ArgInput { const [toSet, readFrom] = input.split(":"); if (toSet && readFrom) { return { toSet, readFrom }; } else { throw new Error( `Invalid input specifier; must be 'awsInputPath:siPropertiesPath': ${input}`, ); } } export function parseOutputOption(output: string): ArgOutput { if (output.includes(":")) { const [toSet, readFrom] = output.split(":"); return { toSet, readFrom }; } else { return { readFrom: output }; } } export function makeRefreshOptions(options: { input: Array<string>; missingResource?: Array<string>; output: Array<string>; }): RefreshOptions { const refreshOptions: RefreshOptions = { inputs: [], missingResources: [], outputs: [], }; for (const input of options.input) { const argInput = parseInputOption(input); refreshOptions.inputs.push(argInput); } if (options.missingResource) { for (const missing of options.missingResource) { refreshOptions.missingResources.push(missing); } } for (const output of options.output) { const argOutput = parseOutputOption(output); refreshOptions.outputs.push(argOutput); } return refreshOptions; } export function makeDeleteOrActionOptions(options: { input: Array<string>; }): DeleteOptions { const deleteOptions: RefreshOptions = { inputs: [], missingResources: [], outputs: [], }; for (const input of options.input) { const argInput = parseInputOption(input); deleteOptions.inputs.push(argInput); } return deleteOptions; }

Latest Blog Posts

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/systeminit/si'

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