{"_id":"containerization-assist-mcp","_rev":"36-266740f6abe0160ca972a2699769c537","name":"containerization-assist-mcp","dist-tags":{"0.0.1-dev.1":"0.0.1-dev.1","0.0.1-dev.2":"0.0.1-dev.2","0.0.1-dev.3":"0.0.1-dev.3","0.0.1-dev.6":"0.0.1-dev.6","0.0.2":"0.0.2","1.0.1-dev.1":"1.0.1-dev.1","1.0.1-dev.2":"1.0.1-dev.2","dev":"1.2.0-dev.1","latest":"1.5.0"},"versions":{"0.0.1-dev.1":{"name":"containerization-assist-mcp","version":"0.0.1-dev.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"0.0.1-dev.1","dist":{"shasum":"77aa0d38463e68a89e3c825e48b2f0e1e41aaa51","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.1.tgz","fileCount":1148,"integrity":"sha512-f6gZPCB9jWfNL8QUGQcR3foKkC/AibneI1O9gPMbqNkh7kGS6I5RYUShUrVdrWZewNi6Ubq0FPFN3rrq46vfEg==","signatures":[{"sig":"MEUCIHl/mNWBSVH8cDZn82iEe3AwVQYE1IL7h3WoXVhVqG2eAiEA5TwVDEQkh87EGiZfDI59jRGKMB30x2KeGc1u32yityc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4017027},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\040caf62-d937-4627-b256-03a18ea057c9\\containerization-assist-mcp-0.0.1-dev.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/exports/tools.d.ts","default":"./dist-cjs/src/exports/tools.js","require":"./dist-cjs/src/exports/tools.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\040caf62-d937-4627-b256-03a18ea057c9\\containerization-assist-mcp-0.0.1-dev.1.tgz","_integrity":"sha512-f6gZPCB9jWfNL8QUGQcR3foKkC/AibneI1O9gPMbqNkh7kGS6I5RYUShUrVdrWZewNi6Ubq0FPFN3rrq46vfEg==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"^1.18.2","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.1_1759966591564_0.15117097514129263","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-dev.2":{"name":"containerization-assist-mcp","version":"0.0.1-dev.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"0.0.1-dev.2","dist":{"shasum":"3252acc05b531fed43acd663965314a45523ae75","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.2.tgz","fileCount":1140,"integrity":"sha512-WH/CjJcHOBrRQe4Wg2UaTiVb5GAhgP9ppM/ZAYddvDHzzmnv9035tj2L+2ed6you8BeuK1UhNvVSEvCNzbiF7g==","signatures":[{"sig":"MEQCIHfush6eduVJL0AIXVj6LjlP+Icjs7eL9w5q1YrxYm0BAiBy4DTqHMq5ESOZGUp7sSFd/ty4trc13wvGauiAQqMDzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4015896},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\310cf2c3-295d-492c-b9dd-af741b8d7726\\containerization-assist-mcp-0.0.1-dev.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\310cf2c3-295d-492c-b9dd-af741b8d7726\\containerization-assist-mcp-0.0.1-dev.2.tgz","_integrity":"sha512-WH/CjJcHOBrRQe4Wg2UaTiVb5GAhgP9ppM/ZAYddvDHzzmnv9035tj2L+2ed6you8BeuK1UhNvVSEvCNzbiF7g==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.20.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.2_1760057266763_0.17103523852737323","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-dev.3":{"name":"containerization-assist-mcp","version":"0.0.1-dev.3","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.3","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"0.0.1-dev.3","dist":{"shasum":"d3d5b3f0dfedb0469460729cf8c809c501d8128a","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.3.tgz","fileCount":1140,"integrity":"sha512-uR1IEu3I1kF8aUtgD5BwpBGArJ296nXFi8GqguZZZg7uMylUnrDT7AjGITNgKSoKeFsD9VPxagD40NHNsowUVA==","signatures":[{"sig":"MEUCICP43qpzaqUWBBX9bygO4HoDmrYhekP3mjzOCDJdBwl3AiEA8r2xp5or35UUIZOaGHUOSI1oRLhS0O5W+a1+aXQCcnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4016019},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\79f7b2c2-27d2-4d2f-9756-014b8ca8c7aa\\containerization-assist-mcp-0.0.1-dev.3.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\79f7b2c2-27d2-4d2f-9756-014b8ca8c7aa\\containerization-assist-mcp-0.0.1-dev.3.tgz","_integrity":"sha512-uR1IEu3I1kF8aUtgD5BwpBGArJ296nXFi8GqguZZZg7uMylUnrDT7AjGITNgKSoKeFsD9VPxagD40NHNsowUVA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.3_1760115310314_0.28995393592577434","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-dev.4":{"name":"containerization-assist-mcp","version":"0.0.1-dev.4","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.4","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"63ebd9cad9b16d7c4c9dc05f5af96daa0f69d847","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.4.tgz","fileCount":1140,"integrity":"sha512-Q81bRXpggnAEzASBXjnc2OqMd+RNSf6XxqNBvN/K5GZULoKt2Uy1ckW2StCnSGRxX4by0wq6LVPI5DX3Y/clkw==","signatures":[{"sig":"MEYCIQDyCyFPSE+dA0CB+ujR/6zBln+6psq7JHOWvWQbLEkIJgIhANH3suaLR/9bExUiwNq/ONpp3emjWB6B7swoCYKB22UY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4021577},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\2467ca3b-c036-4880-895f-ec27547f659b\\containerization-assist-mcp-0.0.1-dev.4.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\2467ca3b-c036-4880-895f-ec27547f659b\\containerization-assist-mcp-0.0.1-dev.4.tgz","_integrity":"sha512-Q81bRXpggnAEzASBXjnc2OqMd+RNSf6XxqNBvN/K5GZULoKt2Uy1ckW2StCnSGRxX4by0wq6LVPI5DX3Y/clkw==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.4_1760155316234_0.2782254163138673","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-dev.5":{"name":"containerization-assist-mcp","version":"0.0.1-dev.5","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.5","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"3fb08159613695e192740c5be63bab09a1984473","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.5.tgz","fileCount":1148,"integrity":"sha512-fltBeZKepjD3Lc0DErG17W/PumW4Uvtgw9nqu6TiulCTMoc7uP/mkavvfTVIttOMIGZlMf43hnv4w7K6DXDm7Q==","signatures":[{"sig":"MEYCIQDCYYGwlSjrLMX6LvpKXv1QO2kM1iXhqjysvxmrTNo7LAIhAPxzSZa1sDJcvivKPkaOZ5TeZk+LHjTREC+1ZVWySMVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4029917},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\17b64633-7767-4195-a60c-0974bac77b04\\containerization-assist-mcp-0.0.1-dev.5.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\17b64633-7767-4195-a60c-0974bac77b04\\containerization-assist-mcp-0.0.1-dev.5.tgz","_integrity":"sha512-fltBeZKepjD3Lc0DErG17W/PumW4Uvtgw9nqu6TiulCTMoc7uP/mkavvfTVIttOMIGZlMf43hnv4w7K6DXDm7Q==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.5_1760412433647_0.9063868843766505","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"containerization-assist-mcp","version":"0.0.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"058fc9baa773d15f84f23d99a3539d51a23a51b9","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1.tgz","fileCount":799,"integrity":"sha512-JJEEtG8Bv4fKTZgQ+T6HozKdVhNAfUkqtu5RGzQPRswsUKKC/ftVarCjEAHSQ5Y9izY5v49lTB30JYOruV4riA==","signatures":[{"sig":"MEYCIQDNQF0OjzoDb6bVtyiO+RaQrlycV3xkg/0wejmEKSP9AgIhAK6/aboR+OTA7aqFkQgg3VMsP0n284/JiNGSC9Iogrhd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2892952},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\b98387e6-7969-4a0a-8156-fd8b9709974a\\containerization-assist-mcp-0.0.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\b98387e6-7969-4a0a-8156-fd8b9709974a\\containerization-assist-mcp-0.0.1.tgz","_integrity":"sha512-JJEEtG8Bv4fKTZgQ+T6HozKdVhNAfUkqtu5RGzQPRswsUKKC/ftVarCjEAHSQ5Y9izY5v49lTB30JYOruV4riA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tmp":"^0.2.5","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/tmp":"^0.2.6","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1_1760732796955_0.15738875874744496","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-dev.6":{"name":"containerization-assist-mcp","version":"0.0.1-dev.6","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.1-dev.6","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"0.0.1-dev.6","dist":{"shasum":"2603b82a5469f10ef9df0f48b7d6402c76be97c3","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.1-dev.6.tgz","fileCount":1148,"integrity":"sha512-1FXYQ+lzNUDqgZIo8SGg/fxKMkiJ/W+zP3ktZgP6Ajd7n6eMzgcr8/9H084RbacBLJE5vrhlctCeuLLcKtxPxw==","signatures":[{"sig":"MEUCIQD22mA+HLc5Oqu0TH0KWI02L7sSaN0LNmIZjJB+BvkN5wIgdmACZgE9/otcjweoZ5nDSFEmNmTCtm7fsA1YLM8/Pyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4029969},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\fd9b4560-9a3d-439a-96c6-9ef66dddcbd5\\containerization-assist-mcp-0.0.1-dev.6.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\fd9b4560-9a3d-439a-96c6-9ef66dddcbd5\\containerization-assist-mcp-0.0.1-dev.6.tgz","_integrity":"sha512-1FXYQ+lzNUDqgZIo8SGg/fxKMkiJ/W+zP3ktZgP6Ajd7n6eMzgcr8/9H084RbacBLJE5vrhlctCeuLLcKtxPxw==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^10.1.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.1-dev.6_1760994086819_0.29953360967255316","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"containerization-assist-mcp","version":"0.0.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@0.0.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"0.0.2","dist":{"shasum":"e79cb7cdbc63ef753a091eaa191617442914b734","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-0.0.2.tgz","fileCount":1148,"integrity":"sha512-caWoRcuc/8sth6qQAb0wNMJ4iqeorEbuGJsjqQwZyWSRdpWD6vfhtLSvilUG21zhYjCNXUzVh6xN4/A8DmFHDA==","signatures":[{"sig":"MEQCIBxv7Ih+ejtxgcUszUhNKZAhxLpNZjmBEN23dwbgF+zBAiAqnEjNfm9mY19uwKIaeaqbyKCY9q4mTquvqyinv3IC+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4030030},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\17179a00-0662-4f76-912e-b6bca308590d\\containerization-assist-mcp-0.0.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\17179a00-0662-4f76-912e-b6bca308590d\\containerization-assist-mcp-0.0.2.tgz","_integrity":"sha512-caWoRcuc/8sth6qQAb0wNMJ4iqeorEbuGJsjqQwZyWSRdpWD6vfhtLSvilUG21zhYjCNXUzVh6xN4/A8DmFHDA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"ajv":"^8.17.1","zod":"^3.25.6","pino":"^10.1.0","yaml":"^2.8.1","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","ajv-formats":"^3.0.1","dockerfile-ast":"^0.7.1","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/ajv":"^1.0.4","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_0.0.2_1761063492877_0.552556955619268","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"containerization-assist-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"aaf7c1e142b822fba6fc5383fc6ad1ce5544fb91","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.0.tgz","fileCount":791,"integrity":"sha512-805S73o5zQAMHnV8/aTyaTmpoXwHUj0tHhBhGRAxrJfq+bk9RWIGx/awdUALoSd8t1jWiT8batYZvCMtB23UEg==","signatures":[{"sig":"MEYCIQCHVrvmoKJWZDCdLwJvg0PGP8iYxi+B7SaUeTuTblrOSQIhAPza3B1B5ENL1cwirKcHa/t12yYq64DsE3TRTWqvuyK6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2959640},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\ab5d0b3a-4461-4451-9ceb-22ef8dbb6ae2\\containerization-assist-mcp-1.0.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\ab5d0b3a-4461-4451-9ceb-22ef8dbb6ae2\\containerization-assist-mcp-1.0.0.tgz","_integrity":"sha512-805S73o5zQAMHnV8/aTyaTmpoXwHUj0tHhBhGRAxrJfq+bk9RWIGx/awdUALoSd8t1jWiT8batYZvCMtB23UEg==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tmp":"^0.2.5","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/tmp":"^0.2.6","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.0_1761067773067_0.7914446277549883","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.1":{"name":"containerization-assist-mcp","version":"1.0.1-dev.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"1.0.1-dev.1","dist":{"shasum":"a9d3936a6b325579b7ec55389e88ec3c66f9f8cb","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.1.tgz","fileCount":808,"integrity":"sha512-qV5rkO6Bjw6Ix4zgzxXxyZ8Awt60t+nOsRPmZbj8Cxb3YNW4TQctfsNIyygSPsWuyNDnjpwka4YfJPGBs8uQGA==","signatures":[{"sig":"MEUCICkFx612I6BXPoL5omeOhMFFx3Cej9HZtTRPklXD2tXpAiEA6AhaGdybNy/V+npXp5ayku75Wow6k1TMg98vIiPyH4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3307140},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\1d907c33-b04a-4330-9a82-727c635a110e\\containerization-assist-mcp-1.0.1-dev.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\1d907c33-b04a-4330-9a82-727c635a110e\\containerization-assist-mcp-1.0.1-dev.1.tgz","_integrity":"sha512-qV5rkO6Bjw6Ix4zgzxXxyZ8Awt60t+nOsRPmZbj8Cxb3YNW4TQctfsNIyygSPsWuyNDnjpwka4YfJPGBs8uQGA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.12.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.3.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.36.0","ts-jest":"^29.4.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.36.0","@types/tmp":"^0.2.6","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.6.0","lint-staged":"^16.2.3","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.45.0","@typescript-eslint/parser":"^8.45.0","@typescript-eslint/eslint-plugin":"^8.45.0"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.1_1761160479273_0.1865087258868945","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.2":{"name":"containerization-assist-mcp","version":"1.0.1-dev.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"1.0.1-dev.2","dist":{"shasum":"7efb4f099833d7b2391e1cf331dca17f5b1b3e75","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.2.tgz","fileCount":808,"integrity":"sha512-nsk8guZH7AWy0MbmhZPJlBPakGclYakIV3AVwwKjiPJLtA9wHIv3OxKk7TyADvkqwD+1dB26eXr4fldprkRYLQ==","signatures":[{"sig":"MEYCIQCzvaNRqYOYhZ3+kOBOogv3GRV8n5wXCv6A26AJnDSLAAIhAOTh9Pg9FNtdebrOySCGQbUgZId7baECWf5K7GBrKpRK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3333321},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\25ab09fa-d1d5-44d1-b07e-70bcd936502e\\containerization-assist-mcp-1.0.1-dev.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\25ab09fa-d1d5-44d1-b07e-70bcd936502e\\containerization-assist-mcp-1.0.1-dev.2.tgz","_integrity":"sha512-nsk8guZH7AWy0MbmhZPJlBPakGclYakIV3AVwwKjiPJLtA9wHIv3OxKk7TyADvkqwD+1dB26eXr4fldprkRYLQ==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.2_1761236817648_0.8853411927446526","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.3":{"name":"containerization-assist-mcp","version":"1.0.1-dev.3","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.3","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"65d9f6904376f85864f71e43a53957f5143d67e4","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.3.tgz","fileCount":816,"integrity":"sha512-YpGd9QG6alFjJaMKqPNp1K7YXmS8t94dqiz38vSPEp9PLC4/bGpEXaUq1APR+1yV4jrqbqixQYmPr5NmHWMV3g==","signatures":[{"sig":"MEQCIEuSHWpPmiox3aNk1HW9eielwIizTF4Wky/gS7v8TvcOAiAk/cope8FPHCi1xUmeJQU7Sl9gWoB4ZIiJTDsBb1+thw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3372869},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\6cd626e0-2222-4f75-893a-f01f519319b1\\containerization-assist-mcp-1.0.1-dev.3.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\6cd626e0-2222-4f75-893a-f01f519319b1\\containerization-assist-mcp-1.0.1-dev.3.tgz","_integrity":"sha512-YpGd9QG6alFjJaMKqPNp1K7YXmS8t94dqiz38vSPEp9PLC4/bGpEXaUq1APR+1yV4jrqbqixQYmPr5NmHWMV3g==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.3_1761343186759_0.7461305288809856","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.4":{"name":"containerization-assist-mcp","version":"1.0.1-dev.4","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.4","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"f39a61ac8bf4be7ebf4a0a84590d9089ae582206","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.4.tgz","fileCount":808,"integrity":"sha512-JP2P1Fv3rVp46yKTyGM5Y+s4ZOsTnDhSpIEdzxatiXRAAqKl42/UAD8Zs++GFtIUsOqmA4PhWM1ue6xFz/WhQw==","signatures":[{"sig":"MEUCIC+vp/1yMdBw+K0FirwBvL5eWJeiwssuPPobEUJi66cCAiEAs73scJZy5kkSerKZZlcgE0XYtOn+9ipnQ2flzjucmxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3380992},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\ada6c8a7-20d9-4e0a-9d92-d061c3dbc642\\containerization-assist-mcp-1.0.1-dev.4.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\ada6c8a7-20d9-4e0a-9d92-d061c3dbc642\\containerization-assist-mcp-1.0.1-dev.4.tgz","_integrity":"sha512-JP2P1Fv3rVp46yKTyGM5Y+s4ZOsTnDhSpIEdzxatiXRAAqKl42/UAD8Zs++GFtIUsOqmA4PhWM1ue6xFz/WhQw==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.4_1761773554833_0.2925746045408937","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.5":{"name":"containerization-assist-mcp","version":"1.0.1-dev.5","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.5","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"813b9991d8118f4f76ae66bc052ec0d0b1dd472d","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.5.tgz","fileCount":816,"integrity":"sha512-MQ/utbJK54rmLuYmtlzj/+kCdLm3tXEH4a/dNRlQ6vQL+ltf+fRdc5AAETxq4xXPJFrtglDo9TnskBS6FU/iUA==","signatures":[{"sig":"MEQCH1u8iOMZJ66ukNpXrZ2E2/BJ2hOe6QzllxZlXow6lEYCIQCPJvoldl6yuDzujqOiAcuc0qpYxPmeLzqO1SRHe5AYUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3436361},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\aa472e46-b8f6-4207-b632-64a022b1705b\\containerization-assist-mcp-1.0.1-dev.5.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\aa472e46-b8f6-4207-b632-64a022b1705b\\containerization-assist-mcp-1.0.1-dev.5.tgz","_integrity":"sha512-MQ/utbJK54rmLuYmtlzj/+kCdLm3tXEH4a/dNRlQ6vQL+ltf+fRdc5AAETxq4xXPJFrtglDo9TnskBS6FU/iUA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.5_1762235306380_0.15141573129725172","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-dev.6":{"name":"containerization-assist-mcp","version":"1.0.1-dev.6","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1-dev.6","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"3ec75c5aa77ced8334aa277587a7f0e021f67752","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1-dev.6.tgz","fileCount":832,"integrity":"sha512-4fLQAgpo2HEmMnXiFoByYvpAvBP0QVl3ff4buoanZepdQEYKIOaHdze7BdH9GiTExyQfB7rOvVwhngFwzUOG+g==","signatures":[{"sig":"MEYCIQCjjNEXOg+m9X83JIm0VIOSJwHcDTZhwFgTQundwZ+z4AIhAKW+RZcrFwA9IgQFpsfXD3Pv+GUcMiiKJ2Hs9hbhczQy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3614277},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\1c5ede7b-8abd-4b4d-82d0-05c0229889b6\\containerization-assist-mcp-1.0.1-dev.6.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","tag-migration":"tsx scripts/tag-migration.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","prepublishOnly":"npm run validate && npm run build"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\1c5ede7b-8abd-4b4d-82d0-05c0229889b6\\containerization-assist-mcp-1.0.1-dev.6.tgz","_integrity":"sha512-4fLQAgpo2HEmMnXiFoByYvpAvBP0QVl3ff4buoanZepdQEYKIOaHdze7BdH9GiTExyQfB7rOvVwhngFwzUOG+g==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1-dev.6_1762316484686_0.8417295013422565","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"containerization-assist-mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"0cb078609299fcb3c2f463aa3cb96ae4a6bd6715","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.1.tgz","fileCount":902,"integrity":"sha512-xb/sq3qplMdQfivMQ7cS2MpW8jZgjbcQp+TBzYYgGicWr3S1sjetphWYJiI1d8RpEDX37kLGlXP+cmI0Ixaomg==","signatures":[{"sig":"MEUCIQDwwk71IA1XxqjInuwE4DGUtx86lq2mc5JBlLgIShldtAIgO70hbWjvx8ygmOI8o9hL38rWvZU/NZEA5F0K60Z4de0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4606283},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\8f653108-4a38-44dd-88c2-6ba5fc65b91c\\containerization-assist-mcp-1.0.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\8f653108-4a38-44dd-88c2-6ba5fc65b91c\\containerization-assist-mcp-1.0.1.tgz","_integrity":"sha512-xb/sq3qplMdQfivMQ7cS2MpW8jZgjbcQp+TBzYYgGicWr3S1sjetphWYJiI1d8RpEDX37kLGlXP+cmI0Ixaomg==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"1.17.3","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tar":"^7.5.2","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.1_1763518264897_0.4214447739166072","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"containerization-assist-mcp","version":"1.0.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.0.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"dcf757d73c44bd61fbe0d14e73e66653ca5a447d","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.0.2.tgz","fileCount":902,"integrity":"sha512-6zTQ3/VevV3qNOE1YQYVqjulH1tWAagqFz9QfHeKpZvEv0BSWkw/6yszVRqeDAj5UQB69hRjcKJw+B+elG51mg==","signatures":[{"sig":"MEYCIQDjZr/38qE8/TBxI8FCC9iiLntu6Z7T5kystF5bB9RJRwIhALOim1FODIH+6qSAdtd+BG8Uy3h4dB3Dz2KuYBBLckn3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4610036},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\7c222f63-1922-44ca-887e-619177a8c4f9\\containerization-assist-mcp-1.0.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\7c222f63-1922-44ca-887e-619177a8c4f9\\containerization-assist-mcp-1.0.2.tgz","_integrity":"sha512-6zTQ3/VevV3qNOE1YQYVqjulH1tWAagqFz9QfHeKpZvEv0BSWkw/6yszVRqeDAj5UQB69hRjcKJw+B+elG51mg==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.24.1","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tar":"^7.5.2","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.0.2_1764892497624_0.8445800055940826","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-dev.1":{"name":"containerization-assist-mcp","version":"1.1.0-dev.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.1.0-dev.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"feb73a39397a1cf110436b3b93590c40596bf0f2","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.1.0-dev.1.tgz","fileCount":983,"integrity":"sha512-7xbIIU2659YC3H2PGz1VbMeSe0RtdfQo7FQlT76F2TY4D0lS7NCiJdZ5bSxch/MyjMt+/pdllpKwoI1i3zzb3g==","signatures":[{"sig":"MEUCIG4WDX50sfalshIWXvC/T2xNwgyAiEIe/F7aXhyF5mEZAiEAooB757NbqBlGg0rM1lnHrOcvKpcF25tJVhJg8jtmLqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5025975},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\6bfad547-504b-44e7-af7e-e606e92b21f0\\containerization-assist-mcp-1.1.0-dev.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\6bfad547-504b-44e7-af7e-e606e92b21f0\\containerization-assist-mcp-1.1.0-dev.1.tgz","_integrity":"sha512-7xbIIU2659YC3H2PGz1VbMeSe0RtdfQo7FQlT76F2TY4D0lS7NCiJdZ5bSxch/MyjMt+/pdllpKwoI1i3zzb3g==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.24.1","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tar":"^7.5.2","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.1.0-dev.1_1765917983021_0.21865715510610384","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-dev.2":{"name":"containerization-assist-mcp","version":"1.1.0-dev.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.1.0-dev.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"409f3ff9515d1650c907b1aabdd14cb96ce514b6","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.1.0-dev.2.tgz","fileCount":1007,"integrity":"sha512-lrWW2RMf/qZ3GHoOYCbwK49ZIRFimpCJ7YqeNKfgi5PBgLHV/CA9x60o7c5uMSQbCK+eo9idT6OfrYa23C68qw==","signatures":[{"sig":"MEUCIH8mU1/+wVpBCrWCa+EINe8OkGUi8gRdGn7KroX2jhpfAiEAhtVXOb6MSGl3X66Ek6vNx4KykHnZWIuHDTa3snMsxGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5110918},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\60497d26-1611-4bb1-bf99-596743c19bcc\\containerization-assist-mcp-1.1.0-dev.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\60497d26-1611-4bb1-bf99-596743c19bcc\\containerization-assist-mcp-1.1.0-dev.2.tgz","_integrity":"sha512-lrWW2RMf/qZ3GHoOYCbwK49ZIRFimpCJ7YqeNKfgi5PBgLHV/CA9x60o7c5uMSQbCK+eo9idT6OfrYa23C68qw==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.25.2","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tar":"^7.5.2","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.1.0-dev.2_1769017849589_0.8421636991664796","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-dev.3":{"name":"containerization-assist-mcp","version":"1.1.0-dev.3","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.1.0-dev.3","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"a776521f3ddbae6700bd67786a2984cee7862b90","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.1.0-dev.3.tgz","fileCount":1023,"integrity":"sha512-2B3Je/8jtCwpawWtwAk0T+JV8EoLs7yWiSE8AaA547KqFnxQkT14S1G2NrkiRSp934tQDOY9Cv3P54G+Ahb9QQ==","signatures":[{"sig":"MEQCIGkxZeOtBqdozhCnGuLVaBoZkd8mQ8q6XeNsgiJaYr0YAiAcDW4i43eUhVjoPrrfSRvLhh8ariqsj4omIsxqQHPeKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5151162},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\6fa3c42a-59a1-4819-b678-cc183e789d5c\\containerization-assist-mcp-1.1.0-dev.3.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\6fa3c42a-59a1-4819-b678-cc183e789d5c\\containerization-assist-mcp-1.1.0-dev.3.tgz","_integrity":"sha512-2B3Je/8jtCwpawWtwAk0T+JV8EoLs7yWiSE8AaA547KqFnxQkT14S1G2NrkiRSp934tQDOY9Cv3P54G+Ahb9QQ==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.25.2","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tar":"^7.5.2","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.1.0-dev.3_1769188422265_0.7364720958288995","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-dev.4":{"name":"containerization-assist-mcp","version":"1.1.0-dev.4","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.1.0-dev.4","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"071521ee3784b153c5c85d5b87ffc1429265cf6d","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.1.0-dev.4.tgz","fileCount":1103,"integrity":"sha512-vy9jXm2AQHqeXZr/yvlU322XqcZrl0DSlP9FK77a/7ekcYR9XwRFDhmFh17QIJdiT8JL1KV96+wQvD049ddY7g==","signatures":[{"sig":"MEYCIQCKmbtLfFy4Lc8vpGieRD3RW1JCiuBxOkYWYST7si5WbQIhANMzprAs7jnNCKEj5HfvdY1JdCkH3SuEnVMj4OOQQE6W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5374300},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\bd7ff3f0-386b-44b1-a029-b0035a9c59cc\\containerization-assist-mcp-1.1.0-dev.4.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\bd7ff3f0-386b-44b1-a029-b0035a9c59cc\\containerization-assist-mcp-1.1.0-dev.4.tgz","_integrity":"sha512-vy9jXm2AQHqeXZr/yvlU322XqcZrl0DSlP9FK77a/7ekcYR9XwRFDhmFh17QIJdiT8JL1KV96+wQvD049ddY7g==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.25.2","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.1.0-dev.4_1769577618805_0.7600538594526314","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"containerization-assist-mcp","version":"1.1.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.1.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"3240d69bb9e1725fc48aabce158e87b24c2deb6b","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.1.0.tgz","fileCount":1103,"integrity":"sha512-DKIVwX4pOCY7tTuIcizuNhBfOfx7+W+lQaZED5QWP/keuVEDOxO/XYHTy8CSHO/dNwlLiwMOfWkds7W3mbLyLQ==","signatures":[{"sig":"MEUCIQDKEpXjqUBEbcNu+wf1tR/b85N9XTYfE+YUi1R3c2JfbgIgKdhrL6JUd0SjAey7pIk9cAZiucHaFpgBYH8mcDVjzjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5374905},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\b2fa72b2-f60e-49a4-a8ae-f18d29edc74a\\containerization-assist-mcp-1.1.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\b2fa72b2-f60e-49a4-a8ae-f18d29edc74a\\containerization-assist-mcp-1.1.0.tgz","_integrity":"sha512-DKIVwX4pOCY7tTuIcizuNhBfOfx7+W+lQaZED5QWP/keuVEDOxO/XYHTy8CSHO/dNwlLiwMOfWkds7W3mbLyLQ==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.25.2","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.1.0_1770177819693_0.23914662075715287","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-dev.1":{"name":"containerization-assist-mcp","version":"1.2.0-dev.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.2.0-dev.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"dev","dist":{"shasum":"ad6d98a10c57180c885446c8729f07e050409e4c","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.2.0-dev.1.tgz","fileCount":1215,"integrity":"sha512-W6eTRRAeZSsJjTH1vnhOlIEoULI6WfQx7AiFUx8luNDkFiHHM41lT743ltc9fhQqwRIMdNMHfFmflNheEuxe3w==","signatures":[{"sig":"MEYCIQCyrnsnWNFjcWuQk+9OJVf4SBo+9dgK2wBj+7pfLphqPwIhAJmDu9N+aO2C36VsgapPNxHPcRr55rnmIX/kfk+wEbNN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6864505},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\9860c3d9-3fef-430d-aa59-4750902cbe02\\containerization-assist-mcp-1.2.0-dev.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\9860c3d9-3fef-430d-aa59-4750902cbe02\\containerization-assist-mcp-1.2.0-dev.1.tgz","_integrity":"sha512-W6eTRRAeZSsJjTH1vnhOlIEoULI6WfQx7AiFUx8luNDkFiHHM41lT743ltc9fhQqwRIMdNMHfFmflNheEuxe3w==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.2.0-dev.1_1770838430851_0.4188673138026813","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"containerization-assist-mcp","version":"1.2.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.2.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"ec2a24e28929acd2f2617a090982d55a63b523ac","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.2.0.tgz","fileCount":1215,"integrity":"sha512-/88aAHgHOKJYrKhKtTXwOCtQTEQXTx5ALg3YUSeCncbCwIYPhrbxCb+efDlS4DKz/xkRtwkibBqetlsdWa3srA==","signatures":[{"sig":"MEUCIECJpOLniQ/V0WqQz58kKOgr+mO7rMTc1ctPyVxKV1D4AiEA0DBhYk3iUR2KN0PQoV9GKmU+twKd89pdzPBrobRiZqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6864771},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\19ebfc47-7f76-4b7c-b7c6-77792b1c7043\\containerization-assist-mcp-1.2.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\19ebfc47-7f76-4b7c-b7c6-77792b1c7043\\containerization-assist-mcp-1.2.0.tgz","_integrity":"sha512-/88aAHgHOKJYrKhKtTXwOCtQTEQXTx5ALg3YUSeCncbCwIYPhrbxCb+efDlS4DKz/xkRtwkibBqetlsdWa3srA==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.2.0_1771353747528_0.2891301354957283","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"containerization-assist-mcp","version":"1.3.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.3.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/azure/containerization-assist#readme","bugs":{"url":"https://github.com/azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"2d2b4411631cef41d5659af3fafa7823abe6582b","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.3.0.tgz","fileCount":1199,"integrity":"sha512-01D5sSbO+3HKuLRdntGr+kOUCLXAuuD1vbP9zP3oh3XpytiF8OJGAeepcsQmgM9F7HyzRv3EFMAUrmmlCRmuSw==","signatures":[{"sig":"MEQCICnykBRZPmcWCt3mQYfX1iAapR/9D/zzIK40YYpAkfwKAiBEuSld3QspS90iuKsFKBJT3wEzV+LPTuhfCMqyTm23jQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6889110},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\db7b7594-242a-443a-8080-252b1a5d50c4\\containerization-assist-mcp-1.3.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.azure/containerization-assist","scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\db7b7594-242a-443a-8080-252b1a5d50c4\\containerization-assist-mcp-1.3.0.tgz","_integrity":"sha512-01D5sSbO+3HKuLRdntGr+kOUCLXAuuD1vbP9zP3oh3XpytiF8OJGAeepcsQmgM9F7HyzRv3EFMAUrmmlCRmuSw==","repository":{"url":"git+https://github.com/azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.3.0_1772582345843_0.7721243135593163","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"containerization-assist-mcp","version":"1.3.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.3.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/containerization-assist#readme","bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"d79e58b773c12d53883fca0ac83848484170f43b","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.3.1.tgz","fileCount":1199,"integrity":"sha512-VkkjpnV9Sylu8GRfhF4/GKbcUbQNFFC63Dr3M2svLjTbV6GsuszrJ0+a2tHGrJrl5dudfYzQWwOyZuYtOSzmCA==","signatures":[{"sig":"MEUCIQChREuANqt310KdzKlvTLjJR/iLSXSWve7sYI85quH3vAIgSyRxnsmjvRC73pEQaCe+nT8niEztngglD2trCOZdZ3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6889208},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\2d030ecf-c716-42f0-b42d-1f8ddbc51c31\\containerization-assist-mcp-1.3.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.Azure/containerization-assist","scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\2d030ecf-c716-42f0-b42d-1f8ddbc51c31\\containerization-assist-mcp-1.3.1.tgz","_integrity":"sha512-VkkjpnV9Sylu8GRfhF4/GKbcUbQNFFC63Dr3M2svLjTbV6GsuszrJ0+a2tHGrJrl5dudfYzQWwOyZuYtOSzmCA==","repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.3.1_1772585996994_0.8744908135886378","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"containerization-assist-mcp","version":"1.3.2","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.3.2","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/containerization-assist#readme","bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"666df23db4b3f1ab1c6cfdbedad2480555f77c5e","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.3.2.tgz","fileCount":1255,"integrity":"sha512-sl0j6G1cPJOJ8YXm61lGr8PjdwPbmehJPQmRDkBBAwm2OH92Ejgodw9PEwewNOhViPtxnysE3Lh2Tp0mq3GErQ==","signatures":[{"sig":"MEUCIAwf2NepXelDS/bbjAjo7n43fKuf20UwpYc89xwHNsxEAiEAuuLOyHVwp+CORvO0eWAHy/K5gLVUUf7SIWF2ZVUqo50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6971748},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\ecd1463d-f3ee-4bb0-8e0a-55c248f0a489\\containerization-assist-mcp-1.3.2.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.Azure/containerization-assist","scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\ecd1463d-f3ee-4bb0-8e0a-55c248f0a489\\containerization-assist-mcp-1.3.2.tgz","_integrity":"sha512-sl0j6G1cPJOJ8YXm61lGr8PjdwPbmehJPQmRDkBBAwm2OH92Ejgodw9PEwewNOhViPtxnysE3Lh2Tp0mq3GErQ==","repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.3.2_1773184385244_0.714495094098561","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"containerization-assist-mcp","version":"1.4.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.4.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/containerization-assist#readme","bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"0a6ae9776b358dcaf1cd8dbfe11cfb26df67faad","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.4.0.tgz","fileCount":1263,"integrity":"sha512-eUJ+sYftv3hBTjeSGdp1WPo6KAektj7o24W192TFXVN5set9nEreUq+SLfxxoRCkWRB/9ijHX6/qZgjJt+nJNA==","signatures":[{"sig":"MEUCIEz6gJ9mvtPDbKc5M7fcX4mD+a+0Mhc3tgmkcHs8ocSNAiEAlGC+EmTFOvjZgX6Q7fkdTq0n9kpfb2eGFUSvVwiYuZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7068498},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\cbed58f7-dd0b-485c-b9f0-6f5a6e70cff0\\containerization-assist-mcp-1.4.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.Azure/containerization-assist","scripts":{"dev":"tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","docs:dev":"vitepress dev docs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","docs:preview":"vitepress preview docs","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts","validate:action-refs":"tsx scripts/validate-action-refs.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\cbed58f7-dd0b-485c-b9f0-6f5a6e70cff0\\containerization-assist-mcp-1.4.0.tgz","_integrity":"sha512-eUJ+sYftv3hBTjeSGdp1WPo6KAektj7o24W192TFXVN5set9nEreUq+SLfxxoRCkWRB/9ijHX6/qZgjJt+nJNA==","repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^4.0.9","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","vitepress":"^1.6.4","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.4.0_1776887554661_0.5833278946518656","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"containerization-assist-mcp","version":"1.4.1","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.4.1","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/containerization-assist#readme","bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"37a91da97f0a00b4971fbcaeb371e5e464015f8c","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.4.1.tgz","fileCount":1301,"integrity":"sha512-ZRRdFTTlHkHyZE06r7QZV7/8vC+htZ7W83EXW0g3Zlv4jCVflryYEZU5oA0Jnam5K+kTeNfTIrJiOheF/LEC+w==","signatures":[{"sig":"MEUCIACbYo5K9t5JniQs6sE2+4dpDbWIXTtSD0rleIcijht7AiEA+h2zeWtZycweIYPDubZtSMXUc72iKsIM9VS8+XAPaek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7566168},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\3356e8e0-37bf-4ef4-a9fd-0c0e46f01df3\\containerization-assist-mcp-1.4.1.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.Azure/containerization-assist","scripts":{"dev":"npm run build:version && tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:version && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","docs:dev":"vitepress dev docs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"npm run build:version && tsc --noEmit","docs:build":"vitepress build docs","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","docs:preview":"vitepress preview docs","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","build:version":"tsx scripts/generate-version.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts","validate:action-refs":"tsx scripts/validate-action-refs.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\3356e8e0-37bf-4ef4-a9fd-0c0e46f01df3\\containerization-assist-mcp-1.4.1.tgz","_integrity":"sha512-ZRRdFTTlHkHyZE06r7QZV7/8vC+htZ7W83EXW0g3Zlv4jCVflryYEZU5oA0Jnam5K+kTeNfTIrJiOheF/LEC+w==","repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^5.0.0","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","vitepress":"^1.6.4","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.4.1_1781130397971_0.21892929771088787","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"containerization-assist-mcp","version":"1.5.0","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"_id":"containerization-assist-mcp@1.5.0","maintainers":[{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"microsoft-oss-releases","email":"microsoft-oss-publishing@microsoft.com"}],"homepage":"https://github.com/Azure/containerization-assist#readme","bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"bin":{"ca-mcp":"dist/src/cli/cli.js","containerization-assist-mcp":"dist/src/cli/cli.js"},"tag":"latest","dist":{"shasum":"9edea9ea8630f20fc9e1d764bf71cc3f756e7b7f","tarball":"https://registry.npmjs.org/containerization-assist-mcp/-/containerization-assist-mcp-1.5.0.tgz","fileCount":1326,"integrity":"sha512-IJztFMt2cPXmiwZXQh8OUfGqTApNJUH9jMBf8Z+aPPJEmHpGAUD5WQtzOJpDo+XLIdWqHg3rj1RJlyxbMqoL6Q==","signatures":[{"sig":"MEUCIQCmJOYTxMgKHpOObmcqlnF2yiNrghZJ0FtllLAd+M4aJAIgBpjn2d/WEHqabOm6lOH/jOJcoVrww/kXfMH01J9ZLc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7687381},"main":"./dist-cjs/src/index.js","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\e7247969-a582-493b-a87c-908a53a1f877\\containerization-assist-mcp-1.5.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist-cjs/src/index.d.ts","default":"./dist-cjs/src/index.js","require":"./dist-cjs/src/index.js"},"./sdk":{"types":"./dist-cjs/src/sdk/index.d.ts","default":"./dist-cjs/src/sdk/index.js","require":"./dist-cjs/src/sdk/index.js"},"./tools":{"types":"./dist-cjs/src/tools/index.d.ts","default":"./dist-cjs/src/tools/index.js","require":"./dist-cjs/src/tools/index.js"},"./types":{"types":"./dist-cjs/src/types/index.d.ts","default":"./dist-cjs/src/types/index.js","require":"./dist-cjs/src/types/index.js"},"./config":{"types":"./dist-cjs/src/config/index.d.ts","default":"./dist-cjs/src/config/index.js","require":"./dist-cjs/src/config/index.js"},"./server":{"types":"./dist-cjs/src/mcp/mcp-server.d.ts","default":"./dist-cjs/src/mcp/mcp-server.js","require":"./dist-cjs/src/mcp/mcp-server.js"},"./knowledge":{"types":"./dist-cjs/src/knowledge/index.d.ts","default":"./dist-cjs/src/knowledge/index.js","require":"./dist-cjs/src/knowledge/index.js"},"./sdk/types":{"types":"./dist-cjs/src/sdk/types.d.ts","default":"./dist-cjs/src/sdk/types.js","require":"./dist-cjs/src/sdk/types.js"},"./tools/types":{"types":"./dist-cjs/src/tools/types.d.ts","default":"./dist-cjs/src/tools/types.js","require":"./dist-cjs/src/tools/types.js"}},"mcpName":"io.github.Azure/containerization-assist","scripts":{"dev":"npm run build:version && tsx watch src/cli/cli.ts","fix":"npm run lint:fix && npm run format","lint":"eslint src --ext .ts","test":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e","build":"npm run clean && npm run build:version && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs","clean":"rm -rf dist dist-cjs coverage .tsbuildinfo*","start":"node dist/src/cli/cli.js","format":"prettier --write 'src/**/*.ts'","prepack":"node scripts/prepare-cjs-package.cjs","docs:dev":"vitepress dev docs","lint:fix":"eslint src --ext .ts --fix","postpack":"node scripts/restore-package.cjs","test:llm":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration","validate":"npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js","build:cjs":"tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && printf '{\"type\": \"commonjs\"}\\n' > dist-cjs/package.json","build:esm":"tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && chmod +x dist/src/cli/cli.js","mcp:local":"tsx scripts/toggle-mcp-mode.ts local","test:unit":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand","typecheck":"npm run build:version && tsc --noEmit","docs:build":"vitepress build docs","mcp:status":"tsx scripts/toggle-mcp-mode.ts status","build:watch":"tsc --project tsconfig.json --watch","mcp:inspect":"npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start","postversion":"tsx scripts/postversion.ts","build:verify":"tsx scripts/verify-build.ts","docs:preview":"vitepress preview docs","format:check":"prettier --check 'src/**/*.ts'","mcp:packaged":"tsx scripts/toggle-mcp-mode.ts packaged","validate-api":"tsx scripts/validate-public-api.ts","build:version":"tsx scripts/generate-version.ts","quality:gates":"tsx scripts/quality-gates.ts","smoke:journey":"tsx scripts/smoke-journey.ts","test:coverage":"npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage","test:policies":"opa test policies/","build:policies":"tsx scripts/build-policies.ts","changelog-sync":"tsx scripts/changelog-sync.ts","prepublishOnly":"npm run validate && npm run build","build:knowledge":"tsx scripts/generate-embedded-packs.ts","policy:simulate":"tsx src/cli/policy-simulate.ts","validate:policies":"tsx scripts/validate-policies.ts","validate:action-refs":"tsx scripts/validate-action-refs.ts"},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\e7247969-a582-493b-a87c-908a53a1f877\\containerization-assist-mcp-1.5.0.tgz","_integrity":"sha512-IJztFMt2cPXmiwZXQh8OUfGqTApNJUH9jMBf8Z+aPPJEmHpGAUD5WQtzOJpDo+XLIdWqHg3rj1RJlyxbMqoL6Q==","repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","directories":{},"lint-staged":{"src/**/*.ts":["eslint --fix --max-warnings 0","prettier --write"]},"_nodeVersion":"18.5.0","dependencies":{"tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.25.6","glob":"^11.0.3","pino":"^9.14.0","yaml":"^2.8.1","xml2js":"^0.6.2","js-yaml":"^4.1.0","commander":"^14.0.1","dockerode":"^5.0.0","protobufjs":"^8.0.0","@iarna/toml":"^2.2.5","@types/xml2js":"^0.4.14","dockerfilelint":"^1.8.0","kubernetes-models":"^4.5.1","docker-file-parser":"^1.0.7","zod-to-json-schema":"^3.25.0","validate-dockerfile":"^1.8.1","@kubernetes/client-node":"^1.4.0","@modelcontextprotocol/sdk":"~1.26.0","@open-policy-agent/opa-wasm":"^1.10.0","@kubernetes-models/apimachinery":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.76","tsx":"^4.20.6","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","tsc-alias":"^1.8.16","vitepress":"^1.6.4","@eslint/js":"^9.38.0","@types/tar":"^6.1.13","@types/tmp":"^0.2.6","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/jest":"^30.0.0","@types/node":"^24.9.1","lint-staged":"^16.2.6","@ai-sdk/azure":"^2.0.54","@jest/globals":"^30.2.0","@types/tar-fs":"^2.0.4","@types/js-yaml":"^4.0.9","@types/dockerode":"^3.3.44","typescript-eslint":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/containerization-assist-mcp_1.5.0_1782948773115_0.11561898834395179","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-10-08T23:36:31.456Z","modified":"2026-07-16T15:49:01.037Z","0.0.1-dev.1":"2025-10-08T23:36:31.911Z","0.0.1-dev.2":"2025-10-10T00:47:47.043Z","0.0.1-dev.3":"2025-10-10T16:55:10.590Z","0.0.1-dev.4":"2025-10-11T04:01:56.518Z","0.0.1-dev.5":"2025-10-14T03:27:13.870Z","0.0.1":"2025-10-17T20:26:37.184Z","0.0.1-dev.6":"2025-10-20T21:01:27.045Z","0.0.2":"2025-10-21T16:18:13.155Z","1.0.0":"2025-10-21T17:29:33.275Z","1.0.1-dev.1":"2025-10-22T19:14:39.459Z","1.0.1-dev.2":"2025-10-23T16:26:57.848Z","1.0.1-dev.3":"2025-10-24T21:59:46.980Z","1.0.1-dev.4":"2025-10-29T21:32:35.082Z","1.0.1-dev.5":"2025-11-04T05:48:26.666Z","1.0.1-dev.6":"2025-11-05T04:21:24.975Z","1.0.1":"2025-11-19T02:11:05.183Z","1.0.2":"2025-12-04T23:54:57.816Z","1.1.0-dev.1":"2025-12-16T20:46:23.203Z","1.1.0-dev.2":"2026-01-21T17:50:49.792Z","1.1.0-dev.3":"2026-01-23T17:13:42.451Z","1.1.0-dev.4":"2026-01-28T05:20:19.018Z","1.1.0":"2026-02-04T04:03:39.890Z","1.2.0-dev.1":"2026-02-11T19:33:51.176Z","1.2.0":"2026-02-17T18:42:27.818Z","1.3.0":"2026-03-03T23:59:06.049Z","1.3.1":"2026-03-04T00:59:57.195Z","1.3.2":"2026-03-10T23:13:05.478Z","1.4.0":"2026-04-22T19:52:34.946Z","1.4.1":"2026-06-10T22:26:38.240Z","1.5.0":"2026-07-01T23:32:53.317Z"},"bugs":{"url":"https://github.com/Azure/containerization-assist/issues"},"homepage":"https://github.com/Azure/containerization-assist#readme","keywords":["mcp","model-context-protocol","containerization","docker","kubernetes","ai-assisted","devops","java","spring-boot","maven","gradle"],"repository":{"url":"git+https://github.com/Azure/containerization-assist.git","type":"git"},"description":"TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support","maintainers":[{"email":"npmjs@microsoft.com","name":"microsoft1es"},{"email":"microsoft-oss-publishing@microsoft.com","name":"microsoft-oss-releases"}],"readme":"# Containerization Assist MCP Server\n\n[![Test Pipeline](https://github.com/Azure/containerization-assist/actions/workflows/test-pipeline.yml/badge.svg?branch=main)](https://github.com/Azure/containerization-assist/actions/workflows/test-pipeline.yml)\n[![Version](https://img.shields.io/github/package-json/v/Azure/containerization-assist?color=orange)](https://github.com/Azure/containerization-assist/releases)\n[![MCP SDK](https://img.shields.io/github/package-json/dependency-version/Azure/containerization-assist/@modelcontextprotocol/sdk?color=blueviolet&label=MCP%20SDK)](https://github.com/modelcontextprotocol/typescript-sdk)\n[![Node](https://img.shields.io/github/package-json/engines-node/Azure/containerization-assist?color=brightgreen&label=node)](https://nodejs.org)\n[![TypeScript](https://img.shields.io/github/package-json/dependency-version/Azure/containerization-assist/dev/typescript?color=blue&label=TypeScript)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/github/license/Azure/containerization-assist?color=green)](LICENSE)\n[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://azure.github.io/containerization-assist/)\n\nAn AI-powered containerization assistant that helps you build, scan, and deploy Docker containers through VS Code and other MCP-compatible tools.\n\n> **[Full documentation →](https://azure.github.io/containerization-assist/)**\n\n## Install\n\n\n[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Containerization_Assist_MCP-0098FF?style=flat-square&logo=visualstudiocode&logoColor=ffffff)](https://azure.github.io/containerization-assist/vscode-mcp-install-redirect.html)\n[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_Containerization_Assist_MCP-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=ffffff)](https://azure.github.io/containerization-assist/vscode-insiders-mcp-install-redirect.html)\n\n## Features\n\n### Core Capabilities\n\n- 🐳 **Docker Integration**: Build, scan, and deploy container images\n- ☸️ **Kubernetes Support**: Generate manifests and deploy applications\n- 🤖 **AI-Powered**: Intelligent Dockerfile generation and optimization\n- 🧠 **Knowledge Enhanced**: AI-driven content improvement with security and performance best practices\n- 🔄 **Intelligent Tool Routing**: Automatic dependency resolution and execution\n- 📊 **Progress Tracking**: Real-time progress updates via MCP notifications\n- 🔒 **Security Scanning**: Built-in vulnerability scanning with AI-powered suggestions\n- ✨ **Smart Analysis**: Context-aware recommendations\n- **Policy-Driven System (v3.0)**\n  - Pre-generation configuration\n  - Knowledge filtering and weighting\n  - Template injection\n  - Semantic validation\n  - Cross-tool consistency\n\n### Policy System (v3.0)\n\nFull control over containerization through Rego policies:\n\n- **Configure Before Generation**: Set defaults for resources, base images, build strategy\n- **Guide During Generation**: Filter knowledge base, inject templates automatically\n- **Validate After Generation**: Semantic checks, security scoring, cross-tool consistency\n\n**Example Policies Included**:\n- Environment-based strategy (dev/staging/prod)\n- Cost control by team tier\n- Security-first organization\n- Multi-cloud registry governance\n- Speed-optimized development\n\nSee [Policy Authoring Guide](docs/guides/policy-authoring.md) for details.\n\n## System Requirements\n\n- Node.js 20+\n- Docker or Docker Desktop\n- Optional: [Trivy](https://aquasecurity.github.io/trivy/latest/getting-started/installation/) (for security scanning features)\n- Optional: Kubernetes (for deployment features)\n\n## Manual Install\n\nAdd the following to your VS Code settings or create `.vscode/mcp.json` in your project:\n\n```json\n{\n  \"servers\": {\n    \"ca\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"containerization-assist-mcp\", \"start\"],\n      \"env\": {\n         \"LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nRestart VS Code to enable the MCP server in GitHub Copilot.\n\n### SDK Usage (Without MCP)\n\nFor direct tool usage without MCP protocol (e.g., VS Code extensions, programmatic access):\n\n```typescript\nimport { analyzeRepo, buildImageContext, scanImage } from 'containerization-assist-mcp/sdk';\nimport { execSync } from 'child_process';\n\n// Simple function calls - no MCP server needed\nconst analysis = await analyzeRepo({ repositoryPath: './myapp' });\nif (analysis.ok) {\n  console.log('Detected:', analysis.value.modules);\n}\n\n// buildImageContext returns build context with security analysis and commands\nconst buildContext = await buildImageContext({ path: './myapp', imageName: 'myapp:v1', platform: 'linux/amd64' });\nif (buildContext.ok) {\n  const { securityAnalysis, nextAction } = buildContext.value;\n  console.log('Security risk:', securityAnalysis.riskLevel);\n  \n  // Execute the generated build command from the build context directory\n  execSync(nextAction.buildCommand.command, {\n    cwd: buildContext.value.context.buildContextPath,\n    env: { ...process.env, ...nextAction.buildCommand.environment }\n  });\n}\n\nconst scan = await scanImage({ imageId: 'myapp:v1' });\n```\n\nSee the [SDK integration examples](docs/examples/README.md) for full SDK documentation.\n\n### Windows Users\n\nFor Windows, use the Windows Docker pipe:\n```json\n\"DOCKER_SOCKET\": \"//./pipe/docker_engine\"\n```\n\n## Quick Start\n\nThe easiest way to understand the containerization workflow is through an end-to-end example:\n\n### Single-App Containerization Journey\n\nThis MCP server guides you through a complete containerization workflow for a single application. The journey follows this sequence:\n\n1. **Analyze Repository** → Understand your application's language, framework, and dependencies\n2. **Generate Dockerfile** → Create an optimized, security-hardened container configuration\n3. **Build Image** → Compile your application into a Docker image\n4. **Scan Image** → Identify security vulnerabilities and get remediation guidance\n5. **Tag Image** → Apply appropriate version tags to your image\n6. **Generate K8s Manifests** → Create deployment configurations for Kubernetes\n7. **Prepare Cluster** → Set up namespace and prerequisites, then deploy with `kubectl apply`\n8. **Verify** → Confirm deployment health and readiness\n\n### Prerequisites\n\nBefore starting, ensure you have:\n\n- **Docker**: Running Docker daemon with accessible socket (`docker ps` should work)\n  - Linux/Mac: `/var/run/docker.sock` accessible\n  - Windows: Docker Desktop with `//./pipe/docker_engine` accessible\n- **Kubernetes** (optional, for deployment features):\n  - Valid kubeconfig at `~/.kube/config`\n  - Cluster connectivity (`kubectl cluster-info` should work)\n  - Appropriate RBAC permissions for deployments, services, namespaces\n- **Node.js**: Version 20 or higher\n- **MCP Client**: VS Code with Copilot, Claude Desktop, or another MCP-compatible client\n\n### Example Workflow with Natural Language\n\nOnce configured in your MCP client (VS Code Copilot, Claude Desktop, etc.), use natural language:\n\n**Starting the Journey:**\n```\n\"Analyze my Java application for containerization\"\n```\n\n**Building the Container:**\n```\n\"Generate an optimized Dockerfile with security best practices\"\n\"Build a Docker image tagged myapp:v1.0.0\"\n\"Scan the image for vulnerabilities\"\n```\n\n**Deploying to Kubernetes:**\n```\n\"Generate Kubernetes manifests for this application\"\n\"Prepare my cluster and deploy to the default namespace\"\n\"Verify the deployment is healthy\"\n```\n\n### Single-Operator Model\n\nThis server is optimized for **one engineer containerizing one application at a time**. Key characteristics:\n\n- **Sequential execution**: Each tool builds on the results of previous steps\n- **Fast-fail validation**: Clear, actionable error messages if Docker/Kubernetes are unavailable\n- **Deterministic AI generation**: Tools provide reproducible outputs through built-in prompt engineering\n- **Real-time progress**: MCP notifications surface progress updates to clients during long-running operations\n\n### Multi-Module/Monorepo Support\n\nThe server detects and supports monorepo structures with multiple independently deployable services:\n\n- **Automatic Detection**: `analyze-repo` identifies monorepo patterns (npm workspaces, services/, apps/ directories)\n- **Automated Multi-Module Generation**: `generate-dockerfile` and `generate-k8s-manifests` support multi-module workflows\n- **Conservative Safeguards**: Excludes shared libraries and utility folders from containerization\n\n**Multi-Module Workflow Example:**\n```\n1. \"Analyze my monorepo at ./my-monorepo\"\n   → Detects 3 modules: api-gateway, user-service, notification-service\n\n2. \"Generate Dockerfiles\"\n   → Automatically creates Dockerfiles for all 3 modules:\n     - services/api-gateway/Dockerfile\n     - services/user-service/Dockerfile\n     - services/notification-service/Dockerfile\n\n3. \"Generate K8s manifests\"\n   → Automatically creates manifests for all 3 modules\n\n4. Optional: \"Generate Dockerfile for user-service module\"\n   → Creates module-specific deployment manifests\n```\n\n**Detection Criteria:**\n- Workspace configurations (npm, yarn, pnpm workspaces, lerna, nx, turborepo, cargo workspace)\n- Separate package.json, pom.xml, go.mod, Cargo.toml per service\n- Independent entry points and build configs\n- EXCLUDES: shared/, common/, lib/, packages/utils directories\n\n## Available Tools\n\nThe server provides 11 MCP tools organized by functionality:\n\n### Analysis & Planning\n| Tool | Description |\n|------|-------------|\n| `analyze-repo` | Analyze repository structure and detect technologies by parsing config files |\n\n### Dockerfile Operations\n| Tool | Description |\n|------|-------------|\n| `generate-dockerfile` | Gather insights from knowledge base and return requirements for Dockerfile creation |\n| `fix-dockerfile` | Analyze Dockerfile for issues including organizational policy validation and return knowledge-based fix recommendations |\n\n### Image Operations\n| Tool | Description |\n|------|-------------|\n| `build-image-context` | Prepare Docker build context with security analysis and return build commands |\n| `scan-image` | Scan Docker images for security vulnerabilities with remediation guidance (uses Trivy CLI) |\n| `tag-image` | Tag Docker images with version and registry information |\n| `push-image` | Push Docker images to a registry |\n\n### Kubernetes Operations\n| Tool | Description |\n|------|-------------|\n| `generate-k8s-manifests` | Gather insights and return requirements for Kubernetes/Helm/ACA/Kustomize manifest creation |\n| `prepare-cluster` | Prepare Kubernetes cluster for deployment |\n| `verify-deploy` | Verify Kubernetes deployment status |\n\n### Utilities\n| Tool | Description |\n|------|-------------|\n| `ops` | Operational utilities for ping and server status |\n\n### Workflow Tools\n\nInteractive workflow tools that return step-by-step plans (output is collapsed by default in VS Code Copilot Chat):\n\n| Tool | Description | Inputs |\n|------|-------------|--------|\n| `create-containerization-policy` | Step-by-step guidance for authoring a custom OPA Rego policy | None |\n| `kind-loop` | Local dev loop: analyze → build → scan → deploy to Kind | `namespace` (optional), `imageName` (optional) |\n| `aks-loop` | Remote dev loop: analyze → build → push → deploy to AKS | `registry`, `resourceGroup`, `clusterName` (required); `namespace`, `imageName` (optional) |\n\n### Version Tracking\n\nAll generated artifacts include version metadata so you can track which version of containerization-assist produced them.\n\n**Dockerfiles** (`generate-dockerfile`):\n\nThe tool output includes `attributionLabels.labels` with a version label, included as a `LABEL` instruction in the generated Dockerfile:\n\n| Label | Value | Purpose |\n|-------|-------|---------|\n| `com.azure.containerizationassist.version` | Package version (e.g., `1.4.0`) | Version of containerization-assist used |\n\n**Kubernetes Manifests** (`generate-k8s-manifests`):\n\nThe tool output includes `attributionLabels.annotations` applied to all generated Kubernetes resource metadata:\n\n| Type | Key | Value | Purpose |\n|------|-----|-------|---------|\n| Annotation | `com.azure.containerizationassist/version` | Package version (e.g., `1.4.0`) | Version of containerization-assist used |\n\nOrganizations can add custom labels via the policy system's `orgStandards.requiredLabels` configuration.\n\n## Supported Technologies\n\n### Languages & Frameworks\n- **Java**: Spring Boot, Quarkus, Micronaut (Java 8-21)\n- **.NET**: ASP.NET Core, Blazor (.NET 6.0+)\n\n### Build Systems\n- Maven, Gradle (Java)\n- dotnet CLI (.NET)\n\n## Configuration\n\n### Environment Variables\n\nThe following environment variables control server behavior:\n\n| Variable | Description | Default | Required |\n|----------|-------------|---------|----------|\n| `DOCKER_SOCKET` | Docker socket path | `/var/run/docker.sock` (Linux/Mac)<br>`//./pipe/docker_engine` (Windows) | No  |\n| `DOCKER_HOST` | Docker host URI (`unix://`, `tcp://`, `http://`, `https://`, `npipe://`) | Auto-detected | No |\n| `DOCKER_TIMEOUT` | Docker operation timeout in milliseconds | `60000` (60s) | No |\n| `KUBECONFIG` | Path to Kubernetes config file | `~/.kube/config` | No |\n| `K8S_NAMESPACE` | Default Kubernetes namespace | `default` | No |\n| `LOG_LEVEL` | Logging level | `info` | No |\n| `WORKSPACE_DIR` | Working directory for operations | Current directory | No |\n| `MCP_MODE` | Enable MCP protocol mode (logs to stderr) | `false` | No |\n| `MCP_QUIET` | Suppress non-essential output in MCP mode | `false` | No |\n| `CONTAINERIZATION_ASSIST_TOOL_LOGS_DIR_PATH` | Directory path for tool execution logs (JSON format) | Disabled | No |\n| `CUSTOM_POLICY_PATH` | Directory path for custom policies (highest priority) | Not set | No |\n\n**Progress Notifications:**\nLong-running operations (build, deploy, scan-image) emit real-time progress updates via MCP notifications. MCP clients can subscribe to these notifications to display progress to users.\n\n### Tool Execution Logging\n\nEnable detailed logging of all tool executions to JSON files for debugging and auditing:\n\n```bash\nexport CONTAINERIZATION_ASSIST_TOOL_LOGS_DIR_PATH=/path/to/logs\n```\n\n**Log File Format:**\n- Filename: `ca-tool-logs-${timestamp}.jsonl`\n- Example: `ca-tool-logs-2025-10-13T14-30-15-123Z.jsonl`\n\n**Log Contents:**\n```json\n{\n  \"timestamp\": \"2025-10-13T14:30:15.123Z\",\n  \"toolName\": \"analyze-repo\",\n  \"input\": { \"path\": \"/workspace/myapp\" },\n  \"output\": { \"language\": \"typescript\", \"framework\": \"express\" },\n  \"success\": true,\n  \"durationMs\": 245,\n  \"error\": \"Error message if failed\",\n  \"errorGuidance\": {\n    \"hint\": \"Suggested fix\",\n    \"resolution\": \"Step-by-step instructions\"\n  }\n}\n```\n\nThe logging directory is validated at startup to ensure it's writable.\n\n\n### Policy System\n\nThe policy system uses **OPA Rego** for security, quality, and compliance enforcement. Rego is the industry-standard policy language from Open Policy Agent, providing expressive rules with rich built-in functions.\n\n**Default Behavior (No Configuration Needed):**\nBy default, all policies in the `policies/` directory are automatically discovered and merged:\n- `policies/security-baseline.rego` - Essential security rules (root user prevention, secrets detection, privileged containers)\n- `policies/base-images.rego` - Base image governance (Microsoft Azure Linux recommendation, no :latest tag, deprecated versions)\n- `policies/container-best-practices.rego` - Docker best practices (HEALTHCHECK, multi-stage builds, layer optimization)\n\nThis provides comprehensive out-of-the-box security and quality enforcement.\n\n### Policy Customization\n\nThe policy system supports four priority-ordered search paths for easy customization:\n\n**Priority Order (highest to lowest):**\n1. **Custom directory** via `CUSTOM_POLICY_PATH` environment variable (highest priority)\n2. **Project directory** at `<git-root>/.containerization-assist/policy/` (tracked in git)\n3. **Global directory** at `~/.config/containerization-assist/policy/` (XDG-compliant)\n4. **Built-in `policies/`** (shipped with package, lowest priority)\n\n> **Migration Note**: The `policies.user/` directory is deprecated. For project-specific policies, use `.containerization-assist/policy/` at your git root. For user-wide policies, use `~/.config/containerization-assist/policy/`. The old directory still works but will log a deprecation warning.\n\n#### Quick Start\n\n```bash\n# Option 1: Global policies (no env var needed)\nmkdir -p ~/.config/containerization-assist/policy\n\n# Copy example policy from the npm package\ncp node_modules/containerization-assist-mcp/policies.user.examples/allow-all-registries.rego \\\n   ~/.config/containerization-assist/policy/\n\n# Policies are auto-reloaded on the next tool execution — no restart needed\n```\n\nOr set a custom location in `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"ca\": {\n      \"env\": {\n        \"CUSTOM_POLICY_PATH\": \"/path/to/policies\"\n      }\n    }\n  }\n}\n```\n\n#### Pre-Built Example Policies\n\nThe `policies.user.examples/` directory (included in the npm package) provides three ready-to-use examples:\n\n| Example | Purpose | Use Case |\n|---------|---------|----------|\n| `allow-all-registries.rego` | Override MCR preference | Docker Hub, GCR, ECR, private registries |\n| `warn-only-mode.rego` | Advisory-only enforcement | Testing, gradual adoption, dev environments |\n| `custom-organization-template.rego` | Organization template | Custom labels, registries, compliance |\n\nSee [policies.user.examples/README.md](policies.user.examples/README.md) for detailed usage.\n\n#### Built-In Policies\n\nThree production-ready Rego policies are included by default:\n\n- **`policies/security-baseline.rego`** - Essential security rules (root user prevention, secrets detection, privileged containers)\n- **`policies/base-images.rego`** - Base image governance (Microsoft Azure Linux recommendation, no :latest tag, deprecated versions)\n- **`policies/container-best-practices.rego`** - Docker best practices (HEALTHCHECK, multi-stage builds, layer optimization)\n\nUser policies override built-in policies by package namespace.\n\n**Policy File Format (Rego):**\n\n```rego\npackage containerization.custom_policy\n\n# Blocking violations\nviolations contains result if {\n  input_type == \"dockerfile\"\n  regex.match(`FROM\\s+[^:]+:latest`, input.content)\n\n  result := {\n    \"rule\": \"block-latest-tag\",\n    \"category\": \"quality\",\n    \"priority\": 80,\n    \"severity\": \"block\",\n    \"message\": \"Using :latest tag is not allowed. Specify explicit version tags.\",\n    \"description\": \"Prevent :latest for reproducibility\",\n  }\n}\n\n# Non-blocking warnings\nwarnings contains result if {\n  input_type == \"dockerfile\"\n  not regex.match(`HEALTHCHECK`, input.content)\n\n  result := {\n    \"rule\": \"suggest-healthcheck\",\n    \"category\": \"quality\",\n    \"priority\": 70,\n    \"severity\": \"warn\",\n    \"message\": \"Consider adding HEALTHCHECK instruction for container monitoring\",\n    \"description\": \"HEALTHCHECK improves container lifecycle management\",\n  }\n}\n\n# Policy decision\ndefault allow := false\nallow if count(violations) == 0\n\n# Result structure\nresult := {\n  \"allow\": allow,\n  \"violations\": violations,\n  \"warnings\": warnings,\n  \"suggestions\": [],\n  \"summary\": {\n    \"total_violations\": count(violations),\n    \"total_warnings\": count(warnings),\n    \"total_suggestions\": 0,\n  },\n}\n```\n\n**Priority Levels:**\n- **90-100**: Security rules (highest priority)\n- **70-89**: Quality rules\n- **50-69**: Performance rules\n- **30-49**: Compliance rules\n\n**Using Policies:**\n\n```bash\n# List discovered policies\nnpx containerization-assist-mcp list-policies\n\n# List policies and show merged result\nnpx containerization-assist-mcp list-policies --show-merged\n\n# Validate Dockerfile with policies (automatic discovery)\nnpx containerization-assist-mcp fix-dockerfile --path ./Dockerfile\n```\n\n**Creating Custom Policies:**\n\nSee [Policy Customization Guide](docs/guides/policy-getting-started.md) and existing policies in `policies/` for examples.\n\n**Testing Policies:**\n\n```bash\n# Validate policy syntax\nopa check .containerization-assist/policy/my-policy.rego\n\n# Run policy tests\nopa test .containerization-assist/policy/\n\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector containerization-assist-mcp start\n```\n\n### MCP Inspector (Testing)\n\n```bash\nnpx @modelcontextprotocol/inspector containerization-assist-mcp start\n```\n\n## Troubleshooting\n\n### Docker Connection Issues\n\n```bash\n# Check Docker is running\ndocker ps\n\n# Check socket permissions (Linux/Mac)\nls -la /var/run/docker.sock\n\n# For Windows, ensure Docker Desktop is running\n```\n\n### MCP Connection Issues\n\n```bash\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector containerization-assist-mcp start\n\n# Check logs with debug level\nnpx -y containerization-assist-mcp start --log-level debug\n```\n\n### Kubernetes Connection Issues\n\nThe server performs fast-fail validation when Kubernetes tools are used. If you encounter Kubernetes errors:\n\n**Kubeconfig Not Found**\n```bash\n# Check if kubeconfig exists\nls -la ~/.kube/config\n\n# Verify kubectl can connect\nkubectl cluster-info\n\n# If using cloud providers, update kubeconfig:\n# AWS EKS\naws eks update-kubeconfig --name <cluster-name> --region <region>\n\n# Google GKE\ngcloud container clusters get-credentials <cluster-name> --zone <zone>\n\n# Azure AKS\naz aks get-credentials --resource-group <rg> --name <cluster-name>\n```\n\n**Connection Timeout or Refused**\n```bash\n# Verify cluster is running\nkubectl get nodes\n\n# Check API server address\nkubectl config view\n\n# Test connectivity to API server\nkubectl cluster-info dump\n\n# Verify firewall rules allow connection to API server port (typically 6443)\n```\n\n**Authentication or Authorization Errors**\n```bash\n# Check current context and user\nkubectl config current-context\nkubectl config view --minify\n\n# Test permissions\nkubectl auth can-i create deployments --namespace default\nkubectl auth can-i create services --namespace default\n\n# If using cloud providers, refresh credentials:\n# AWS EKS: re-run update-kubeconfig\n# GKE: run gcloud auth login\n# AKS: run az login\n```\n\n**Invalid or Missing Context**\n```bash\n# List available contexts\nkubectl config get-contexts\n\n# Set a context\nkubectl config use-context <context-name>\n\n# View current configuration\nkubectl config view\n```\n\n## License\n\nMIT License - See [LICENSE](LICENSE) file for details.\n\n## Support\n\nSee [SUPPORT.md](SUPPORT.md) for information on how to get help with this project.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must [follow Microsoft’s Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.\n","readmeFilename":"README.md"}