azureai-optimizer
Version:
AI-Powered Azure Infrastructure Optimization via Model Context Protocol
209 lines (208 loc) • 5.71 kB
JSON
{
"name": "azureai-optimizer",
"version": "1.0.4",
"description": "AI-Powered Azure Infrastructure Optimization via Model Context Protocol",
"type": "module",
"main": "dist/index.js",
"bin": {
"azureai-optimizer": "./bin/azureai-optimizer.js"
},
"scripts": {
"start": "node bin/azureai-optimizer.js",
"dev": "tsx watch src/index.ts",
"build": "tsc && npm run build:bin",
"build:bin": "mkdir -p bin && cp src/bin/azureai-optimizer.js bin/azureai-optimizer.js && chmod +x bin/azureai-optimizer.js",
"test": "jest",
"test:unit": "jest --testPathPattern=unit",
"test:integration": "jest --testPathPattern=integration",
"test:e2e": "jest --testPathPattern=e2e",
"test:coverage": "jest --coverage",
"lint": "eslint src/**/*.ts",
"lint:fix": "eslint src/**/*.ts --fix",
"format": "prettier --write src/**/*.ts",
"type-check": "tsc --noEmit",
"clean": "rimraf dist bin coverage",
"prepublishOnly": "npm run clean && npm run build",
"postinstall": "node scripts/post-install.js"
},
"keywords": [
"azure",
"optimization",
"cost-management",
"security",
"mcp",
"model-context-protocol",
"ai",
"infrastructure",
"cloud",
"devops"
],
"author": {
"name": "AzureAI Team",
"email": "team@azureai-optimizer.com",
"url": "https://azureai-optimizer.com"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/azureai/optimizer.git"
},
"bugs": {
"url": "https://github.com/azureai/optimizer/issues"
},
"homepage": "https://azureai-optimizer.com",
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"files": [
"bin/",
"dist/",
"config/",
"schemas/",
"scripts/",
"README.md",
"LICENSE",
"CHANGELOG.md"
],
"dependencies": {
"@modelcontextprotocol/sdk": "^0.4.0",
"@azure/identity": "^4.0.1",
"@azure/arm-costmanagement": "^1.0.0-beta.1",
"@azure/arm-advisor": "^3.2.0",
"@azure/arm-security": "^6.0.0-beta.5",
"@azure/arm-monitor": "^8.0.0-beta.5",
"@azure/arm-resources": "^6.1.0",
"@azure/arm-subscriptions": "^5.1.0",
"@azure/arm-policy": "^6.0.0",
"@azure/arm-compute": "^21.0.0",
"@azure/keyvault-secrets": "^4.7.0",
"openai": "^4.24.1",
"@anthropic-ai/sdk": "^0.13.1",
"commander": "^11.1.0",
"axios": "^1.6.2",
"ws": "^8.14.2",
"express": "^4.18.2",
"cors": "^2.8.5",
"helmet": "^7.1.0",
"compression": "^1.7.4",
"rate-limiter-flexible": "^7.1.1",
"node-cache": "^5.1.2",
"redis": "^4.6.10",
"winston": "^3.11.0",
"winston-azure-application-insights": "^4.0.0",
"joi": "^17.11.0",
"jsonschema": "^1.4.1",
"uuid": "^9.0.1",
"lodash": "^4.17.21",
"moment": "^2.29.4",
"dotenv": "^16.3.1",
"config": "^3.3.9"
},
"devDependencies": {
"@types/node": "^20.10.4",
"@types/express": "^4.17.21",
"@types/ws": "^8.5.10",
"@types/cors": "^2.8.17",
"@types/compression": "^1.7.5",
"@types/uuid": "^9.0.7",
"@types/lodash": "^4.14.202",
"@types/jest": "^29.5.8",
"typescript": "^5.3.3",
"tsx": "^4.6.2",
"jest": "^29.7.0",
"ts-jest": "^29.1.1",
"@typescript-eslint/eslint-plugin": "^6.13.1",
"@typescript-eslint/parser": "^6.13.1",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.1",
"prettier": "^3.1.0",
"rimraf": "^5.0.5",
"supertest": "^6.3.3",
"nock": "^13.4.0"
},
"peerDependencies": {
"node": ">=18.0.0"
},
"optionalDependencies": {
"ollama": "^0.4.0"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/azureai"
},
"config": {
"mcp": {
"server": {
"name": "AzureAI Optimizer",
"version": "1.0.0",
"description": "AI-powered Azure infrastructure optimization",
"tools": [
{
"name": "analyze_cost_optimization",
"description": "Comprehensive Azure cost analysis with AI recommendations"
},
{
"name": "security_compliance_check",
"description": "Multi-framework security compliance assessment"
},
{
"name": "right_size_resources",
"description": "AI-powered resource right-sizing recommendations"
},
{
"name": "performance_analysis",
"description": "Performance bottleneck detection and optimization"
}
]
}
}
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"roots": ["<rootDir>/src", "<rootDir>/tests"],
"testMatch": [
"**/__tests__/**/*.ts",
"**/?(*.)+(spec|test).ts"
],
"collectCoverageFrom": [
"src/**/*.ts",
"!src/**/*.d.ts",
"!src/bin/**"
],
"coverageDirectory": "coverage",
"coverageReporters": ["text", "lcov", "html"],
"setupFilesAfterEnv": ["<rootDir>/tests/setup.ts"]
},
"eslintConfig": {
"extends": [
"@typescript-eslint/recommended",
"prettier"
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"rules": {
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/explicit-function-return-type": "warn",
"prefer-const": "error",
"no-var": "error"
}
},
"prettier": {
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 2
},
"volta": {
"node": "18.19.0",
"npm": "10.2.3"
}
}