UNPKG

azureai-optimizer

Version:

AI-Powered Azure Infrastructure Optimization via Model Context Protocol

209 lines (208 loc) 5.71 kB
{ "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" } }