@mcp-consultant-tools/powerplatform 27.0.0 → 28.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/PowerPlatformService.d.ts +23 -2
- package/build/PowerPlatformService.d.ts.map +1 -1
- package/build/PowerPlatformService.js +23 -1
- package/build/PowerPlatformService.js.map +1 -1
- package/build/cli/commands/app-commands.d.ts +7 -0
- package/build/cli/commands/app-commands.d.ts.map +1 -0
- package/build/cli/commands/app-commands.js +65 -0
- package/build/cli/commands/app-commands.js.map +1 -0
- package/build/cli/commands/flow-commands.d.ts +7 -0
- package/build/cli/commands/flow-commands.d.ts.map +1 -0
- package/build/cli/commands/flow-commands.js +170 -0
- package/build/cli/commands/flow-commands.js.map +1 -0
- package/build/cli/commands/form-commands.d.ts +7 -0
- package/build/cli/commands/form-commands.d.ts.map +1 -0
- package/build/cli/commands/form-commands.js +104 -0
- package/build/cli/commands/form-commands.js.map +1 -0
- package/build/cli/commands/index.d.ts +15 -0
- package/build/cli/commands/index.d.ts.map +1 -0
- package/build/cli/commands/index.js +30 -0
- package/build/cli/commands/index.js.map +1 -0
- package/build/cli/commands/integration-commands.d.ts +7 -0
- package/build/cli/commands/integration-commands.d.ts.map +1 -0
- package/build/cli/commands/integration-commands.js +97 -0
- package/build/cli/commands/integration-commands.js.map +1 -0
- package/build/cli/commands/metadata-commands.d.ts +7 -0
- package/build/cli/commands/metadata-commands.d.ts.map +1 -0
- package/build/cli/commands/metadata-commands.js +83 -0
- package/build/cli/commands/metadata-commands.js.map +1 -0
- package/build/cli/commands/plugin-commands.d.ts +7 -0
- package/build/cli/commands/plugin-commands.d.ts.map +1 -0
- package/build/cli/commands/plugin-commands.js +79 -0
- package/build/cli/commands/plugin-commands.js.map +1 -0
- package/build/cli/commands/security-commands.d.ts +7 -0
- package/build/cli/commands/security-commands.d.ts.map +1 -0
- package/build/cli/commands/security-commands.js +89 -0
- package/build/cli/commands/security-commands.js.map +1 -0
- package/build/cli/commands/solution-commands.d.ts +7 -0
- package/build/cli/commands/solution-commands.d.ts.map +1 -0
- package/build/cli/commands/solution-commands.js +146 -0
- package/build/cli/commands/solution-commands.js.map +1 -0
- package/build/cli/output.d.ts +11 -0
- package/build/cli/output.d.ts.map +1 -0
- package/build/cli/output.js +10 -0
- package/build/cli/output.js.map +1 -0
- package/build/cli.d.ts +9 -0
- package/build/cli.d.ts.map +1 -0
- package/build/cli.js +30 -0
- package/build/cli.js.map +1 -0
- package/build/context-factory.d.ts +11 -0
- package/build/context-factory.d.ts.map +1 -0
- package/build/context-factory.js +39 -0
- package/build/context-factory.js.map +1 -0
- package/build/index.d.ts +10 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +26 -2394
- package/build/index.js.map +1 -1
- package/build/prompts/analysis-prompts.d.ts +3 -0
- package/build/prompts/analysis-prompts.d.ts.map +1 -0
- package/build/prompts/analysis-prompts.js +286 -0
- package/build/prompts/analysis-prompts.js.map +1 -0
- package/build/prompts/entity-prompts.d.ts +3 -0
- package/build/prompts/entity-prompts.d.ts.map +1 -0
- package/build/prompts/entity-prompts.js +304 -0
- package/build/prompts/entity-prompts.js.map +1 -0
- package/build/prompts/index.d.ts +8 -0
- package/build/prompts/index.d.ts.map +1 -0
- package/build/prompts/index.js +11 -0
- package/build/prompts/index.js.map +1 -0
- package/build/services/index.d.ts +5 -0
- package/build/services/index.d.ts.map +1 -0
- package/build/services/index.js +5 -0
- package/build/services/index.js.map +1 -0
- package/build/tool-examples.d.ts +48 -0
- package/build/tool-examples.d.ts.map +1 -0
- package/build/tool-examples.js +91 -0
- package/build/tool-examples.js.map +1 -0
- package/build/tools/app-tools.d.ts +3 -0
- package/build/tools/app-tools.d.ts.map +1 -0
- package/build/tools/app-tools.js +127 -0
- package/build/tools/app-tools.js.map +1 -0
- package/build/tools/flow-tools.d.ts +3 -0
- package/build/tools/flow-tools.d.ts.map +1 -0
- package/build/tools/flow-tools.js +374 -0
- package/build/tools/flow-tools.js.map +1 -0
- package/build/tools/form-view-tools.d.ts +3 -0
- package/build/tools/form-view-tools.d.ts.map +1 -0
- package/build/tools/form-view-tools.js +162 -0
- package/build/tools/form-view-tools.js.map +1 -0
- package/build/tools/index.d.ts +14 -0
- package/build/tools/index.d.ts.map +1 -0
- package/build/tools/index.js +29 -0
- package/build/tools/index.js.map +1 -0
- package/build/tools/integration-tools.d.ts +3 -0
- package/build/tools/integration-tools.d.ts.map +1 -0
- package/build/tools/integration-tools.js +325 -0
- package/build/tools/integration-tools.js.map +1 -0
- package/build/tools/metadata-tools.d.ts +3 -0
- package/build/tools/metadata-tools.d.ts.map +1 -0
- package/build/tools/metadata-tools.js +166 -0
- package/build/tools/metadata-tools.js.map +1 -0
- package/build/tools/plugin-tools.d.ts +3 -0
- package/build/tools/plugin-tools.d.ts.map +1 -0
- package/build/tools/plugin-tools.js +138 -0
- package/build/tools/plugin-tools.js.map +1 -0
- package/build/tools/security-tools.d.ts +3 -0
- package/build/tools/security-tools.d.ts.map +1 -0
- package/build/tools/security-tools.js +188 -0
- package/build/tools/security-tools.js.map +1 -0
- package/build/tools/solution-tools.d.ts +3 -0
- package/build/tools/solution-tools.d.ts.map +1 -0
- package/build/tools/solution-tools.js +284 -0
- package/build/tools/solution-tools.js.map +1 -0
- package/build/types.d.ts +9 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +2 -0
- package/build/types.js.map +1 -0
- package/package.json +6 -4
|
@@ -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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata CLI Commands - 5 commands for entity metadata inspection
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerMetadataCommands(program, ctx) {
|
|
7
|
+
const metadata = program.command('metadata').description('Entity metadata inspection');
|
|
8
|
+
metadata
|
|
9
|
+
.command('get')
|
|
10
|
+
.description('Get metadata for a Dataverse entity')
|
|
11
|
+
.argument('<entityName>', 'Entity logical name (e.g., account, contact, si_customentity)')
|
|
12
|
+
.action(async (entityName) => {
|
|
13
|
+
try {
|
|
14
|
+
const result = await ctx.pp.getEntityMetadata(entityName);
|
|
15
|
+
outputResult({ fileName: `metadata-${entityName}`, data: result, summary: `Entity metadata for '${entityName}'` }, getGlobalFlags(program));
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
handleCliError(error, 'get entity metadata');
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
metadata
|
|
22
|
+
.command('attributes')
|
|
23
|
+
.description('Get attributes/fields of a Dataverse entity')
|
|
24
|
+
.argument('<entityName>', 'Entity logical name')
|
|
25
|
+
.option('-p, --prefix <prefix>', 'Filter by schema name prefix (e.g., si_)')
|
|
26
|
+
.option('-t, --type <type>', 'Filter by attribute type (e.g., String, Lookup, Picklist)')
|
|
27
|
+
.option('-m, --max <n>', 'Maximum number of attributes to return')
|
|
28
|
+
.action(async (entityName, opts) => {
|
|
29
|
+
try {
|
|
30
|
+
const result = await ctx.pp.getEntityAttributes(entityName, {
|
|
31
|
+
prefix: opts.prefix,
|
|
32
|
+
attributeType: opts.type,
|
|
33
|
+
maxAttributes: opts.max ? parseInt(opts.max) : undefined,
|
|
34
|
+
});
|
|
35
|
+
outputResult({ fileName: `attributes-${entityName}`, data: result, summary: `Attributes for '${entityName}' (${result.returnedCount} returned)` }, getGlobalFlags(program));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
handleCliError(error, 'get entity attributes');
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
metadata
|
|
42
|
+
.command('attribute')
|
|
43
|
+
.description('Get a specific attribute of a Dataverse entity')
|
|
44
|
+
.argument('<entityName>', 'Entity logical name')
|
|
45
|
+
.argument('<attributeName>', 'Attribute logical name (e.g., emailaddress1)')
|
|
46
|
+
.action(async (entityName, attributeName) => {
|
|
47
|
+
try {
|
|
48
|
+
const result = await ctx.pp.getEntityAttribute(entityName, attributeName);
|
|
49
|
+
outputResult({ fileName: `attribute-${entityName}-${attributeName}`, data: result, summary: `Attribute '${attributeName}' for entity '${entityName}'` }, getGlobalFlags(program));
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
handleCliError(error, 'get entity attribute');
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
metadata
|
|
56
|
+
.command('relationships')
|
|
57
|
+
.description('Get relationships for a Dataverse entity')
|
|
58
|
+
.argument('<entityName>', 'Entity logical name')
|
|
59
|
+
.action(async (entityName) => {
|
|
60
|
+
try {
|
|
61
|
+
const result = await ctx.pp.getEntityRelationships(entityName);
|
|
62
|
+
const totalCount = (result.oneToMany?.value?.length || 0) + (result.manyToMany?.value?.length || 0);
|
|
63
|
+
outputResult({ fileName: `relationships-${entityName}`, data: result, summary: `Relationships for '${entityName}' (${totalCount} total)` }, getGlobalFlags(program));
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
handleCliError(error, 'get entity relationships');
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
metadata
|
|
70
|
+
.command('option-set')
|
|
71
|
+
.description('Get a global option set by name')
|
|
72
|
+
.argument('<optionSetName>', 'Global option set name (e.g., si_applicationstatus)')
|
|
73
|
+
.action(async (optionSetName) => {
|
|
74
|
+
try {
|
|
75
|
+
const result = await ctx.pp.getGlobalOptionSet(optionSetName);
|
|
76
|
+
outputResult({ fileName: `optionset-${optionSetName}`, data: result, summary: `Global option set '${optionSetName}'` }, getGlobalFlags(program));
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
handleCliError(error, 'get global option set');
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=metadata-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/metadata-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin CLI Commands - 4 commands for plugin inspection
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerPluginCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=plugin-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plugin-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,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA4ElF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin CLI Commands - 4 commands for plugin inspection
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerPluginCommands(program, ctx) {
|
|
7
|
+
const plugin = program.command('plugin').description('Plugin assembly inspection');
|
|
8
|
+
plugin
|
|
9
|
+
.command('list')
|
|
10
|
+
.description('List all plugin assemblies in the environment')
|
|
11
|
+
.option('--include-managed', 'Include managed assemblies', false)
|
|
12
|
+
.option('-m, --max <n>', 'Maximum number of assemblies to return', '100')
|
|
13
|
+
.action(async (opts) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await ctx.pp.getPluginAssemblies(opts.includeManaged, parseInt(opts.max));
|
|
16
|
+
outputResult({ fileName: 'plugin-assemblies', data: result, summary: `Found ${result.totalCount} plugin assemblies` }, getGlobalFlags(program));
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
handleCliError(error, 'list plugin assemblies');
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
plugin
|
|
23
|
+
.command('get')
|
|
24
|
+
.description('Get comprehensive info about a plugin assembly')
|
|
25
|
+
.argument('<assemblyName>', 'Plugin assembly name')
|
|
26
|
+
.option('--include-disabled', 'Include disabled steps', false)
|
|
27
|
+
.action(async (assemblyName, opts) => {
|
|
28
|
+
try {
|
|
29
|
+
const result = await ctx.pp.getPluginAssemblyComplete(assemblyName, opts.includeDisabled);
|
|
30
|
+
outputResult({ fileName: `plugin-${assemblyName}`, data: result, summary: `Plugin assembly '${assemblyName}' - ${result.steps.length} steps, ${result.pluginTypes.length} types` }, getGlobalFlags(program));
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
handleCliError(error, 'get plugin assembly');
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
plugin
|
|
37
|
+
.command('entity')
|
|
38
|
+
.description('Get all plugins registered on a specific entity')
|
|
39
|
+
.argument('<entityName>', 'Entity logical name')
|
|
40
|
+
.option('--message <msg>', 'Filter by SDK message (e.g., Create, Update, Delete)')
|
|
41
|
+
.option('--include-disabled', 'Include disabled steps', false)
|
|
42
|
+
.action(async (entityName, opts) => {
|
|
43
|
+
try {
|
|
44
|
+
const result = await ctx.pp.getEntityPluginPipeline(entityName, opts.message, opts.includeDisabled);
|
|
45
|
+
outputResult({ fileName: `plugins-${entityName}`, data: result, summary: `Plugin pipeline for '${entityName}' - ${result.steps.length} steps` }, getGlobalFlags(program));
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
handleCliError(error, 'get entity plugins');
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
plugin
|
|
52
|
+
.command('trace-logs')
|
|
53
|
+
.description('Query plugin trace logs')
|
|
54
|
+
.option('-e, --entity <name>', 'Filter by entity logical name')
|
|
55
|
+
.option('--message <name>', 'Filter by SDK message name')
|
|
56
|
+
.option('--correlation-id <guid>', 'Filter by correlation ID')
|
|
57
|
+
.option('--step-id <guid>', 'Filter by specific step ID')
|
|
58
|
+
.option('--exception-only', 'Only return logs with exceptions', false)
|
|
59
|
+
.option('--hours-back <n>', 'How many hours back to search', '24')
|
|
60
|
+
.option('-m, --max <n>', 'Maximum number of logs to return', '50')
|
|
61
|
+
.action(async (opts) => {
|
|
62
|
+
try {
|
|
63
|
+
const result = await ctx.pp.getPluginTraceLogs({
|
|
64
|
+
entityName: opts.entity,
|
|
65
|
+
messageName: opts.message,
|
|
66
|
+
correlationId: opts.correlationId,
|
|
67
|
+
pluginStepId: opts.stepId,
|
|
68
|
+
exceptionOnly: opts.exceptionOnly,
|
|
69
|
+
hoursBack: parseInt(opts.hoursBack),
|
|
70
|
+
maxRecords: parseInt(opts.max),
|
|
71
|
+
});
|
|
72
|
+
outputResult({ fileName: 'plugin-trace-logs', data: result, summary: `Plugin trace logs (found ${result.totalCount})` }, getGlobalFlags(program));
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
handleCliError(error, 'get plugin trace logs');
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=plugin-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security CLI Commands - 4 commands for connection references and security roles
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerSecurityCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=security-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/security-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,CAqFpF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security CLI Commands - 4 commands for connection references and security roles
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerSecurityCommands(program, ctx) {
|
|
7
|
+
const security = program.command('security').description('Security roles and connection references');
|
|
8
|
+
security
|
|
9
|
+
.command('connection-refs')
|
|
10
|
+
.description('Get all connection references with connector details')
|
|
11
|
+
.option('-m, --max <n>', 'Maximum records to return', '100')
|
|
12
|
+
.option('--managed-only', 'Filter to managed connection references only', false)
|
|
13
|
+
.option('--has-connection', 'Filter: only refs with connections set')
|
|
14
|
+
.option('--no-connection', 'Filter: only refs without connections')
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
let hasConnection;
|
|
18
|
+
if (opts.hasConnection)
|
|
19
|
+
hasConnection = true;
|
|
20
|
+
if (opts.connection === false)
|
|
21
|
+
hasConnection = false;
|
|
22
|
+
const result = await ctx.pp.getConnectionReferences({
|
|
23
|
+
maxRecords: parseInt(opts.max),
|
|
24
|
+
managedOnly: opts.managedOnly,
|
|
25
|
+
hasConnection,
|
|
26
|
+
});
|
|
27
|
+
outputResult({ fileName: 'connection-references', data: result, summary: `Connection references: ${result.summary.total} total, ${result.summary.withConnection} with connection` }, getGlobalFlags(program));
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
handleCliError(error, 'get connection references');
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
security
|
|
34
|
+
.command('roles')
|
|
35
|
+
.description('Get custom security roles in the environment')
|
|
36
|
+
.option('-s, --solution <name>', 'Filter to roles in a specific solution')
|
|
37
|
+
.option('--include-system', 'Include system roles (System Admin, etc.)', false)
|
|
38
|
+
.option('-m, --max <n>', 'Maximum records to return', '100')
|
|
39
|
+
.action(async (opts) => {
|
|
40
|
+
try {
|
|
41
|
+
const result = await ctx.pp.getSecurityRoles({
|
|
42
|
+
solutionUniqueName: opts.solution,
|
|
43
|
+
excludeSystemRoles: !opts.includeSystem,
|
|
44
|
+
maxRecords: parseInt(opts.max),
|
|
45
|
+
});
|
|
46
|
+
outputResult({ fileName: 'security-roles', data: result, summary: `Security roles: ${result.summary.total} total (${result.summary.managed} managed, ${result.summary.unmanaged} unmanaged)` }, getGlobalFlags(program));
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
handleCliError(error, 'get security roles');
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
security
|
|
53
|
+
.command('role-privileges')
|
|
54
|
+
.description('Get privilege assignments for a specific security role')
|
|
55
|
+
.argument('<roleId>', 'Role ID (GUID)')
|
|
56
|
+
.option('-e, --entity <name>', 'Filter privileges to a specific entity (partial match)')
|
|
57
|
+
.option('-a, --access-right <right>', 'Filter by access right (Create, Read, Write, Delete, etc.)')
|
|
58
|
+
.action(async (roleId, opts) => {
|
|
59
|
+
try {
|
|
60
|
+
const result = await ctx.pp.getSecurityRolePrivileges({
|
|
61
|
+
roleId,
|
|
62
|
+
entityFilter: opts.entity,
|
|
63
|
+
accessRightFilter: opts.accessRight,
|
|
64
|
+
});
|
|
65
|
+
outputResult({ fileName: `role-privileges-${roleId}`, data: result, summary: `Role privileges: ${result.summary.total} privileges across ${result.summary.entityCount} entities` }, getGlobalFlags(program));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
handleCliError(error, 'get security role privileges');
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
security
|
|
72
|
+
.command('roles-by-solution')
|
|
73
|
+
.description('Get all security roles in a specific solution')
|
|
74
|
+
.argument('<solutionName>', 'Solution unique name')
|
|
75
|
+
.option('--include-privileges', 'Include privilege count summary per role', false)
|
|
76
|
+
.action(async (solutionName, opts) => {
|
|
77
|
+
try {
|
|
78
|
+
const result = await ctx.pp.getSecurityRolesBySolution({
|
|
79
|
+
solutionUniqueName: solutionName,
|
|
80
|
+
includePrivileges: opts.includePrivileges,
|
|
81
|
+
});
|
|
82
|
+
outputResult({ fileName: `roles-solution-${solutionName}`, data: result, summary: `Security roles in solution '${solutionName}': ${result.summary.total} roles` }, getGlobalFlags(program));
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
handleCliError(error, 'get security roles by solution');
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=security-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/security-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solution CLI Commands - 8 commands for solution management and validation
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerSolutionCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=solution-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solution-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/solution-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,CA6JpF"}
|