UNPKG

solidworks-mcp-server

Version:

Clean Architecture SolidWorks MCP Server - Production-ready with SOLID principles

1,277 lines 46.5 kB
/** * PDM (Product Data Management) Resource for SolidWorks MCP * Manages SolidWorks PDM configurations and operations */ import { z } from 'zod'; import { SolidWorksResource } from './base.js'; import { SolidWorksAPI } from '../solidworks/api.js'; declare const PDMConfigSchema: z.ZodObject<{ vaultName: z.ZodString; serverName: z.ZodOptional<z.ZodString>; workflowName: z.ZodOptional<z.ZodString>; operations: z.ZodObject<{ checkIn: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; comment: z.ZodOptional<z.ZodString>; keepCheckedOut: z.ZodDefault<z.ZodBoolean>; updateReferences: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; }, { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; }>>; checkOut: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; localPath: z.ZodOptional<z.ZodString>; getLatestVersion: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; }, { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; }>>; workflow: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; fromState: z.ZodString; toState: z.ZodString; conditions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }, { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; }, { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; }>>; versioning: z.ZodOptional<z.ZodObject<{ scheme: z.ZodEnum<["major", "minor", "revision", "custom"]>; autoIncrement: z.ZodDefault<z.ZodBoolean>; format: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; }, { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { checkIn?: { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; } | undefined; checkOut?: { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; } | undefined; workflow?: { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; } | undefined; }, { checkIn?: { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; } | undefined; checkOut?: { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; } | undefined; workflow?: { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; } | undefined; }>; fileStructure: z.ZodObject<{ rootFolder: z.ZodString; projectTemplate: z.ZodOptional<z.ZodString>; namingConvention: z.ZodOptional<z.ZodObject<{ pattern: z.ZodString; variables: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["counter", "date", "user", "project", "custom"]>; format: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }, { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; }, { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; }>>; folderStructure: z.ZodOptional<z.ZodArray<z.ZodObject<{ path: z.ZodString; permissions: z.ZodOptional<z.ZodObject<{ read: z.ZodArray<z.ZodString, "many">; write: z.ZodArray<z.ZodString, "many">; delete: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { read: string[]; write: string[]; delete: string[]; }, { read: string[]; write: string[]; delete: string[]; }>>; }, "strip", z.ZodTypeAny, { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }, { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }, { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }>; metadata: z.ZodOptional<z.ZodObject<{ customProperties: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["text", "number", "date", "list", "boolean"]>; required: z.ZodDefault<z.ZodBoolean>; defaultValue: z.ZodOptional<z.ZodAny>; listValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }, { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }>, "many">>; dataCards: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; fileType: z.ZodString; controls: z.ZodArray<z.ZodObject<{ type: z.ZodEnum<["textbox", "dropdown", "checkbox", "datepicker"]>; variable: z.ZodString; position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { x: number; y: number; width: number; height: number; }, { x: number; y: number; width: number; height: number; }>; }, "strip", z.ZodTypeAny, { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }, { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }>, "many">; }, "strip", z.ZodTypeAny, { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }, { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }>, "many">>; }, "strip", z.ZodTypeAny, { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; }, { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; }>>; automation: z.ZodOptional<z.ZodObject<{ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; trigger: z.ZodEnum<["checkin", "checkout", "transition", "schedule"]>; action: z.ZodEnum<["convert", "print", "export", "notify", "script"]>; parameters: z.ZodRecord<z.ZodString, z.ZodAny>; enabled: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }, { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }>, "many">>; notifications: z.ZodOptional<z.ZodArray<z.ZodObject<{ event: z.ZodString; recipients: z.ZodArray<z.ZodString, "many">; template: z.ZodString; }, "strip", z.ZodTypeAny, { event: string; recipients: string[]; template: string; }, { event: string; recipients: string[]; template: string; }>, "many">>; }, "strip", z.ZodTypeAny, { tasks?: { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; }, { tasks?: { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { vaultName: string; operations: { checkIn?: { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; } | undefined; checkOut?: { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; } | undefined; workflow?: { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; } | undefined; }; fileStructure: { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }; metadata?: { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; } | undefined; serverName?: string | undefined; workflowName?: string | undefined; automation?: { tasks?: { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; } | undefined; }, { vaultName: string; operations: { checkIn?: { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; } | undefined; checkOut?: { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; } | undefined; workflow?: { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; } | undefined; }; fileStructure: { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }; metadata?: { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; } | undefined; serverName?: string | undefined; workflowName?: string | undefined; automation?: { tasks?: { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; } | undefined; }>; export type PDMConfig = z.infer<typeof PDMConfigSchema>; export declare class PDMResource extends SolidWorksResource { readonly type = "pdm-configuration"; readonly schema: z.ZodObject<{ vaultName: z.ZodString; serverName: z.ZodOptional<z.ZodString>; workflowName: z.ZodOptional<z.ZodString>; operations: z.ZodObject<{ checkIn: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; comment: z.ZodOptional<z.ZodString>; keepCheckedOut: z.ZodDefault<z.ZodBoolean>; updateReferences: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; }, { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; }>>; checkOut: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; localPath: z.ZodOptional<z.ZodString>; getLatestVersion: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; }, { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; }>>; workflow: z.ZodOptional<z.ZodObject<{ enabled: z.ZodDefault<z.ZodBoolean>; transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; fromState: z.ZodString; toState: z.ZodString; conditions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }, { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; }, { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; }>>; versioning: z.ZodOptional<z.ZodObject<{ scheme: z.ZodEnum<["major", "minor", "revision", "custom"]>; autoIncrement: z.ZodDefault<z.ZodBoolean>; format: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; }, { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { checkIn?: { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; } | undefined; checkOut?: { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; } | undefined; workflow?: { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; } | undefined; }, { checkIn?: { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; } | undefined; checkOut?: { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; } | undefined; workflow?: { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; } | undefined; }>; fileStructure: z.ZodObject<{ rootFolder: z.ZodString; projectTemplate: z.ZodOptional<z.ZodString>; namingConvention: z.ZodOptional<z.ZodObject<{ pattern: z.ZodString; variables: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["counter", "date", "user", "project", "custom"]>; format: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }, { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; }, { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; }>>; folderStructure: z.ZodOptional<z.ZodArray<z.ZodObject<{ path: z.ZodString; permissions: z.ZodOptional<z.ZodObject<{ read: z.ZodArray<z.ZodString, "many">; write: z.ZodArray<z.ZodString, "many">; delete: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { read: string[]; write: string[]; delete: string[]; }, { read: string[]; write: string[]; delete: string[]; }>>; }, "strip", z.ZodTypeAny, { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }, { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }, { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }>; metadata: z.ZodOptional<z.ZodObject<{ customProperties: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["text", "number", "date", "list", "boolean"]>; required: z.ZodDefault<z.ZodBoolean>; defaultValue: z.ZodOptional<z.ZodAny>; listValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }, { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }>, "many">>; dataCards: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; fileType: z.ZodString; controls: z.ZodArray<z.ZodObject<{ type: z.ZodEnum<["textbox", "dropdown", "checkbox", "datepicker"]>; variable: z.ZodString; position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { x: number; y: number; width: number; height: number; }, { x: number; y: number; width: number; height: number; }>; }, "strip", z.ZodTypeAny, { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }, { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }>, "many">; }, "strip", z.ZodTypeAny, { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }, { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }>, "many">>; }, "strip", z.ZodTypeAny, { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; }, { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; }>>; automation: z.ZodOptional<z.ZodObject<{ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; trigger: z.ZodEnum<["checkin", "checkout", "transition", "schedule"]>; action: z.ZodEnum<["convert", "print", "export", "notify", "script"]>; parameters: z.ZodRecord<z.ZodString, z.ZodAny>; enabled: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }, { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }>, "many">>; notifications: z.ZodOptional<z.ZodArray<z.ZodObject<{ event: z.ZodString; recipients: z.ZodArray<z.ZodString, "many">; template: z.ZodString; }, "strip", z.ZodTypeAny, { event: string; recipients: string[]; template: string; }, { event: string; recipients: string[]; template: string; }>, "many">>; }, "strip", z.ZodTypeAny, { tasks?: { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; }, { tasks?: { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { vaultName: string; operations: { checkIn?: { enabled: boolean; keepCheckedOut: boolean; updateReferences: boolean; comment?: string | undefined; } | undefined; checkOut?: { enabled: boolean; getLatestVersion: boolean; localPath?: string | undefined; } | undefined; workflow?: { enabled: boolean; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; autoIncrement: boolean; format?: string | undefined; } | undefined; }; fileStructure: { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }; metadata?: { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; required: boolean; defaultValue?: any; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; } | undefined; serverName?: string | undefined; workflowName?: string | undefined; automation?: { tasks?: { parameters: Record<string, any>; name: string; enabled: boolean; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; } | undefined; }, { vaultName: string; operations: { checkIn?: { enabled?: boolean | undefined; comment?: string | undefined; keepCheckedOut?: boolean | undefined; updateReferences?: boolean | undefined; } | undefined; checkOut?: { enabled?: boolean | undefined; localPath?: string | undefined; getLatestVersion?: boolean | undefined; } | undefined; workflow?: { enabled?: boolean | undefined; transitions?: { name: string; fromState: string; toState: string; conditions?: string[] | undefined; }[] | undefined; } | undefined; versioning?: { scheme: "custom" | "major" | "minor" | "revision"; format?: string | undefined; autoIncrement?: boolean | undefined; } | undefined; }; fileStructure: { rootFolder: string; projectTemplate?: string | undefined; namingConvention?: { pattern: string; variables?: { type: "date" | "custom" | "counter" | "user" | "project"; name: string; format?: string | undefined; }[] | undefined; } | undefined; folderStructure?: { path: string; permissions?: { read: string[]; write: string[]; delete: string[]; } | undefined; }[] | undefined; }; metadata?: { customProperties?: { type: "number" | "boolean" | "date" | "text" | "list"; name: string; defaultValue?: any; required?: boolean | undefined; listValues?: string[] | undefined; }[] | undefined; dataCards?: { name: string; fileType: string; controls: { type: "textbox" | "dropdown" | "checkbox" | "datepicker"; variable: string; position: { x: number; y: number; width: number; height: number; }; }[]; }[] | undefined; } | undefined; serverName?: string | undefined; workflowName?: string | undefined; automation?: { tasks?: { parameters: Record<string, any>; name: string; trigger: "checkin" | "checkout" | "transition" | "schedule"; action: "convert" | "print" | "export" | "notify" | "script"; enabled?: boolean | undefined; }[] | undefined; notifications?: { event: string; recipients: string[]; template: string; }[] | undefined; } | undefined; }>; constructor(id: string, name: string, properties: PDMConfig); /** * Execute PDM operations */ execute(api: SolidWorksAPI): Promise<any>; /** * Connect to PDM vault */ private connectToVault; /** * Perform check-out operation */ private performCheckOut; /** * Perform check-in operation */ private performCheckIn; /** * Execute workflow transitions */ private executeWorkflow; /** * Setup automation tasks */ private setupAutomation; /** * Convert to VBA code */ toVBACode(): string; /** * Convert to macro code */ toMacroCode(): string; /** * Get required capabilities */ getRequiredCapabilities(): string[]; /** * Create folder structure */ createFolderStructure(api: SolidWorksAPI): void; /** * Configure data cards */ configureDataCards(api: SolidWorksAPI): void; /** * Setup notifications */ setupNotifications(api: SolidWorksAPI): void; } export declare function isPDMResource(resource: any): resource is PDMResource; export {}; //# sourceMappingURL=pdm.d.ts.map