@ddegtyarev/aws-tools
Version:
This project contains AWS API integration tools for use in Vertex AI SDK.
32 lines (31 loc) • 1.48 kB
JavaScript
// src/index.ts
import { awsDescribeInstances } from './tools/awsDescribeInstances.js';
import { awsGetCostAndUsage } from './tools/awsGetCostAndUsage.js';
import { awsCloudWatchGetMetrics } from './tools/awsCloudWatchGetMetrics.js';
import { awsCostOptimizationHubListRecommendations } from './tools/awsCostOptimizationHubListRecommendations.js';
import { awsCostPerServicePerRegion } from './tools/awsCostPerServicePerRegion.js';
// Export chart utilities
export { generateChartFiles, generatePNGChart, generateSVGChart } from './chartUtils.js';
export const tools = [
awsDescribeInstances,
awsGetCostAndUsage,
awsCloudWatchGetMetrics,
awsCostOptimizationHubListRecommendations,
awsCostPerServicePerRegion,
];
export async function invoke(toolName, input, config) {
switch (toolName) {
case 'awsDescribeInstances':
return await awsDescribeInstances.invoke(input, config);
case 'awsGetCostAndUsage':
return await awsGetCostAndUsage.invoke(input, config);
case 'awsCloudWatchGetMetrics':
return await awsCloudWatchGetMetrics.invoke(input, config);
case 'awsCostOptimizationHubListRecommendations':
return await awsCostOptimizationHubListRecommendations.invoke(input, config);
case 'awsCostPerServicePerRegion':
return await awsCostPerServicePerRegion.invoke(input, config);
default:
throw new Error(`Tool ${toolName} not found`);
}
}