@mcp-consultant-tools/powerplatform-core 26.0.0-beta.2

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.
Files changed (153) hide show
  1. package/build/auth/index.d.ts +64 -0
  2. package/build/auth/index.d.ts.map +1 -0
  3. package/build/auth/index.js +39 -0
  4. package/build/auth/index.js.map +1 -0
  5. package/build/auth/interactive-auth.d.ts +60 -0
  6. package/build/auth/interactive-auth.d.ts.map +1 -0
  7. package/build/auth/interactive-auth.js +429 -0
  8. package/build/auth/interactive-auth.js.map +1 -0
  9. package/build/auth/service-principal-auth.d.ts +26 -0
  10. package/build/auth/service-principal-auth.d.ts.map +1 -0
  11. package/build/auth/service-principal-auth.js +60 -0
  12. package/build/auth/service-principal-auth.js.map +1 -0
  13. package/build/auth/token-cache.d.ts +40 -0
  14. package/build/auth/token-cache.d.ts.map +1 -0
  15. package/build/auth/token-cache.js +108 -0
  16. package/build/auth/token-cache.js.map +1 -0
  17. package/build/client/PowerPlatformClient.d.ts +78 -0
  18. package/build/client/PowerPlatformClient.d.ts.map +1 -0
  19. package/build/client/PowerPlatformClient.js +198 -0
  20. package/build/client/PowerPlatformClient.js.map +1 -0
  21. package/build/client/index.d.ts +6 -0
  22. package/build/client/index.d.ts.map +1 -0
  23. package/build/client/index.js +6 -0
  24. package/build/client/index.js.map +1 -0
  25. package/build/client/types.d.ts +300 -0
  26. package/build/client/types.d.ts.map +1 -0
  27. package/build/client/types.js +5 -0
  28. package/build/client/types.js.map +1 -0
  29. package/build/index.d.ts +36 -0
  30. package/build/index.d.ts.map +1 -0
  31. package/build/index.js +55 -0
  32. package/build/index.js.map +1 -0
  33. package/build/services/AppManagementService.d.ts +95 -0
  34. package/build/services/AppManagementService.d.ts.map +1 -0
  35. package/build/services/AppManagementService.js +322 -0
  36. package/build/services/AppManagementService.js.map +1 -0
  37. package/build/services/AppService.d.ts +39 -0
  38. package/build/services/AppService.d.ts.map +1 -0
  39. package/build/services/AppService.js +173 -0
  40. package/build/services/AppService.js.map +1 -0
  41. package/build/services/AttributeService.d.ts +28 -0
  42. package/build/services/AttributeService.d.ts.map +1 -0
  43. package/build/services/AttributeService.js +86 -0
  44. package/build/services/AttributeService.js.map +1 -0
  45. package/build/services/BusinessRuleService.d.ts +22 -0
  46. package/build/services/BusinessRuleService.d.ts.map +1 -0
  47. package/build/services/BusinessRuleService.js +85 -0
  48. package/build/services/BusinessRuleService.js.map +1 -0
  49. package/build/services/DataService.d.ts +53 -0
  50. package/build/services/DataService.d.ts.map +1 -0
  51. package/build/services/DataService.js +204 -0
  52. package/build/services/DataService.js.map +1 -0
  53. package/build/services/DependencyService.d.ts +27 -0
  54. package/build/services/DependencyService.d.ts.map +1 -0
  55. package/build/services/DependencyService.js +47 -0
  56. package/build/services/DependencyService.js.map +1 -0
  57. package/build/services/EntityService.d.ts +42 -0
  58. package/build/services/EntityService.d.ts.map +1 -0
  59. package/build/services/EntityService.js +132 -0
  60. package/build/services/EntityService.js.map +1 -0
  61. package/build/services/FlowService.d.ts +55 -0
  62. package/build/services/FlowService.d.ts.map +1 -0
  63. package/build/services/FlowService.js +608 -0
  64. package/build/services/FlowService.js.map +1 -0
  65. package/build/services/FormService.d.ts +36 -0
  66. package/build/services/FormService.d.ts.map +1 -0
  67. package/build/services/FormService.js +55 -0
  68. package/build/services/FormService.js.map +1 -0
  69. package/build/services/MetadataService.d.ts +63 -0
  70. package/build/services/MetadataService.d.ts.map +1 -0
  71. package/build/services/MetadataService.js +176 -0
  72. package/build/services/MetadataService.js.map +1 -0
  73. package/build/services/OptionSetService.d.ts +40 -0
  74. package/build/services/OptionSetService.d.ts.map +1 -0
  75. package/build/services/OptionSetService.js +91 -0
  76. package/build/services/OptionSetService.js.map +1 -0
  77. package/build/services/PluginDeploymentService.d.ts +102 -0
  78. package/build/services/PluginDeploymentService.d.ts.map +1 -0
  79. package/build/services/PluginDeploymentService.js +412 -0
  80. package/build/services/PluginDeploymentService.js.map +1 -0
  81. package/build/services/PluginService.d.ts +61 -0
  82. package/build/services/PluginService.d.ts.map +1 -0
  83. package/build/services/PluginService.js +289 -0
  84. package/build/services/PluginService.js.map +1 -0
  85. package/build/services/PublishingService.d.ts +37 -0
  86. package/build/services/PublishingService.d.ts.map +1 -0
  87. package/build/services/PublishingService.js +65 -0
  88. package/build/services/PublishingService.js.map +1 -0
  89. package/build/services/RelationshipService.d.ts +29 -0
  90. package/build/services/RelationshipService.d.ts.map +1 -0
  91. package/build/services/RelationshipService.js +46 -0
  92. package/build/services/RelationshipService.js.map +1 -0
  93. package/build/services/SolutionService.d.ts +60 -0
  94. package/build/services/SolutionService.d.ts.map +1 -0
  95. package/build/services/SolutionService.js +125 -0
  96. package/build/services/SolutionService.js.map +1 -0
  97. package/build/services/ValidationService.d.ts +31 -0
  98. package/build/services/ValidationService.d.ts.map +1 -0
  99. package/build/services/ValidationService.js +391 -0
  100. package/build/services/ValidationService.js.map +1 -0
  101. package/build/services/ViewService.d.ts +36 -0
  102. package/build/services/ViewService.d.ts.map +1 -0
  103. package/build/services/ViewService.js +55 -0
  104. package/build/services/ViewService.js.map +1 -0
  105. package/build/services/WebResourceService.d.ts +40 -0
  106. package/build/services/WebResourceService.d.ts.map +1 -0
  107. package/build/services/WebResourceService.js +64 -0
  108. package/build/services/WebResourceService.js.map +1 -0
  109. package/build/services/WorkflowManagementService.d.ts +157 -0
  110. package/build/services/WorkflowManagementService.d.ts.map +1 -0
  111. package/build/services/WorkflowManagementService.js +567 -0
  112. package/build/services/WorkflowManagementService.js.map +1 -0
  113. package/build/services/WorkflowService.d.ts +28 -0
  114. package/build/services/WorkflowService.d.ts.map +1 -0
  115. package/build/services/WorkflowService.js +285 -0
  116. package/build/services/WorkflowService.js.map +1 -0
  117. package/build/services/index.d.ts +29 -0
  118. package/build/services/index.d.ts.map +1 -0
  119. package/build/services/index.js +31 -0
  120. package/build/services/index.js.map +1 -0
  121. package/build/utils/auditLogger.d.ts +76 -0
  122. package/build/utils/auditLogger.d.ts.map +1 -0
  123. package/build/utils/auditLogger.js +110 -0
  124. package/build/utils/auditLogger.js.map +1 -0
  125. package/build/utils/best-practices-formatters.d.ts +26 -0
  126. package/build/utils/best-practices-formatters.d.ts.map +1 -0
  127. package/build/utils/best-practices-formatters.js +238 -0
  128. package/build/utils/best-practices-formatters.js.map +1 -0
  129. package/build/utils/bestPractices.d.ts +150 -0
  130. package/build/utils/bestPractices.d.ts.map +1 -0
  131. package/build/utils/bestPractices.js +324 -0
  132. package/build/utils/bestPractices.js.map +1 -0
  133. package/build/utils/iconManager.d.ts +84 -0
  134. package/build/utils/iconManager.d.ts.map +1 -0
  135. package/build/utils/iconManager.js +338 -0
  136. package/build/utils/iconManager.js.map +1 -0
  137. package/build/utils/index.d.ts +11 -0
  138. package/build/utils/index.d.ts.map +1 -0
  139. package/build/utils/index.js +18 -0
  140. package/build/utils/index.js.map +1 -0
  141. package/build/utils/prompt-templates.d.ts +9 -0
  142. package/build/utils/prompt-templates.d.ts.map +1 -0
  143. package/build/utils/prompt-templates.js +31 -0
  144. package/build/utils/prompt-templates.js.map +1 -0
  145. package/build/utils/publisherConfig.d.ts +33 -0
  146. package/build/utils/publisherConfig.d.ts.map +1 -0
  147. package/build/utils/publisherConfig.js +54 -0
  148. package/build/utils/publisherConfig.js.map +1 -0
  149. package/build/utils/rate-limiter.d.ts +108 -0
  150. package/build/utils/rate-limiter.d.ts.map +1 -0
  151. package/build/utils/rate-limiter.js +242 -0
  152. package/build/utils/rate-limiter.js.map +1 -0
  153. package/package.json +65 -0
@@ -0,0 +1,412 @@
1
+ /**
2
+ * PluginDeploymentService
3
+ *
4
+ * Service for plugin deployment operations.
5
+ * Note: This service should only be used by powerplatform-customization package.
6
+ */
7
+ import { auditLogger } from '../utils/auditLogger.js';
8
+ export class PluginDeploymentService {
9
+ client;
10
+ addComponentToSolution;
11
+ constructor(client, addComponentToSolution) {
12
+ this.client = client;
13
+ this.addComponentToSolution = addComponentToSolution;
14
+ }
15
+ /**
16
+ * Extract assembly version from .NET DLL
17
+ */
18
+ async extractAssemblyVersion(assemblyPath) {
19
+ try {
20
+ const fs = await import('fs/promises');
21
+ const normalizedPath = assemblyPath.replace(/\\/g, '/');
22
+ const buffer = await fs.readFile(normalizedPath);
23
+ // Validate DLL format
24
+ const header = buffer.toString('utf8', 0, 2);
25
+ if (header !== 'MZ') {
26
+ return '1.0.0.0';
27
+ }
28
+ // Search for version pattern
29
+ const bufferStr = buffer.toString('utf16le');
30
+ const versionMatch = bufferStr.match(/\d+\.\d+\.\d+\.\d+/);
31
+ return versionMatch ? versionMatch[0] : '1.0.0.0';
32
+ }
33
+ catch {
34
+ return '1.0.0.0';
35
+ }
36
+ }
37
+ /**
38
+ * Query plugin type by typename
39
+ */
40
+ async queryPluginTypeByTypename(typename) {
41
+ const response = await this.client.makeRequest(`api/data/v9.2/plugintypes?$filter=typename eq '${typename}'&$select=plugintypeid`);
42
+ if (!response.value || response.value.length === 0) {
43
+ throw new Error(`Plugin type '${typename}' not found. Did you upload the assembly first?`);
44
+ }
45
+ return response.value[0].plugintypeid;
46
+ }
47
+ /**
48
+ * Query plugin assembly by name
49
+ */
50
+ async queryPluginAssemblyByName(assemblyName) {
51
+ const response = await this.client.makeRequest(`api/data/v9.2/pluginassemblies?$filter=name eq '${assemblyName}'&$select=pluginassemblyid`);
52
+ if (!response.value || response.value.length === 0) {
53
+ return null;
54
+ }
55
+ return response.value[0].pluginassemblyid;
56
+ }
57
+ /**
58
+ * Get plugin types for an assembly
59
+ */
60
+ async getPluginTypesForAssembly(assemblyId) {
61
+ const types = await this.client.makeRequest(`api/data/v9.2/plugintypes?$filter=_pluginassemblyid_value eq ${assemblyId}&$select=plugintypeid,typename,friendlyname`);
62
+ return types.value.map((t) => ({
63
+ pluginTypeId: t.plugintypeid,
64
+ typeName: t.typename,
65
+ friendlyName: t.friendlyname,
66
+ }));
67
+ }
68
+ /**
69
+ * Resolve SDK Message and Filter IDs
70
+ */
71
+ async resolveSdkMessageAndFilter(messageName, entityName) {
72
+ const timer = auditLogger.startTimer();
73
+ try {
74
+ // Get SDK Message ID
75
+ const messages = await this.client.makeRequest(`api/data/v9.2/sdkmessages?$filter=name eq '${messageName}'&$select=sdkmessageid,name`);
76
+ if (!messages.value || messages.value.length === 0) {
77
+ throw new Error(`SDK message '${messageName}' not found. Common: Create, Update, Delete, SetState`);
78
+ }
79
+ const messageId = messages.value[0].sdkmessageid;
80
+ // Get SDK Message Filter ID
81
+ const filters = await this.client.makeRequest(`api/data/v9.2/sdkmessagefilters?$filter=sdkmessageid/sdkmessageid eq ${messageId} and primaryobjecttypecode eq '${entityName}'&$select=sdkmessagefilterid`);
82
+ if (!filters.value || filters.value.length === 0) {
83
+ throw new Error(`SDK message filter not found for '${messageName}' on '${entityName}'`);
84
+ }
85
+ const filterId = filters.value[0].sdkmessagefilterid;
86
+ auditLogger.log({
87
+ operation: 'resolve-sdk-message-filter',
88
+ operationType: 'READ',
89
+ componentType: 'SdkMessage',
90
+ success: true,
91
+ parameters: { messageName, entityName, messageId, filterId },
92
+ executionTimeMs: timer(),
93
+ });
94
+ return { messageId, filterId };
95
+ }
96
+ catch (error) {
97
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
98
+ auditLogger.log({
99
+ operation: 'resolve-sdk-message-filter',
100
+ operationType: 'READ',
101
+ componentType: 'SdkMessage',
102
+ success: false,
103
+ error: errorMessage,
104
+ executionTimeMs: timer(),
105
+ });
106
+ throw error;
107
+ }
108
+ }
109
+ /**
110
+ * Create a new plugin assembly
111
+ */
112
+ async createPluginAssembly(options) {
113
+ const timer = auditLogger.startTimer();
114
+ try {
115
+ // Validate DLL size (16MB limit)
116
+ const dllSize = Buffer.from(options.content, 'base64').length;
117
+ const maxSize = 16 * 1024 * 1024;
118
+ if (dllSize > maxSize) {
119
+ throw new Error(`Assembly exceeds 16MB limit (current: ${(dllSize / 1024 / 1024).toFixed(2)}MB)`);
120
+ }
121
+ const assemblyData = {
122
+ name: options.name,
123
+ content: options.content,
124
+ version: options.version,
125
+ isolationmode: options.isolationMode ?? 2,
126
+ sourcetype: options.sourceType ?? 0,
127
+ culture: 'neutral',
128
+ };
129
+ if (options.description) {
130
+ assemblyData.description = options.description;
131
+ }
132
+ const createResponse = await this.client.makeRequest('api/data/v9.2/pluginassemblies', 'POST', assemblyData, {
133
+ Prefer: 'return=representation',
134
+ });
135
+ const pluginAssemblyId = createResponse.pluginassemblyid ||
136
+ createResponse.id;
137
+ if (!pluginAssemblyId) {
138
+ throw new Error('Plugin assembly created but ID not returned');
139
+ }
140
+ // Add to solution if specified
141
+ if (options.solutionUniqueName) {
142
+ await this.addComponentToSolution(options.solutionUniqueName, pluginAssemblyId, 91 // PluginAssembly
143
+ );
144
+ }
145
+ // Poll for plugin types (async creation)
146
+ const pluginTypes = [];
147
+ const maxAttempts = 30;
148
+ const pollInterval = 2000;
149
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
150
+ if (attempt > 0) {
151
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
152
+ }
153
+ const types = await this.getPluginTypesForAssembly(pluginAssemblyId);
154
+ if (types.length > 0) {
155
+ pluginTypes.push(...types);
156
+ break;
157
+ }
158
+ }
159
+ if (pluginTypes.length === 0) {
160
+ throw new Error(`Plugin types not created after ${(maxAttempts * pollInterval) / 1000} seconds`);
161
+ }
162
+ auditLogger.log({
163
+ operation: 'create-plugin-assembly',
164
+ operationType: 'CREATE',
165
+ componentId: pluginAssemblyId,
166
+ componentType: 'PluginAssembly',
167
+ success: true,
168
+ parameters: {
169
+ name: options.name,
170
+ version: options.version,
171
+ size: dllSize,
172
+ pluginTypeCount: pluginTypes.length,
173
+ },
174
+ executionTimeMs: timer(),
175
+ });
176
+ return { pluginAssemblyId, pluginTypes };
177
+ }
178
+ catch (error) {
179
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
180
+ auditLogger.log({
181
+ operation: 'create-plugin-assembly',
182
+ operationType: 'CREATE',
183
+ componentName: options.name,
184
+ componentType: 'PluginAssembly',
185
+ success: false,
186
+ error: errorMessage,
187
+ executionTimeMs: timer(),
188
+ });
189
+ throw error;
190
+ }
191
+ }
192
+ /**
193
+ * Update an existing plugin assembly
194
+ */
195
+ async updatePluginAssembly(assemblyId, content, version, solutionUniqueName) {
196
+ const timer = auditLogger.startTimer();
197
+ try {
198
+ const dllSize = Buffer.from(content, 'base64').length;
199
+ const maxSize = 16 * 1024 * 1024;
200
+ if (dllSize > maxSize) {
201
+ throw new Error(`Assembly exceeds 16MB limit (current: ${(dllSize / 1024 / 1024).toFixed(2)}MB)`);
202
+ }
203
+ await this.client.makeRequest(`api/data/v9.2/pluginassemblies(${assemblyId})`, 'PATCH', { content, version });
204
+ if (solutionUniqueName) {
205
+ await this.addComponentToSolution(solutionUniqueName, assemblyId, 91);
206
+ }
207
+ auditLogger.log({
208
+ operation: 'update-plugin-assembly',
209
+ operationType: 'UPDATE',
210
+ componentId: assemblyId,
211
+ componentType: 'PluginAssembly',
212
+ success: true,
213
+ parameters: { assemblyId, version, size: dllSize },
214
+ executionTimeMs: timer(),
215
+ });
216
+ }
217
+ catch (error) {
218
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
219
+ auditLogger.log({
220
+ operation: 'update-plugin-assembly',
221
+ operationType: 'UPDATE',
222
+ componentId: assemblyId,
223
+ componentType: 'PluginAssembly',
224
+ success: false,
225
+ error: errorMessage,
226
+ executionTimeMs: timer(),
227
+ });
228
+ throw error;
229
+ }
230
+ }
231
+ /**
232
+ * Delete a plugin assembly
233
+ */
234
+ async deletePluginAssembly(assemblyId) {
235
+ const timer = auditLogger.startTimer();
236
+ try {
237
+ await this.client.makeRequest(`api/data/v9.2/pluginassemblies(${assemblyId})`, 'DELETE');
238
+ auditLogger.log({
239
+ operation: 'delete-plugin-assembly',
240
+ operationType: 'DELETE',
241
+ componentId: assemblyId,
242
+ componentType: 'PluginAssembly',
243
+ success: true,
244
+ executionTimeMs: timer(),
245
+ });
246
+ }
247
+ catch (error) {
248
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
249
+ auditLogger.log({
250
+ operation: 'delete-plugin-assembly',
251
+ operationType: 'DELETE',
252
+ componentId: assemblyId,
253
+ componentType: 'PluginAssembly',
254
+ success: false,
255
+ error: errorMessage,
256
+ executionTimeMs: timer(),
257
+ });
258
+ throw new Error(`Failed to delete plugin assembly: ${errorMessage}`);
259
+ }
260
+ }
261
+ /**
262
+ * Delete a plugin step
263
+ */
264
+ async deletePluginStep(stepId) {
265
+ const timer = auditLogger.startTimer();
266
+ try {
267
+ await this.client.makeRequest(`api/data/v9.2/sdkmessageprocessingsteps(${stepId})`, 'DELETE');
268
+ auditLogger.log({
269
+ operation: 'delete-plugin-step',
270
+ operationType: 'DELETE',
271
+ componentId: stepId,
272
+ componentType: 'PluginStep',
273
+ success: true,
274
+ executionTimeMs: timer(),
275
+ });
276
+ }
277
+ catch (error) {
278
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
279
+ auditLogger.log({
280
+ operation: 'delete-plugin-step',
281
+ operationType: 'DELETE',
282
+ componentId: stepId,
283
+ componentType: 'PluginStep',
284
+ success: false,
285
+ error: errorMessage,
286
+ executionTimeMs: timer(),
287
+ });
288
+ // Log but don't throw - rollback should continue
289
+ }
290
+ }
291
+ /**
292
+ * Register a plugin step
293
+ */
294
+ async registerPluginStep(options) {
295
+ const timer = auditLogger.startTimer();
296
+ try {
297
+ const { messageId, filterId } = await this.resolveSdkMessageAndFilter(options.messageName, options.primaryEntityName);
298
+ const stepData = {
299
+ name: options.name,
300
+ 'plugintypeid@odata.bind': `/plugintypes(${options.pluginTypeId})`,
301
+ 'sdkmessageid@odata.bind': `/sdkmessages(${messageId})`,
302
+ 'sdkmessagefilterid@odata.bind': `/sdkmessagefilters(${filterId})`,
303
+ stage: options.stage,
304
+ mode: options.executionMode,
305
+ rank: options.rank ?? 1,
306
+ supporteddeployment: options.supportedDeployment ?? 0,
307
+ statuscode: 1,
308
+ };
309
+ if (options.filteringAttributes) {
310
+ stepData.filteringattributes = options.filteringAttributes;
311
+ }
312
+ if (options.configuration) {
313
+ stepData.configuration = options.configuration;
314
+ }
315
+ const createResponse = await this.client.makeRequest('api/data/v9.2/sdkmessageprocessingsteps', 'POST', stepData, {
316
+ Prefer: 'return=representation',
317
+ });
318
+ const stepId = createResponse.sdkmessageprocessingstepid ||
319
+ createResponse.id;
320
+ if (!stepId) {
321
+ throw new Error('Plugin step created but ID not returned');
322
+ }
323
+ if (options.solutionUniqueName) {
324
+ await this.addComponentToSolution(options.solutionUniqueName, stepId, 92 // SDKMessageProcessingStep
325
+ );
326
+ }
327
+ auditLogger.log({
328
+ operation: 'register-plugin-step',
329
+ operationType: 'CREATE',
330
+ componentId: stepId,
331
+ componentType: 'PluginStep',
332
+ success: true,
333
+ parameters: {
334
+ name: options.name,
335
+ messageName: options.messageName,
336
+ primaryEntity: options.primaryEntityName,
337
+ stage: options.stage,
338
+ mode: options.executionMode,
339
+ },
340
+ executionTimeMs: timer(),
341
+ });
342
+ return { stepId };
343
+ }
344
+ catch (error) {
345
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
346
+ auditLogger.log({
347
+ operation: 'register-plugin-step',
348
+ operationType: 'CREATE',
349
+ componentName: options.name,
350
+ componentType: 'PluginStep',
351
+ success: false,
352
+ error: errorMessage,
353
+ executionTimeMs: timer(),
354
+ });
355
+ throw error;
356
+ }
357
+ }
358
+ /**
359
+ * Register a plugin image
360
+ */
361
+ async registerPluginImage(options) {
362
+ const timer = auditLogger.startTimer();
363
+ try {
364
+ const imageData = {
365
+ name: options.name,
366
+ 'sdkmessageprocessingstepid@odata.bind': `/sdkmessageprocessingsteps(${options.stepId})`,
367
+ imagetype: options.imageType,
368
+ entityalias: options.entityAlias,
369
+ messagepropertyname: options.messagePropertyName || 'Target',
370
+ };
371
+ if (options.attributes !== undefined) {
372
+ imageData.attributes = options.attributes;
373
+ }
374
+ const createResponse = await this.client.makeRequest('api/data/v9.2/sdkmessageprocessingstepimages', 'POST', imageData, {
375
+ Prefer: 'return=representation',
376
+ });
377
+ const imageId = createResponse.sdkmessageprocessingstepimageid ||
378
+ createResponse.id;
379
+ if (!imageId) {
380
+ throw new Error('Plugin image created but ID not returned');
381
+ }
382
+ auditLogger.log({
383
+ operation: 'register-plugin-image',
384
+ operationType: 'CREATE',
385
+ componentId: imageId,
386
+ componentType: 'PluginImage',
387
+ success: true,
388
+ parameters: {
389
+ name: options.name,
390
+ imageType: options.imageType,
391
+ stepId: options.stepId,
392
+ },
393
+ executionTimeMs: timer(),
394
+ });
395
+ return { imageId };
396
+ }
397
+ catch (error) {
398
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
399
+ auditLogger.log({
400
+ operation: 'register-plugin-image',
401
+ operationType: 'CREATE',
402
+ componentName: options.name,
403
+ componentType: 'PluginImage',
404
+ success: false,
405
+ error: errorMessage,
406
+ executionTimeMs: timer(),
407
+ });
408
+ throw error;
409
+ }
410
+ }
411
+ }
412
+ //# sourceMappingURL=PluginDeploymentService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginDeploymentService.js","sourceRoot":"","sources":["../../src/services/PluginDeploymentService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * PluginService
3
+ *
4
+ * Read-only service for plugin assemblies, types, steps, images, and trace logs.
5
+ */
6
+ import type { PowerPlatformClient } from '../client/PowerPlatformClient.js';
7
+ export declare class PluginService {
8
+ private client;
9
+ constructor(client: PowerPlatformClient);
10
+ /**
11
+ * Get all plugin assemblies in the environment
12
+ */
13
+ getPluginAssemblies(includeManaged?: boolean, maxRecords?: number): Promise<{
14
+ totalCount: number;
15
+ assemblies: unknown[];
16
+ }>;
17
+ /**
18
+ * Get a plugin assembly by name with all related plugin types, steps, and images
19
+ */
20
+ getPluginAssemblyComplete(assemblyName: string, includeDisabled?: boolean): Promise<{
21
+ assembly: unknown;
22
+ pluginTypes: unknown[];
23
+ steps: unknown[];
24
+ validation: {
25
+ hasDisabledSteps: boolean;
26
+ hasAsyncSteps: boolean;
27
+ hasSyncSteps: boolean;
28
+ stepsWithoutFilteringAttributes: string[];
29
+ stepsWithoutImages: string[];
30
+ potentialIssues: string[];
31
+ };
32
+ }>;
33
+ /**
34
+ * Get all plugins that execute on a specific entity
35
+ */
36
+ getEntityPluginPipeline(entityName: string, messageFilter?: string, includeDisabled?: boolean): Promise<{
37
+ entity: string;
38
+ messages: unknown[];
39
+ steps: unknown[];
40
+ executionOrder: string[];
41
+ }>;
42
+ /**
43
+ * Get plugin trace logs with filtering
44
+ */
45
+ getPluginTraceLogs(options: {
46
+ entityName?: string;
47
+ messageName?: string;
48
+ correlationId?: string;
49
+ pluginStepId?: string;
50
+ exceptionOnly?: boolean;
51
+ hoursBack?: number;
52
+ maxRecords?: number;
53
+ }): Promise<{
54
+ totalCount: number;
55
+ logs: unknown[];
56
+ }>;
57
+ private getOperationTypeName;
58
+ private extractExceptionType;
59
+ private extractExceptionMessage;
60
+ }
61
+ //# sourceMappingURL=PluginService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginService.d.ts","sourceRoot":"","sources":["../../src/services/PluginService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAE/C;;OAEG;IACG,mBAAmB,CACvB,cAAc,GAAE,OAAe,EAC/B,UAAU,GAAE,MAAY,GACvB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAuCzD;;OAEG;IACG,yBAAyB,CAC7B,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,UAAU,EAAE;YACV,gBAAgB,EAAE,OAAO,CAAC;YAC1B,aAAa,EAAE,OAAO,CAAC;YACvB,YAAY,EAAE,OAAO,CAAC;YACtB,+BAA+B,EAAE,MAAM,EAAE,CAAC;YAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAC;YAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;IA0GF;;OAEG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAqIF;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAsDpD,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,uBAAuB;CAWhC"}