/** * Containerization Assist SDK * * Provides direct access to all 11 containerization tools without requiring * the MCP (Model Context Protocol) server infrastructure. * * This SDK is designed for: * - VS Code extension developers integrating with Copilot * - Direct programmatic usage without MCP overhead * - Lightweight tool execution in Node.js applications * * @example * ```typescript * import { analyzeRepo, buildImageContext, scanImage } from 'containerization-assist-mcp/sdk'; * * // Full containerization workflow * const analysis = await analyzeRepo({ repositoryPath: './my-app' }); * const build = await buildImageContext({ path: './my-app', imageName: 'myapp:v1' }); * const scan = await scanImage({ imageId: 'myapp:v1' }); * ``` * * @packageDocumentation */ import type { z } from 'zod'; import type { Result } from '../types/core.js'; import type { Tool } from '../types/tool.js'; import type { SDKOptions, RepositoryAnalysis, DockerfilePlan, DockerfileFixPlan, BuildImageResult, ScanImageResult, TagImageResult, PushImageResult, ManifestPlan, PrepareClusterResult, VerifyDeploymentResult, OpsResult } from './types.js'; import { analyzeRepoSchema } from '../tools/analyze-repo/schema.js'; import { generateDockerfileSchema } from '../tools/generate-dockerfile/schema.js'; import { fixDockerfileSchema } from '../tools/fix-dockerfile/schema.js'; import { buildImageSchema } from '../tools/build-image-context/schema.js'; import { scanImageSchema } from '../tools/scan-image/schema.js'; import { tagImageSchema } from '../tools/tag-image/schema.js'; import { pushImageSchema } from '../tools/push-image/schema.js'; import { generateK8sManifestsSchema } from '../tools/generate-k8s-manifests/schema.js'; import { prepareClusterSchema } from '../tools/prepare-cluster/schema.js'; import { verifyDeploySchema } from '../tools/verify-deploy/schema.js'; import { opsToolSchema } from '../tools/ops/schema.js'; export type { Result, ErrorGuidance } from '../types/core.js'; export { Success, Failure } from '../types/core.js'; export type { SDKOptions, RepositoryAnalysis, ModuleInfo, DockerfilePlan, DockerfileFixPlan, BuildImageResult, ScanImageResult, TagImageResult, PushImageResult, ManifestPlan, PrepareClusterResult, VerifyDeploymentResult, OpsResult, } from './types.js'; /** Input type for analyzeRepo - derived from Zod schema */ export type AnalyzeRepoInput = z.input; /** Input type for generateDockerfile - derived from Zod schema */ export type GenerateDockerfileInput = z.input; /** Input type for fixDockerfile - derived from Zod schema */ export type FixDockerfileInput = z.input; /** Input type for buildImageContext - derived from Zod schema */ export type BuildImageContextInput = z.input; /** Input type for scanImage - derived from Zod schema */ export type ScanImageInput = z.input; /** Input type for tagImage - derived from Zod schema */ export type TagImageInput = z.input; /** Input type for pushImage - derived from Zod schema */ export type PushImageInput = z.input; /** Input type for generateK8sManifests - derived from Zod schema */ export type GenerateK8sManifestsInput = z.input; /** Input type for prepareCluster - derived from Zod schema */ export type PrepareClusterInput = z.input; /** Input type for verifyDeploy - derived from Zod schema */ export type VerifyDeployInput = z.input; /** Input type for ops - derived from Zod schema */ export type OpsInput = z.input; /** * Analyze a repository to detect language, framework, and dependencies. */ export declare const analyzeRepo: (input: { repositoryPath: string; modules?: { name: string; modulePath: string; dependencies?: string[] | undefined; language?: "javascript" | "typescript" | "python" | "java" | "go" | "rust" | "dotnet" | "other" | undefined; ports?: number[] | undefined; dockerfilePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; buildSystems?: { type: string; languageVersion?: string | undefined; }[] | undefined; entryPoint?: string | undefined; }[] | undefined; depth?: number | undefined; includeTests?: boolean | undefined; securityFocus?: boolean | undefined; performanceFocus?: boolean | undefined; }, options?: SDKOptions) => Promise>; /** * Generate Dockerfile recommendations for a repository. */ export declare const generateDockerfile: (input: { repositoryPath: string; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; modulePath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; }, options?: SDKOptions) => Promise>; /** * Fix and optimize an existing Dockerfile. */ export declare const fixDockerfile: (input: { policyPath?: string | undefined; path?: string | undefined; dockerfile?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; strictPlatformValidation?: boolean | undefined; }, options?: SDKOptions) => Promise>; /** * Prepare Docker build context with security analysis and optimized commands. * Returns structured guidance for executing builds - does not execute Docker directly. */ export declare const buildImageContext: (input: { path?: string | undefined; dockerfile?: string | undefined; tags?: string[] | undefined; platform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; dockerfilePath?: string | undefined; imageName?: string | undefined; buildArgs?: Record | undefined; }, options?: SDKOptions) => Promise>; /** * Scan a Docker image for security vulnerabilities. * Requires Trivy to be installed for full functionality. */ export declare const scanImage: (input: { imageId: string; scanner?: "trivy" | "snyk" | "grype" | "osv" | undefined; severity?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "high" | "medium" | "low" | "critical" | undefined; scanType?: "config" | "vulnerability" | "all" | undefined; enableAISuggestions?: boolean | undefined; aiEnhancementOptions?: { mode?: "analysis" | "suggestions" | "fixes" | undefined; focus?: "security" | "performance" | "best-practices" | "all" | undefined; confidence?: number | undefined; maxSuggestions?: number | undefined; includeExamples?: boolean | undefined; } | undefined; }, options?: SDKOptions) => Promise>; /** * Tag a Docker image with additional tags. * Requires Docker daemon to be running. */ export declare const tagImage: (input: { imageId: string; tag: string; }, options?: SDKOptions) => Promise>; /** * Push a Docker image to a registry. * Requires Docker daemon and registry authentication. */ export declare const pushImage: (input: { imageId: string; registry: string; credentials?: { password: string; username: string; } | undefined; platform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; }, options?: SDKOptions) => Promise>; /** * Generate Kubernetes manifests for deployment. */ export declare const generateK8sManifests: (input: { name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; manifestType?: "kubernetes" | "helm" | "aca" | "kustomize" | undefined; includeComments?: boolean | undefined; }, options?: SDKOptions) => Promise>; /** * Prepare a Kubernetes cluster for deployment. * Requires kubectl configured with cluster access. */ export declare const prepareCluster: (input: { environment?: "development" | "staging" | "production" | "testing" | undefined; namespace?: string | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; strictPlatformValidation?: boolean | undefined; clusterType?: "generic" | "kind" | undefined; }, options?: SDKOptions) => Promise>; /** * Verify a Kubernetes deployment status. * Requires kubectl configured with cluster access. */ export declare const verifyDeploy: (input: { deploymentName: string; namespace?: string | undefined; checks?: ("health" | "ingress" | "services" | "pods")[] | undefined; }, options?: SDKOptions) => Promise>; /** * Operational utilities (ping, status). */ export declare const ops: (input: { operation: "status" | "ping"; message?: string | undefined; details?: boolean | undefined; }, options?: SDKOptions) => Promise>; /** * Type-safe tool registry mapping tool names to their Tool instances. * * This interface ensures: * - All expected tools are present * - Each tool has the correct schema and output type * - TypeScript catches typos in tool names */ interface ToolRegistry { analyzeRepo: Tool; generateDockerfile: Tool; fixDockerfile: Tool; buildImageContext: Tool; scanImage: Tool; tagImage: Tool; pushImage: Tool; generateK8sManifests: Tool; prepareCluster: Tool; verifyDeploy: Tool; ops: Tool; } /** * Direct access to all 11 tool objects for advanced use cases. * * Use this when you need: * - Access to tool schemas for validation * - Tool metadata and descriptions * - Custom execution patterns * * Uses `satisfies` to ensure type safety: * - TypeScript will error if a tool is missing * - TypeScript will error if a tool has the wrong type * - TypeScript will error if a key is misspelled * * @example * ```typescript * import { tools } from 'containerization-assist-mcp/sdk'; * * // Access tool schema * const schema = tools.analyzeRepo.schema; * * // Access tool metadata * console.log(tools.buildImageContext.description); * ``` */ export declare const tools: { /** Analyze repository structure, detect languages, frameworks, and dependencies */ readonly analyzeRepo: Tool; language: z.ZodOptional>; frameworks: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; version?: string | undefined; }, { name: string; version?: string | undefined; }>, "many">>; buildSystems: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: string; languageVersion?: string | undefined; }, { type: string; languageVersion?: string | undefined; }>, "many">>; dependencies: z.ZodOptional>; ports: z.ZodOptional>; entryPoint: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; modulePath: string; dependencies?: string[] | undefined; language?: "javascript" | "typescript" | "python" | "java" | "go" | "rust" | "dotnet" | "other" | undefined; ports?: number[] | undefined; dockerfilePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; buildSystems?: { type: string; languageVersion?: string | undefined; }[] | undefined; entryPoint?: string | undefined; }, { name: string; modulePath: string; dependencies?: string[] | undefined; language?: "javascript" | "typescript" | "python" | "java" | "go" | "rust" | "dotnet" | "other" | undefined; ports?: number[] | undefined; dockerfilePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; buildSystems?: { type: string; languageVersion?: string | undefined; }[] | undefined; entryPoint?: string | undefined; }>, "many">>; depth: z.ZodOptional; includeTests: z.ZodOptional; securityFocus: z.ZodOptional; performanceFocus: z.ZodOptional; repositoryPath: z.ZodString; }, "strip", z.ZodTypeAny, { repositoryPath: string; modules?: { name: string; modulePath: string; dependencies?: string[] | undefined; language?: "javascript" | "typescript" | "python" | "java" | "go" | "rust" | "dotnet" | "other" | undefined; ports?: number[] | undefined; dockerfilePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; buildSystems?: { type: string; languageVersion?: string | undefined; }[] | undefined; entryPoint?: string | undefined; }[] | undefined; depth?: number | undefined; includeTests?: boolean | undefined; securityFocus?: boolean | undefined; performanceFocus?: boolean | undefined; }, { repositoryPath: string; modules?: { name: string; modulePath: string; dependencies?: string[] | undefined; language?: "javascript" | "typescript" | "python" | "java" | "go" | "rust" | "dotnet" | "other" | undefined; ports?: number[] | undefined; dockerfilePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; buildSystems?: { type: string; languageVersion?: string | undefined; }[] | undefined; entryPoint?: string | undefined; }[] | undefined; depth?: number | undefined; includeTests?: boolean | undefined; securityFocus?: boolean | undefined; performanceFocus?: boolean | undefined; }>, RepositoryAnalysis>; /** Generate optimized Dockerfile with security best practices */ readonly generateDockerfile: Tool; language: z.ZodOptional; languageVersion: z.ZodOptional; framework: z.ZodOptional; environment: z.ZodOptional>; detectedDependencies: z.ZodOptional>; targetPlatform: z.ZodDefault>; trafficLevel: z.ZodOptional>; criticalityTier: z.ZodOptional>; }, "strip", z.ZodTypeAny, { repositoryPath: string; targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; modulePath?: string | undefined; detectedDependencies?: string[] | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; }, { repositoryPath: string; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; modulePath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; }>, DockerfilePlan>; /** Fix and optimize existing Dockerfile issues */ readonly fixDockerfile: Tool; path: z.ZodOptional; environment: z.ZodOptional>; targetPlatform: z.ZodDefault>; strictPlatformValidation: z.ZodDefault>; policyPath: z.ZodOptional; }, "strip", z.ZodTypeAny, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; strictPlatformValidation: boolean; policyPath?: string | undefined; path?: string | undefined; dockerfile?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; }, { policyPath?: string | undefined; path?: string | undefined; dockerfile?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; strictPlatformValidation?: boolean | undefined; }>, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; strictPlatformValidation: boolean; policyPath?: string | undefined; path?: string | undefined; dockerfile?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; }, { policyPath?: string | undefined; path?: string | undefined; dockerfile?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; strictPlatformValidation?: boolean | undefined; }>, DockerfileFixPlan>; /** Prepare Docker build context with security analysis (returns build commands) */ readonly buildImageContext: Tool; dockerfile: z.ZodOptional; dockerfilePath: z.ZodOptional; imageName: z.ZodOptional; tags: z.ZodOptional>; buildArgs: z.ZodOptional>; platform: z.ZodDefault>; }, "strip", z.ZodTypeAny, { platform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; path?: string | undefined; dockerfile?: string | undefined; tags?: string[] | undefined; dockerfilePath?: string | undefined; imageName?: string | undefined; buildArgs?: Record | undefined; }, { path?: string | undefined; dockerfile?: string | undefined; tags?: string[] | undefined; platform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; dockerfilePath?: string | undefined; imageName?: string | undefined; buildArgs?: Record | undefined; }>, BuildImageResult>; /** Scan image for security vulnerabilities (requires Trivy) */ readonly scanImage: Tool, z.ZodEnum<["low", "medium", "high", "critical"]>]>>; scanType: z.ZodDefault>; scanner: z.ZodDefault>; enableAISuggestions: z.ZodDefault; aiEnhancementOptions: z.ZodOptional>; focus: z.ZodDefault>; confidence: z.ZodDefault; maxSuggestions: z.ZodDefault; includeExamples: z.ZodDefault; }, "strip", z.ZodTypeAny, { mode: "analysis" | "suggestions" | "fixes"; focus: "security" | "performance" | "best-practices" | "all"; confidence: number; maxSuggestions: number; includeExamples: boolean; }, { mode?: "analysis" | "suggestions" | "fixes" | undefined; focus?: "security" | "performance" | "best-practices" | "all" | undefined; confidence?: number | undefined; maxSuggestions?: number | undefined; includeExamples?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { scanner: "trivy" | "snyk" | "grype" | "osv"; imageId: string; scanType: "config" | "vulnerability" | "all"; enableAISuggestions: boolean; severity?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "high" | "medium" | "low" | "critical" | undefined; aiEnhancementOptions?: { mode: "analysis" | "suggestions" | "fixes"; focus: "security" | "performance" | "best-practices" | "all"; confidence: number; maxSuggestions: number; includeExamples: boolean; } | undefined; }, { imageId: string; scanner?: "trivy" | "snyk" | "grype" | "osv" | undefined; severity?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "high" | "medium" | "low" | "critical" | undefined; scanType?: "config" | "vulnerability" | "all" | undefined; enableAISuggestions?: boolean | undefined; aiEnhancementOptions?: { mode?: "analysis" | "suggestions" | "fixes" | undefined; focus?: "security" | "performance" | "best-practices" | "all" | undefined; confidence?: number | undefined; maxSuggestions?: number | undefined; includeExamples?: boolean | undefined; } | undefined; }>, ScanImageResult>; /** Tag Docker image with additional tags */ readonly tagImage: Tool, TagImageResult>; /** Push image to container registry */ readonly pushImage: Tool>; credentials: z.ZodOptional>; }, "strip", z.ZodTypeAny, { imageId: string; registry: string; platform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; credentials?: { password: string; username: string; } | undefined; }, { imageId: string; registry: string; credentials?: { password: string; username: string; } | undefined; platform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; }>, PushImageResult>; /** Generate Kubernetes deployment manifests */ readonly generateK8sManifests: Tool; name: z.ZodOptional; modulePath: z.ZodOptional; targetPlatform: z.ZodDefault>; language: z.ZodOptional; languageVersion: z.ZodOptional; framework: z.ZodOptional; frameworks: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; version?: string | undefined; }, { name: string; version?: string | undefined; }>, "many">>; buildSystem: z.ZodOptional; configFile: z.ZodOptional; }, "strip", z.ZodTypeAny, { type?: string | undefined; configFile?: string | undefined; }, { type?: string | undefined; configFile?: string | undefined; }>>; ports: z.ZodOptional>; entryPoint: z.ZodOptional; acaManifest: z.ZodOptional; manifestType: z.ZodDefault>>; environment: z.ZodOptional>; detectedDependencies: z.ZodOptional>; includeComments: z.ZodDefault>; namespace: z.ZodOptional; trafficLevel: z.ZodOptional>; criticalityTier: z.ZodOptional>; }, "strip", z.ZodTypeAny, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; manifestType: "kubernetes" | "helm" | "aca" | "kustomize"; includeComments: boolean; name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; }, { name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; manifestType?: "kubernetes" | "helm" | "aca" | "kustomize" | undefined; includeComments?: boolean | undefined; }>, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; manifestType: "kubernetes" | "helm" | "aca" | "kustomize"; includeComments: boolean; name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; }, { name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; manifestType?: "kubernetes" | "helm" | "aca" | "kustomize" | undefined; includeComments?: boolean | undefined; }>, ManifestPlan>; /** Prepare Kubernetes cluster namespace and prerequisites */ readonly prepareCluster: Tool>; environment: z.ZodOptional>; namespace: z.ZodOptional; targetPlatform: z.ZodDefault>; strictPlatformValidation: z.ZodDefault>; }, "strip", z.ZodTypeAny, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; strictPlatformValidation: boolean; environment?: "development" | "staging" | "production" | "testing" | undefined; namespace?: string | undefined; clusterType?: "generic" | "kind" | undefined; }, { environment?: "development" | "staging" | "production" | "testing" | undefined; namespace?: string | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; strictPlatformValidation?: boolean | undefined; clusterType?: "generic" | "kind" | undefined; }>, PrepareClusterResult>; /** Verify Kubernetes deployment status and health */ readonly verifyDeploy: Tool; checks: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { deploymentName: string; namespace?: string | undefined; checks?: ("health" | "ingress" | "services" | "pods")[] | undefined; }, { deploymentName: string; namespace?: string | undefined; checks?: ("health" | "ingress" | "services" | "pods")[] | undefined; }>, VerifyDeploymentResult>; /** Operational utilities (ping, status checks) */ readonly ops: Tool; message: z.ZodOptional; details: z.ZodOptional; }, "strip", z.ZodTypeAny, { operation: "status" | "ping"; message?: string | undefined; details?: boolean | undefined; }, { operation: "status" | "ping"; message?: string | undefined; details?: boolean | undefined; }>, OpsResult>; }; /** * Type for the tools object keys - useful for generic functions. */ export type SDKToolName = keyof ToolRegistry; /** * Export the registry type for consumers who need to extend or type-check tools. */ export type { ToolRegistry }; /** * Execute any tool directly with full control. * * Use this when you need to: * - Execute tools not exposed via simplified functions * - Pass custom options to the executor * - Handle tool objects dynamically * * @example * ```typescript * import { executeTool, tools } from 'containerization-assist-mcp/sdk'; * * const result = await executeTool( * tools.analyzeRepo, * { repositoryPath: '.' }, * { signal: controller.signal } * ); * ``` */ export { executeTool } from './executor.js'; export { jsonSchemas, type ToolSchemaName, analyzeRepoJsonSchema, generateDockerfileJsonSchema, fixDockerfileJsonSchema, buildImageContextJsonSchema, scanImageJsonSchema, tagImageJsonSchema, pushImageJsonSchema, generateK8sManifestsJsonSchema, prepareClusterJsonSchema, verifyDeployJsonSchema, opsJsonSchema, } from './schemas.js'; export { toolMetadata, type ToolMetadata, type ToolMetadataName, type ConfirmationConfig, standardWorkflow, getToolsByCategory, ExternalDeps, type ExternalDepId, type ExternalDependency, getRequiredDepsString, requiresDependency, analyzeRepoMetadata, generateDockerfileMetadata, fixDockerfileMetadata, buildImageContextMetadata, scanImageMetadata, tagImageMetadata, pushImageMetadata, generateK8sManifestsMetadata, prepareClusterMetadata, verifyDeployMetadata, opsMetadata, } from './metadata.js'; export { resultFormatters, type FormatterOptions, type FormatterName, type FormatterRegistry, formatAnalyzeRepoResult, formatGenerateDockerfileResult, formatFixDockerfileResult, formatBuildImageResult, formatScanImageResult, formatTagImageResult, formatPushImageResult, formatGenerateK8sManifestsResult, formatPrepareClusterResult, formatVerifyDeployResult, formatOpsResult, } from './formatters.js'; export { createAbortSignalFromToken, formatErrorForLLM, resolveWorkspacePath, validateRequiredFields, sanitizeForMarkdown, type CancellationTokenLike, type AbortSignalResult, type ValidationResult, } from './vscode-utils.js'; /** * Load the embedded knowledge base and return all entries. * * Knowledge packs contain best practices for Dockerfile generation, Kubernetes * manifests, and security configurations. They are embedded at build time, * eliminating runtime filesystem dependencies. * * @returns Object containing all loaded knowledge entries * * @example * ```typescript * import { loadKnowledgeData } from 'containerization-assist-mcp/sdk'; * * const { entries } = loadKnowledgeData(); * console.log(`Loaded ${entries.length} knowledge entries`); * ``` */ export { loadKnowledgeData } from '../knowledge/index.js'; //# sourceMappingURL=index.d.ts.map