UNPKG

aem-dev-mcp-server

Version:

AEM MCP server providing connectivity tools for Adobe Experience Manager® instances

127 lines • 5.38 kB
import { z } from 'zod'; import { InstanceSelectionSchema } from '../schemas/instance.schemas.js'; export const BundleStateSchema = z.enum([ 'Active', 'Resolved', 'Installed', 'Starting', 'Stopping', 'Uninstalled', 'Fragment' ]); export const ComponentStateSchema = z.enum([ 'active', 'satisfied', 'unsatisfied', 'disabled' ]); export const ConfigPropertyTypeSchema = z.enum([ 'String', 'Long', 'Integer', 'Short', 'Character', 'Boolean', 'Double', 'Float' ]); export const ConfigPropertySchema = z.object({ name: z.string().min(1, 'Property name cannot be empty'), value: z.any(), type: ConfigPropertyTypeSchema, cardinality: z.number().optional(), description: z.string().optional() }); export const BundleListSchema = InstanceSelectionSchema.safeExtend({ stateFilter: BundleStateSchema.optional(), nameFilter: z.string().optional(), limit: z.number().int().min(1).max(1000).optional().default(100), offset: z.number().int().min(0).optional().default(0) }); export const BundleOperationSchema = InstanceSelectionSchema.safeExtend({ bundleId: z.number().int().positive('Bundle ID must be a positive integer').optional(), symbolicName: z.string().optional(), action: z.enum(['start', 'stop', 'uninstall', 'refresh']) }).refine((data) => data.bundleId || data.symbolicName, { message: "Either 'bundleId' or 'symbolicName' must be provided", path: ['bundleId', 'symbolicName'] }); export const BundleIdentifierSchema = InstanceSelectionSchema.safeExtend({ bundleId: z.number().int().positive('Bundle ID must be a positive integer').optional(), symbolicName: z.string().optional() }).refine((data) => data.bundleId || data.symbolicName, { message: "Either 'bundleId' or 'symbolicName' must be provided", path: ['bundleId', 'symbolicName'] }); export const BundleDetailsSchema = InstanceSelectionSchema.safeExtend({ bundleId: z.number().int().positive('Bundle ID must be a positive integer').optional(), symbolicName: z.string().optional() }).refine((data) => data.bundleId || data.symbolicName, { message: "Either 'bundleId' or 'symbolicName' must be provided", path: ['bundleId', 'symbolicName'] }); export const BundleInstallSchema = InstanceSelectionSchema.safeExtend({ bundleUrl: z.string().url('Invalid bundle URL').optional(), bundleFile: z.instanceof(Buffer).optional(), startLevel: z.number().int().min(1).max(100).optional(), start: z.boolean().default(true), refresh: z.boolean().default(false) }).refine((data) => data.bundleUrl || data.bundleFile, { message: "Either 'bundleUrl' or 'bundleFile' must be provided", path: ['bundleUrl', 'bundleFile'] }); export const ComponentListSchema = InstanceSelectionSchema.safeExtend({ stateFilter: ComponentStateSchema.optional(), nameFilter: z.string().optional(), limit: z.number().int().min(1).max(1000).optional().default(100), offset: z.number().int().min(0).optional().default(0) }); export const ComponentOperationSchema = InstanceSelectionSchema.safeExtend({ componentId: z.number().int().positive('Component ID must be positive').optional(), componentName: z.string().optional(), action: z.enum(['enable', 'disable']) }).refine((data) => data.componentId || data.componentName, { message: "Either 'componentId' or 'componentName' must be provided", path: ['componentId', 'componentName'] }); export const ComponentIdentifierSchema = InstanceSelectionSchema.safeExtend({ componentId: z.number().int().positive('Component ID must be positive').optional(), componentName: z.string().optional() }).refine((data) => data.componentId || data.componentName, { message: "Either 'componentId' or 'componentName' must be provided", path: ['componentId', 'componentName'] }); export const ConfigurationListSchema = InstanceSelectionSchema.safeExtend({ pidFilter: z.string().optional(), limit: z.number().int().min(1).max(1000).optional().default(100), offset: z.number().int().min(0).optional().default(0) }); export const ConfigurationGetSchema = InstanceSelectionSchema.safeExtend({ pid: z.string().min(1, 'PID cannot be empty') }); export const ConfigurationCreateSchema = InstanceSelectionSchema.safeExtend({ pid: z.string().min(1, 'PID cannot be empty'), properties: z.record(z.string(), ConfigPropertySchema) .refine(props => Object.keys(props).length > 0, { message: 'At least one property must be provided' }), factoryPid: z.string().optional(), bundleLocation: z.string().optional() }); export const ConfigurationUpdateSchema = InstanceSelectionSchema.safeExtend({ pid: z.string().min(1, 'PID cannot be empty'), properties: z.record(z.string(), ConfigPropertySchema) .refine(props => Object.keys(props).length > 0, { message: 'At least one property must be provided' }), factoryPid: z.string().optional(), bundleLocation: z.string().optional() }); export const ConfigurationDeleteSchema = InstanceSelectionSchema.safeExtend({ pid: z.string().min(1, 'PID cannot be empty') }); export const ConfigurationUnbindSchema = InstanceSelectionSchema.safeExtend({ pid: z.string().min(1, 'PID cannot be empty'), bundleLocation: z.string().optional() }); //# sourceMappingURL=osgi.schemas.js.map