solidworks-mcp-server
Version:
Clean Architecture SolidWorks MCP Server - Production-ready with SOLID principles
1,277 lines • 46.5 kB
TypeScript
/**
* 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