leanix-pathfinder-mcp-server
Version:
MCP Server for LeanIX Pathfinder API - Enterprise Architecture Management Platform
346 lines • 9.11 kB
TypeScript
export interface LeanIXConfig {
baseUrl: string;
clientId: string;
clientSecret: string;
workspaceId?: string;
}
export interface OAuthToken {
access_token: string;
token_type: string;
expires_in: number;
scope?: string;
expires_at?: number;
}
export interface ApiError {
code?: number;
message: string;
details?: any;
}
export interface ApiResponse<T = any> {
status: 'OK' | 'ERROR';
type: string;
data?: T;
errorMessage?: string;
errors?: ApiError[];
total?: number;
cursor?: string;
endCursor?: string;
}
export interface FactSheet {
id?: string;
name: string;
description?: string;
displayName?: string;
fullName?: string;
type: string;
tags?: Tag[];
fields?: FieldnameAndData[];
relations?: FactSheetRelation[];
milestones?: Milestone[];
completion?: SectionCompletion;
createdAt?: string;
updatedAt?: string;
status?: 'ACTIVE' | 'ARCHIVED';
lxState?: 'BROKEN_QUALITY_SEAL' | 'DRAFT' | 'REJECTED' | 'APPROVED';
level?: number;
qualitySealStatus?: 'DISABLED' | 'APPROVED' | 'BROKEN';
permissions?: PermissionsField;
score?: number;
rev?: number;
subscriptions?: Subscription[];
permittedReadACL?: AccessControlEntityReference[];
permittedWriteACL?: AccessControlEntityReference[];
}
export interface Tag {
id?: string;
name: string;
color?: string;
description?: string;
}
export interface FieldnameAndData {
fieldName: string;
fieldValue: LxField;
}
export interface LxField {
type: 'StringValue' | 'BooleanValue' | 'IntegerValue' | 'DoubleValue' | 'DateValue' | 'SingleSelect' | 'Location' | 'MultipleSelect' | 'Lifecycle' | 'ProjectStatusProgress' | 'ExternalId' | 'FactSheetReferencesFieldValue' | 'SearchBasedFieldValue';
value?: any;
values?: string[];
}
export interface FactSheetRelation {
id?: string;
displayNameToFS?: string;
typeFromFS?: string;
typeToFS?: string;
activeFrom?: string;
activeUntil?: string;
fields?: FieldnameAndData[];
status?: 'ACTIVE' | 'ARCHIVED';
fromId?: string;
toId?: string;
factSheet?: FactSheet;
type: string;
}
export interface Milestone {
id?: string;
date: string;
name: string;
description?: string;
}
export interface SectionCompletion {
type?: string;
percentage?: number;
completion?: number;
}
export interface PermissionsField {
self?: string[];
create?: string[];
read?: string[];
update?: string[];
delete?: string[];
}
export interface Subscription {
id?: string;
userId?: string;
type: 'ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER';
linkedRoles?: LinkedSubscriptionRoleData[];
roles?: SubscriptionRoleLegacy[];
}
export interface LinkedSubscriptionRoleData {
roleId?: string;
comment?: string;
name?: string;
description?: string;
}
export interface SubscriptionRoleLegacy {
id?: string;
name?: string;
restrictToFactSheetTypes?: string[];
subscriptionType?: 'ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER';
}
export interface AccessControlEntityReference {
id?: string;
name?: string;
}
export interface Bookmark {
id?: string;
userId?: string;
lastUpdateUserId?: string;
name: string;
type: 'INVENTORY' | 'REPORTING' | 'VISUALIZER' | 'DASHBOARD' | 'INVENTORY_EXPORT';
groupKey?: string;
description?: string;
createdAt?: string;
updatedAt?: string;
i18nKey?: string;
predefined?: boolean;
readonly?: boolean;
defaultSharingPriority?: number;
user?: User;
permittedReadUserIds: string[];
permittedWriteUserIds: string[];
referencedFactSheetIds: string[];
views?: number;
replaySequence?: number;
temporary?: boolean;
version?: number;
message?: string;
oDataEnabled?: boolean;
state?: {
[key: string]: any;
};
}
export interface User {
id?: string;
firstName?: string;
lastName?: string;
displayName?: string;
userName?: string;
email?: string;
technicalUser?: boolean;
role?: 'SUPERADMIN' | 'SYSTEM' | 'APICLIENT' | 'ACCOUNTADMIN' | 'ACCOUNTUSER';
status?: 'ACTIVE' | 'ARCHIVED';
}
export interface BookmarkShare {
sharedByUserId?: string;
sharedUserInfos?: SharedUserInfo[];
}
export interface SharedUserInfo {
sharedWithUser?: User;
sharedAt?: string;
}
export interface Feature {
id?: string;
name?: string;
type?: 'FUNCTIONAL' | 'QUOTA';
description?: string;
status?: 'DISABLED' | 'ENABLED';
group?: 'BETA' | 'PRODUCTIVE' | 'LEGACY' | 'CUSTOMER' | 'EXCEPTION';
quota?: number;
roles?: string[];
customized?: boolean;
}
export interface GraphQLRequest {
query: string;
variables?: {
[key: string]: any;
};
operationName?: string;
}
export interface GraphQLResult {
data?: any;
errors?: any[];
}
export interface Export {
id?: string;
userId?: string;
user?: User;
type: 'AUDIT_LOG' | 'SNAPSHOT' | 'INVENTORY_IMPORT' | 'INVENTORY_EXPORT' | 'WS_SYNC' | 'REPORT_SYNC' | 'AUDIT_LOG_LEGACY' | 'ARCHIVE';
status: 'STARTED' | 'COMPLETED' | 'DOWNLOADED' | 'ERROR' | 'DELETED' | 'CANCELED';
localFilename?: string;
downloadFilename?: string;
createdAt?: string;
deleteAt?: string;
dryRun?: boolean;
downloadKey?: string;
factSheetTypes?: string;
factSheetCount?: number;
columnCount?: number;
bookmark?: Bookmark;
}
export interface WorkspaceSettings {
tagsSettings?: TagSettings;
subscriptions?: SubscriptionSettings;
tags?: TagSettings;
help?: HelpSettings;
snapshot?: SnapshotSettings;
integrations?: IntegrationsSettings;
currency?: string;
language?: string;
jsSnippet?: string;
idleTimeoutMinutes?: number;
defaultReportId?: string;
dataPrivacy?: 'NORMAL' | 'RELAXED';
completionScore?: 'ENABLED' | 'DISABLED';
quickSearchMode?: 'LIST_VIEW' | 'GROUPED_VIEW';
design?: Design;
metrics?: Metrics;
ootbDashboards?: OotbDashboardSettings;
smartIndicatorsEnabled?: boolean;
retention?: RetentionSettings;
dashboard?: DashboardSettings;
defaultUseCases?: {
[key: string]: string;
};
}
export interface TagSettings {
taggingMode?: 'ON_THE_FLY' | 'PRE_DEFINED_ONLY' | 'PRE_DEFINED_OR_ON_THE_FLY';
}
export interface SubscriptionSettings {
subscriptionTypes: ('ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER')[];
roleAssignment: 'SINGLE' | 'MULTIPLE';
roleMode: 'ON_THE_FLY' | 'OPTIONAL' | 'REQUIRED';
}
export interface HelpSettings {
helpCenter: string;
userGuide: string;
supportEmail?: string;
supportUrl?: string;
showHelpTours?: boolean;
}
export interface SnapshotSettings {
allowOverwrite?: boolean;
}
export interface IntegrationsSettings {
technopedia?: UserNameAndPasswordIntegrationSettings;
signavio?: SignavioSettings;
intercom?: IntercomSettings;
}
export interface UserNameAndPasswordIntegrationSettings {
active?: boolean;
userName?: string;
password?: string;
}
export interface SignavioSettings {
active?: boolean;
userName?: string;
password?: string;
signavioUrl?: string;
tenantId?: string;
loginParams?: string;
processMapping?: SignavioProcessMapping;
glossaryCategoryMappings?: {
[key: string]: SignavioGlossaryCategoryMapping;
};
}
export interface SignavioProcessMapping {
active?: boolean;
strict?: boolean;
directoryIds?: string[];
factSheetType?: string;
linkProcessingMode?: 'NO_PROCESSING' | 'PARENT_CHILD';
publishedOnly?: boolean;
}
export interface SignavioGlossaryCategoryMapping {
active?: boolean;
strict?: boolean;
glossaryCategoryId?: string;
leanixRelationName?: string;
master?: 'LEANIX' | 'SIGNAVIO';
}
export interface IntercomSettings {
active?: boolean;
appId?: string;
identitySecret?: string;
}
export interface Design {
activeMode: 'CUSTOM' | 'CLASSIC' | 'EAS';
customCss?: {
[key: string]: any;
};
}
export interface Metrics {
charts?: ChartSetting[];
}
export interface ChartSetting {
id?: string;
chart?: Chart;
series?: Series[];
}
export interface Chart {
type?: string;
title?: string;
}
export interface Series {
name?: string;
data?: any[];
}
export interface OotbDashboardSettings {
[key: string]: any;
}
export interface RetentionSettings {
[key: string]: any;
}
export interface DashboardSettings {
allowedIframePanelUrls: string;
defaultDashboard?: string;
userDefaultDashboardEnabled?: boolean;
allowAllUrlsInIframePanel?: boolean;
allowedIframePanelAttributes: string[];
}
export interface Suggestion {
objectId?: string;
displayName?: string;
type?: string;
score?: number;
reasons?: Reason[];
}
export interface Reason {
field?: string;
value?: string;
positions?: Position[];
}
export interface Position {
offset?: number;
length?: number;
}
//# sourceMappingURL=types.d.ts.map