@mcp-consultant-tools/powerplatform 25.0.0 → 26.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/PowerPlatformService.d.ts +117 -754
- package/build/PowerPlatformService.d.ts.map +1 -1
- package/build/PowerPlatformService.js +153 -3534
- package/build/PowerPlatformService.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +26 -241
- package/build/index.js.map +1 -1
- package/package.json +7 -5
|
@@ -1,259 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
export interface Violation {
|
|
14
|
-
attributeLogicalName?: string;
|
|
15
|
-
attributeType?: string;
|
|
16
|
-
createdOn?: string;
|
|
17
|
-
rule: string;
|
|
18
|
-
severity: 'MUST' | 'SHOULD';
|
|
19
|
-
message: string;
|
|
20
|
-
currentValue: string;
|
|
21
|
-
expectedValue: string;
|
|
22
|
-
action: string;
|
|
23
|
-
recommendation?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface EntityValidationResult {
|
|
26
|
-
logicalName: string;
|
|
27
|
-
schemaName: string;
|
|
28
|
-
displayName: string;
|
|
29
|
-
isRefData: boolean;
|
|
30
|
-
attributesChecked: number;
|
|
31
|
-
violations: Violation[];
|
|
32
|
-
isCompliant: boolean;
|
|
33
|
-
}
|
|
34
|
-
export interface ViolationSummaryByRule {
|
|
35
|
-
rule: string;
|
|
36
|
-
severity: 'MUST' | 'SHOULD';
|
|
37
|
-
totalCount: number;
|
|
38
|
-
affectedEntities: string[];
|
|
39
|
-
affectedColumns: string[];
|
|
40
|
-
action: string;
|
|
41
|
-
recommendation?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface BestPracticesValidationResult {
|
|
44
|
-
metadata: {
|
|
45
|
-
generatedAt: string;
|
|
46
|
-
solutionName?: string;
|
|
47
|
-
solutionUniqueName?: string;
|
|
48
|
-
publisherPrefix: string;
|
|
49
|
-
recentDays: number;
|
|
50
|
-
executionTimeMs: number;
|
|
51
|
-
};
|
|
52
|
-
summary: {
|
|
53
|
-
entitiesChecked: number;
|
|
54
|
-
attributesChecked: number;
|
|
55
|
-
totalViolations: number;
|
|
56
|
-
criticalViolations: number;
|
|
57
|
-
warnings: number;
|
|
58
|
-
compliantEntities: number;
|
|
59
|
-
};
|
|
60
|
-
violationsSummary: ViolationSummaryByRule[];
|
|
61
|
-
entities: EntityValidationResult[];
|
|
62
|
-
statistics: {
|
|
63
|
-
systemColumnsExcluded: number;
|
|
64
|
-
oldColumnsExcluded: number;
|
|
65
|
-
refDataTablesSkipped: number;
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
export interface FlowFilterOptions {
|
|
69
|
-
activeOnly?: boolean;
|
|
70
|
-
maxRecords?: number;
|
|
71
|
-
excludeCustomerInsights?: boolean;
|
|
72
|
-
excludeSystem?: boolean;
|
|
73
|
-
excludeCopilotSales?: boolean;
|
|
74
|
-
nameContains?: string;
|
|
75
|
-
}
|
|
76
|
-
export interface FlowListResult {
|
|
77
|
-
totalCount: number;
|
|
78
|
-
hasMore: boolean;
|
|
79
|
-
requestedMax: number;
|
|
80
|
-
excluded: {
|
|
81
|
-
customerInsights: number;
|
|
82
|
-
system: number;
|
|
83
|
-
copilotSales: number;
|
|
84
|
-
total: number;
|
|
85
|
-
};
|
|
86
|
-
filterApplied: {
|
|
87
|
-
excludeCustomerInsights: boolean;
|
|
88
|
-
excludeSystem: boolean;
|
|
89
|
-
excludeCopilotSales: boolean;
|
|
90
|
-
nameContains?: string;
|
|
91
|
-
};
|
|
92
|
-
flows: FlowSummary[];
|
|
93
|
-
}
|
|
94
|
-
export interface FlowSummary {
|
|
95
|
-
workflowid: string;
|
|
96
|
-
name: string;
|
|
97
|
-
description: string | null;
|
|
98
|
-
state: string;
|
|
99
|
-
statecode: number;
|
|
100
|
-
statuscode: number;
|
|
101
|
-
type: string;
|
|
102
|
-
primaryEntity: string | null;
|
|
103
|
-
isManaged: boolean;
|
|
104
|
-
ownerId: string;
|
|
105
|
-
modifiedOn: string;
|
|
106
|
-
modifiedBy: string | null;
|
|
107
|
-
createdOn: string;
|
|
108
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* PowerPlatformService - Slim Read-Only Facade
|
|
3
|
+
*
|
|
4
|
+
* This is a facade that delegates to services in @mcp-consultant-tools/powerplatform-core.
|
|
5
|
+
* It provides READ-ONLY access to PowerPlatform/Dataverse entities.
|
|
6
|
+
*
|
|
7
|
+
* For data CRUD operations, use @mcp-consultant-tools/powerplatform-data.
|
|
8
|
+
* For customization operations, use @mcp-consultant-tools/powerplatform-customization.
|
|
9
|
+
*/
|
|
10
|
+
import { type PowerPlatformConfig, type ApiCollectionResponse, type FlowFilterOptions, type FlowListResult, type FlowSummary, type BestPracticesValidationResult, type AuthProvider } from '@mcp-consultant-tools/powerplatform-core';
|
|
11
|
+
export type { PowerPlatformConfig, ApiCollectionResponse, FlowFilterOptions, FlowListResult, FlowSummary, BestPracticesValidationResult, };
|
|
109
12
|
export declare class PowerPlatformService {
|
|
110
|
-
private
|
|
111
|
-
private
|
|
112
|
-
private
|
|
13
|
+
private client;
|
|
14
|
+
private metadata;
|
|
15
|
+
private plugin;
|
|
16
|
+
private flow;
|
|
17
|
+
private workflow;
|
|
18
|
+
private businessRule;
|
|
19
|
+
private app;
|
|
20
|
+
private validation;
|
|
21
|
+
private form;
|
|
22
|
+
private view;
|
|
23
|
+
private webResource;
|
|
24
|
+
private solution;
|
|
25
|
+
private dependency;
|
|
26
|
+
private publishing;
|
|
27
|
+
private relationship;
|
|
113
28
|
constructor(config: PowerPlatformConfig, authProvider?: AuthProvider);
|
|
114
|
-
/**
|
|
115
|
-
* Get the authentication mode being used
|
|
116
|
-
*/
|
|
117
29
|
getAuthMode(): 'service-principal' | 'interactive';
|
|
118
|
-
/**
|
|
119
|
-
* Get information about the authenticated user (if using interactive auth)
|
|
120
|
-
*/
|
|
121
30
|
getUserInfo(): Promise<{
|
|
122
31
|
name: string;
|
|
123
32
|
email: string;
|
|
124
33
|
oid: string;
|
|
125
34
|
} | null>;
|
|
126
|
-
/**
|
|
127
|
-
* Clear cached tokens (logout) - only applicable for interactive auth
|
|
128
|
-
*/
|
|
129
35
|
logout(): Promise<void>;
|
|
130
|
-
|
|
131
|
-
* Get an access token for the PowerPlatform API
|
|
132
|
-
*/
|
|
133
|
-
private getAccessToken;
|
|
134
|
-
/**
|
|
135
|
-
* Make an authenticated request to the PowerPlatform API
|
|
136
|
-
* Extended to support all HTTP methods for write operations
|
|
137
|
-
*/
|
|
138
|
-
private makeRequest;
|
|
139
|
-
/**
|
|
140
|
-
* Get metadata about an entity
|
|
141
|
-
* @param entityName The logical name of the entity
|
|
142
|
-
*/
|
|
143
|
-
getEntityMetadata(entityName: string): Promise<any>;
|
|
144
|
-
/**
|
|
145
|
-
* Get metadata about entity attributes/fields
|
|
146
|
-
* @param entityName The logical name of the entity
|
|
147
|
-
*/
|
|
36
|
+
getEntityMetadata(entityName: string): Promise<unknown>;
|
|
148
37
|
getEntityAttributes(entityName: string, options?: {
|
|
149
38
|
prefix?: string;
|
|
150
39
|
attributeType?: string;
|
|
151
40
|
maxAttributes?: number;
|
|
152
41
|
}): Promise<{
|
|
153
|
-
value:
|
|
42
|
+
value: unknown[];
|
|
154
43
|
hasMore: boolean;
|
|
155
44
|
returnedCount: number;
|
|
156
45
|
totalBeforeFilter?: number;
|
|
157
46
|
}>;
|
|
158
|
-
|
|
159
|
-
* Get metadata about a specific entity attribute/field
|
|
160
|
-
* @param entityName The logical name of the entity
|
|
161
|
-
* @param attributeName The logical name of the attribute
|
|
162
|
-
*/
|
|
163
|
-
getEntityAttribute(entityName: string, attributeName: string): Promise<any>;
|
|
164
|
-
/**
|
|
165
|
-
* Get one-to-many relationships for an entity
|
|
166
|
-
* @param entityName The logical name of the entity
|
|
167
|
-
*/
|
|
168
|
-
getEntityOneToManyRelationships(entityName: string): Promise<ApiCollectionResponse<any>>;
|
|
169
|
-
/**
|
|
170
|
-
* Get many-to-many relationships for an entity
|
|
171
|
-
* @param entityName The logical name of the entity
|
|
172
|
-
*/
|
|
173
|
-
getEntityManyToManyRelationships(entityName: string): Promise<ApiCollectionResponse<any>>;
|
|
174
|
-
/**
|
|
175
|
-
* Get all relationships (one-to-many and many-to-many) for an entity
|
|
176
|
-
* @param entityName The logical name of the entity
|
|
177
|
-
*/
|
|
47
|
+
getEntityAttribute(entityName: string, attributeName: string): Promise<unknown>;
|
|
178
48
|
getEntityRelationships(entityName: string): Promise<{
|
|
179
|
-
oneToMany: ApiCollectionResponse<
|
|
180
|
-
manyToMany: ApiCollectionResponse<
|
|
49
|
+
oneToMany: ApiCollectionResponse<unknown>;
|
|
50
|
+
manyToMany: ApiCollectionResponse<unknown>;
|
|
181
51
|
}>;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Get a specific record by entity name (plural) and ID
|
|
190
|
-
* @param entityNamePlural The plural name of the entity (e.g., 'accounts', 'contacts')
|
|
191
|
-
* @param recordId The GUID of the record
|
|
192
|
-
* @returns The record data
|
|
193
|
-
*/
|
|
194
|
-
getRecord(entityNamePlural: string, recordId: string): Promise<any>;
|
|
195
|
-
/**
|
|
196
|
-
* Query records using entity name (plural) and a filter expression
|
|
197
|
-
* @param entityNamePlural The plural name of the entity (e.g., 'accounts', 'contacts')
|
|
198
|
-
* @param filter OData filter expression (e.g., "name eq 'test'")
|
|
199
|
-
* @param maxRecords Maximum number of records to retrieve (default: 50)
|
|
200
|
-
* @returns Filtered list of records
|
|
201
|
-
*/
|
|
202
|
-
queryRecords(entityNamePlural: string, filter: string, maxRecords?: number, select?: string[]): Promise<{
|
|
203
|
-
value: any[];
|
|
52
|
+
getGlobalOptionSet(optionSetName: string): Promise<unknown>;
|
|
53
|
+
getGlobalOptionSets(options?: {
|
|
54
|
+
maxRecords?: number;
|
|
55
|
+
prefix?: string;
|
|
56
|
+
}): Promise<{
|
|
57
|
+
value: unknown[];
|
|
204
58
|
hasMore: boolean;
|
|
205
|
-
|
|
206
|
-
|
|
59
|
+
totalCount: number;
|
|
60
|
+
}>;
|
|
61
|
+
getPluginAssemblies(includeManaged?: boolean, maxRecords?: number): Promise<{
|
|
62
|
+
totalCount: number;
|
|
63
|
+
assemblies: unknown[];
|
|
64
|
+
}>;
|
|
65
|
+
getPluginAssemblyComplete(assemblyName: string, includeDisabled?: boolean): Promise<{
|
|
66
|
+
assembly: unknown;
|
|
67
|
+
pluginTypes: unknown[];
|
|
68
|
+
steps: unknown[];
|
|
69
|
+
validation: {
|
|
70
|
+
hasDisabledSteps: boolean;
|
|
71
|
+
hasAsyncSteps: boolean;
|
|
72
|
+
hasSyncSteps: boolean;
|
|
73
|
+
stepsWithoutFilteringAttributes: string[];
|
|
74
|
+
stepsWithoutImages: string[];
|
|
75
|
+
potentialIssues: string[];
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
78
|
+
getEntityPluginPipeline(entityName: string, messageFilter?: string, includeDisabled?: boolean): Promise<{
|
|
79
|
+
entity: string;
|
|
80
|
+
messages: unknown[];
|
|
81
|
+
steps: unknown[];
|
|
82
|
+
executionOrder: string[];
|
|
207
83
|
}>;
|
|
208
|
-
/**
|
|
209
|
-
* Create a new record in Dataverse
|
|
210
|
-
* @param entityNamePlural The plural name of the entity (e.g., 'accounts', 'contacts')
|
|
211
|
-
* @param data Record data as JSON object (field names must match logical names)
|
|
212
|
-
* @returns Created record with ID and OData context
|
|
213
|
-
*/
|
|
214
|
-
createRecord(entityNamePlural: string, data: Record<string, any>): Promise<any>;
|
|
215
|
-
/**
|
|
216
|
-
* Update an existing record in Dataverse
|
|
217
|
-
* @param entityNamePlural The plural name of the entity (e.g., 'accounts', 'contacts')
|
|
218
|
-
* @param recordId The GUID of the record to update
|
|
219
|
-
* @param data Partial record data to update (only fields being changed)
|
|
220
|
-
* @returns Updated record (if Prefer header used) or void
|
|
221
|
-
*/
|
|
222
|
-
updateRecord(entityNamePlural: string, recordId: string, data: Record<string, any>): Promise<any>;
|
|
223
|
-
/**
|
|
224
|
-
* Delete a record from Dataverse
|
|
225
|
-
* @param entityNamePlural The plural name of the entity (e.g., 'accounts', 'contacts')
|
|
226
|
-
* @param recordId The GUID of the record to delete
|
|
227
|
-
* @returns Void (successful deletion returns 204 No Content)
|
|
228
|
-
*/
|
|
229
|
-
deleteRecord(entityNamePlural: string, recordId: string): Promise<void>;
|
|
230
|
-
/**
|
|
231
|
-
* Get all plugin assemblies in the environment
|
|
232
|
-
* @param includeManaged Include managed assemblies (default: false)
|
|
233
|
-
* @param maxRecords Maximum number of assemblies to return (default: 100)
|
|
234
|
-
* @returns List of plugin assemblies with basic information
|
|
235
|
-
*/
|
|
236
|
-
getPluginAssemblies(includeManaged?: boolean, maxRecords?: number): Promise<any>;
|
|
237
|
-
/**
|
|
238
|
-
* Get a plugin assembly by name with all related plugin types, steps, and images
|
|
239
|
-
* @param assemblyName The name of the plugin assembly
|
|
240
|
-
* @param includeDisabled Include disabled steps (default: false)
|
|
241
|
-
* @returns Complete plugin assembly information with validation
|
|
242
|
-
*/
|
|
243
|
-
getPluginAssemblyComplete(assemblyName: string, includeDisabled?: boolean): Promise<any>;
|
|
244
|
-
/**
|
|
245
|
-
* Get all plugins that execute on a specific entity, organized by message and execution order
|
|
246
|
-
* @param entityName The logical name of the entity
|
|
247
|
-
* @param messageFilter Optional filter by message name (e.g., "Create", "Update")
|
|
248
|
-
* @param includeDisabled Include disabled steps (default: false)
|
|
249
|
-
* @returns Complete plugin pipeline for the entity
|
|
250
|
-
*/
|
|
251
|
-
getEntityPluginPipeline(entityName: string, messageFilter?: string, includeDisabled?: boolean): Promise<any>;
|
|
252
|
-
/**
|
|
253
|
-
* Get plugin trace logs with filtering
|
|
254
|
-
* @param options Filtering options for trace logs
|
|
255
|
-
* @returns Filtered trace logs with parsed exception details
|
|
256
|
-
*/
|
|
257
84
|
getPluginTraceLogs(options: {
|
|
258
85
|
entityName?: string;
|
|
259
86
|
messageName?: string;
|
|
@@ -262,23 +89,11 @@ export declare class PowerPlatformService {
|
|
|
262
89
|
exceptionOnly?: boolean;
|
|
263
90
|
hoursBack?: number;
|
|
264
91
|
maxRecords?: number;
|
|
265
|
-
}): Promise<
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Get Power Automate cloud flows with smart filtering
|
|
271
|
-
* By default, excludes non-custom flows (CXP_, SYSTEM, Copilot for Sales) to reduce noise.
|
|
272
|
-
* @param options Filter options for flows
|
|
273
|
-
* @returns FlowListResult with flows and exclusion statistics
|
|
274
|
-
*/
|
|
92
|
+
}): Promise<{
|
|
93
|
+
totalCount: number;
|
|
94
|
+
logs: unknown[];
|
|
95
|
+
}>;
|
|
275
96
|
getFlows(options?: FlowFilterOptions): Promise<FlowListResult>;
|
|
276
|
-
/**
|
|
277
|
-
* Search workflows (both classic workflows and Power Automate flows)
|
|
278
|
-
* Supports flexible filtering by name, entity, description, category, and state
|
|
279
|
-
* @param options Search filter options
|
|
280
|
-
* @returns Array of matching workflows with metadata
|
|
281
|
-
*/
|
|
282
97
|
searchWorkflows(options?: {
|
|
283
98
|
name?: string;
|
|
284
99
|
primaryEntity?: string;
|
|
@@ -291,517 +106,65 @@ export declare class PowerPlatformService {
|
|
|
291
106
|
totalCount: number;
|
|
292
107
|
hasMore: boolean;
|
|
293
108
|
requestedMax: number;
|
|
294
|
-
workflows:
|
|
109
|
+
workflows: unknown[];
|
|
110
|
+
}>;
|
|
111
|
+
getFlowDefinition(flowId: string, summary?: boolean): Promise<unknown>;
|
|
112
|
+
getFlowRuns(flowId: string, maxRecords?: number): Promise<{
|
|
113
|
+
flowId: string;
|
|
114
|
+
totalCount: number;
|
|
115
|
+
runs: unknown[];
|
|
116
|
+
}>;
|
|
117
|
+
getFlowRunDetails(flowId: string, runId: string): Promise<unknown>;
|
|
118
|
+
getWorkflows(activeOnly?: boolean, maxRecords?: number): Promise<{
|
|
119
|
+
totalCount: number;
|
|
120
|
+
hasMore: boolean;
|
|
121
|
+
requestedMax: number;
|
|
122
|
+
workflows: unknown[];
|
|
123
|
+
}>;
|
|
124
|
+
getWorkflowDefinition(workflowId: string, summary?: boolean): Promise<unknown>;
|
|
125
|
+
getBusinessRules(activeOnly?: boolean, maxRecords?: number): Promise<{
|
|
126
|
+
totalCount: number;
|
|
127
|
+
businessRules: unknown[];
|
|
128
|
+
}>;
|
|
129
|
+
getBusinessRule(workflowId: string): Promise<unknown>;
|
|
130
|
+
getApps(activeOnly?: boolean, maxRecords?: number, includeUnpublished?: boolean, solutionUniqueName?: string): Promise<{
|
|
131
|
+
totalCount: number;
|
|
132
|
+
apps: unknown[];
|
|
133
|
+
filters: {
|
|
134
|
+
activeOnly: boolean;
|
|
135
|
+
includeUnpublished: boolean;
|
|
136
|
+
solutionUniqueName: string;
|
|
137
|
+
};
|
|
295
138
|
}>;
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
getFlowRuns(flowId: string, maxRecords?: number): Promise<any>;
|
|
315
|
-
/**
|
|
316
|
-
* Extract environment ID from organization URL
|
|
317
|
-
* @returns Environment ID (GUID)
|
|
318
|
-
*/
|
|
319
|
-
private getEnvironmentId;
|
|
320
|
-
/**
|
|
321
|
-
* Get an access token for the Power Automate Management API
|
|
322
|
-
* @returns Access token for management.azure.com
|
|
323
|
-
*/
|
|
324
|
-
private getFlowManagementToken;
|
|
325
|
-
/**
|
|
326
|
-
* Get detailed flow run information including action-level execution details
|
|
327
|
-
* @param flowId The GUID of the flow (workflowid)
|
|
328
|
-
* @param runId The GUID of the flow run (flowrunid)
|
|
329
|
-
* @returns Detailed flow run information with action-level execution data
|
|
330
|
-
*/
|
|
331
|
-
getFlowRunDetails(flowId: string, runId: string): Promise<any>;
|
|
332
|
-
/**
|
|
333
|
-
* Get all classic Dynamics workflows in the environment
|
|
334
|
-
* @param activeOnly Only return activated workflows (default: false)
|
|
335
|
-
* @param maxRecords Maximum number of workflows to return (default: 100)
|
|
336
|
-
* @returns List of classic workflows with basic information
|
|
337
|
-
*/
|
|
338
|
-
getWorkflows(activeOnly?: boolean, maxRecords?: number): Promise<any>;
|
|
339
|
-
/**
|
|
340
|
-
* Get a specific classic workflow with its complete XAML definition
|
|
341
|
-
* @param workflowId The GUID of the workflow (workflowid)
|
|
342
|
-
* @param summary If true, parse XAML and return structured summary instead of raw XAML
|
|
343
|
-
* @returns Complete workflow information including the XAML definition or parsed summary
|
|
344
|
-
*/
|
|
345
|
-
getWorkflowDefinition(workflowId: string, summary?: boolean): Promise<any>;
|
|
346
|
-
/**
|
|
347
|
-
* Parse workflow XAML to extract a structured summary
|
|
348
|
-
* @param xaml The raw XAML string
|
|
349
|
-
* @returns Summary object with activities, conditions, and variables
|
|
350
|
-
*/
|
|
351
|
-
parseWorkflowXamlSummary(xaml: string | null): any;
|
|
352
|
-
/**
|
|
353
|
-
* Get all business rules in the environment
|
|
354
|
-
* @param activeOnly Only return activated business rules (default: false)
|
|
355
|
-
* @param maxRecords Maximum number of business rules to return (default: 100)
|
|
356
|
-
* @returns List of business rules with basic information
|
|
357
|
-
*/
|
|
358
|
-
getBusinessRules(activeOnly?: boolean, maxRecords?: number): Promise<any>;
|
|
359
|
-
/**
|
|
360
|
-
* Get a specific business rule with its complete XAML definition
|
|
361
|
-
* @param workflowId The GUID of the business rule (workflowid)
|
|
362
|
-
* @returns Complete business rule information including the XAML definition
|
|
363
|
-
*/
|
|
364
|
-
getBusinessRule(workflowId: string): Promise<any>;
|
|
365
|
-
/**
|
|
366
|
-
* Get all model-driven apps in the environment
|
|
367
|
-
* @param activeOnly Only return active apps (default: false)
|
|
368
|
-
* @param maxRecords Maximum number of apps to return (default: 100)
|
|
369
|
-
* @returns List of model-driven apps with basic information
|
|
370
|
-
*/
|
|
371
|
-
getApps(activeOnly?: boolean, maxRecords?: number, includeUnpublished?: boolean, solutionUniqueName?: string): Promise<any>;
|
|
372
|
-
/**
|
|
373
|
-
* Get a specific model-driven app by ID
|
|
374
|
-
* @param appId The GUID of the app (appmoduleid)
|
|
375
|
-
* @returns Complete app information including publisher details
|
|
376
|
-
*/
|
|
377
|
-
getApp(appId: string): Promise<any>;
|
|
378
|
-
/**
|
|
379
|
-
* Get all components (entities, forms, views, sitemaps) associated with an app
|
|
380
|
-
* @param appId The GUID of the app (appmoduleid)
|
|
381
|
-
* @returns List of app components with type information
|
|
382
|
-
*/
|
|
383
|
-
getAppComponents(appId: string): Promise<any>;
|
|
384
|
-
/**
|
|
385
|
-
* Get the sitemap for a specific app
|
|
386
|
-
* @param appId The GUID of the app (appmoduleid)
|
|
387
|
-
* @returns Sitemap information including XML
|
|
388
|
-
*/
|
|
389
|
-
getAppSitemap(appId: string): Promise<any>;
|
|
390
|
-
/**
|
|
391
|
-
* Create a new model-driven app
|
|
392
|
-
* @param appDefinition The app definition object
|
|
393
|
-
* @param solutionUniqueName Optional solution to add the app to
|
|
394
|
-
* @returns The created app information including ID
|
|
395
|
-
*/
|
|
396
|
-
createApp(appDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
397
|
-
/**
|
|
398
|
-
* Create a sitemap from simplified configuration (no XML knowledge required)
|
|
399
|
-
* @param config Simplified sitemap configuration
|
|
400
|
-
* @param solutionUniqueName Optional solution to add the sitemap to
|
|
401
|
-
* @returns The created sitemap information including ID and XML
|
|
402
|
-
*/
|
|
403
|
-
createSimpleSitemap(config: any, solutionUniqueName?: string): Promise<any>;
|
|
404
|
-
/**
|
|
405
|
-
* Add entities to an app by modifying the sitemap XML
|
|
406
|
-
* @param appId The GUID of the app
|
|
407
|
-
* @param entityNames Array of entity logical names to add
|
|
408
|
-
* @returns Result of the operation
|
|
409
|
-
*/
|
|
410
|
-
addEntitiesToApp(appId: string, entityNames: string[]): Promise<any>;
|
|
411
|
-
/**
|
|
412
|
-
* Validate an app before publishing
|
|
413
|
-
* @param appId The GUID of the app
|
|
414
|
-
* @returns Validation result with any issues found
|
|
415
|
-
*/
|
|
416
|
-
validateApp(appId: string): Promise<any>;
|
|
417
|
-
/**
|
|
418
|
-
* Publish an app to make it available to users
|
|
419
|
-
* @param appId The GUID of the app
|
|
420
|
-
* @returns Result of the publish operation
|
|
421
|
-
*/
|
|
422
|
-
publishApp(appId: string): Promise<any>;
|
|
423
|
-
/**
|
|
424
|
-
* Helper to escape XML special characters
|
|
425
|
-
*/
|
|
426
|
-
private escapeXml;
|
|
427
|
-
/**
|
|
428
|
-
* Create a new custom entity (table)
|
|
429
|
-
* @param entityDefinition The entity definition object
|
|
430
|
-
* @param solutionUniqueName Optional solution to add the entity to
|
|
431
|
-
* @returns The created entity metadata
|
|
432
|
-
*/
|
|
433
|
-
createEntity(entityDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
434
|
-
/**
|
|
435
|
-
* Update an existing entity
|
|
436
|
-
* @param metadataId The MetadataId of the entity
|
|
437
|
-
* @param updates The properties to update
|
|
438
|
-
* @param solutionUniqueName Optional solution context
|
|
439
|
-
*/
|
|
440
|
-
updateEntity(metadataId: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
441
|
-
/**
|
|
442
|
-
* Delete a custom entity
|
|
443
|
-
* @param metadataId The MetadataId of the entity to delete
|
|
444
|
-
*/
|
|
445
|
-
deleteEntity(metadataId: string): Promise<void>;
|
|
446
|
-
/**
|
|
447
|
-
* Update entity icon using Fluent UI System Icon
|
|
448
|
-
* @param entityLogicalName The logical name of the entity
|
|
449
|
-
* @param iconFileName The Fluent UI icon file name (e.g., 'people_community_24_filled.svg')
|
|
450
|
-
* @param solutionUniqueName Optional solution to add the web resource to
|
|
451
|
-
* @returns Result with web resource ID and icon vector name
|
|
452
|
-
*/
|
|
453
|
-
updateEntityIcon(entityLogicalName: string, iconFileName: string, solutionUniqueName?: string): Promise<any>;
|
|
454
|
-
/**
|
|
455
|
-
* Create a new attribute on an entity
|
|
456
|
-
* @param entityLogicalName The logical name of the entity
|
|
457
|
-
* @param attributeDefinition The attribute definition object
|
|
458
|
-
* @param solutionUniqueName Optional solution to add the attribute to
|
|
459
|
-
* @returns The created attribute metadata
|
|
460
|
-
*/
|
|
461
|
-
createAttribute(entityLogicalName: string, attributeDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
462
|
-
/**
|
|
463
|
-
* Update an existing attribute
|
|
464
|
-
* @param entityLogicalName The logical name of the entity
|
|
465
|
-
* @param attributeLogicalName The logical name of the attribute
|
|
466
|
-
* @param updates The properties to update
|
|
467
|
-
* @param solutionUniqueName Optional solution context
|
|
468
|
-
*/
|
|
469
|
-
updateAttribute(entityLogicalName: string, attributeLogicalName: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
470
|
-
/**
|
|
471
|
-
* Delete an attribute
|
|
472
|
-
* @param entityLogicalName The logical name of the entity
|
|
473
|
-
* @param attributeMetadataId The MetadataId of the attribute to delete
|
|
474
|
-
*/
|
|
475
|
-
deleteAttribute(entityLogicalName: string, attributeMetadataId: string): Promise<void>;
|
|
476
|
-
/**
|
|
477
|
-
* Create a picklist attribute using a global option set
|
|
478
|
-
* @param entityLogicalName The logical name of the entity
|
|
479
|
-
* @param attributeDefinition The attribute definition (must reference a global option set)
|
|
480
|
-
* @param solutionUniqueName Optional solution to add the attribute to
|
|
481
|
-
* @returns The created attribute metadata
|
|
482
|
-
*/
|
|
483
|
-
createGlobalOptionSetAttribute(entityLogicalName: string, attributeDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
484
|
-
/**
|
|
485
|
-
* Create a one-to-many relationship
|
|
486
|
-
* @param relationshipDefinition The relationship definition
|
|
487
|
-
* @param solutionUniqueName Optional solution to add the relationship to
|
|
488
|
-
*/
|
|
489
|
-
createOneToManyRelationship(relationshipDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
490
|
-
/**
|
|
491
|
-
* Create a many-to-many relationship
|
|
492
|
-
* @param relationshipDefinition The relationship definition
|
|
493
|
-
* @param solutionUniqueName Optional solution to add the relationship to
|
|
494
|
-
*/
|
|
495
|
-
createManyToManyRelationship(relationshipDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
496
|
-
/**
|
|
497
|
-
* Delete a relationship
|
|
498
|
-
* @param metadataId The MetadataId of the relationship to delete
|
|
499
|
-
*/
|
|
500
|
-
deleteRelationship(metadataId: string): Promise<void>;
|
|
501
|
-
/**
|
|
502
|
-
* Update a relationship
|
|
503
|
-
* Note: Most relationship properties are immutable, only labels can be updated
|
|
504
|
-
* @param metadataId The MetadataId of the relationship
|
|
505
|
-
* @param updates The properties to update (typically labels)
|
|
506
|
-
*/
|
|
507
|
-
updateRelationship(metadataId: string, updates: any): Promise<void>;
|
|
508
|
-
/**
|
|
509
|
-
* Get detailed information about a relationship
|
|
510
|
-
* @param metadataId The MetadataId of the relationship
|
|
511
|
-
* @returns The relationship metadata
|
|
512
|
-
*/
|
|
513
|
-
getRelationshipDetails(metadataId: string): Promise<any>;
|
|
514
|
-
/**
|
|
515
|
-
* Publish all customizations
|
|
516
|
-
*/
|
|
517
|
-
publishAllCustomizations(): Promise<void>;
|
|
518
|
-
/**
|
|
519
|
-
* Publish specific customizations
|
|
520
|
-
* @param parameterXml The ParameterXml specifying what to publish
|
|
521
|
-
*/
|
|
522
|
-
publishXml(parameterXml: string): Promise<void>;
|
|
523
|
-
/**
|
|
524
|
-
* Create a global option set
|
|
525
|
-
* @param optionSetDefinition The option set definition
|
|
526
|
-
* @param solutionUniqueName Optional solution to add the option set to
|
|
527
|
-
*/
|
|
528
|
-
createGlobalOptionSet(optionSetDefinition: any, solutionUniqueName?: string): Promise<any>;
|
|
529
|
-
/**
|
|
530
|
-
* Delete a global option set
|
|
531
|
-
* @param metadataId The MetadataId of the option set to delete
|
|
532
|
-
*/
|
|
533
|
-
deleteGlobalOptionSet(metadataId: string): Promise<void>;
|
|
534
|
-
/**
|
|
535
|
-
* Update a global option set
|
|
536
|
-
*/
|
|
537
|
-
updateGlobalOptionSet(metadataId: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
538
|
-
/**
|
|
539
|
-
* Add a value to a global option set
|
|
540
|
-
*/
|
|
541
|
-
addOptionSetValue(optionSetName: string, value: number, label: string, solutionUniqueName?: string): Promise<any>;
|
|
542
|
-
/**
|
|
543
|
-
* Update an option set value
|
|
544
|
-
*/
|
|
545
|
-
updateOptionSetValue(optionSetName: string, value: number, label: string, solutionUniqueName?: string): Promise<void>;
|
|
546
|
-
/**
|
|
547
|
-
* Delete an option set value
|
|
548
|
-
*/
|
|
549
|
-
deleteOptionSetValue(optionSetName: string, value: number): Promise<void>;
|
|
550
|
-
/**
|
|
551
|
-
* Reorder option set values
|
|
552
|
-
*/
|
|
553
|
-
reorderOptionSetValues(optionSetName: string, values: number[], solutionUniqueName?: string): Promise<void>;
|
|
554
|
-
/**
|
|
555
|
-
* Create a form (systemform)
|
|
556
|
-
*/
|
|
557
|
-
createForm(form: any, solutionUniqueName?: string): Promise<any>;
|
|
558
|
-
/**
|
|
559
|
-
* Update a form
|
|
560
|
-
*/
|
|
561
|
-
updateForm(formId: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
562
|
-
/**
|
|
563
|
-
* Delete a form
|
|
564
|
-
*/
|
|
565
|
-
deleteForm(formId: string): Promise<void>;
|
|
566
|
-
/**
|
|
567
|
-
* Get forms for an entity
|
|
568
|
-
*/
|
|
569
|
-
getForms(entityLogicalName: string): Promise<any>;
|
|
570
|
-
/**
|
|
571
|
-
* Create a view (savedquery)
|
|
572
|
-
*/
|
|
573
|
-
createView(view: any, solutionUniqueName?: string): Promise<any>;
|
|
574
|
-
/**
|
|
575
|
-
* Update a view
|
|
576
|
-
*/
|
|
577
|
-
updateView(viewId: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
578
|
-
/**
|
|
579
|
-
* Delete a view
|
|
580
|
-
*/
|
|
581
|
-
deleteView(viewId: string): Promise<void>;
|
|
582
|
-
/**
|
|
583
|
-
* Get views for an entity
|
|
584
|
-
*/
|
|
585
|
-
getViews(entityLogicalName: string): Promise<any>;
|
|
586
|
-
/**
|
|
587
|
-
* Activate a form (set statecode=1)
|
|
588
|
-
* @param formId The systemformid (GUID)
|
|
589
|
-
*/
|
|
590
|
-
activateForm(formId: string): Promise<void>;
|
|
591
|
-
/**
|
|
592
|
-
* Deactivate a form (set statecode=0)
|
|
593
|
-
* @param formId The systemformid (GUID)
|
|
594
|
-
*/
|
|
595
|
-
deactivateForm(formId: string): Promise<void>;
|
|
596
|
-
/**
|
|
597
|
-
* Set a view as the default view for its entity
|
|
598
|
-
* @param viewId The savedqueryid (GUID)
|
|
599
|
-
*/
|
|
600
|
-
setDefaultView(viewId: string): Promise<void>;
|
|
601
|
-
/**
|
|
602
|
-
* Get the FetchXML from a view
|
|
603
|
-
* @param viewId The savedqueryid (GUID)
|
|
604
|
-
* @returns The view with FetchXML
|
|
605
|
-
*/
|
|
606
|
-
getViewFetchXml(viewId: string): Promise<any>;
|
|
607
|
-
/**
|
|
608
|
-
* Create a web resource
|
|
609
|
-
*/
|
|
610
|
-
createWebResource(webResource: any, solutionUniqueName?: string): Promise<any>;
|
|
611
|
-
/**
|
|
612
|
-
* Update a web resource
|
|
613
|
-
*/
|
|
614
|
-
updateWebResource(webResourceId: string, updates: any, solutionUniqueName?: string): Promise<void>;
|
|
615
|
-
/**
|
|
616
|
-
* Delete a web resource
|
|
617
|
-
*/
|
|
618
|
-
deleteWebResource(webResourceId: string): Promise<void>;
|
|
619
|
-
/**
|
|
620
|
-
* Get web resource
|
|
621
|
-
*/
|
|
622
|
-
getWebResource(webResourceId: string): Promise<any>;
|
|
623
|
-
/**
|
|
624
|
-
* Get web resources by name pattern
|
|
625
|
-
*/
|
|
626
|
-
getWebResources(nameFilter?: string): Promise<any>;
|
|
627
|
-
/**
|
|
628
|
-
* Get web resource content (base64 encoded)
|
|
629
|
-
* @param webResourceId The webresourceid (GUID)
|
|
630
|
-
* @returns The web resource with content field
|
|
631
|
-
*/
|
|
632
|
-
getWebResourceContent(webResourceId: string): Promise<any>;
|
|
633
|
-
/**
|
|
634
|
-
* Get web resource dependencies
|
|
635
|
-
* @param webResourceId The webresourceid (GUID)
|
|
636
|
-
* @returns List of dependencies
|
|
637
|
-
*/
|
|
638
|
-
getWebResourceDependencies(webResourceId: string): Promise<any>;
|
|
639
|
-
/**
|
|
640
|
-
* Create a publisher
|
|
641
|
-
*/
|
|
642
|
-
createPublisher(publisher: any): Promise<any>;
|
|
643
|
-
/**
|
|
644
|
-
* Get publishers
|
|
645
|
-
*/
|
|
646
|
-
getPublishers(): Promise<any>;
|
|
647
|
-
/**
|
|
648
|
-
* Create a solution
|
|
649
|
-
*/
|
|
650
|
-
createSolution(solution: any): Promise<any>;
|
|
651
|
-
/**
|
|
652
|
-
* Get solutions
|
|
653
|
-
*/
|
|
654
|
-
getSolutions(): Promise<any>;
|
|
655
|
-
/**
|
|
656
|
-
* Get solution by unique name
|
|
657
|
-
*/
|
|
658
|
-
getSolution(uniqueName: string): Promise<any>;
|
|
659
|
-
/**
|
|
660
|
-
* Add component to solution
|
|
661
|
-
*/
|
|
662
|
-
addComponentToSolution(solutionUniqueName: string, componentId: string, componentType: number, addRequiredComponents?: boolean, includedComponentSettingsValues?: string): Promise<void>;
|
|
663
|
-
/**
|
|
664
|
-
* Remove component from solution
|
|
665
|
-
*/
|
|
666
|
-
removeComponentFromSolution(solutionUniqueName: string, componentId: string, componentType: number): Promise<void>;
|
|
667
|
-
/**
|
|
668
|
-
* Get solution components
|
|
669
|
-
*/
|
|
670
|
-
getSolutionComponents(solutionUniqueName: string): Promise<any>;
|
|
671
|
-
/**
|
|
672
|
-
* Export solution
|
|
673
|
-
*/
|
|
674
|
-
exportSolution(solutionName: string, managed?: boolean): Promise<any>;
|
|
675
|
-
/**
|
|
676
|
-
* Import solution
|
|
677
|
-
*/
|
|
678
|
-
importSolution(customizationFile: string, publishWorkflows?: boolean, overwriteUnmanagedCustomizations?: boolean): Promise<any>;
|
|
679
|
-
/**
|
|
680
|
-
* Delete a solution
|
|
681
|
-
*/
|
|
682
|
-
deleteSolution(solutionId: string): Promise<void>;
|
|
683
|
-
/**
|
|
684
|
-
* Publish specific entity
|
|
685
|
-
*/
|
|
686
|
-
publishEntity(entityLogicalName: string): Promise<void>;
|
|
687
|
-
/**
|
|
688
|
-
* Publish specific component
|
|
689
|
-
*/
|
|
690
|
-
publishComponent(componentId: string, componentType: number): Promise<void>;
|
|
691
|
-
/**
|
|
692
|
-
* Check for unpublished customizations
|
|
693
|
-
*/
|
|
694
|
-
checkUnpublishedChanges(): Promise<any>;
|
|
695
|
-
/**
|
|
696
|
-
* Check component dependencies
|
|
697
|
-
*/
|
|
698
|
-
checkDependencies(componentId: string, componentType: number): Promise<any>;
|
|
699
|
-
/**
|
|
700
|
-
* Check if component can be deleted
|
|
701
|
-
*/
|
|
139
|
+
getApp(appId: string): Promise<unknown>;
|
|
140
|
+
getAppComponents(appId: string): Promise<{
|
|
141
|
+
totalCount: number;
|
|
142
|
+
components: unknown[];
|
|
143
|
+
groupedByType: Record<string, unknown[]>;
|
|
144
|
+
}>;
|
|
145
|
+
getAppSitemap(appId: string): Promise<unknown>;
|
|
146
|
+
getForms(entityLogicalName: string): Promise<unknown>;
|
|
147
|
+
getViews(entityLogicalName: string): Promise<unknown>;
|
|
148
|
+
getViewFetchXml(viewId: string): Promise<unknown>;
|
|
149
|
+
getWebResource(webResourceId: string): Promise<unknown>;
|
|
150
|
+
getWebResources(nameFilter?: string): Promise<unknown>;
|
|
151
|
+
getWebResourceDependencies(webResourceId: string): Promise<unknown>;
|
|
152
|
+
getPublishers(): Promise<unknown>;
|
|
153
|
+
getSolutions(): Promise<unknown>;
|
|
154
|
+
getSolution(uniqueName: string): Promise<unknown>;
|
|
155
|
+
getSolutionComponents(solutionUniqueName: string): Promise<unknown>;
|
|
156
|
+
checkDependencies(componentId: string, componentType: number): Promise<unknown>;
|
|
702
157
|
checkDeleteEligibility(componentId: string, componentType: number): Promise<{
|
|
703
158
|
canDelete: boolean;
|
|
704
|
-
dependencies:
|
|
159
|
+
dependencies: unknown[];
|
|
705
160
|
}>;
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
previewUnpublishedChanges(): Promise<any>;
|
|
711
|
-
/**
|
|
712
|
-
* Check dependencies for a specific component
|
|
713
|
-
* @param componentId The component ID (GUID)
|
|
714
|
-
* @param componentType The component type code
|
|
715
|
-
* @returns Dependency information
|
|
716
|
-
*/
|
|
717
|
-
checkComponentDependencies(componentId: string, componentType: number): Promise<any>;
|
|
718
|
-
/**
|
|
719
|
-
* Validate solution integrity
|
|
720
|
-
* Checks for missing dependencies and other issues
|
|
721
|
-
* @param solutionUniqueName The unique name of the solution
|
|
722
|
-
* @returns Validation results
|
|
723
|
-
*/
|
|
724
|
-
validateSolutionIntegrity(solutionUniqueName: string): Promise<any>;
|
|
725
|
-
/**
|
|
726
|
-
* Validate schema name
|
|
727
|
-
*/
|
|
161
|
+
checkComponentDependencies(componentId: string, componentType: number): Promise<unknown>;
|
|
162
|
+
checkUnpublishedChanges(): Promise<unknown>;
|
|
163
|
+
previewUnpublishedChanges(): Promise<unknown>;
|
|
164
|
+
validateBestPractices(solutionUniqueName: string | undefined, entityLogicalNames: string[] | undefined, publisherPrefix: string, recentDays?: number, includeRefDataTables?: boolean, rules?: string[], maxEntities?: number, requiredColumns?: string[]): Promise<BestPracticesValidationResult>;
|
|
728
165
|
validateSchemaName(schemaName: string, prefix: string): {
|
|
729
166
|
valid: boolean;
|
|
730
167
|
errors: string[];
|
|
731
168
|
};
|
|
732
|
-
/**
|
|
733
|
-
* Get entity customization information
|
|
734
|
-
*/
|
|
735
|
-
getEntityCustomizationInfo(entityLogicalName: string): Promise<any>;
|
|
736
|
-
/**
|
|
737
|
-
* Check if entity has dependencies
|
|
738
|
-
*/
|
|
739
|
-
checkEntityDependencies(entityLogicalName: string): Promise<any>;
|
|
740
|
-
/**
|
|
741
|
-
* Helper to generate GUID
|
|
742
|
-
*/
|
|
743
|
-
private generateGuid;
|
|
744
|
-
/**
|
|
745
|
-
* Validate Dataverse entities against best practices
|
|
746
|
-
* @param solutionUniqueName - Solution unique name (mutually exclusive with entityLogicalNames)
|
|
747
|
-
* @param entityLogicalNames - Explicit list of entities to validate (mutually exclusive with solutionUniqueName)
|
|
748
|
-
* @param publisherPrefix - Publisher prefix to validate against (e.g., 'sic_')
|
|
749
|
-
* @param recentDays - Only validate columns created in last N days (0 = all columns)
|
|
750
|
-
* @param includeRefDataTables - Include RefData tables in validation
|
|
751
|
-
* @param rules - Specific rules to validate
|
|
752
|
-
* @param maxEntities - Maximum number of entities to validate (0 = unlimited)
|
|
753
|
-
* @returns Structured validation results with violations
|
|
754
|
-
*/
|
|
755
|
-
validateBestPractices(solutionUniqueName: string | undefined, entityLogicalNames: string[] | undefined, publisherPrefix: string, recentDays?: number, includeRefDataTables?: boolean, rules?: string[], maxEntities?: number, requiredColumns?: string[]): Promise<BestPracticesValidationResult>;
|
|
756
|
-
/**
|
|
757
|
-
* Helper method to validate entity-level properties and attributes against best practice rules
|
|
758
|
-
*/
|
|
759
|
-
private validateEntityAndAttributes;
|
|
760
|
-
/**
|
|
761
|
-
* Build violations summary with complete lists of affected entities and columns grouped by rule
|
|
762
|
-
* @private
|
|
763
|
-
*/
|
|
764
|
-
private buildViolationsSummary;
|
|
765
|
-
/**
|
|
766
|
-
* Find automations with YAML metadata indicating they modify a specific table
|
|
767
|
-
* Fast server-side search using OData contains() filter
|
|
768
|
-
*/
|
|
769
|
-
findDocumentedAutomationsByTable(tableName: string, options?: {
|
|
770
|
-
includeFlows?: boolean;
|
|
771
|
-
includeWorkflows?: boolean;
|
|
772
|
-
activeOnly?: boolean;
|
|
773
|
-
}): Promise<{
|
|
774
|
-
matches: Array<{
|
|
775
|
-
id: string;
|
|
776
|
-
name: string;
|
|
777
|
-
type: 'flow' | 'workflow';
|
|
778
|
-
tablesModified: string[];
|
|
779
|
-
trigger: string;
|
|
780
|
-
description: string;
|
|
781
|
-
}>;
|
|
782
|
-
undocumentedCount: number;
|
|
783
|
-
searchedCount: number;
|
|
784
|
-
}>;
|
|
785
|
-
/**
|
|
786
|
-
* Deep analysis of automations lacking YAML metadata
|
|
787
|
-
* Fetches and parses definitions to find which tables they modify
|
|
788
|
-
*/
|
|
789
|
-
analyzeUndocumentedAutomations(tableName: string, options?: {
|
|
790
|
-
includeFlows?: boolean;
|
|
791
|
-
includeWorkflows?: boolean;
|
|
792
|
-
activeOnly?: boolean;
|
|
793
|
-
maxToAnalyze?: number;
|
|
794
|
-
}): Promise<{
|
|
795
|
-
matches: Array<{
|
|
796
|
-
id: string;
|
|
797
|
-
name: string;
|
|
798
|
-
type: 'flow' | 'workflow';
|
|
799
|
-
tablesModified: string[];
|
|
800
|
-
trigger: string;
|
|
801
|
-
documented: false;
|
|
802
|
-
}>;
|
|
803
|
-
analyzedCount: number;
|
|
804
|
-
skippedCount: number;
|
|
805
|
-
}>;
|
|
806
169
|
}
|
|
807
170
|
//# sourceMappingURL=PowerPlatformService.d.ts.map
|