@mcp-consultant-tools/powerplatform-data 28.0.0-beta.6 → 28.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.
- package/build/PowerPlatformService.d.ts +12 -0
- package/build/PowerPlatformService.d.ts.map +1 -1
- package/build/PowerPlatformService.js +12 -0
- package/build/PowerPlatformService.js.map +1 -1
- package/build/cli/commands/data-commands.d.ts +7 -0
- package/build/cli/commands/data-commands.d.ts.map +1 -0
- package/build/cli/commands/data-commands.js +219 -0
- package/build/cli/commands/data-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 +67 -0
- package/build/cli/commands/flow-commands.js.map +1 -0
- package/build/cli/commands/index.d.ts +10 -0
- package/build/cli/commands/index.d.ts.map +1 -0
- package/build/cli/commands/index.js +15 -0
- package/build/cli/commands/index.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 +94 -0
- package/build/cli/commands/metadata-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 +27 -0
- package/build/cli.js.map +1 -0
- package/build/context-factory.d.ts +8 -0
- package/build/context-factory.d.ts.map +1 -0
- package/build/context-factory.js +52 -0
- package/build/context-factory.js.map +1 -0
- package/build/tool-examples.d.ts +8 -0
- package/build/tool-examples.d.ts.map +1 -1
- package/build/tool-examples.js +15 -0
- package/build/tool-examples.js.map +1 -1
- package/build/tools/index.js +2 -2
- package/build/tools/read-tools.d.ts.map +1 -1
- package/build/tools/read-tools.js +75 -1
- package/build/tools/read-tools.js.map +1 -1
- package/build/tools/write-tools.d.ts.map +1 -1
- package/build/tools/write-tools.js +97 -2
- package/build/tools/write-tools.js.map +1 -1
- package/package.json +6 -4
|
@@ -46,10 +46,22 @@ export declare class PowerPlatformService {
|
|
|
46
46
|
createRecord(entityNamePlural: string, data: Record<string, unknown>): Promise<unknown>;
|
|
47
47
|
updateRecord(entityNamePlural: string, recordId: string, data: Record<string, unknown>): Promise<unknown>;
|
|
48
48
|
deleteRecord(entityNamePlural: string, recordId: string): Promise<void>;
|
|
49
|
+
associateRecords(entityNamePlural: string, recordId: string, navigationProperty: string, targetEntityNamePlural: string, targetRecordId: string): Promise<void>;
|
|
50
|
+
disassociateRecords(entityNamePlural: string, recordId: string, navigationProperty: string, targetRecordId: string): Promise<void>;
|
|
49
51
|
executeAction(actionName: string, parameters?: Record<string, unknown>, boundTo?: {
|
|
50
52
|
entityNamePlural: string;
|
|
51
53
|
recordId: string;
|
|
52
54
|
}): Promise<unknown>;
|
|
55
|
+
countRecords(entityNamePlural: string, filter?: string): Promise<number>;
|
|
56
|
+
countRecordsBatch(entities: Array<{
|
|
57
|
+
entityNamePlural: string;
|
|
58
|
+
filter?: string;
|
|
59
|
+
}>): Promise<Array<{
|
|
60
|
+
entityNamePlural: string;
|
|
61
|
+
filter?: string;
|
|
62
|
+
count: number;
|
|
63
|
+
error?: string;
|
|
64
|
+
}>>;
|
|
53
65
|
getLookupNavigationPropertyName(entityLogicalName: string, lookupAttributeName: string, targetEntityLogicalName: string): Promise<string | null>;
|
|
54
66
|
}
|
|
55
67
|
//# sourceMappingURL=PowerPlatformService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerPlatformService.d.ts","sourceRoot":"","sources":["../src/PowerPlatformService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PowerPlatformService.d.ts","sourceRoot":"","sources":["../src/PowerPlatformService.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,9 +83,21 @@ export class PowerPlatformService {
|
|
|
83
83
|
async deleteRecord(entityNamePlural, recordId) {
|
|
84
84
|
return this.data.deleteRecord(entityNamePlural, recordId);
|
|
85
85
|
}
|
|
86
|
+
async associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId) {
|
|
87
|
+
return this.data.associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId);
|
|
88
|
+
}
|
|
89
|
+
async disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId) {
|
|
90
|
+
return this.data.disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId);
|
|
91
|
+
}
|
|
86
92
|
async executeAction(actionName, parameters, boundTo) {
|
|
87
93
|
return this.data.executeAction(actionName, parameters, boundTo);
|
|
88
94
|
}
|
|
95
|
+
async countRecords(entityNamePlural, filter) {
|
|
96
|
+
return this.data.countRecords(entityNamePlural, filter);
|
|
97
|
+
}
|
|
98
|
+
async countRecordsBatch(entities) {
|
|
99
|
+
return this.data.countRecordsBatch(entities);
|
|
100
|
+
}
|
|
89
101
|
async getLookupNavigationPropertyName(entityLogicalName, lookupAttributeName, targetEntityLogicalName) {
|
|
90
102
|
return this.data.getLookupNavigationPropertyName(entityLogicalName, lookupAttributeName, targetEntityLogicalName);
|
|
91
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerPlatformService.js","sourceRoot":"","sources":["../src/PowerPlatformService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PowerPlatformService.js","sourceRoot":"","sources":["../src/PowerPlatformService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data CRUD CLI Commands - 8 commands mapping to data MCP tools
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import type { ServiceContext } from '../../types.js';
|
|
6
|
+
export declare function registerDataCommands(program: Command, ctx: ServiceContext): void;
|
|
7
|
+
//# sourceMappingURL=data-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-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,CAqPhF"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data CRUD CLI Commands - 8 commands mapping to data MCP tools
|
|
3
|
+
*/
|
|
4
|
+
import { getGlobalFlags, handleCliError } from '@mcp-consultant-tools/core';
|
|
5
|
+
import { outputResult } from '../output.js';
|
|
6
|
+
export function registerDataCommands(program, ctx) {
|
|
7
|
+
const record = program.command('record').description('Dataverse record CRUD operations');
|
|
8
|
+
record
|
|
9
|
+
.command('query')
|
|
10
|
+
.description('Query records using an OData filter expression')
|
|
11
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts)')
|
|
12
|
+
.argument('<filter>', 'OData filter expression')
|
|
13
|
+
.option('-s, --select <columns...>', 'Columns to return')
|
|
14
|
+
.option('-m, --max-records <n>', 'Maximum records to retrieve', '50')
|
|
15
|
+
.action(async (entityNamePlural, filter, opts) => {
|
|
16
|
+
try {
|
|
17
|
+
const select = opts.select || undefined;
|
|
18
|
+
const maxRecords = parseInt(opts.maxRecords, 10);
|
|
19
|
+
const result = await ctx.pp.queryRecords(entityNamePlural, filter, maxRecords, select);
|
|
20
|
+
outputResult({
|
|
21
|
+
fileName: `query-${entityNamePlural}`,
|
|
22
|
+
data: result,
|
|
23
|
+
summary: `Retrieved ${result.returnedCount} records from '${entityNamePlural}'${result.hasMore ? ' (more available)' : ''}`,
|
|
24
|
+
}, getGlobalFlags(program));
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
handleCliError(error, 'query records');
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
record
|
|
31
|
+
.command('count')
|
|
32
|
+
.description('Count records matching an optional OData filter')
|
|
33
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts). Use comma-separated for batch mode (e.g., "accounts,contacts")')
|
|
34
|
+
.option('-f, --filter <expression>', 'OData filter expression (applies to all entities in batch mode)')
|
|
35
|
+
.action(async (entityNamePlural, opts) => {
|
|
36
|
+
try {
|
|
37
|
+
const entities = entityNamePlural.split(',').map(e => e.trim()).filter(Boolean);
|
|
38
|
+
if (entities.length > 1) {
|
|
39
|
+
// Batch mode
|
|
40
|
+
const batch = entities.map(e => ({ entityNamePlural: e, filter: opts.filter }));
|
|
41
|
+
const results = await ctx.pp.countRecordsBatch(batch);
|
|
42
|
+
const successful = results.filter(r => !r.error);
|
|
43
|
+
const totalCount = successful.reduce((sum, r) => sum + r.count, 0);
|
|
44
|
+
outputResult({
|
|
45
|
+
fileName: `count-batch`,
|
|
46
|
+
data: results,
|
|
47
|
+
summary: `Counted ${successful.length}/${results.length} entities (total: ${totalCount} records)`,
|
|
48
|
+
}, getGlobalFlags(program));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Single mode
|
|
52
|
+
const count = await ctx.pp.countRecords(entityNamePlural, opts.filter);
|
|
53
|
+
outputResult({
|
|
54
|
+
fileName: `count-${entityNamePlural}`,
|
|
55
|
+
data: { entityNamePlural, filter: opts.filter || null, count },
|
|
56
|
+
summary: `${entityNamePlural}: ${count} records${opts.filter ? ` (filter: ${opts.filter})` : ''}`,
|
|
57
|
+
}, getGlobalFlags(program));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
handleCliError(error, 'count records');
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
record
|
|
65
|
+
.command('get')
|
|
66
|
+
.description('Get a specific record by entity name and ID')
|
|
67
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts)')
|
|
68
|
+
.argument('<recordId>', 'Record GUID')
|
|
69
|
+
.action(async (entityNamePlural, recordId) => {
|
|
70
|
+
try {
|
|
71
|
+
const result = await ctx.pp.getRecord(entityNamePlural, recordId);
|
|
72
|
+
outputResult({
|
|
73
|
+
fileName: `record-${entityNamePlural}-${recordId}`,
|
|
74
|
+
data: result,
|
|
75
|
+
summary: `Record from '${entityNamePlural}' with ID '${recordId}'`,
|
|
76
|
+
}, getGlobalFlags(program));
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
handleCliError(error, 'get record');
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
record
|
|
83
|
+
.command('create')
|
|
84
|
+
.description('Create a new record (requires POWERPLATFORM_ENABLE_CREATE=true)')
|
|
85
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts)')
|
|
86
|
+
.argument('<data>', 'Record data as JSON string')
|
|
87
|
+
.action(async (entityNamePlural, dataJson) => {
|
|
88
|
+
try {
|
|
89
|
+
ctx.checkCreateEnabled();
|
|
90
|
+
const data = JSON.parse(dataJson);
|
|
91
|
+
const result = await ctx.pp.createRecord(entityNamePlural, data);
|
|
92
|
+
outputResult({
|
|
93
|
+
fileName: `created-${entityNamePlural}`,
|
|
94
|
+
data: result,
|
|
95
|
+
summary: `Record created successfully in '${entityNamePlural}'`,
|
|
96
|
+
}, getGlobalFlags(program));
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
handleCliError(error, 'create record');
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
record
|
|
103
|
+
.command('update')
|
|
104
|
+
.description('Update an existing record (requires POWERPLATFORM_ENABLE_UPDATE=true)')
|
|
105
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts)')
|
|
106
|
+
.argument('<recordId>', 'Record GUID')
|
|
107
|
+
.argument('<data>', 'Partial record data as JSON string')
|
|
108
|
+
.action(async (entityNamePlural, recordId, dataJson) => {
|
|
109
|
+
try {
|
|
110
|
+
ctx.checkUpdateEnabled();
|
|
111
|
+
const data = JSON.parse(dataJson);
|
|
112
|
+
const result = await ctx.pp.updateRecord(entityNamePlural, recordId, data);
|
|
113
|
+
outputResult({
|
|
114
|
+
fileName: `updated-${entityNamePlural}-${recordId}`,
|
|
115
|
+
data: result,
|
|
116
|
+
summary: `Record '${recordId}' updated successfully in '${entityNamePlural}'`,
|
|
117
|
+
}, getGlobalFlags(program));
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
handleCliError(error, 'update record');
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
record
|
|
124
|
+
.command('delete')
|
|
125
|
+
.description('Delete a record (requires POWERPLATFORM_ENABLE_DELETE=true)')
|
|
126
|
+
.argument('<entityNamePlural>', 'Plural entity name (e.g., accounts, contacts)')
|
|
127
|
+
.argument('<recordId>', 'Record GUID')
|
|
128
|
+
.option('--confirm', 'Confirm deletion (required)', false)
|
|
129
|
+
.action(async (entityNamePlural, recordId, opts) => {
|
|
130
|
+
try {
|
|
131
|
+
ctx.checkDeleteEnabled();
|
|
132
|
+
if (!opts.confirm) {
|
|
133
|
+
process.stderr.write(`Delete operation requires --confirm flag.\n` +
|
|
134
|
+
`You are about to delete record '${recordId}' from '${entityNamePlural}'.\n` +
|
|
135
|
+
`This operation is permanent and cannot be undone.\n` +
|
|
136
|
+
`To proceed, run again with --confirm.\n`);
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
await ctx.pp.deleteRecord(entityNamePlural, recordId);
|
|
140
|
+
outputResult({
|
|
141
|
+
fileName: `deleted-${entityNamePlural}-${recordId}`,
|
|
142
|
+
data: { entity: entityNamePlural, recordId, deleted: true },
|
|
143
|
+
summary: `Record '${recordId}' deleted from '${entityNamePlural}'`,
|
|
144
|
+
}, getGlobalFlags(program));
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
handleCliError(error, 'delete record');
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
record
|
|
151
|
+
.command('associate')
|
|
152
|
+
.description('Associate two records via a navigation property (requires POWERPLATFORM_ENABLE_CREATE=true)')
|
|
153
|
+
.argument('<entityNamePlural>', 'Source entity plural name (e.g., accounts)')
|
|
154
|
+
.argument('<recordId>', 'Source record GUID')
|
|
155
|
+
.argument('<navigationProperty>', 'Navigation property name for the relationship')
|
|
156
|
+
.argument('<targetEntityNamePlural>', 'Target entity plural name (e.g., contacts)')
|
|
157
|
+
.argument('<targetRecordId>', 'Target record GUID')
|
|
158
|
+
.action(async (entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId) => {
|
|
159
|
+
try {
|
|
160
|
+
ctx.checkCreateEnabled();
|
|
161
|
+
await ctx.pp.associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId);
|
|
162
|
+
outputResult({
|
|
163
|
+
fileName: `associate-${entityNamePlural}-${recordId}`,
|
|
164
|
+
data: { source: `${entityNamePlural}(${recordId})`, target: `${targetEntityNamePlural}(${targetRecordId})`, navigationProperty, associated: true },
|
|
165
|
+
summary: `Records associated: ${entityNamePlural}(${recordId}) -> ${targetEntityNamePlural}(${targetRecordId}) via ${navigationProperty}`,
|
|
166
|
+
}, getGlobalFlags(program));
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
handleCliError(error, 'associate records');
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
record
|
|
173
|
+
.command('disassociate')
|
|
174
|
+
.description('Remove association between two records (requires POWERPLATFORM_ENABLE_DELETE=true)')
|
|
175
|
+
.argument('<entityNamePlural>', 'Source entity plural name (e.g., accounts)')
|
|
176
|
+
.argument('<recordId>', 'Source record GUID')
|
|
177
|
+
.argument('<navigationProperty>', 'Navigation property name for the relationship')
|
|
178
|
+
.argument('<targetRecordId>', 'Target record GUID')
|
|
179
|
+
.action(async (entityNamePlural, recordId, navigationProperty, targetRecordId) => {
|
|
180
|
+
try {
|
|
181
|
+
ctx.checkDeleteEnabled();
|
|
182
|
+
await ctx.pp.disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId);
|
|
183
|
+
outputResult({
|
|
184
|
+
fileName: `disassociate-${entityNamePlural}-${recordId}`,
|
|
185
|
+
data: { source: `${entityNamePlural}(${recordId})`, targetRecordId, navigationProperty, disassociated: true },
|
|
186
|
+
summary: `Records disassociated: ${entityNamePlural}(${recordId}) -> ${targetRecordId} via ${navigationProperty}`,
|
|
187
|
+
}, getGlobalFlags(program));
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
handleCliError(error, 'disassociate records');
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
record
|
|
194
|
+
.command('execute-action')
|
|
195
|
+
.description('Execute a Custom API or Action (requires POWERPLATFORM_ENABLE_ACTIONS=true)')
|
|
196
|
+
.argument('<actionName>', 'Action unique name (e.g., WhoAmI, new_MyCustomAction)')
|
|
197
|
+
.option('-p, --parameters <json>', 'Input parameters as JSON string')
|
|
198
|
+
.option('--bound-entity <entityNamePlural>', 'Bound entity plural name')
|
|
199
|
+
.option('--bound-record <recordId>', 'Bound record GUID')
|
|
200
|
+
.action(async (actionName, opts) => {
|
|
201
|
+
try {
|
|
202
|
+
ctx.checkActionsEnabled();
|
|
203
|
+
const parameters = opts.parameters ? JSON.parse(opts.parameters) : undefined;
|
|
204
|
+
const boundTo = opts.boundEntity && opts.boundRecord
|
|
205
|
+
? { entityNamePlural: opts.boundEntity, recordId: opts.boundRecord }
|
|
206
|
+
: undefined;
|
|
207
|
+
const result = await ctx.pp.executeAction(actionName, parameters, boundTo);
|
|
208
|
+
outputResult({
|
|
209
|
+
fileName: `action-${actionName}`,
|
|
210
|
+
data: result,
|
|
211
|
+
summary: `Action '${actionName}' executed successfully${boundTo ? ` (bound to ${boundTo.entityNamePlural}/${boundTo.recordId})` : ' (unbound)'}`,
|
|
212
|
+
}, getGlobalFlags(program));
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
handleCliError(error, 'execute action');
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=data-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/data-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flow CLI Commands - 2 commands mapping to flow MCP tools
|
|
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,CA+DhF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flow CLI Commands - 2 commands mapping to flow MCP tools
|
|
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 operations');
|
|
8
|
+
flow
|
|
9
|
+
.command('runs')
|
|
10
|
+
.description('Get run history for a flow')
|
|
11
|
+
.argument('<flowId>', 'Flow GUID (workflowid)')
|
|
12
|
+
.option('-s, --status <status>', 'Filter by status: Succeeded, Failed, Running, Waiting, Cancelled')
|
|
13
|
+
.option('--started-after <date>', 'Only runs started after this date (ISO 8601)')
|
|
14
|
+
.option('--started-before <date>', 'Only runs started before this date (ISO 8601)')
|
|
15
|
+
.option('-m, --max-records <n>', 'Maximum runs to return', '50')
|
|
16
|
+
.action(async (flowId, opts) => {
|
|
17
|
+
try {
|
|
18
|
+
const result = await ctx.pp.getFlowRuns(flowId, {
|
|
19
|
+
status: opts.status,
|
|
20
|
+
startedAfter: opts.startedAfter,
|
|
21
|
+
startedBefore: opts.startedBefore,
|
|
22
|
+
maxRecords: parseInt(opts.maxRecords, 10),
|
|
23
|
+
});
|
|
24
|
+
const stats = (result.runs || []).reduce((acc, run) => {
|
|
25
|
+
if (run.status === 'Succeeded')
|
|
26
|
+
acc.succeeded++;
|
|
27
|
+
else if (run.status === 'Failed' || run.status === 'Faulted' || run.status === 'TimedOut')
|
|
28
|
+
acc.failed++;
|
|
29
|
+
else if (run.status === 'Running' || run.status === 'Waiting')
|
|
30
|
+
acc.inProgress++;
|
|
31
|
+
else if (run.status === 'Cancelled')
|
|
32
|
+
acc.cancelled++;
|
|
33
|
+
else
|
|
34
|
+
acc.other++;
|
|
35
|
+
return acc;
|
|
36
|
+
}, { succeeded: 0, failed: 0, inProgress: 0, cancelled: 0, other: 0 });
|
|
37
|
+
outputResult({
|
|
38
|
+
fileName: `flow-runs-${flowId}`,
|
|
39
|
+
data: result,
|
|
40
|
+
summary: `Flow ${flowId}: ${result.totalCount} runs (OK: ${stats.succeeded}, Failed: ${stats.failed}, Running: ${stats.inProgress})`,
|
|
41
|
+
}, getGlobalFlags(program));
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
handleCliError(error, 'get flow runs');
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
flow
|
|
48
|
+
.command('run-details')
|
|
49
|
+
.description('Get detailed info about a specific flow run')
|
|
50
|
+
.argument('<flowId>', 'Flow GUID (workflowid)')
|
|
51
|
+
.argument('<runId>', 'Flow run GUID')
|
|
52
|
+
.action(async (flowId, runId) => {
|
|
53
|
+
try {
|
|
54
|
+
const result = await ctx.pp.getFlowRunDetails(flowId, runId);
|
|
55
|
+
const summary = result.actionsSummary || {};
|
|
56
|
+
outputResult({
|
|
57
|
+
fileName: `flow-run-${flowId}-${runId}`,
|
|
58
|
+
data: result,
|
|
59
|
+
summary: `Flow run ${runId}: ${result.status} (${summary.total || 0} actions, ${summary.failed || 0} failed)`,
|
|
60
|
+
}, getGlobalFlags(program));
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
handleCliError(error, 'get flow run details');
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# 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,10 @@
|
|
|
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 { registerDataCommands } from './data-commands.js';
|
|
8
|
+
export { registerMetadataCommands } from './metadata-commands.js';
|
|
9
|
+
export { registerFlowCommands } from './flow-commands.js';
|
|
10
|
+
//# 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;AAKrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAI/E;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Commands barrel export + combined registration
|
|
3
|
+
*/
|
|
4
|
+
import { registerDataCommands } from './data-commands.js';
|
|
5
|
+
import { registerMetadataCommands } from './metadata-commands.js';
|
|
6
|
+
import { registerFlowCommands } from './flow-commands.js';
|
|
7
|
+
export function registerAllCommands(program, ctx) {
|
|
8
|
+
registerDataCommands(program, ctx);
|
|
9
|
+
registerMetadataCommands(program, ctx);
|
|
10
|
+
registerFlowCommands(program, ctx);
|
|
11
|
+
}
|
|
12
|
+
export { registerDataCommands } from './data-commands.js';
|
|
13
|
+
export { registerMetadataCommands } from './metadata-commands.js';
|
|
14
|
+
export { registerFlowCommands } from './flow-commands.js';
|
|
15
|
+
//# 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,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAmB;IACvE,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata CLI Commands - 2 commands mapping to metadata MCP tools
|
|
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,CAqGpF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata CLI Commands - 2 commands mapping to metadata MCP tools
|
|
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('Dataverse entity metadata operations');
|
|
8
|
+
metadata
|
|
9
|
+
.command('get')
|
|
10
|
+
.description('Get entity metadata (EntitySetName, PrimaryIdAttribute, etc.)')
|
|
11
|
+
.argument('<entityLogicalName>', 'Logical name of the entity (e.g., account, contact)')
|
|
12
|
+
.action(async (entityLogicalName) => {
|
|
13
|
+
try {
|
|
14
|
+
const raw = await ctx.pp.getEntityMetadata(entityLogicalName);
|
|
15
|
+
const summary = {
|
|
16
|
+
LogicalName: raw.LogicalName,
|
|
17
|
+
EntitySetName: raw.EntitySetName,
|
|
18
|
+
PrimaryIdAttribute: raw.PrimaryIdAttribute,
|
|
19
|
+
PrimaryNameAttribute: raw.PrimaryNameAttribute,
|
|
20
|
+
DisplayName: raw.DisplayName?.UserLocalizedLabel?.Label,
|
|
21
|
+
DisplayCollectionName: raw.DisplayCollectionName?.UserLocalizedLabel?.Label,
|
|
22
|
+
SchemaName: raw.SchemaName,
|
|
23
|
+
LogicalCollectionName: raw.LogicalCollectionName,
|
|
24
|
+
IsCustomEntity: raw.IsCustomEntity,
|
|
25
|
+
MetadataId: raw.MetadataId,
|
|
26
|
+
};
|
|
27
|
+
outputResult({
|
|
28
|
+
fileName: `metadata-${entityLogicalName}`,
|
|
29
|
+
data: summary,
|
|
30
|
+
summary: `Entity '${entityLogicalName}': EntitySetName=${summary.EntitySetName}, PrimaryId=${summary.PrimaryIdAttribute}`,
|
|
31
|
+
}, getGlobalFlags(program));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
handleCliError(error, 'get entity metadata');
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
metadata
|
|
38
|
+
.command('lookup-target')
|
|
39
|
+
.description('Get lookup field target entity info (for @odata.bind syntax)')
|
|
40
|
+
.argument('<entityLogicalName>', 'Entity containing the lookup (e.g., ste_transaction)')
|
|
41
|
+
.argument('<lookupAttributeName>', 'Lookup attribute name (e.g., parentaccountid)')
|
|
42
|
+
.action(async (entityLogicalName, lookupAttributeName) => {
|
|
43
|
+
try {
|
|
44
|
+
const attribute = await ctx.pp.getEntityAttribute(entityLogicalName, lookupAttributeName);
|
|
45
|
+
if (!attribute.Targets || attribute.Targets.length === 0) {
|
|
46
|
+
process.stderr.write(`Attribute '${lookupAttributeName}' on entity '${entityLogicalName}' is not a lookup field or has no targets.\n`);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
const lookupSchemaName = attribute.SchemaName;
|
|
50
|
+
const isPolymorphic = attribute.Targets.length > 1;
|
|
51
|
+
const targetResults = await Promise.all(attribute.Targets.map(async (targetEntity) => {
|
|
52
|
+
try {
|
|
53
|
+
const targetMetadata = await ctx.pp.getEntityMetadata(targetEntity);
|
|
54
|
+
const bindingPropertyName = isPolymorphic
|
|
55
|
+
? `${lookupSchemaName}_${targetEntity}`
|
|
56
|
+
: lookupSchemaName;
|
|
57
|
+
return {
|
|
58
|
+
LogicalName: targetEntity,
|
|
59
|
+
EntitySetName: targetMetadata.EntitySetName,
|
|
60
|
+
PrimaryIdAttribute: targetMetadata.PrimaryIdAttribute,
|
|
61
|
+
DisplayName: targetMetadata.DisplayName?.UserLocalizedLabel?.Label,
|
|
62
|
+
BindingPropertyName: bindingPropertyName,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return {
|
|
67
|
+
LogicalName: targetEntity,
|
|
68
|
+
EntitySetName: `${targetEntity}s`,
|
|
69
|
+
BindingPropertyName: isPolymorphic ? `${lookupSchemaName}_${targetEntity}` : lookupSchemaName,
|
|
70
|
+
error: 'Could not fetch metadata',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
74
|
+
const result = {
|
|
75
|
+
lookupAttribute: {
|
|
76
|
+
SchemaName: lookupSchemaName,
|
|
77
|
+
LogicalName: lookupAttributeName,
|
|
78
|
+
IsPolymorphic: isPolymorphic,
|
|
79
|
+
},
|
|
80
|
+
targets: targetResults,
|
|
81
|
+
bindingSyntax: `${targetResults[0].BindingPropertyName}@odata.bind: /${targetResults[0].EntitySetName}(<guid>)`,
|
|
82
|
+
};
|
|
83
|
+
outputResult({
|
|
84
|
+
fileName: `lookup-${entityLogicalName}-${lookupAttributeName}`,
|
|
85
|
+
data: result,
|
|
86
|
+
summary: `Lookup '${lookupAttributeName}' on '${entityLogicalName}': bind via ${targetResults[0].BindingPropertyName}@odata.bind -> /${targetResults[0].EntitySetName}(<guid>)`,
|
|
87
|
+
}, getGlobalFlags(program));
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
handleCliError(error, 'get lookup target');
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# 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":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,GAAmB;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAEjG,QAAQ;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+DAA+D,CAAC;SAC5E,QAAQ,CAAC,qBAAqB,EAAE,qDAAqD,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,iBAAyB,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAQ,CAAC;YACrE,MAAM,OAAO,GAAG;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;gBAC1C,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;gBAC9C,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK;gBACvD,qBAAqB,EAAE,GAAG,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,KAAK;gBAC3E,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;gBAChD,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC;YACF,YAAY,CACV;gBACE,QAAQ,EAAE,YAAY,iBAAiB,EAAE;gBACzC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,WAAW,iBAAiB,oBAAoB,OAAO,CAAC,aAAa,eAAe,OAAO,CAAC,kBAAkB,EAAE;aAC1H,EACD,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,QAAQ,CAAC,qBAAqB,EAAE,sDAAsD,CAAC;SACvF,QAAQ,CAAC,uBAAuB,EAAE,+CAA+C,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,iBAAyB,EAAE,mBAA2B,EAAE,EAAE;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,mBAAmB,CAAQ,CAAC;YAEjG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,mBAAmB,gBAAgB,iBAAiB,8CAA8C,CACjH,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9C,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAEnD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAQ,CAAC;oBAC3E,MAAM,mBAAmB,GAAG,aAAa;wBACvC,CAAC,CAAC,GAAG,gBAAgB,IAAI,YAAY,EAAE;wBACvC,CAAC,CAAC,gBAAgB,CAAC;oBACrB,OAAO;wBACL,WAAW,EAAE,YAAY;wBACzB,aAAa,EAAE,cAAc,CAAC,aAAa;wBAC3C,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;wBACrD,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK;wBAClE,mBAAmB,EAAE,mBAAmB;qBACzC,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,WAAW,EAAE,YAAY;wBACzB,aAAa,EAAE,GAAG,YAAY,GAAG;wBACjC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB;wBAC7F,KAAK,EAAE,0BAA0B;qBAClC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG;gBACb,eAAe,EAAE;oBACf,UAAU,EAAE,gBAAgB;oBAC5B,WAAW,EAAE,mBAAmB;oBAChC,aAAa,EAAE,aAAa;iBAC7B;gBACD,OAAO,EAAE,aAAa;gBACtB,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,iBAAiB,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU;aAChH,CAAC;YAEF,YAAY,CACV;gBACE,QAAQ,EAAE,UAAU,iBAAiB,IAAI,mBAAmB,EAAE;gBAC9D,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW,mBAAmB,SAAS,iBAAiB,eAAe,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,mBAAmB,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU;aAChL,EACD,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI output helper for powerplatform-data package.
|
|
3
|
+
* Thin wrapper setting the package-specific cache directory.
|
|
4
|
+
*/
|
|
5
|
+
import { type GlobalFlags } from '@mcp-consultant-tools/core';
|
|
6
|
+
export declare function outputResult(opts: {
|
|
7
|
+
fileName: string;
|
|
8
|
+
data: unknown;
|
|
9
|
+
summary: string;
|
|
10
|
+
}, flags: GlobalFlags): void;
|
|
11
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIhG,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1D,KAAK,EAAE,WAAW,GACjB,IAAI,CAEN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI output helper for powerplatform-data package.
|
|
3
|
+
* Thin wrapper setting the package-specific cache directory.
|
|
4
|
+
*/
|
|
5
|
+
import { outputResult as coreOutputResult } from '@mcp-consultant-tools/core';
|
|
6
|
+
const CACHE_DIR = '.mcp-pp-data-cache';
|
|
7
|
+
export function outputResult(opts, flags) {
|
|
8
|
+
coreOutputResult({ ...opts, cacheDir: CACHE_DIR }, flags);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAoB,MAAM,4BAA4B,CAAC;AAEhG,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,MAAM,UAAU,YAAY,CAC1B,IAA0D,EAC1D,KAAkB;IAElB,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC"}
|
package/build/cli.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @mcp-consultant-tools/powerplatform-data CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for PowerPlatform data CRUD operations.
|
|
6
|
+
* Reuses the same ServiceContext and services as the MCP server.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
|
package/build/cli.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @mcp-consultant-tools/powerplatform-data CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for PowerPlatform data CRUD operations.
|
|
6
|
+
* Reuses the same ServiceContext and services as the MCP server.
|
|
7
|
+
*/
|
|
8
|
+
import { createCliProgram, loadEnvForCli } from '@mcp-consultant-tools/core';
|
|
9
|
+
import { createServiceContext } from './context-factory.js';
|
|
10
|
+
import { registerAllCommands } from './cli/commands/index.js';
|
|
11
|
+
const program = createCliProgram({
|
|
12
|
+
name: 'mcp-pp-data-cli',
|
|
13
|
+
description: 'PowerPlatform Data CLI - records, metadata, flows',
|
|
14
|
+
version: '28.0.0-beta.8',
|
|
15
|
+
});
|
|
16
|
+
// Load env before parsing (--env-file handled by commander hook)
|
|
17
|
+
program.hook('preAction', (thisCommand) => {
|
|
18
|
+
const opts = thisCommand.opts();
|
|
19
|
+
loadEnvForCli(opts.envFile);
|
|
20
|
+
});
|
|
21
|
+
const ctx = createServiceContext();
|
|
22
|
+
registerAllCommands(program, ctx);
|
|
23
|
+
program.parseAsync(process.argv).catch((error) => {
|
|
24
|
+
console.error('CLI error:', error instanceof Error ? error.message : String(error));
|
|
25
|
+
process.exit(1);
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=cli.js.map
|
package/build/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,OAAO,GAAG,gBAAgB,CAAC;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mDAAmD;IAChE,OAAO,EAAE,eAAe;CACzB,CAAC,CAAC;AAEH,iEAAiE;AACjE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAoB,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;AACnC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAElC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxD,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared service context factory - used by both MCP server and CLI.
|
|
3
|
+
*/
|
|
4
|
+
import { PowerPlatformService } from './PowerPlatformService.js';
|
|
5
|
+
import type { ServiceContext } from './types.js';
|
|
6
|
+
export type { ServiceContext } from './types.js';
|
|
7
|
+
export declare function createServiceContext(service?: PowerPlatformService): ServiceContext;
|
|
8
|
+
//# sourceMappingURL=context-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-factory.d.ts","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAkDnF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared service context factory - used by both MCP server and CLI.
|
|
3
|
+
*/
|
|
4
|
+
import { PowerPlatformService } from './PowerPlatformService.js';
|
|
5
|
+
export function createServiceContext(service) {
|
|
6
|
+
let ppService = service || null;
|
|
7
|
+
function getPowerPlatformService() {
|
|
8
|
+
if (!ppService) {
|
|
9
|
+
const requiredVars = [
|
|
10
|
+
'POWERPLATFORM_URL',
|
|
11
|
+
'POWERPLATFORM_CLIENT_ID',
|
|
12
|
+
'POWERPLATFORM_TENANT_ID'
|
|
13
|
+
];
|
|
14
|
+
const missing = requiredVars.filter(v => !process.env[v]);
|
|
15
|
+
if (missing.length > 0) {
|
|
16
|
+
throw new Error(`Missing required PowerPlatform configuration: ${missing.join(', ')}`);
|
|
17
|
+
}
|
|
18
|
+
const config = {
|
|
19
|
+
organizationUrl: process.env.POWERPLATFORM_URL,
|
|
20
|
+
clientId: process.env.POWERPLATFORM_CLIENT_ID,
|
|
21
|
+
clientSecret: process.env.POWERPLATFORM_CLIENT_SECRET,
|
|
22
|
+
tenantId: process.env.POWERPLATFORM_TENANT_ID,
|
|
23
|
+
};
|
|
24
|
+
ppService = new PowerPlatformService(config);
|
|
25
|
+
}
|
|
26
|
+
return ppService;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
get pp() { return getPowerPlatformService(); },
|
|
30
|
+
checkCreateEnabled() {
|
|
31
|
+
if (process.env.POWERPLATFORM_ENABLE_CREATE !== 'true') {
|
|
32
|
+
throw new Error('Create operations are disabled. Set POWERPLATFORM_ENABLE_CREATE=true to enable.');
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
checkUpdateEnabled() {
|
|
36
|
+
if (process.env.POWERPLATFORM_ENABLE_UPDATE !== 'true') {
|
|
37
|
+
throw new Error('Update operations are disabled. Set POWERPLATFORM_ENABLE_UPDATE=true to enable.');
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
checkDeleteEnabled() {
|
|
41
|
+
if (process.env.POWERPLATFORM_ENABLE_DELETE !== 'true') {
|
|
42
|
+
throw new Error('Delete operations are disabled. Set POWERPLATFORM_ENABLE_DELETE=true to enable.');
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
checkActionsEnabled() {
|
|
46
|
+
if (process.env.POWERPLATFORM_ENABLE_ACTIONS !== 'true') {
|
|
47
|
+
throw new Error('Action execution is disabled. Set POWERPLATFORM_ENABLE_ACTIONS=true to enable.');
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=context-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-factory.js","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAKtF,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,IAAI,SAAS,GAAgC,OAAO,IAAI,IAAI,CAAC;IAE7D,SAAS,uBAAuB;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG;gBACnB,mBAAmB;gBACnB,yBAAyB;gBACzB,yBAAyB;aAC1B,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,MAAM,GAAwB;gBAClC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAkB;gBAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAwB;gBAC9C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBACrD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAwB;aAC/C,CAAC;YAEF,SAAS,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,OAAO,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC9C,kBAAkB;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,kBAAkB;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,kBAAkB;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,mBAAmB;YACjB,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/build/tool-examples.d.ts
CHANGED
|
@@ -23,6 +23,14 @@ export declare const ODATA_BIND_EXAMPLES: {
|
|
|
23
23
|
label: string;
|
|
24
24
|
value: string;
|
|
25
25
|
}[];
|
|
26
|
+
export declare const NAVIGATION_PROPERTY_EXAMPLES: {
|
|
27
|
+
label: string;
|
|
28
|
+
value: string;
|
|
29
|
+
}[];
|
|
30
|
+
export declare const COUNT_ENTITY_BATCH_EXAMPLES: {
|
|
31
|
+
label: string;
|
|
32
|
+
value: string;
|
|
33
|
+
}[];
|
|
26
34
|
export declare const ENTITY_NAME_SINGULAR_EXAMPLES: {
|
|
27
35
|
label: string;
|
|
28
36
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;GAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;GAGjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;GAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;GAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;GAIzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;GAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;GAGjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;GAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;GAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;GAIxC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;GASvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;GAIzC,CAAC"}
|
package/build/tool-examples.js
CHANGED
|
@@ -28,6 +28,21 @@ export const ODATA_BIND_EXAMPLES = [
|
|
|
28
28
|
{ label: "Simple lookup", value: "si_titleid@odata.bind: '/si_titles(guid)'" },
|
|
29
29
|
{ label: "Customer lookup", value: "customerid_account@odata.bind: '/accounts(guid)'" },
|
|
30
30
|
];
|
|
31
|
+
export const NAVIGATION_PROPERTY_EXAMPLES = [
|
|
32
|
+
{ label: "Account contacts (N:N)", value: "contact_customer_accounts" },
|
|
33
|
+
{ label: "Custom N:N relationship", value: "si_eventpackageadditionalitem_si_eventd" },
|
|
34
|
+
{ label: "Team members", value: "teammembership_association" },
|
|
35
|
+
];
|
|
36
|
+
export const COUNT_ENTITY_BATCH_EXAMPLES = [
|
|
37
|
+
{
|
|
38
|
+
label: "Count active records in multiple tables",
|
|
39
|
+
value: '[{"entityNamePlural":"accounts","filter":"statecode eq 0"},{"entityNamePlural":"contacts","filter":"statecode eq 0"}]',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
label: "Count all records (no filter)",
|
|
43
|
+
value: '[{"entityNamePlural":"si_membershipactions"},{"entityNamePlural":"si_applications"}]',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
31
46
|
export const ENTITY_NAME_SINGULAR_EXAMPLES = [
|
|
32
47
|
{ label: "Account", value: "account" },
|
|
33
48
|
{ label: "Contact", value: "contact" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACrD,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACjE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAC/E,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,iCAAiC,EAAE;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACpD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IAClD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,8CAA8C,EAAE;IACjF,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,8CAA8C,EAAE;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAC9E,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kDAAkD,EAAE;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE;CACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACrD,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACjE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAC/E,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,iCAAiC,EAAE;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACpD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IAClD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,8CAA8C,EAAE;IACjF,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,8CAA8C,EAAE;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAC9E,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kDAAkD,EAAE;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,2BAA2B,EAAE;IACvE,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,yCAAyC,EAAE;IACtF,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,4BAA4B,EAAE;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC;QACE,KAAK,EAAE,yCAAyC;QAChD,KAAK,EAAE,uHAAuH;KAC/H;IACD;QACE,KAAK,EAAE,+BAA+B;QACtC,KAAK,EAAE,sFAAsF;KAC9F;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE;CACpD,CAAC"}
|
package/build/tools/index.js
CHANGED
|
@@ -3,8 +3,8 @@ import { registerWriteTools } from './write-tools.js';
|
|
|
3
3
|
export function registerAllTools(server, ctx) {
|
|
4
4
|
registerReadTools(server, ctx);
|
|
5
5
|
registerWriteTools(server, ctx);
|
|
6
|
-
//
|
|
7
|
-
console.error(`powerplatform-data tools registered:
|
|
6
|
+
// 7 read + 4 write = 11 tools
|
|
7
|
+
console.error(`powerplatform-data tools registered: 11 tools`);
|
|
8
8
|
}
|
|
9
9
|
export { registerReadTools } from './read-tools.js';
|
|
10
10
|
export { registerWriteTools } from './write-tools.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA0fxE"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* No permission flags required - always enabled.
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { descWithExamples, ODATA_FILTER_EXAMPLES, SELECT_FIELD_EXAMPLES, ENTITY_NAME_EXAMPLES, ENTITY_NAME_SINGULAR_EXAMPLES, } from '../tool-examples.js';
|
|
6
|
+
import { descWithExamples, ODATA_FILTER_EXAMPLES, SELECT_FIELD_EXAMPLES, ENTITY_NAME_EXAMPLES, ENTITY_NAME_SINGULAR_EXAMPLES, COUNT_ENTITY_BATCH_EXAMPLES, } from '../tool-examples.js';
|
|
7
7
|
export function registerReadTools(server, ctx) {
|
|
8
8
|
server.tool("query-records", "Query Dataverse records with OData filter syntax. Returns JSON array of matching records. Use $select to limit fields and reduce response size. Default limit: 50 records.", {
|
|
9
9
|
entityNamePlural: z
|
|
@@ -54,6 +54,80 @@ export function registerReadTools(server, ctx) {
|
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
|
+
server.tool("count-records", "Count Dataverse records matching an optional OData filter. Returns a single integer count instead of record data. " +
|
|
58
|
+
"Much faster and lighter than query-records when you only need the count. " +
|
|
59
|
+
"Supports batch mode: pass an array of entities to count multiple tables in one call (executed in parallel chunks of 10).", {
|
|
60
|
+
entityNamePlural: z
|
|
61
|
+
.string()
|
|
62
|
+
.optional()
|
|
63
|
+
.describe(descWithExamples("The plural entity set name to count. Required for single-entity count. Omit when using 'entities' for batch mode", ENTITY_NAME_EXAMPLES)),
|
|
64
|
+
filter: z
|
|
65
|
+
.string()
|
|
66
|
+
.optional()
|
|
67
|
+
.describe(descWithExamples("OData $filter expression to count only matching records. Optional — omit to count all records", ODATA_FILTER_EXAMPLES)),
|
|
68
|
+
entities: z
|
|
69
|
+
.array(z.object({
|
|
70
|
+
entityNamePlural: z.string().describe("Plural entity set name"),
|
|
71
|
+
filter: z.string().optional().describe("Optional OData $filter for this entity"),
|
|
72
|
+
}))
|
|
73
|
+
.optional()
|
|
74
|
+
.describe(descWithExamples("Batch mode: array of entities to count in parallel. When provided, entityNamePlural and filter params are ignored", COUNT_ENTITY_BATCH_EXAMPLES)),
|
|
75
|
+
}, async ({ entityNamePlural, filter, entities }) => {
|
|
76
|
+
try {
|
|
77
|
+
// Validate input before accessing service (which triggers config validation)
|
|
78
|
+
if ((!entities || entities.length === 0) && !entityNamePlural) {
|
|
79
|
+
return {
|
|
80
|
+
content: [{
|
|
81
|
+
type: "text",
|
|
82
|
+
text: "❌ Either 'entityNamePlural' (single mode) or 'entities' (batch mode) must be provided.",
|
|
83
|
+
}],
|
|
84
|
+
isError: true,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const service = ctx.pp;
|
|
88
|
+
// Batch mode
|
|
89
|
+
if (entities && entities.length > 0) {
|
|
90
|
+
const results = await service.countRecordsBatch(entities);
|
|
91
|
+
const successful = results.filter(r => !r.error);
|
|
92
|
+
const failed = results.filter(r => r.error);
|
|
93
|
+
const totalCount = successful.reduce((sum, r) => sum + r.count, 0);
|
|
94
|
+
let message = `📊 Batch count: ${successful.length}/${results.length} entities counted successfully (total: ${totalCount.toLocaleString()} records)`;
|
|
95
|
+
if (failed.length > 0) {
|
|
96
|
+
message += `\n⚠️ ${failed.length} entities failed`;
|
|
97
|
+
}
|
|
98
|
+
const resultStr = JSON.stringify(results, null, 2);
|
|
99
|
+
return {
|
|
100
|
+
content: [{
|
|
101
|
+
type: "text",
|
|
102
|
+
text: `${message}\n\n\`\`\`json\n${resultStr}\n\`\`\``,
|
|
103
|
+
}],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// Single entity mode
|
|
107
|
+
const count = await service.countRecords(entityNamePlural, filter);
|
|
108
|
+
let message = `📊 Count of '${entityNamePlural}'`;
|
|
109
|
+
if (filter) {
|
|
110
|
+
message += ` where ${filter}`;
|
|
111
|
+
}
|
|
112
|
+
message += `: **${count.toLocaleString()}** records`;
|
|
113
|
+
return {
|
|
114
|
+
content: [{
|
|
115
|
+
type: "text",
|
|
116
|
+
text: message,
|
|
117
|
+
}],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error("Error counting records:", error);
|
|
122
|
+
return {
|
|
123
|
+
content: [{
|
|
124
|
+
type: "text",
|
|
125
|
+
text: `❌ Failed to count records: ${error.message}`,
|
|
126
|
+
}],
|
|
127
|
+
isError: true,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
});
|
|
57
131
|
server.tool("get-record", "Get a single Dataverse record by GUID. Returns all columns by default. Use select parameter to limit returned fields.", {
|
|
58
132
|
entityNamePlural: z
|
|
59
133
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-tools.js","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"read-tools.js","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAkXzE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Write tools for powerplatform-data (
|
|
2
|
+
* Write tools for powerplatform-data (6 tools)
|
|
3
3
|
* Require permission flags: POWERPLATFORM_ENABLE_CREATE, _UPDATE, _DELETE, _ACTIONS.
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { descWithExamples, ENTITY_NAME_EXAMPLES, RECORD_DATA_EXAMPLES, ODATA_BIND_EXAMPLES, } from '../tool-examples.js';
|
|
6
|
+
import { descWithExamples, ENTITY_NAME_EXAMPLES, RECORD_DATA_EXAMPLES, ODATA_BIND_EXAMPLES, NAVIGATION_PROPERTY_EXAMPLES, } from '../tool-examples.js';
|
|
7
7
|
export function registerWriteTools(server, ctx) {
|
|
8
8
|
server.tool("create-record", "Create a new record in Dataverse. Use @odata.bind syntax for lookup fields. Requires POWERPLATFORM_ENABLE_CREATE=true.", {
|
|
9
9
|
entityNamePlural: z
|
|
@@ -199,5 +199,100 @@ export function registerWriteTools(server, ctx) {
|
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
201
|
});
|
|
202
|
+
server.tool("associate-records", "Associate two records via a navigation property (N:N or 1:N relationship). " +
|
|
203
|
+
"Use this for Many-to-Many relationships where intersect entities cannot be created directly. " +
|
|
204
|
+
"Requires POWERPLATFORM_ENABLE_CREATE=true.", {
|
|
205
|
+
entityNamePlural: z
|
|
206
|
+
.string()
|
|
207
|
+
.describe(descWithExamples("The plural entity set name of the source entity", ENTITY_NAME_EXAMPLES)),
|
|
208
|
+
recordId: z
|
|
209
|
+
.string()
|
|
210
|
+
.describe("The GUID of the source record"),
|
|
211
|
+
navigationProperty: z
|
|
212
|
+
.string()
|
|
213
|
+
.describe(descWithExamples("The navigation property name for the relationship. " +
|
|
214
|
+
"Find this in the relationship metadata or via get-entity-relationships tool in the read-only package", NAVIGATION_PROPERTY_EXAMPLES)),
|
|
215
|
+
targetEntityNamePlural: z
|
|
216
|
+
.string()
|
|
217
|
+
.describe(descWithExamples("The plural entity set name of the target entity", ENTITY_NAME_EXAMPLES)),
|
|
218
|
+
targetRecordId: z
|
|
219
|
+
.string()
|
|
220
|
+
.describe("The GUID of the target record to associate"),
|
|
221
|
+
}, async ({ entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId }) => {
|
|
222
|
+
try {
|
|
223
|
+
ctx.checkCreateEnabled();
|
|
224
|
+
const service = ctx.pp;
|
|
225
|
+
await service.associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId);
|
|
226
|
+
return {
|
|
227
|
+
content: [
|
|
228
|
+
{
|
|
229
|
+
type: "text",
|
|
230
|
+
text: `✅ Records associated successfully\n\n` +
|
|
231
|
+
`**Source:** ${entityNamePlural}(${recordId})\n` +
|
|
232
|
+
`**Target:** ${targetEntityNamePlural}(${targetRecordId})\n` +
|
|
233
|
+
`**Relationship:** ${navigationProperty}`,
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
console.error("Error associating records:", error);
|
|
240
|
+
return {
|
|
241
|
+
content: [
|
|
242
|
+
{
|
|
243
|
+
type: "text",
|
|
244
|
+
text: `❌ Failed to associate records: ${error.message}`,
|
|
245
|
+
},
|
|
246
|
+
],
|
|
247
|
+
isError: true,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
server.tool("disassociate-records", "Remove the association between two records (N:N or 1:N relationship). " +
|
|
252
|
+
"This removes the relationship link but does not delete either record. " +
|
|
253
|
+
"Requires POWERPLATFORM_ENABLE_DELETE=true.", {
|
|
254
|
+
entityNamePlural: z
|
|
255
|
+
.string()
|
|
256
|
+
.describe(descWithExamples("The plural entity set name of the source entity", ENTITY_NAME_EXAMPLES)),
|
|
257
|
+
recordId: z
|
|
258
|
+
.string()
|
|
259
|
+
.describe("The GUID of the source record"),
|
|
260
|
+
navigationProperty: z
|
|
261
|
+
.string()
|
|
262
|
+
.describe(descWithExamples("The navigation property name for the relationship", NAVIGATION_PROPERTY_EXAMPLES)),
|
|
263
|
+
targetRecordId: z
|
|
264
|
+
.string()
|
|
265
|
+
.describe("The GUID of the target record to disassociate"),
|
|
266
|
+
}, async ({ entityNamePlural, recordId, navigationProperty, targetRecordId }) => {
|
|
267
|
+
try {
|
|
268
|
+
ctx.checkDeleteEnabled();
|
|
269
|
+
const service = ctx.pp;
|
|
270
|
+
await service.disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId);
|
|
271
|
+
return {
|
|
272
|
+
content: [
|
|
273
|
+
{
|
|
274
|
+
type: "text",
|
|
275
|
+
text: `✅ Records disassociated successfully\n\n` +
|
|
276
|
+
`**Source:** ${entityNamePlural}(${recordId})\n` +
|
|
277
|
+
`**Target Record:** ${targetRecordId}\n` +
|
|
278
|
+
`**Relationship:** ${navigationProperty}\n\n` +
|
|
279
|
+
`Note: Neither record was deleted - only the relationship link was removed.`,
|
|
280
|
+
},
|
|
281
|
+
],
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
console.error("Error disassociating records:", error);
|
|
286
|
+
return {
|
|
287
|
+
content: [
|
|
288
|
+
{
|
|
289
|
+
type: "text",
|
|
290
|
+
text: `❌ Failed to disassociate records: ${error.message}`,
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
isError: true,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
});
|
|
202
297
|
}
|
|
203
298
|
//# sourceMappingURL=write-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-consultant-tools/powerplatform-data",
|
|
3
|
-
"version": "28.0.0
|
|
3
|
+
"version": "28.0.0",
|
|
4
4
|
"description": "MCP server for PowerPlatform data CRUD operations (operational use)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -40,9 +40,10 @@
|
|
|
40
40
|
"node": ">=16.0.0"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@mcp-consultant-tools/core": "
|
|
44
|
-
"@mcp-consultant-tools/powerplatform-core": "
|
|
43
|
+
"@mcp-consultant-tools/core": "28.0.0",
|
|
44
|
+
"@mcp-consultant-tools/powerplatform-core": "28.0.0",
|
|
45
45
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
46
|
+
"commander": "^14.0.3",
|
|
46
47
|
"express": "^4.21.2",
|
|
47
48
|
"zod": "^3.24.1"
|
|
48
49
|
},
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
"typescript": "^5.8.2"
|
|
53
54
|
},
|
|
54
55
|
"bin": {
|
|
55
|
-
"mcp-pp-data": "build/index.js"
|
|
56
|
+
"mcp-pp-data": "build/index.js",
|
|
57
|
+
"mcp-pp-data-cli": "build/cli.js"
|
|
56
58
|
}
|
|
57
59
|
}
|