@mcp-consultant-tools/powerplatform 28.0.0-beta.7 → 29.0.0-beta.1

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/cli/commands/app-commands.d.ts +7 -0
  2. package/build/cli/commands/app-commands.d.ts.map +1 -0
  3. package/build/cli/commands/app-commands.js +65 -0
  4. package/build/cli/commands/app-commands.js.map +1 -0
  5. package/build/cli/commands/flow-commands.d.ts +7 -0
  6. package/build/cli/commands/flow-commands.d.ts.map +1 -0
  7. package/build/cli/commands/flow-commands.js +170 -0
  8. package/build/cli/commands/flow-commands.js.map +1 -0
  9. package/build/cli/commands/form-commands.d.ts +7 -0
  10. package/build/cli/commands/form-commands.d.ts.map +1 -0
  11. package/build/cli/commands/form-commands.js +104 -0
  12. package/build/cli/commands/form-commands.js.map +1 -0
  13. package/build/cli/commands/index.d.ts +15 -0
  14. package/build/cli/commands/index.d.ts.map +1 -0
  15. package/build/cli/commands/index.js +30 -0
  16. package/build/cli/commands/index.js.map +1 -0
  17. package/build/cli/commands/integration-commands.d.ts +7 -0
  18. package/build/cli/commands/integration-commands.d.ts.map +1 -0
  19. package/build/cli/commands/integration-commands.js +97 -0
  20. package/build/cli/commands/integration-commands.js.map +1 -0
  21. package/build/cli/commands/metadata-commands.d.ts +7 -0
  22. package/build/cli/commands/metadata-commands.d.ts.map +1 -0
  23. package/build/cli/commands/metadata-commands.js +83 -0
  24. package/build/cli/commands/metadata-commands.js.map +1 -0
  25. package/build/cli/commands/plugin-commands.d.ts +7 -0
  26. package/build/cli/commands/plugin-commands.d.ts.map +1 -0
  27. package/build/cli/commands/plugin-commands.js +79 -0
  28. package/build/cli/commands/plugin-commands.js.map +1 -0
  29. package/build/cli/commands/security-commands.d.ts +7 -0
  30. package/build/cli/commands/security-commands.d.ts.map +1 -0
  31. package/build/cli/commands/security-commands.js +89 -0
  32. package/build/cli/commands/security-commands.js.map +1 -0
  33. package/build/cli/commands/solution-commands.d.ts +7 -0
  34. package/build/cli/commands/solution-commands.d.ts.map +1 -0
  35. package/build/cli/commands/solution-commands.js +146 -0
  36. package/build/cli/commands/solution-commands.js.map +1 -0
  37. package/build/cli/output.d.ts +11 -0
  38. package/build/cli/output.d.ts.map +1 -0
  39. package/build/cli/output.js +10 -0
  40. package/build/cli/output.js.map +1 -0
  41. package/build/cli.d.ts +9 -0
  42. package/build/cli.d.ts.map +1 -0
  43. package/build/cli.js +30 -0
  44. package/build/cli.js.map +1 -0
  45. package/build/context-factory.d.ts +11 -0
  46. package/build/context-factory.d.ts.map +1 -0
  47. package/build/context-factory.js +39 -0
  48. package/build/context-factory.js.map +1 -0
  49. package/package.json +6 -4
@@ -0,0 +1,7 @@
1
+ /**
2
+ * App CLI Commands - 4 commands for model-driven app inspection
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerAppCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=app-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/app-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAmE/E"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * App CLI Commands - 4 commands for model-driven app inspection
3
+ */
4
+ import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
5
+ import { outputResult } from '../output.js';
6
+ export function registerAppCommands(program, ctx) {
7
+ const app = program.command('app').description('Model-driven app inspection');
8
+ app
9
+ .command('list')
10
+ .description('List all model-driven apps')
11
+ .option('--active-only', 'Only return active apps', false)
12
+ .option('-m, --max <n>', 'Maximum number of apps to return', '100')
13
+ .option('--no-unpublished', 'Exclude unpublished/draft apps')
14
+ .option('-s, --solution <name>', 'Filter apps by solution unique name')
15
+ .action(async (opts) => {
16
+ try {
17
+ const result = await ctx.pp.getApps(opts.activeOnly, parseInt(opts.max), opts.unpublished !== false, opts.solution);
18
+ outputResult({ fileName: 'apps', data: result, summary: `Found ${result.totalCount} model-driven app(s)` }, getGlobalFlags(program));
19
+ }
20
+ catch (error) {
21
+ handleCliError(error, 'list apps');
22
+ }
23
+ });
24
+ app
25
+ .command('get')
26
+ .description('Get detailed information about a model-driven app')
27
+ .argument('<appId>', 'App GUID (appmoduleid)')
28
+ .action(async (appId) => {
29
+ try {
30
+ const result = await ctx.pp.getApp(appId);
31
+ const name = result?.name || appId;
32
+ outputResult({ fileName: `app-${appId}`, data: result, summary: `Model-driven app '${name}'` }, getGlobalFlags(program));
33
+ }
34
+ catch (error) {
35
+ handleCliError(error, 'get app');
36
+ }
37
+ });
38
+ app
39
+ .command('components')
40
+ .description('Get all components in a model-driven app')
41
+ .argument('<appId>', 'App GUID (appmoduleid)')
42
+ .action(async (appId) => {
43
+ try {
44
+ const result = await ctx.pp.getAppComponents(appId);
45
+ outputResult({ fileName: `app-components-${appId}`, data: result, summary: `App components (found ${result.totalCount})` }, getGlobalFlags(program));
46
+ }
47
+ catch (error) {
48
+ handleCliError(error, 'get app components');
49
+ }
50
+ });
51
+ app
52
+ .command('sitemap')
53
+ .description('Get the sitemap (navigation) for a model-driven app')
54
+ .argument('<appId>', 'App GUID (appmoduleid)')
55
+ .action(async (appId) => {
56
+ try {
57
+ const result = await ctx.pp.getAppSitemap(appId);
58
+ outputResult({ fileName: `app-sitemap-${appId}`, data: result, summary: `App sitemap for '${appId}'` }, getGlobalFlags(program));
59
+ }
60
+ catch (error) {
61
+ handleCliError(error, 'get app sitemap');
62
+ }
63
+ });
64
+ }
65
+ //# sourceMappingURL=app-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/app-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Flow CLI Commands - 9 commands for flow/workflow/business rule inspection
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerFlowCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=flow-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/flow-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA4KhF"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Flow CLI Commands - 9 commands for flow/workflow/business rule inspection
3
+ */
4
+ import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
5
+ import { outputResult } from '../output.js';
6
+ export function registerFlowCommands(program, ctx) {
7
+ const flow = program.command('flow').description('Power Automate flow and workflow operations');
8
+ flow
9
+ .command('list')
10
+ .description('List Power Automate cloud flows')
11
+ .option('--active-only', 'Only return activated flows', false)
12
+ .option('-m, --max <n>', 'Maximum number of flows to return', '25')
13
+ .option('--include-customer-insights', 'Include Customer Insights flows (CXP_ prefix)', false)
14
+ .option('--include-system', 'Include SYSTEM-modified flows', false)
15
+ .option('--include-copilot-sales', 'Include Copilot for Sales flows', false)
16
+ .option('-n, --name <text>', 'Filter flows by name (case-insensitive contains)')
17
+ .action(async (opts) => {
18
+ try {
19
+ const result = await ctx.pp.getFlows({
20
+ activeOnly: opts.activeOnly,
21
+ maxRecords: parseInt(opts.max),
22
+ excludeCustomerInsights: !opts.includeCustomerInsights,
23
+ excludeSystem: !opts.includeSystem,
24
+ excludeCopilotSales: !opts.includeCopilotSales,
25
+ nameContains: opts.name,
26
+ });
27
+ outputResult({ fileName: 'flows', data: result, summary: `Found ${result.totalCount} Power Automate flows${result.hasMore ? ' (more available)' : ''}` }, getGlobalFlags(program));
28
+ }
29
+ catch (error) {
30
+ handleCliError(error, 'list flows');
31
+ }
32
+ });
33
+ flow
34
+ .command('search')
35
+ .description('Search workflows (classic workflows and Power Automate flows)')
36
+ .option('-n, --name <text>', 'Filter by workflow name (partial match)')
37
+ .option('-e, --entity <name>', 'Filter by primary entity logical name')
38
+ .option('-d, --description <text>', 'Search in description field')
39
+ .option('-c, --category <n>', 'Filter by category (0=Workflow, 5=ModernFlow)')
40
+ .option('-s, --state <n>', 'Filter by state (0=Draft, 1=Activated)')
41
+ .option('--no-description', 'Exclude description from results')
42
+ .option('-m, --max <n>', 'Maximum results', '50')
43
+ .action(async (opts) => {
44
+ try {
45
+ const result = await ctx.pp.searchWorkflows({
46
+ name: opts.name,
47
+ primaryEntity: opts.entity,
48
+ description: opts.description,
49
+ category: opts.category !== undefined ? parseInt(opts.category) : undefined,
50
+ statecode: opts.state !== undefined ? parseInt(opts.state) : undefined,
51
+ includeDescription: opts.description !== false,
52
+ maxResults: parseInt(opts.max),
53
+ });
54
+ outputResult({ fileName: 'workflow-search', data: result, summary: `Found ${result.totalCount} workflow(s)${result.hasMore ? ' (more available)' : ''}` }, getGlobalFlags(program));
55
+ }
56
+ catch (error) {
57
+ handleCliError(error, 'search workflows');
58
+ }
59
+ });
60
+ flow
61
+ .command('definition')
62
+ .description('Get the definition of a Power Automate flow')
63
+ .argument('<flowId>', 'Flow GUID (workflowid)')
64
+ .option('--summary', 'Return parsed summary instead of full definition', false)
65
+ .action(async (flowId, opts) => {
66
+ try {
67
+ const result = await ctx.pp.getFlowDefinition(flowId, opts.summary);
68
+ const name = result?.name || flowId;
69
+ outputResult({ fileName: `flow-def-${flowId}`, data: result, summary: `Flow definition for '${name}'${opts.summary ? ' (summary)' : ''}` }, getGlobalFlags(program));
70
+ }
71
+ catch (error) {
72
+ handleCliError(error, 'get flow definition');
73
+ }
74
+ });
75
+ flow
76
+ .command('runs')
77
+ .description('Get run history for a Power Automate flow')
78
+ .argument('<flowId>', 'Flow GUID (workflowid)')
79
+ .option('-s, --status <status>', 'Filter by run status (Succeeded, Failed, Running, Cancelled)')
80
+ .option('--started-after <date>', 'Only runs started after this date (ISO 8601)')
81
+ .option('--started-before <date>', 'Only runs started before this date (ISO 8601)')
82
+ .option('-m, --max <n>', 'Maximum number of runs to return', '50')
83
+ .action(async (flowId, opts) => {
84
+ try {
85
+ const result = await ctx.pp.getFlowRuns(flowId, {
86
+ status: opts.status,
87
+ startedAfter: opts.startedAfter,
88
+ startedBefore: opts.startedBefore,
89
+ maxRecords: parseInt(opts.max),
90
+ });
91
+ outputResult({ fileName: `flow-runs-${flowId}`, data: result, summary: `Found ${result.totalCount} flow runs for ${flowId}${result.hasMore ? ' (more available)' : ''}` }, getGlobalFlags(program));
92
+ }
93
+ catch (error) {
94
+ handleCliError(error, 'get flow runs');
95
+ }
96
+ });
97
+ flow
98
+ .command('run-details')
99
+ .description('Get detailed action-level execution info for a flow run')
100
+ .argument('<flowId>', 'Flow GUID (workflowid)')
101
+ .argument('<runId>', 'Flow run GUID (from flow runs)')
102
+ .action(async (flowId, runId) => {
103
+ try {
104
+ const result = await ctx.pp.getFlowRunDetails(flowId, runId);
105
+ const status = result?.status || 'unknown';
106
+ outputResult({ fileName: `flow-run-${flowId}-${runId}`, data: result, summary: `Flow run details: status=${status}` }, getGlobalFlags(program));
107
+ }
108
+ catch (error) {
109
+ handleCliError(error, 'get flow run details');
110
+ }
111
+ });
112
+ flow
113
+ .command('workflows')
114
+ .description('List classic Dynamics workflows')
115
+ .option('--active-only', 'Only return activated workflows', false)
116
+ .option('-m, --max <n>', 'Maximum number of workflows to return', '25')
117
+ .action(async (opts) => {
118
+ try {
119
+ const result = await ctx.pp.getWorkflows(opts.activeOnly, parseInt(opts.max));
120
+ outputResult({ fileName: 'classic-workflows', data: result, summary: `Found ${result.totalCount} classic Dynamics workflows${result.hasMore ? ' (more available)' : ''}` }, getGlobalFlags(program));
121
+ }
122
+ catch (error) {
123
+ handleCliError(error, 'list workflows');
124
+ }
125
+ });
126
+ flow
127
+ .command('workflow-def')
128
+ .description('Get the definition of a classic Dynamics workflow')
129
+ .argument('<workflowId>', 'Workflow GUID (workflowid)')
130
+ .option('--summary', 'Return parsed summary instead of full XAML', false)
131
+ .action(async (workflowId, opts) => {
132
+ try {
133
+ const result = await ctx.pp.getWorkflowDefinition(workflowId, opts.summary);
134
+ const name = result?.name || workflowId;
135
+ outputResult({ fileName: `workflow-def-${workflowId}`, data: result, summary: `Workflow definition for '${name}'${opts.summary ? ' (summary)' : ''}` }, getGlobalFlags(program));
136
+ }
137
+ catch (error) {
138
+ handleCliError(error, 'get workflow definition');
139
+ }
140
+ });
141
+ flow
142
+ .command('business-rules')
143
+ .description('List all business rules in the environment')
144
+ .option('--active-only', 'Only return activated business rules', false)
145
+ .option('-m, --max <n>', 'Maximum number of business rules to return', '100')
146
+ .action(async (opts) => {
147
+ try {
148
+ const result = await ctx.pp.getBusinessRules(opts.activeOnly, parseInt(opts.max));
149
+ outputResult({ fileName: 'business-rules', data: result, summary: `Found ${result.totalCount} business rules` }, getGlobalFlags(program));
150
+ }
151
+ catch (error) {
152
+ handleCliError(error, 'list business rules');
153
+ }
154
+ });
155
+ flow
156
+ .command('business-rule')
157
+ .description('Get the definition of a specific business rule')
158
+ .argument('<workflowId>', 'Business rule GUID (workflowid)')
159
+ .action(async (workflowId) => {
160
+ try {
161
+ const result = await ctx.pp.getBusinessRule(workflowId);
162
+ const name = result?.name || workflowId;
163
+ outputResult({ fileName: `business-rule-${workflowId}`, data: result, summary: `Business rule '${name}'` }, getGlobalFlags(program));
164
+ }
165
+ catch (error) {
166
+ handleCliError(error, 'get business rule');
167
+ }
168
+ });
169
+ }
170
+ //# sourceMappingURL=flow-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/flow-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Form/View CLI Commands - 7 commands for forms, views, and web resources
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerFormCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=form-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/form-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwGhF"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Form/View CLI Commands - 7 commands for forms, views, and web resources
3
+ */
4
+ import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
5
+ import { outputResult } from '../output.js';
6
+ export function registerFormCommands(program, ctx) {
7
+ const form = program.command('form').description('Forms, views, and web resource operations');
8
+ form
9
+ .command('list')
10
+ .description('Get all forms for a Dataverse entity')
11
+ .argument('<entityName>', 'Entity logical name')
12
+ .action(async (entityName) => {
13
+ try {
14
+ const result = await ctx.pp.getForms(entityName);
15
+ const forms = result?.value || [];
16
+ outputResult({ fileName: `forms-${entityName}`, data: result, summary: `Found ${forms.length} form(s) for '${entityName}'` }, getGlobalFlags(program));
17
+ }
18
+ catch (error) {
19
+ handleCliError(error, 'list forms');
20
+ }
21
+ });
22
+ form
23
+ .command('views')
24
+ .description('Get all saved views for a Dataverse entity')
25
+ .argument('<entityName>', 'Entity logical name')
26
+ .action(async (entityName) => {
27
+ try {
28
+ const result = await ctx.pp.getViews(entityName);
29
+ const views = result?.value || [];
30
+ outputResult({ fileName: `views-${entityName}`, data: result, summary: `Found ${views.length} view(s) for '${entityName}'` }, getGlobalFlags(program));
31
+ }
32
+ catch (error) {
33
+ handleCliError(error, 'list views');
34
+ }
35
+ });
36
+ form
37
+ .command('view-fetchxml')
38
+ .description('Get the FetchXML query from a view')
39
+ .argument('<viewId>', 'View ID (GUID)')
40
+ .action(async (viewId) => {
41
+ try {
42
+ const result = await ctx.pp.getViewFetchXml(viewId);
43
+ const name = result?.name || viewId;
44
+ outputResult({ fileName: `view-fetchxml-${viewId}`, data: result, summary: `FetchXML for view '${name}'` }, getGlobalFlags(program));
45
+ }
46
+ catch (error) {
47
+ handleCliError(error, 'get view FetchXML');
48
+ }
49
+ });
50
+ form
51
+ .command('web-resource')
52
+ .description('Get a web resource by ID')
53
+ .argument('<webResourceId>', 'Web resource ID (GUID)')
54
+ .action(async (webResourceId) => {
55
+ try {
56
+ const result = await ctx.pp.getWebResource(webResourceId);
57
+ const name = result?.name || webResourceId;
58
+ outputResult({ fileName: `webresource-${webResourceId}`, data: result, summary: `Web resource '${name}'` }, getGlobalFlags(program));
59
+ }
60
+ catch (error) {
61
+ handleCliError(error, 'get web resource');
62
+ }
63
+ });
64
+ form
65
+ .command('web-resources')
66
+ .description('Get web resources by name pattern')
67
+ .option('-n, --name <filter>', 'Name filter (contains)')
68
+ .action(async (opts) => {
69
+ try {
70
+ const result = await ctx.pp.getWebResources(opts.name);
71
+ const webResources = result?.value || [];
72
+ outputResult({ fileName: 'web-resources', data: result, summary: `Found ${webResources.length} web resource(s)${opts.name ? ` matching '${opts.name}'` : ''}` }, getGlobalFlags(program));
73
+ }
74
+ catch (error) {
75
+ handleCliError(error, 'list web resources');
76
+ }
77
+ });
78
+ form
79
+ .command('web-resource-deps')
80
+ .description('Get all dependencies for a web resource')
81
+ .argument('<webResourceId>', 'Web resource ID (GUID)')
82
+ .action(async (webResourceId) => {
83
+ try {
84
+ const result = await ctx.pp.getWebResourceDependencies(webResourceId);
85
+ outputResult({ fileName: `webresource-deps-${webResourceId}`, data: result, summary: `Dependencies for web resource '${webResourceId}'` }, getGlobalFlags(program));
86
+ }
87
+ catch (error) {
88
+ handleCliError(error, 'get web resource dependencies');
89
+ }
90
+ });
91
+ form
92
+ .command('unpublished')
93
+ .description('Preview all components with unpublished customizations')
94
+ .action(async () => {
95
+ try {
96
+ const result = await ctx.pp.previewUnpublishedChanges();
97
+ outputResult({ fileName: 'unpublished-changes', data: result, summary: 'Unpublished customization changes' }, getGlobalFlags(program));
98
+ }
99
+ catch (error) {
100
+ handleCliError(error, 'preview unpublished changes');
101
+ }
102
+ });
103
+ }
104
+ //# sourceMappingURL=form-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/form-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CLI Commands barrel export + combined registration
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerAllCommands(program: Command, ctx: ServiceContext): void;
7
+ export { registerMetadataCommands } from './metadata-commands.js';
8
+ export { registerPluginCommands } from './plugin-commands.js';
9
+ export { registerFlowCommands } from './flow-commands.js';
10
+ export { registerAppCommands } from './app-commands.js';
11
+ export { registerFormCommands } from './form-commands.js';
12
+ export { registerSolutionCommands } from './solution-commands.js';
13
+ export { registerIntegrationCommands } from './integration-commands.js';
14
+ export { registerSecurityCommands } from './security-commands.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAS/E;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * CLI Commands barrel export + combined registration
3
+ */
4
+ import { registerMetadataCommands } from './metadata-commands.js';
5
+ import { registerPluginCommands } from './plugin-commands.js';
6
+ import { registerFlowCommands } from './flow-commands.js';
7
+ import { registerAppCommands } from './app-commands.js';
8
+ import { registerFormCommands } from './form-commands.js';
9
+ import { registerSolutionCommands } from './solution-commands.js';
10
+ import { registerIntegrationCommands } from './integration-commands.js';
11
+ import { registerSecurityCommands } from './security-commands.js';
12
+ export function registerAllCommands(program, ctx) {
13
+ registerMetadataCommands(program, ctx);
14
+ registerPluginCommands(program, ctx);
15
+ registerFlowCommands(program, ctx);
16
+ registerAppCommands(program, ctx);
17
+ registerFormCommands(program, ctx);
18
+ registerSolutionCommands(program, ctx);
19
+ registerIntegrationCommands(program, ctx);
20
+ registerSecurityCommands(program, ctx);
21
+ }
22
+ export { registerMetadataCommands } from './metadata-commands.js';
23
+ export { registerPluginCommands } from './plugin-commands.js';
24
+ export { registerFlowCommands } from './flow-commands.js';
25
+ export { registerAppCommands } from './app-commands.js';
26
+ export { registerFormCommands } from './form-commands.js';
27
+ export { registerSolutionCommands } from './solution-commands.js';
28
+ export { registerIntegrationCommands } from './integration-commands.js';
29
+ export { registerSecurityCommands } from './security-commands.js';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAmB;IACvE,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,2BAA2B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1C,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Integration CLI Commands - 5 commands for integration audit and environment variables
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerIntegrationCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=integration-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/integration-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAgHvF"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Integration CLI Commands - 5 commands for integration audit and environment variables
3
+ */
4
+ import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
5
+ import { outputResult } from '../output.js';
6
+ export function registerIntegrationCommands(program, ctx) {
7
+ const integration = program.command('integration').description('Integration audit and environment variables');
8
+ integration
9
+ .command('endpoints')
10
+ .description('Get all service endpoints (webhooks, Azure Service Bus, REST)')
11
+ .option('-m, --max <n>', 'Maximum endpoints to return', '100')
12
+ .option('--required-urls <patterns...>', 'URL patterns to validate against (flags non-matching)')
13
+ .option('-f, --format <fmt>', 'Output format: summary or full', 'full')
14
+ .option('--include-ootb', 'Include Microsoft OOTB components', false)
15
+ .action(async (opts) => {
16
+ try {
17
+ const excludeOotb = !opts.includeOotb;
18
+ const maxRecords = parseInt(opts.max);
19
+ if (opts.requiredUrls && opts.requiredUrls.length > 0) {
20
+ const result = await ctx.pp.getServiceEndpointsValidated(maxRecords, opts.requiredUrls, excludeOotb);
21
+ outputResult({ fileName: 'service-endpoints-validated', data: result, summary: `Service endpoints: ${result.summary.total} found, ${result.summary.flagged} flagged` }, getGlobalFlags(program));
22
+ }
23
+ else {
24
+ const result = await ctx.pp.getServiceEndpoints(maxRecords, excludeOotb);
25
+ outputResult({ fileName: 'service-endpoints', data: result, summary: `Service endpoints: ${result.summary.total} found` }, getGlobalFlags(program));
26
+ }
27
+ }
28
+ catch (error) {
29
+ handleCliError(error, 'get service endpoints');
30
+ }
31
+ });
32
+ integration
33
+ .command('webhooks')
34
+ .description('Get all webhook-type SDK message processing steps')
35
+ .option('-m, --max <n>', 'Maximum webhooks to return', '100')
36
+ .option('--include-ootb', 'Include Microsoft OOTB components', false)
37
+ .action(async (opts) => {
38
+ try {
39
+ const result = await ctx.pp.getWebhookRegistrations(parseInt(opts.max), !opts.includeOotb);
40
+ outputResult({ fileName: 'webhook-registrations', data: result, summary: `Webhook registrations: ${result.summary.total} found, ${result.summary.enabledCount} enabled` }, getGlobalFlags(program));
41
+ }
42
+ catch (error) {
43
+ handleCliError(error, 'get webhook registrations');
44
+ }
45
+ });
46
+ integration
47
+ .command('flow-complexity')
48
+ .description('Analyze Power Automate flow complexity and risk scores')
49
+ .option('--flow-id <guid>', 'Specific flow ID to analyze (omit for all)')
50
+ .option('-m, --max-flows <n>', 'Maximum flows to analyze (0=unlimited)', '0')
51
+ .option('-f, --format <fmt>', 'Output format: summary or full', 'full')
52
+ .option('--include-ootb', 'Include OOTB/managed flows', false)
53
+ .action(async (opts) => {
54
+ try {
55
+ const result = await ctx.pp.analyzeFlowComplexity(opts.flowId, parseInt(opts.maxFlows), !opts.includeOotb);
56
+ const summary = result.summary;
57
+ outputResult({ fileName: 'flow-complexity', data: result, summary: `Flow complexity: ${summary.total} flows analyzed, avg score ${summary.averageComplexity}, High/Critical: ${summary.byRiskLevel.High + summary.byRiskLevel.Critical}` }, getGlobalFlags(program));
58
+ }
59
+ catch (error) {
60
+ handleCliError(error, 'analyze flow complexity');
61
+ }
62
+ });
63
+ integration
64
+ .command('audit')
65
+ .description('Generate comprehensive integration audit report')
66
+ .option('--max-flows <n>', 'Maximum flows to analyze (0=unlimited)', '0')
67
+ .option('--max-records <n>', 'Maximum records for endpoints/webhooks/plugins', '100')
68
+ .option('--required-urls <patterns...>', 'URL patterns to validate against')
69
+ .option('-f, --format <fmt>', 'Output format: summary or full', 'full')
70
+ .option('--include-ootb', 'Include OOTB components', false)
71
+ .action(async (opts) => {
72
+ try {
73
+ const result = await ctx.pp.generateIntegrationAuditReport(parseInt(opts.maxFlows), opts.requiredUrls, opts.format, !opts.includeOotb, parseInt(opts.maxRecords));
74
+ outputResult({ fileName: 'integration-audit', data: result, summary: `Integration audit complete - ${result.summary.flowCount} flows, ${result.summary.webhookCount} webhooks, ${result.summary.serviceEndpointCount} endpoints, ${result.summary.pluginCount} plugins` }, getGlobalFlags(program));
75
+ }
76
+ catch (error) {
77
+ handleCliError(error, 'generate integration audit');
78
+ }
79
+ });
80
+ integration
81
+ .command('env-vars')
82
+ .description('Get all environment variable definitions')
83
+ .option('-m, --max <n>', 'Maximum variables to return', '500')
84
+ .option('--required-urls <patterns...>', 'URL patterns to validate against (flags non-matching)')
85
+ .option('-f, --format <fmt>', 'Output format: summary or full', 'full')
86
+ .option('--include-ootb', 'Include OOTB components', false)
87
+ .action(async (opts) => {
88
+ try {
89
+ const result = await ctx.pp.getEnvironmentVariables(parseInt(opts.max), opts.requiredUrls, !opts.includeOotb);
90
+ outputResult({ fileName: 'env-variables', data: result, summary: `Environment variables: ${result.summary.total} found${result.divergingVariables.length > 0 ? `, ${result.divergingVariables.length} diverging` : ''}` }, getGlobalFlags(program));
91
+ }
92
+ catch (error) {
93
+ handleCliError(error, 'get environment variables');
94
+ }
95
+ });
96
+ }
97
+ //# sourceMappingURL=integration-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/integration-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Metadata CLI Commands - 5 commands for entity metadata inspection
3
+ */
4
+ import type { Command } from 'commander';
5
+ import type { ServiceContext } from '../../types.js';
6
+ export declare function registerMetadataCommands(program: Command, ctx: ServiceContext): void;
7
+ //# sourceMappingURL=metadata-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metadata-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAiFpF"}