@mcp-consultant-tools/powerplatform-core 26.0.0-beta.8 → 26.0.0

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 (49) hide show
  1. package/build/auth/index.d.ts +8 -2
  2. package/build/auth/index.d.ts.map +1 -1
  3. package/build/auth/index.js +8 -2
  4. package/build/auth/index.js.map +1 -1
  5. package/build/auth/interactive-auth.d.ts +3 -0
  6. package/build/auth/interactive-auth.d.ts.map +1 -1
  7. package/build/auth/interactive-auth.js +4 -0
  8. package/build/auth/interactive-auth.js.map +1 -1
  9. package/build/auth/service-principal-auth.d.ts +5 -5
  10. package/build/auth/service-principal-auth.d.ts.map +1 -1
  11. package/build/auth/service-principal-auth.js +24 -27
  12. package/build/auth/service-principal-auth.js.map +1 -1
  13. package/build/client/PowerPlatformClient.d.ts +7 -1
  14. package/build/client/PowerPlatformClient.d.ts.map +1 -1
  15. package/build/client/PowerPlatformClient.js +9 -1
  16. package/build/client/PowerPlatformClient.js.map +1 -1
  17. package/build/index.d.ts +3 -1
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +1 -0
  20. package/build/index.js.map +1 -1
  21. package/build/services/FlowService.d.ts +9 -3
  22. package/build/services/FlowService.d.ts.map +1 -1
  23. package/build/services/FlowService.js +104 -60
  24. package/build/services/FlowService.js.map +1 -1
  25. package/build/services/IntegrationAuditService.d.ts +160 -0
  26. package/build/services/IntegrationAuditService.d.ts.map +1 -0
  27. package/build/services/IntegrationAuditService.js +537 -0
  28. package/build/services/IntegrationAuditService.js.map +1 -0
  29. package/build/services/PluginDeploymentService.d.ts +32 -0
  30. package/build/services/PluginDeploymentService.d.ts.map +1 -1
  31. package/build/services/PluginDeploymentService.js +126 -0
  32. package/build/services/PluginDeploymentService.js.map +1 -1
  33. package/build/services/SolutionService.d.ts +16 -1
  34. package/build/services/SolutionService.d.ts.map +1 -1
  35. package/build/services/SolutionService.js +36 -3
  36. package/build/services/SolutionService.js.map +1 -1
  37. package/build/services/index.d.ts +3 -1
  38. package/build/services/index.d.ts.map +1 -1
  39. package/build/services/index.js +2 -0
  40. package/build/services/index.js.map +1 -1
  41. package/build/utils/complexity-calculator.d.ts +58 -0
  42. package/build/utils/complexity-calculator.d.ts.map +1 -0
  43. package/build/utils/complexity-calculator.js +267 -0
  44. package/build/utils/complexity-calculator.js.map +1 -0
  45. package/build/utils/index.d.ts +1 -0
  46. package/build/utils/index.d.ts.map +1 -1
  47. package/build/utils/index.js +2 -0
  48. package/build/utils/index.js.map +1 -1
  49. package/package.json +2 -1
@@ -480,66 +480,56 @@ export class FlowService {
480
480
  return summary;
481
481
  }
482
482
  /**
483
- * Get flow run history for a specific Power Automate flow using the Management API.
484
- * This replaces the previous Dataverse-based approach which returned 0 records.
483
+ * Get flow run history for a specific Power Automate flow using the Dataverse flowruns table.
484
+ * Uses the Elastic table approach which works with standard Dataverse permissions.
485
485
  */
486
486
  async getFlowRuns(flowId, options = {}) {
487
487
  const { status, startedAfter, startedBefore, maxRecords = 50, } = options;
488
488
  // Enforce max limit
489
489
  const limit = Math.min(maxRecords, 250);
490
490
  try {
491
- const environmentId = await this.getEnvironmentId();
492
- const token = await this.client.getAccessToken();
493
- // Build URL with query parameters
494
- const queryParams = [`api-version=2016-11-01`, `$top=${limit + 1}`];
495
- // Build OData filter conditions
496
- const filterConditions = [];
491
+ // Build OData filter conditions for the flowruns Elastic table
492
+ const filterConditions = [`_workflow_value eq '${flowId}'`];
497
493
  if (status) {
494
+ // Map common status names to flowruns table status values
498
495
  filterConditions.push(`status eq '${status}'`);
499
496
  }
500
497
  if (startedAfter) {
501
- filterConditions.push(`startTime ge ${startedAfter}`);
498
+ filterConditions.push(`starttime ge ${startedAfter}`);
502
499
  }
503
500
  if (startedBefore) {
504
- filterConditions.push(`startTime le ${startedBefore}`);
505
- }
506
- if (filterConditions.length > 0) {
507
- queryParams.push(`$filter=${filterConditions.join(' and ')}`);
501
+ filterConditions.push(`starttime le ${startedBefore}`);
508
502
  }
509
- const url = `https://management.azure.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/runs?${queryParams.join('&')}`;
510
- const response = await axios({
511
- method: 'GET',
512
- url,
513
- headers: {
514
- Authorization: `Bearer ${token}`,
515
- Accept: 'application/json',
516
- },
517
- });
518
- const runsData = response.data?.value || [];
503
+ const filterString = filterConditions.join(' and ');
504
+ // Query the flowruns Elastic table via Dataverse API
505
+ const response = await this.client.makeRequest(`api/data/v9.2/flowruns?$filter=${filterString}&$select=flowrunid,status,starttime,endtime,errorcode,errormessage,duration,triggertype&$orderby=starttime desc&$top=${limit + 1}`);
506
+ const runsData = response.value || [];
519
507
  const hasMore = runsData.length > limit;
520
508
  const trimmedRuns = hasMore ? runsData.slice(0, limit) : runsData;
521
509
  const formattedRuns = trimmedRuns.map((run) => {
522
- const props = run.properties || {};
523
- const triggerData = props.trigger;
524
- const errorData = props.error;
510
+ const errorCode = run.errorcode;
511
+ const errorMessage = run.errormessage;
512
+ const triggerType = run.triggertype;
525
513
  return {
526
- runId: run.name,
514
+ runId: run.flowrunid,
527
515
  flowId,
528
- status: props.status,
529
- startTime: props.startTime,
530
- endTime: props.endTime || null,
531
- trigger: triggerData ? {
532
- name: triggerData.name,
533
- status: triggerData.status,
534
- startTime: triggerData.startTime,
535
- endTime: triggerData.endTime || null,
516
+ status: run.status,
517
+ startTime: run.starttime,
518
+ endTime: run.endtime || null,
519
+ trigger: triggerType ? {
520
+ name: triggerType,
521
+ status: run.status,
522
+ startTime: run.starttime,
523
+ endTime: run.endtime || null,
536
524
  } : null,
537
- error: errorData ? {
538
- code: errorData.code || 'Unknown',
539
- message: errorData.message || 'Unknown error',
525
+ error: (errorCode || errorMessage) ? {
526
+ code: errorCode || 'Unknown',
527
+ message: errorMessage || 'Unknown error',
540
528
  } : null,
541
529
  };
542
530
  });
531
+ // Get environment ID for response (informational only)
532
+ const environmentId = await this.getEnvironmentId();
543
533
  return {
544
534
  flowId,
545
535
  environmentId,
@@ -558,24 +548,47 @@ export class FlowService {
558
548
  const err = error;
559
549
  // Provide helpful error messages for common issues
560
550
  const apiError = err.response?.data?.error;
561
- if (apiError?.code === 'FlowNotFound') {
562
- throw new Error(`Flow not found: ${flowId}. Verify the flow ID is correct and the flow exists.`);
551
+ if (err.response?.status === 404) {
552
+ throw new Error(`Flow runs not found for flow: ${flowId}. Verify the flow ID is correct.`);
563
553
  }
564
554
  if (err.response?.status === 403) {
565
- throw new Error(`Access denied to flow runs. Ensure the service principal has 'Environment Maker' role or flow co-owner permissions.`);
555
+ throw new Error(`Access denied to flowruns table. Ensure the service principal has read access to the flowruns Elastic table.`);
566
556
  }
567
557
  const errorDetails = apiError || err.response?.data || err.message;
568
558
  throw new Error(`Failed to get flow runs: ${err.message} - ${JSON.stringify(errorDetails)}`);
569
559
  }
570
560
  }
571
561
  /**
572
- * Get detailed flow run information
562
+ * Get detailed flow run information including action-level outputs and errors.
563
+ * Uses the Flow API (api.flow.microsoft.com) with $expand to get action details.
564
+ * For failed actions, fetches the outputsLink to get the detailed error message.
565
+ *
566
+ * Note: The runId can be either:
567
+ * - The Flow API run name (e.g., "08584325684145343572674129072CU28")
568
+ * - The Dataverse flowrunid GUID (will be converted via clienttrackingid lookup)
573
569
  */
574
570
  async getFlowRunDetails(flowId, runId) {
575
571
  try {
576
572
  const environmentId = await this.getEnvironmentId();
577
- const token = await this.client.getAccessToken();
578
- const url = `https://management.azure.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/runs/${runId}?api-version=2016-11-01`;
573
+ const token = await this.client.getManagementToken();
574
+ // If runId looks like a GUID, try to get the name from Dataverse flowruns table
575
+ let flowApiRunId = runId;
576
+ if (runId.includes('-') && runId.length === 36) {
577
+ // This is a flowrunid GUID from flowruns table, need to get the name field
578
+ // Note: flowruns is an Elastic table (Cosmos-backed), so we use $filter instead of key-based retrieval
579
+ try {
580
+ const response = await this.client.makeRequest(`api/data/v9.2/flowruns?$filter=flowrunid eq ${runId}&$select=name`);
581
+ if (response.value && response.value.length > 0) {
582
+ flowApiRunId = response.value[0].name || runId;
583
+ }
584
+ }
585
+ catch {
586
+ // If lookup fails, try the original ID
587
+ flowApiRunId = runId;
588
+ }
589
+ }
590
+ // Use Flow API with $expand to get action details in one call
591
+ const url = `https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/runs/${flowApiRunId}?$expand=properties/actions&api-version=2016-11-01`;
579
592
  const response = await axios({
580
593
  method: 'GET',
581
594
  url,
@@ -588,9 +601,12 @@ export class FlowService {
588
601
  const properties = runData.properties || {};
589
602
  const result = {
590
603
  flowId,
591
- runId,
604
+ runId: flowApiRunId,
605
+ originalRunId: runId,
592
606
  name: runData.name,
593
607
  status: properties.status,
608
+ code: properties.code,
609
+ error: properties.error,
594
610
  startTime: properties.startTime,
595
611
  endTime: properties.endTime,
596
612
  trigger: {
@@ -598,8 +614,6 @@ export class FlowService {
598
614
  status: properties.trigger?.status,
599
615
  startTime: properties.trigger?.startTime,
600
616
  endTime: properties.trigger?.endTime,
601
- inputsLink: properties.trigger?.inputsLink?.uri,
602
- outputsLink: properties.trigger?.outputsLink?.uri,
603
617
  },
604
618
  actions: {},
605
619
  actionsSummary: {
@@ -609,24 +623,46 @@ export class FlowService {
609
623
  skipped: 0,
610
624
  other: 0,
611
625
  },
626
+ failedActionErrors: [],
612
627
  };
613
628
  const actions = result.actions;
614
629
  const summary = result.actionsSummary;
615
- if (properties.outputs?.body) {
616
- for (const [actionName, actionData] of Object.entries(properties.outputs.body)) {
630
+ const failedErrors = result.failedActionErrors;
631
+ // Process actions from the expanded response
632
+ if (properties.actions) {
633
+ for (const [actionName, actionData] of Object.entries(properties.actions)) {
617
634
  const action = actionData;
618
- actions[actionName] = {
635
+ const status = (action.status || '').toLowerCase();
636
+ const outputsLink = action.outputsLink?.uri;
637
+ const actionResult = {
619
638
  status: action.status,
639
+ code: action.code,
620
640
  startTime: action.startTime,
621
641
  endTime: action.endTime,
622
- duration: action.duration,
623
- inputsLink: action.inputsLink?.uri,
624
- outputsLink: action.outputsLink?.uri,
625
- error: action.error || null,
626
- code: action.code || null,
642
+ error: null,
627
643
  };
644
+ // For failed actions, fetch the outputsLink to get detailed error
645
+ if (status === 'failed' && outputsLink) {
646
+ try {
647
+ // outputsLink has SAS token, no auth needed
648
+ const outputResponse = await axios.get(outputsLink);
649
+ const outputData = outputResponse.data;
650
+ if (outputData?.body?.error) {
651
+ actionResult.error = outputData.body.error;
652
+ failedErrors.push({
653
+ action: actionName,
654
+ code: outputData.body.error.code || action.code || 'Unknown',
655
+ message: outputData.body.error.message || 'Unknown error',
656
+ });
657
+ }
658
+ }
659
+ catch {
660
+ // If fetch fails, use what we have
661
+ actionResult.error = { code: action.code, message: 'Could not fetch detailed error' };
662
+ }
663
+ }
664
+ actions[actionName] = actionResult;
628
665
  summary.total++;
629
- const status = (action.status || '').toLowerCase();
630
666
  if (status === 'succeeded') {
631
667
  summary.succeeded++;
632
668
  }
@@ -656,7 +692,7 @@ export class FlowService {
656
692
  async cancelFlowRun(flowId, runId) {
657
693
  try {
658
694
  const environmentId = await this.getEnvironmentId();
659
- const token = await this.client.getAccessToken();
695
+ const token = await this.client.getManagementToken();
660
696
  // Get current run status first
661
697
  const runDetails = await this.getFlowRunDetails(flowId, runId);
662
698
  const status = runDetails.status || '';
@@ -665,7 +701,7 @@ export class FlowService {
665
701
  if (terminalStates.includes(status)) {
666
702
  throw new Error(`Cannot cancel flow run - already in terminal state: ${status}`);
667
703
  }
668
- const url = `https://management.azure.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/runs/${runId}/cancel?api-version=2016-11-01`;
704
+ const url = `https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/runs/${runId}/cancel?api-version=2016-11-01`;
669
705
  await axios.post(url, {}, {
670
706
  headers: {
671
707
  Authorization: `Bearer ${token}`,
@@ -691,7 +727,7 @@ export class FlowService {
691
727
  async resubmitFlowRun(flowId, runId) {
692
728
  try {
693
729
  const environmentId = await this.getEnvironmentId();
694
- const token = await this.client.getAccessToken();
730
+ const token = await this.client.getManagementToken();
695
731
  // Get trigger name from flow definition
696
732
  const flowDef = await this.getFlowDefinition(flowId, false);
697
733
  const flowDefinition = flowDef.flowDefinition;
@@ -699,7 +735,7 @@ export class FlowService {
699
735
  const definition = properties?.definition;
700
736
  const triggers = definition?.triggers;
701
737
  const triggerName = triggers ? Object.keys(triggers)[0] : 'manual';
702
- const url = `https://management.azure.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/triggers/${triggerName}/histories/${runId}/resubmit?api-version=2016-11-01`;
738
+ const url = `https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments/${environmentId}/flows/${flowId}/triggers/${triggerName}/histories/${runId}/resubmit?api-version=2016-11-01`;
703
739
  const response = await axios.post(url, {}, {
704
740
  headers: {
705
741
  Authorization: `Bearer ${token}`,
@@ -721,9 +757,17 @@ export class FlowService {
721
757
  }
722
758
  }
723
759
  async getEnvironmentId() {
760
+ // ALWAYS check env var first - it takes precedence over cached/fallback values
761
+ const envId = process.env.POWERPLATFORM_ENVIRONMENT_ID;
762
+ if (envId) {
763
+ this.environmentId = envId;
764
+ return this.environmentId;
765
+ }
766
+ // Return cached value if we have one and no env var override
724
767
  if (this.environmentId) {
725
768
  return this.environmentId;
726
769
  }
770
+ // Fall back to Dataverse organization ID (may not work for all Flow API operations)
727
771
  const orgResponse = await this.client.makeRequest('api/data/v9.2/organizations?$select=organizationid');
728
772
  if (!orgResponse.value || orgResponse.value.length === 0) {
729
773
  throw new Error('Could not retrieve organization ID');
@@ -1 +1 @@
1
- {"version":3,"file":"FlowService.js","sourceRoot":"","sources":["../../src/services/FlowService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAmE1B;;GAEG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,+BAA+B;IAC/B,4BAA4B;IAC5B,wBAAwB;IACxB,0BAA0B;IAC1B,8BAA8B;IAC9B,+BAA+B;IAC/B,kBAAkB;IAClB,sBAAsB;IACtB,oBAAoB;IACpB,iCAAiC;IACjC,oBAAoB;IACpB,gBAAgB;IAChB,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;IAC/B,oCAAoC;IACpC,6BAA6B;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,sCAAsC;IACtC,uCAAuC;IACvC,uCAAuC;IACvC,sBAAsB;IACtB,UAAU;IACV,+DAA+D;IAC/D,8DAA8D;IAC9D,mDAAmD;IACnD,mDAAmD;IACnD,qDAAqD;IACrD,4DAA4D;IAC5D,yCAAyC;IACzC,6BAA6B;IAC7B,sCAAsC;IACtC,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;CAC5B,CAAC,CAAC;AAEH,MAAM,OAAO,WAAW;IAGF;IAFZ,aAAa,GAAkB,IAAI,CAAC;IAE5C,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAEnD;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAA6B,EAAE;QAC5C,MAAM,EACJ,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,EAAE,EACf,uBAAuB,GAAG,IAAI,EAC9B,aAAa,GAAG,IAAI,EACpB,mBAAmB,GAAG,IAAI,EAC1B,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,gBAAgB,GAAa,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,UAAU,EAAE,CAAC;YACf,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC5B,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrD,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,WAAW,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,kBAAkB,GAAG,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAGzC,mCAAmC,YAAY,iNAAiN,YAAY,EAAE,CAC/Q,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,gBAAgB,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,IAAI,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;QAEhC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;YACzC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,MAAM,UAAU,GAAI,IAAI,CAAC,UAAoC,EAAE,QAAQ,CAAC;gBACxE,OAAO,UAAU,KAAK,QAAQ,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;QAC7D,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;YACzC,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAc,CAAC,CAC7D,CAAC;YACF,cAAc,CAAC,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO;YAC1B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;YACpC,CAAC,CAAC,aAAa,CAAC;QAElB,MAAM,cAAc,GAAkB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,UAAU,EAAE,IAAI,CAAC,UAAoB;YACrC,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,WAAW,EAAE,IAAI,CAAC,WAA4B;YAC9C,KAAK,EACH,IAAI,CAAC,SAAS,KAAK,CAAC;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC;oBACpB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,UAAU,EAAE,IAAI,CAAC,UAAoB;YACrC,IAAI,EACF,IAAI,CAAC,IAAI,KAAK,CAAC;gBACb,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;oBACf,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,UAAU;YAClB,aAAa,EAAE,IAAI,CAAC,aAA8B;YAClD,SAAS,EAAE,IAAI,CAAC,SAAoB;YACpC,OAAO,EAAE,IAAI,CAAC,cAAwB;YACtC,UAAU,EAAE,IAAI,CAAC,UAAoB;YACrC,UAAU,EAAG,IAAI,CAAC,UAAoC,EAAE,QAAQ,IAAI,IAAI;YACxE,SAAS,EAAE,IAAI,CAAC,SAAmB;SACpC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,UAAU,EAAE,cAAc,CAAC,MAAM;YACjC,OAAO;YACP,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE;gBACR,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;gBACjD,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,YAAY,EAAE,cAAc,CAAC,YAAY;gBACzC,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY;aAC3D;YACD,aAAa,EAAE;gBACb,uBAAuB;gBACvB,aAAa;gBACb,mBAAmB;gBACnB,YAAY;aACb;YACD,KAAK,EAAE,cAAc;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,UAQI,EAAE;QAON,MAAM,EACJ,IAAI,EACJ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,kBAAkB,GAAG,IAAI,EACzB,UAAU,GAAG,EAAE,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,WAAW,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,aAAa,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3D,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,kBAAkB,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAChB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAG,kBAAkB;YACrC,CAAC,CAAC,4HAA4H;YAC9H,CAAC,CAAC,gHAAgH,CAAC;QAErH,MAAM,QAAQ,GAAG,YAAY;YAC3B,CAAC,CAAC,mCAAmC,YAAY,YAAY,YAAY,mGAAmG,YAAY,EAAE;YAC1L,CAAC,CAAC,mCAAmC,YAAY,mGAAmG,YAAY,EAAE,CAAC;QAErK,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAE5C,QAAQ,CAAC,CAAC;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO;YACvB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;YACrC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEnB,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EACH,QAAQ,CAAC,SAAS,KAAK,CAAC;gBACtB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC;oBACxB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,WAAW;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EACN,QAAQ,CAAC,QAAQ,KAAK,CAAC;gBACrB,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,CAAC;oBACvB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,UAAU,QAAQ,CAAC,QAAQ,GAAG;YACtC,YAAY,EAAE,QAAQ,CAAC,QAAQ;YAC/B,IAAI,EACF,QAAQ,CAAC,IAAI,KAAK,CAAC;gBACjB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;oBACnB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,UAAU;YAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,QAAQ,CAAC,cAAc;YAChC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAG,QAAQ,CAAC,SAAmC,EAAE,QAAQ;YAClE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAG,QAAQ,CAAC,UAAoC,EAAE,QAAQ;SACrE,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,UAAU,EAAE,kBAAkB,CAAC,MAAM;YACrC,OAAO;YACP,YAAY,EAAE,UAAU;YACxB,SAAS,EAAE,kBAAkB;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,UAAmB,KAAK;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CACxC,2BAA2B,MAAM,mNAAmN,CACrP,CAAC;QAEF,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAoB,CAAC,CAAC;gBAEvD,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;oBAC9B,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,GAAG;oBACf,UAAU,EAAE,iCAAiC;oBAC7C,GAAG,EAAG,IAAI,CAAC,UAAqB,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;iBAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EACH,IAAI,CAAC,SAAS,KAAK,CAAC;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC;oBACpB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EACF,IAAI,CAAC,IAAI,KAAK,CAAC;gBACb,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;oBACf,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,UAAU;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAG,IAAI,CAAC,SAAmC,EAAE,QAAQ;YAC9D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAG,IAAI,CAAC,UAAoC,EAAE,QAAQ;SACjE,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,GAAG,UAAU;gBACb,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,mDAAmD;aAC1D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,UAAU;YACb,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAgC;QAC/C,MAAM,OAAO,GAA4B;YACvC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,IAAI,GAAG,EAAU;YAC7B,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,cAAc,EAAE,IAAI,GAAG,EAAU;YACjC,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,EAAc;YAC7B,gBAAgB,EAAE,IAAI,GAAG,EAAU;SACpC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAqC,CAAC;YACjE,MAAM,UAAU,GAAG,UAAU,EAAE,UAAqC,CAAC;YAErE,8BAA8B;YAC9B,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAmC,CAAC;gBAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAA4B,CAAC;oBACjE,OAAO,CAAC,OAAO,GAAG;wBAChB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;qBAC/B,CAAC;oBAEF,kCAAkC;oBAClC,IACE,OAAO,CAAC,IAAI,KAAK,0BAA0B;wBAC3C,OAAO,CAAC,IAAI,KAAK,mBAAmB,EACpC,CAAC;wBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAiC,CAAC;wBACzD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAqC,CAAC;wBACjE,MAAM,UAAU,GAAG,UAAU,EAAE,UAAoB,CAAC;wBACpD,MAAM,IAAI,GAAG,MAAM,EAAE,IAA+B,CAAC;wBACrD,MAAM,WAAW,GAAI,IAAI,EAAE,WAAsB,IAAI,EAAE,CAAC;wBAExD,IAAI,UAAU,EAAE,CAAC;4BACf,IACE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAC9B,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC7B,CAAC;gCACD,OAAO,CAAC,WAAW,GAAG,GAAG,UAAU,SAAS,CAAC;4BAC/C,CAAC;iCAAM,IACL,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAC9B,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;gCAClC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;gCACD,MAAM,gBAAgB,GAAG,UAAU,EAAE,gBAA0B,CAAC;gCAChE,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oCAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAC5C,qCAAqC,CACtC,CAAC;oCACF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;wCAChC,OAAO,CAAC,aAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oCACrD,CAAC;oCACD,OAAO,CAAC,WAAW,GAAG,GAAG,UAAU,YAAY,gBAAgB,GAAG,CAAC;gCACrE,CAAC;qCAAM,CAAC;oCACN,OAAO,CAAC,WAAW,GAAG,GAAG,UAAU,SAAS,CAAC;gCAC/C,CAAC;4BACH,CAAC;iCAAM,IACL,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAC9B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;gCACD,OAAO,CAAC,WAAW,GAAG,GAAG,UAAU,SAAS,CAAC;4BAC/C,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,WAAW,GAAG,GAAG,UAAU,IAAI,WAAW,EAAE,CAAC;4BACvD,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;4BACpC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gCACvC,OAAO,CAAC,WAAW,GAAG,GAAG,OAAO,UAAU,CAAC;4BAC7C,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,WAAW,GAAG,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC;4BAClD,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACzC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;oBACpC,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,WAAW,GAAI,OAAO,CAAC,IAAe,IAAI,SAAS,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,MAAM,cAAc,GAAG,CACrB,OAAgC,EAChC,OAAe,EAAE,EACjB,EAAE;gBACF,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/D,MAAM,MAAM,GAAG,UAAqC,CAAC;oBACrD,MAAM,UAAU,GAAG,CAAE,MAAM,CAAC,IAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBAE7D,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;wBACnD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC/B,CAAC;oBACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;wBACvD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC1B,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAqC,CAAC;oBAC9D,IACE,UAAU,KAAK,OAAO;wBACtB,QAAQ;wBACR,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EACzD,CAAC;wBACD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAClC,CAAC;oBAED,mCAAmC;oBACnC,IACE,MAAM,CAAC,IAAI,KAAK,mBAAmB;wBACnC,MAAM,CAAC,IAAI,KAAK,eAAe,EAC/B,CAAC;wBACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiC,CAAC;wBACxD,MAAM,IAAI,GAAG,MAAM,EAAE,IAA+B,CAAC;wBACrD,MAAM,WAAW,GACd,IAAI,EAAE,cAAyB;4BAC/B,IAAI,EAAE,KAAgB;4BACrB,MAAM,CAAC,QAAoC;gCAC3C,EAAE,mBAA8B,CAAC;wBACrC,IAAI,WAAW,EAAE,CAAC;4BACf,OAAO,CAAC,UAA0B,CAAC,GAAG,CACrC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,CAC5C,CAAC;wBACJ,CAAC;wBAED,MAAM,WAAW,GAAG,IAAI,EAAE,WAAqB,CAAC;wBAChD,IACE,WAAW;4BACX;gCACE,cAAc;gCACd,cAAc;gCACd,cAAc;gCACd,cAAc;gCACd,kBAAkB;6BACnB,CAAC,QAAQ,CAAC,WAAW,CAAC,EACvB,CAAC;4BACD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAqC,CAAC;4BACjE,MAAM,UAAU,GAAG,UAAU,EAAE,UAAoB,CAAC;4BACpD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gCAChD,OAAO,CAAC,cAA8B,CAAC,GAAG,CACzC,UAAU,CAAC,WAAW,EAAE,CACzB,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,0BAA0B;wBAC1B,IACE,WAAW;4BACX,CAAC;gCACC,cAAc;gCACd,cAAc;gCACd,cAAc;gCACd,cAAc;gCACd,kBAAkB;gCAClB,WAAW;gCACX,aAAa;gCACb,SAAS;gCACT,WAAW;6BACZ,CAAC,QAAQ,CAAC,WAAW,CAAC,EACvB,CAAC;4BACD,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;4BAC5C,MAAM,cAAc,GAAI,IAAI,EAAE,cAAyB,IAAI,EAAE,CAAC;4BAC9D,MAAM,oBAAoB,GACxB,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gCACnC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gCAC5C,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;4BAE3D,IAAI,oBAAoB,EAAE,CAAC;gCACxB,OAAO,CAAC,gBAAgC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAC7D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,qBAAqB;oBACpB,OAAO,CAAC,OAAqB,CAAC,IAAI,CAAC;wBAClC,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;qBAChD,CAAC,CAAC;oBAEH,8BAA8B;oBAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,cAAc,CAAC,MAAM,CAAC,OAAkC,EAAE,QAAQ,CAAC,CAAC;oBACtE,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,cAAc,CACZ,MAAM,CAAC,IAA+B,EACtC,GAAG,QAAQ,OAAO,CACnB,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,cAAc,CACZ,MAAM,CAAC,IAA+B,EACtC,GAAG,QAAQ,OAAO,CACnB,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAClD,MAAM,CAAC,KAAgC,CACxC,EAAE,CAAC;4BACF,MAAM,QAAQ,GAAG,WAAsC,CAAC;4BACxD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gCACrB,cAAc,CACZ,QAAQ,CAAC,OAAkC,EAC3C,GAAG,QAAQ,SAAS,QAAQ,EAAE,CAC/B,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,cAAc,CACZ,MAAM,CAAC,OAAkC,EACzC,GAAG,QAAQ,UAAU,CACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAkC,CAAC;gBAC9D,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAClD,cAAc,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAED,yBAAyB;YACzB,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAyB,CAAC,CAAC;YACnE,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CACjC,OAAO,CAAC,cAA6B,CACtC,CAAC;YACF,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CACnC,OAAO,CAAC,gBAA+B,CACxC,CAAC;YAEF,4BAA4B;YAC5B,IAAI,UAAU,EAAE,oBAAoB,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,oBAA+C,CAAC;gBACxE,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7D,IAAI,EAAE,GAAG;oBACT,IAAI,EACA,IAAI,CAAC,GAAG,CAA6B,EAAE,GAAyB;wBAChE,EAAE,IAAI,IAAI,SAAS;iBACxB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,UAAU,GAAG,iDAAiD,CAAC;QACzE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,UAAgC,EAAE;QAElC,MAAM,EACJ,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,GAAG,EAAE,GAChB,GAAG,OAAO,CAAC;QAEZ,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEjD,kCAAkC;YAClC,MAAM,WAAW,GAAa,CAAC,wBAAwB,EAAE,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAE9E,gCAAgC;YAChC,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,IAAI,MAAM,EAAE,CAAC;gBACX,gBAAgB,CAAC,IAAI,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,WAAW,CAAC,IAAI,CAAC,WAAW,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,GAAG,GAAG,+EAA+E,aAAa,UAAU,MAAM,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAEzJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;gBAC3B,MAAM,EAAE,KAAK;gBACb,GAAG;gBACH,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;YACxC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAElE,MAAM,aAAa,GAAqB,WAAW,CAAC,GAAG,CAAC,CAAC,GAA4B,EAAE,EAAE;gBACvF,MAAM,KAAK,GAAG,GAAG,CAAC,UAAqC,IAAI,EAAE,CAAC;gBAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,OAA8C,CAAC;gBACzE,MAAM,SAAS,GAAG,KAAK,CAAC,KAA4C,CAAC;gBAErE,OAAO;oBACL,KAAK,EAAE,GAAG,CAAC,IAAc;oBACzB,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,MAAgB;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAmB;oBACpC,OAAO,EAAG,KAAK,CAAC,OAAkB,IAAI,IAAI;oBAC1C,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;wBACrB,IAAI,EAAE,WAAW,CAAC,IAAc;wBAChC,MAAM,EAAE,WAAW,CAAC,MAAgB;wBACpC,SAAS,EAAE,WAAW,CAAC,SAAmB;wBAC1C,OAAO,EAAG,WAAW,CAAC,OAAkB,IAAI,IAAI;qBACjD,CAAC,CAAC,CAAC,IAAI;oBACR,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAG,SAAS,CAAC,IAAe,IAAI,SAAS;wBAC7C,OAAO,EAAG,SAAS,CAAC,OAAkB,IAAI,eAAe;qBAC1D,CAAC,CAAC,CAAC,IAAI;iBACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM;gBACN,aAAa;gBACb,UAAU,EAAE,aAAa,CAAC,MAAM;gBAChC,OAAO;gBACP,aAAa,EAAE;oBACb,MAAM;oBACN,YAAY;oBACZ,aAAa;oBACb,UAAU,EAAE,KAAK;iBAClB;gBACD,IAAI,EAAE,aAAa;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAOX,CAAC;YAEF,mDAAmD;YACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;YAC3C,IAAI,QAAQ,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,sDAAsD,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;YACzI,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,KAAa;QACnD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEjD,MAAM,GAAG,GAAG,+EAA+E,aAAa,UAAU,MAAM,SAAS,KAAK,yBAAyB,CAAC;YAEhK,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;gBAC3B,MAAM,EAAE,KAAK;gBACb,GAAG;gBACH,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YAE5C,MAAM,MAAM,GAA4B;gBACtC,MAAM;gBACN,KAAK;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI;oBAC9B,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM;oBAClC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS;oBACxC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO;oBACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;oBAC/C,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG;iBAClD;gBACD,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE;oBACd,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,CAAC;iBACT;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkC,CAAC;YAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,cAMtB,CAAC;YAEF,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CACnD,UAAU,CAAC,OAAO,CAAC,IAAI,CACxB,EAAE,CAAC;oBACF,MAAM,MAAM,GAAG,UAAqC,CAAC;oBAErD,OAAO,CAAC,UAAU,CAAC,GAAG;wBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,UAAU,EAAG,MAAM,CAAC,UAA+B,EAAE,GAAG;wBACxD,WAAW,EAAG,MAAM,CAAC,WAAgC,EAAE,GAAG;wBAC1D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;wBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;qBAC1B,CAAC;oBAEF,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,CAAE,MAAM,CAAC,MAAiB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/D,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC3B,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,CAAC;yBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,CAAC;yBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAChC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAOX,CAAC;YACF,MAAM,YAAY,GAChB,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,KAAa;QAC/C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEjD,+BAA+B;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAA4B,CAAC;YAC1F,MAAM,MAAM,GAAI,UAAU,CAAC,MAAiB,IAAI,EAAE,CAAC;YAEnD,qCAAqC;YACrC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC5D,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,uDAAuD,MAAM,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,GAAG,GAAG,+EAA+E,aAAa,UAAU,MAAM,SAAS,KAAK,gCAAgC,CAAC;YAEvK,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE;gBACxB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,KAAK;gBACL,cAAc,EAAE,MAAM;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAOX,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,KAAa;QACjD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEjD,wCAAwC;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAA4B,CAAC;YACvF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAgD,CAAC;YAChF,MAAM,UAAU,GAAG,cAAc,EAAE,UAAiD,CAAC;YACrF,MAAM,UAAU,GAAG,UAAU,EAAE,UAAiD,CAAC;YACjF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAA+C,CAAC;YAC7E,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEnE,MAAM,GAAG,GAAG,+EAA+E,aAAa,UAAU,MAAM,aAAa,WAAW,cAAc,KAAK,kCAAkC,CAAC;YAEtM,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE;gBACzC,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAG,QAAQ,CAAC,IAAgC,EAAE,IAAc,IAAI,SAAS;gBACjF,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAOX,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAE/C,oDAAoD,CAAC,CAAC;QAExD,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"FlowService.js","sourceRoot":"","sources":["../../src/services/FlowService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * IntegrationAuditService
3
+ *
4
+ * Read-only service for auditing PowerPlatform integrations.
5
+ * Provides tools for:
6
+ * - Service endpoint discovery (webhooks, Azure, REST)
7
+ * - Webhook registration analysis
8
+ * - Flow complexity scoring
9
+ * - Combined integration audit reports
10
+ */
11
+ import type { PowerPlatformClient } from '../client/PowerPlatformClient.js';
12
+ import { type FlowComplexityResult, type RiskLevel } from '../utils/complexity-calculator.js';
13
+ export interface ServiceEndpoint {
14
+ id: string;
15
+ name: string;
16
+ url: string;
17
+ contractType: 'OneWay' | 'TwoWay' | 'Queue' | 'Topic' | 'Unknown';
18
+ authType: string;
19
+ connectionMode: string;
20
+ description: string | null;
21
+ messageStepCount: number;
22
+ isManaged: boolean;
23
+ createdOn: string;
24
+ modifiedOn: string;
25
+ }
26
+ export interface ServiceEndpointsResult {
27
+ endpoints: ServiceEndpoint[];
28
+ summary: {
29
+ total: number;
30
+ byType: Record<string, number>;
31
+ byAuthType: Record<string, number>;
32
+ };
33
+ }
34
+ export interface WebhookRegistration {
35
+ id: string;
36
+ name: string;
37
+ endpointUrl: string | null;
38
+ triggerEntity: string;
39
+ triggerMessage: string;
40
+ filteringAttributes: string[];
41
+ asyncMode: boolean;
42
+ stage: 'PreValidation' | 'PreOperation' | 'PostOperation';
43
+ serviceEndpointId: string | null;
44
+ serviceEndpointName: string | null;
45
+ isManaged: boolean;
46
+ statusCode: number;
47
+ enabled: boolean;
48
+ }
49
+ export interface WebhookRegistrationsResult {
50
+ webhooks: WebhookRegistration[];
51
+ summary: {
52
+ total: number;
53
+ byEntity: Record<string, number>;
54
+ byMessage: Record<string, number>;
55
+ enabledCount: number;
56
+ disabledCount: number;
57
+ };
58
+ }
59
+ export interface FlowComplexityAnalysis {
60
+ id: string;
61
+ name: string;
62
+ complexity: FlowComplexityResult;
63
+ connectors: string[];
64
+ triggerType: string;
65
+ state: string;
66
+ }
67
+ export interface FlowComplexityResult_Full {
68
+ flows: FlowComplexityAnalysis[];
69
+ summary: {
70
+ total: number;
71
+ byRiskLevel: Record<RiskLevel, number>;
72
+ averageComplexity: number;
73
+ highRiskFlows: string[];
74
+ };
75
+ }
76
+ export interface IntegrationAuditSummary {
77
+ generatedAt: string;
78
+ environment: string;
79
+ flowCount: number;
80
+ pluginCount: number;
81
+ webhookCount: number;
82
+ serviceEndpointCount: number;
83
+ overallRiskLevel: RiskLevel;
84
+ }
85
+ export interface OutboundIntegration {
86
+ serviceEndpoints: ServiceEndpoint[];
87
+ httpFlows: {
88
+ flowId: string;
89
+ flowName: string;
90
+ connectors: string[];
91
+ targetUrls: string[];
92
+ }[];
93
+ externalPlugins: {
94
+ assemblyName: string;
95
+ description: string | null;
96
+ isolationMode: string;
97
+ }[];
98
+ }
99
+ export interface InboundIntegration {
100
+ webhooks: WebhookRegistration[];
101
+ externalTriggerFlows: {
102
+ flowId: string;
103
+ flowName: string;
104
+ triggerType: string;
105
+ }[];
106
+ }
107
+ export interface IntegrationAuditReport {
108
+ summary: IntegrationAuditSummary;
109
+ outbound: OutboundIntegration;
110
+ inbound: InboundIntegration;
111
+ complexity: {
112
+ summary: {
113
+ byRiskLevel: Record<RiskLevel, number>;
114
+ averageScore: number;
115
+ };
116
+ highRiskFlows: FlowComplexityAnalysis[];
117
+ allFlows: FlowComplexityAnalysis[];
118
+ };
119
+ plugins: {
120
+ assemblies: unknown[];
121
+ byEntity: Record<string, number>;
122
+ };
123
+ riskAssessment: {
124
+ overallRisk: RiskLevel;
125
+ factors: {
126
+ factor: string;
127
+ severity: RiskLevel;
128
+ details: string;
129
+ }[];
130
+ recommendations: string[];
131
+ };
132
+ markdownReport: string;
133
+ }
134
+ export declare class IntegrationAuditService {
135
+ private client;
136
+ private flowService;
137
+ private pluginService;
138
+ constructor(client: PowerPlatformClient);
139
+ /**
140
+ * Get all service endpoints (webhook/Azure/REST) in the environment
141
+ */
142
+ getServiceEndpoints(maxRecords?: number): Promise<ServiceEndpointsResult>;
143
+ /**
144
+ * Get all webhook-type SDK message processing steps
145
+ */
146
+ getWebhookRegistrations(maxRecords?: number): Promise<WebhookRegistrationsResult>;
147
+ /**
148
+ * Analyze flow complexity for one or all flows
149
+ */
150
+ analyzeFlowComplexity(flowId?: string, maxFlows?: number): Promise<FlowComplexityResult_Full>;
151
+ /**
152
+ * Generate a comprehensive integration audit report
153
+ */
154
+ generateAuditReport(maxFlows?: number): Promise<IntegrationAuditReport>;
155
+ /**
156
+ * Generate markdown report from audit data
157
+ */
158
+ private generateMarkdownReport;
159
+ }
160
+ //# sourceMappingURL=IntegrationAuditService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegrationAuditService.d.ts","sourceRoot":"","sources":["../../src/services/IntegrationAuditService.ts"],"names":[],"mappings":"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"}