@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.
Files changed (44) hide show
  1. package/build/PowerPlatformService.d.ts +12 -0
  2. package/build/PowerPlatformService.d.ts.map +1 -1
  3. package/build/PowerPlatformService.js +12 -0
  4. package/build/PowerPlatformService.js.map +1 -1
  5. package/build/cli/commands/data-commands.d.ts +7 -0
  6. package/build/cli/commands/data-commands.d.ts.map +1 -0
  7. package/build/cli/commands/data-commands.js +219 -0
  8. package/build/cli/commands/data-commands.js.map +1 -0
  9. package/build/cli/commands/flow-commands.d.ts +7 -0
  10. package/build/cli/commands/flow-commands.d.ts.map +1 -0
  11. package/build/cli/commands/flow-commands.js +67 -0
  12. package/build/cli/commands/flow-commands.js.map +1 -0
  13. package/build/cli/commands/index.d.ts +10 -0
  14. package/build/cli/commands/index.d.ts.map +1 -0
  15. package/build/cli/commands/index.js +15 -0
  16. package/build/cli/commands/index.js.map +1 -0
  17. package/build/cli/commands/metadata-commands.d.ts +7 -0
  18. package/build/cli/commands/metadata-commands.d.ts.map +1 -0
  19. package/build/cli/commands/metadata-commands.js +94 -0
  20. package/build/cli/commands/metadata-commands.js.map +1 -0
  21. package/build/cli/output.d.ts +11 -0
  22. package/build/cli/output.d.ts.map +1 -0
  23. package/build/cli/output.js +10 -0
  24. package/build/cli/output.js.map +1 -0
  25. package/build/cli.d.ts +9 -0
  26. package/build/cli.d.ts.map +1 -0
  27. package/build/cli.js +27 -0
  28. package/build/cli.js.map +1 -0
  29. package/build/context-factory.d.ts +8 -0
  30. package/build/context-factory.d.ts.map +1 -0
  31. package/build/context-factory.js +52 -0
  32. package/build/context-factory.js.map +1 -0
  33. package/build/tool-examples.d.ts +8 -0
  34. package/build/tool-examples.d.ts.map +1 -1
  35. package/build/tool-examples.js +15 -0
  36. package/build/tool-examples.js.map +1 -1
  37. package/build/tools/index.js +2 -2
  38. package/build/tools/read-tools.d.ts.map +1 -1
  39. package/build/tools/read-tools.js +75 -1
  40. package/build/tools/read-tools.js.map +1 -1
  41. package/build/tools/write-tools.d.ts.map +1 -1
  42. package/build/tools/write-tools.js +97 -2
  43. package/build/tools/write-tools.js.map +1 -1
  44. 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":"AAAA;;;;;;;;GAQG;AAEH,OAAO;AACL,mBAAmB;AACnB,mBAAmB;AAKnB,+BAA+B;AAC/B,WAAW,EACX,eAAe,EACf,WAAW,EAGX,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAKlD,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAsB;IAC5B,IAAI,CAAc;IAClB,QAAQ,CAAkB;IAC1B,IAAI,CAAc;IAE1B,YAAY,MAA2B,EAAE,YAA2B;QAClE,uCAAuC;QACvC,MAAM,IAAI,GACR,YAAY;YACZ,kBAAkB,CAAC;gBACjB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QAEL,iCAAiC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,wDAAwD;IACxD,eAAe;IACf,wDAAwD;IAExD,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,wDAAwD;IACxD,2CAA2C;IAC3C,wDAAwD;IAExD,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAkB,EAClB,OAIC;QAOD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,aAAqB;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,wDAAwD;IACxD,6BAA6B;IAC7B,wDAAwD;IAExD,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,UAAgC,EAAE;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,KAAa;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,wDAAwD;IACxD,kCAAkC;IAClC,wDAAwD;IAExD,KAAK,CAAC,SAAS,CAAC,gBAAwB,EAAE,QAAgB;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,gBAAwB,EACxB,MAAc,EACd,aAAqB,EAAE,EACvB,MAAiB;QAOjB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,gBAAwB,EACxB,IAA6B;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,gBAAwB,EACxB,QAAgB,EAChB,IAA6B;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,gBAAwB,EAAE,QAAgB;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,gBAAwB,EACxB,QAAgB,EAChB,kBAA0B,EAC1B,sBAA8B,EAC9B,cAAsB;QAEtB,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;IAC5H,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,gBAAwB,EACxB,QAAgB,EAChB,kBAA0B,EAC1B,cAAsB;QAEtB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,UAAoC,EACpC,OAGC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,gBAAwB,EACxB,MAAe;QAEf,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAA8D;QAE9D,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,iBAAyB,EACzB,mBAA2B,EAC3B,uBAA+B;QAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAC9C,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,CACxB,CAAC;IACJ,CAAC;CACF"}
@@ -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":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,GAAmB;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEnF,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,kEAAkE,CAAC;SACnG,MAAM,CAAC,wBAAwB,EAAE,8CAA8C,CAAC;SAChF,MAAM,CAAC,yBAAyB,EAAE,+CAA+C,CAAC;SAClF,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,IAAI,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAS,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE;gBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;aAC1C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,CAAE,MAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;gBACvE,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;oBAAE,GAAG,CAAC,SAAS,EAAE,CAAC;qBAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;oBAAE,GAAG,CAAC,MAAM,EAAE,CAAC;qBACnG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;oBAAE,GAAG,CAAC,UAAU,EAAE,CAAC;qBAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;oBAAE,GAAG,CAAC,SAAS,EAAE,CAAC;;oBAChD,GAAG,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvE,YAAY,CACV;gBACE,QAAQ,EAAE,aAAa,MAAM,EAAE;gBAC/B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,MAAM,KAAM,MAAc,CAAC,UAAU,cAAc,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,UAAU,GAAG;aAC9I,EACD,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;SAC9C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAQ,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YAC5C,YAAY,CACV;gBACE,QAAQ,EAAE,YAAY,MAAM,IAAI,KAAK,EAAE;gBACvC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,YAAY,KAAK,KAAK,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU;aAC9G,EACD,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -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":"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"}
@@ -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
@@ -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"}
@@ -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"}
@@ -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"}
@@ -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
- // 6 read + 4 write = 10 tools
7
- console.error(`powerplatform-data tools registered: 10 tools`);
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;AASlD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwZxE"}
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;AAQlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwPzE"}
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 (4 tools)
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":"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"}
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-beta.6",
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": "27.0.0-beta.1",
44
- "@mcp-consultant-tools/powerplatform-core": "27.0.0-beta.2",
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
  }