@mcp-consultant-tools/powerplatform 27.0.0 → 28.0.0-beta.13

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 (117) hide show
  1. package/build/PowerPlatformService.d.ts +23 -2
  2. package/build/PowerPlatformService.d.ts.map +1 -1
  3. package/build/PowerPlatformService.js +23 -1
  4. package/build/PowerPlatformService.js.map +1 -1
  5. package/build/cli/commands/app-commands.d.ts +7 -0
  6. package/build/cli/commands/app-commands.d.ts.map +1 -0
  7. package/build/cli/commands/app-commands.js +65 -0
  8. package/build/cli/commands/app-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 +170 -0
  12. package/build/cli/commands/flow-commands.js.map +1 -0
  13. package/build/cli/commands/form-commands.d.ts +7 -0
  14. package/build/cli/commands/form-commands.d.ts.map +1 -0
  15. package/build/cli/commands/form-commands.js +104 -0
  16. package/build/cli/commands/form-commands.js.map +1 -0
  17. package/build/cli/commands/index.d.ts +15 -0
  18. package/build/cli/commands/index.d.ts.map +1 -0
  19. package/build/cli/commands/index.js +30 -0
  20. package/build/cli/commands/index.js.map +1 -0
  21. package/build/cli/commands/integration-commands.d.ts +7 -0
  22. package/build/cli/commands/integration-commands.d.ts.map +1 -0
  23. package/build/cli/commands/integration-commands.js +97 -0
  24. package/build/cli/commands/integration-commands.js.map +1 -0
  25. package/build/cli/commands/metadata-commands.d.ts +7 -0
  26. package/build/cli/commands/metadata-commands.d.ts.map +1 -0
  27. package/build/cli/commands/metadata-commands.js +83 -0
  28. package/build/cli/commands/metadata-commands.js.map +1 -0
  29. package/build/cli/commands/plugin-commands.d.ts +7 -0
  30. package/build/cli/commands/plugin-commands.d.ts.map +1 -0
  31. package/build/cli/commands/plugin-commands.js +79 -0
  32. package/build/cli/commands/plugin-commands.js.map +1 -0
  33. package/build/cli/commands/security-commands.d.ts +7 -0
  34. package/build/cli/commands/security-commands.d.ts.map +1 -0
  35. package/build/cli/commands/security-commands.js +89 -0
  36. package/build/cli/commands/security-commands.js.map +1 -0
  37. package/build/cli/commands/solution-commands.d.ts +7 -0
  38. package/build/cli/commands/solution-commands.d.ts.map +1 -0
  39. package/build/cli/commands/solution-commands.js +146 -0
  40. package/build/cli/commands/solution-commands.js.map +1 -0
  41. package/build/cli/output.d.ts +11 -0
  42. package/build/cli/output.d.ts.map +1 -0
  43. package/build/cli/output.js +10 -0
  44. package/build/cli/output.js.map +1 -0
  45. package/build/cli.d.ts +9 -0
  46. package/build/cli.d.ts.map +1 -0
  47. package/build/cli.js +30 -0
  48. package/build/cli.js.map +1 -0
  49. package/build/context-factory.d.ts +11 -0
  50. package/build/context-factory.d.ts.map +1 -0
  51. package/build/context-factory.js +39 -0
  52. package/build/context-factory.js.map +1 -0
  53. package/build/index.d.ts +10 -2
  54. package/build/index.d.ts.map +1 -1
  55. package/build/index.js +26 -2394
  56. package/build/index.js.map +1 -1
  57. package/build/prompts/analysis-prompts.d.ts +3 -0
  58. package/build/prompts/analysis-prompts.d.ts.map +1 -0
  59. package/build/prompts/analysis-prompts.js +286 -0
  60. package/build/prompts/analysis-prompts.js.map +1 -0
  61. package/build/prompts/entity-prompts.d.ts +3 -0
  62. package/build/prompts/entity-prompts.d.ts.map +1 -0
  63. package/build/prompts/entity-prompts.js +304 -0
  64. package/build/prompts/entity-prompts.js.map +1 -0
  65. package/build/prompts/index.d.ts +8 -0
  66. package/build/prompts/index.d.ts.map +1 -0
  67. package/build/prompts/index.js +11 -0
  68. package/build/prompts/index.js.map +1 -0
  69. package/build/services/index.d.ts +5 -0
  70. package/build/services/index.d.ts.map +1 -0
  71. package/build/services/index.js +5 -0
  72. package/build/services/index.js.map +1 -0
  73. package/build/tool-examples.d.ts +48 -0
  74. package/build/tool-examples.d.ts.map +1 -0
  75. package/build/tool-examples.js +91 -0
  76. package/build/tool-examples.js.map +1 -0
  77. package/build/tools/app-tools.d.ts +3 -0
  78. package/build/tools/app-tools.d.ts.map +1 -0
  79. package/build/tools/app-tools.js +127 -0
  80. package/build/tools/app-tools.js.map +1 -0
  81. package/build/tools/flow-tools.d.ts +3 -0
  82. package/build/tools/flow-tools.d.ts.map +1 -0
  83. package/build/tools/flow-tools.js +374 -0
  84. package/build/tools/flow-tools.js.map +1 -0
  85. package/build/tools/form-view-tools.d.ts +3 -0
  86. package/build/tools/form-view-tools.d.ts.map +1 -0
  87. package/build/tools/form-view-tools.js +162 -0
  88. package/build/tools/form-view-tools.js.map +1 -0
  89. package/build/tools/index.d.ts +14 -0
  90. package/build/tools/index.d.ts.map +1 -0
  91. package/build/tools/index.js +29 -0
  92. package/build/tools/index.js.map +1 -0
  93. package/build/tools/integration-tools.d.ts +3 -0
  94. package/build/tools/integration-tools.d.ts.map +1 -0
  95. package/build/tools/integration-tools.js +325 -0
  96. package/build/tools/integration-tools.js.map +1 -0
  97. package/build/tools/metadata-tools.d.ts +3 -0
  98. package/build/tools/metadata-tools.d.ts.map +1 -0
  99. package/build/tools/metadata-tools.js +166 -0
  100. package/build/tools/metadata-tools.js.map +1 -0
  101. package/build/tools/plugin-tools.d.ts +3 -0
  102. package/build/tools/plugin-tools.d.ts.map +1 -0
  103. package/build/tools/plugin-tools.js +138 -0
  104. package/build/tools/plugin-tools.js.map +1 -0
  105. package/build/tools/security-tools.d.ts +3 -0
  106. package/build/tools/security-tools.d.ts.map +1 -0
  107. package/build/tools/security-tools.js +188 -0
  108. package/build/tools/security-tools.js.map +1 -0
  109. package/build/tools/solution-tools.d.ts +3 -0
  110. package/build/tools/solution-tools.d.ts.map +1 -0
  111. package/build/tools/solution-tools.js +284 -0
  112. package/build/tools/solution-tools.js.map +1 -0
  113. package/build/types.d.ts +9 -0
  114. package/build/types.d.ts.map +1 -0
  115. package/build/types.js +2 -0
  116. package/build/types.js.map +1 -0
  117. package/package.json +6 -4
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Entity Prompts - 6 prompts for entity analysis and plugin reports
3
+ */
4
+ import { z } from 'zod';
5
+ import { ENTITY_OVERVIEW, ATTRIBUTE_DETAILS, QUERY_TEMPLATE, RELATIONSHIP_MAP, } from '@mcp-consultant-tools/powerplatform-core';
6
+ function makePromptResult(text) {
7
+ return {
8
+ messages: [
9
+ {
10
+ role: "assistant",
11
+ content: { type: "text", text },
12
+ },
13
+ ],
14
+ };
15
+ }
16
+ function makePromptError(message) {
17
+ return makePromptResult(`Error: ${message}`);
18
+ }
19
+ export function registerEntityPrompts(server, ctx) {
20
+ server.prompt("entity-overview", "Get an overview of a Power Platform entity", {
21
+ entityName: z.string().describe("The logical name of the entity")
22
+ }, async (args) => {
23
+ try {
24
+ const service = ctx.pp;
25
+ const entityName = args.entityName;
26
+ const [rawMetadata, attributes] = await Promise.all([
27
+ service.getEntityMetadata(entityName),
28
+ service.getEntityAttributes(entityName)
29
+ ]);
30
+ const metadata = rawMetadata;
31
+ const entityDetails = `- Display Name: ${metadata.DisplayName?.UserLocalizedLabel?.Label || entityName}\n` +
32
+ `- Schema Name: ${metadata.SchemaName}\n` +
33
+ `- Description: ${metadata.Description?.UserLocalizedLabel?.Label || 'No description'}\n` +
34
+ `- Primary Key: ${metadata.PrimaryIdAttribute}\n` +
35
+ `- Primary Name: ${metadata.PrimaryNameAttribute}`;
36
+ const keyAttributes = attributes.value
37
+ .map((attr) => {
38
+ const attrType = attr["@odata.type"] || attr.odata?.type || "Unknown type";
39
+ return `- ${attr.LogicalName}: ${attrType}`;
40
+ })
41
+ .join('\n');
42
+ const relationships = await service.getEntityRelationships(entityName);
43
+ const oneToManyCount = relationships.oneToMany.value.length;
44
+ const manyToManyCount = relationships.manyToMany.value.length;
45
+ const relationshipsSummary = `- One-to-Many Relationships: ${oneToManyCount}\n` +
46
+ `- Many-to-Many Relationships: ${manyToManyCount}`;
47
+ let promptContent = ENTITY_OVERVIEW(entityName);
48
+ promptContent = promptContent
49
+ .replace('{{entity_details}}', entityDetails)
50
+ .replace('{{key_attributes}}', keyAttributes)
51
+ .replace('{{relationships}}', relationshipsSummary);
52
+ return makePromptResult(promptContent);
53
+ }
54
+ catch (error) {
55
+ console.error(`Error handling entity-overview prompt:`, error);
56
+ return makePromptError(error.message);
57
+ }
58
+ });
59
+ server.prompt("attribute-details", "Get detailed information about a specific entity attribute/field", {
60
+ entityName: z.string().describe("The logical name of the entity"),
61
+ attributeName: z.string().describe("The logical name of the attribute"),
62
+ }, async (args) => {
63
+ try {
64
+ const service = ctx.pp;
65
+ const { entityName, attributeName } = args;
66
+ const attribute = await service.getEntityAttribute(entityName, attributeName);
67
+ const attrDetails = `- Display Name: ${attribute.DisplayName?.UserLocalizedLabel?.Label || attributeName}\n` +
68
+ `- Description: ${attribute.Description?.UserLocalizedLabel?.Label || 'No description'}\n` +
69
+ `- Type: ${attribute.AttributeType}\n` +
70
+ `- Format: ${attribute.Format || 'N/A'}\n` +
71
+ `- Is Required: ${attribute.RequiredLevel?.Value || 'No'}\n` +
72
+ `- Is Searchable: ${attribute.IsValidForAdvancedFind || false}`;
73
+ let promptContent = ATTRIBUTE_DETAILS(entityName, attributeName);
74
+ promptContent = promptContent
75
+ .replace('{{attribute_details}}', attrDetails)
76
+ .replace('{{data_type}}', attribute.AttributeType)
77
+ .replace('{{required}}', attribute.RequiredLevel?.Value || 'No')
78
+ .replace('{{max_length}}', attribute.MaxLength || 'N/A');
79
+ return makePromptResult(promptContent);
80
+ }
81
+ catch (error) {
82
+ console.error(`Error handling attribute-details prompt:`, error);
83
+ return makePromptError(error.message);
84
+ }
85
+ });
86
+ server.prompt("query-template", "Get a template for querying a Power Platform entity", {
87
+ entityName: z.string().describe("The logical name of the entity"),
88
+ }, async (args) => {
89
+ try {
90
+ const service = ctx.pp;
91
+ const entityName = args.entityName;
92
+ const metadata = await service.getEntityMetadata(entityName);
93
+ const entityNamePlural = metadata.EntitySetName;
94
+ const attributes = await service.getEntityAttributes(entityName);
95
+ const selectFields = attributes.value
96
+ .filter((attr) => attr.IsValidForRead === true && !attr.AttributeOf)
97
+ .slice(0, 5)
98
+ .map((attr) => attr.LogicalName)
99
+ .join(',');
100
+ let promptContent = QUERY_TEMPLATE(entityNamePlural);
101
+ promptContent = promptContent
102
+ .replace('{{selected_fields}}', selectFields)
103
+ .replace('{{filter_conditions}}', `${metadata.PrimaryNameAttribute} eq 'Example'`)
104
+ .replace('{{order_by}}', `${metadata.PrimaryNameAttribute} asc`)
105
+ .replace('{{max_records}}', '50');
106
+ return makePromptResult(promptContent);
107
+ }
108
+ catch (error) {
109
+ console.error(`Error handling query-template prompt:`, error);
110
+ return makePromptError(error.message);
111
+ }
112
+ });
113
+ server.prompt("relationship-map", "Get a list of relationships for a Power Platform entity", {
114
+ entityName: z.string().describe("The logical name of the entity"),
115
+ }, async (args) => {
116
+ try {
117
+ const service = ctx.pp;
118
+ const entityName = args.entityName;
119
+ const relationships = await service.getEntityRelationships(entityName);
120
+ const oneToManyPrimary = relationships.oneToMany.value
121
+ .filter((rel) => rel.ReferencingEntity !== entityName)
122
+ .map((rel) => `- ${rel.SchemaName}: ${entityName} (1) → ${rel.ReferencingEntity} (N)`)
123
+ .join('\n');
124
+ const oneToManyRelated = relationships.oneToMany.value
125
+ .filter((rel) => rel.ReferencingEntity === entityName)
126
+ .map((rel) => `- ${rel.SchemaName}: ${rel.ReferencedEntity} (1) → ${entityName} (N)`)
127
+ .join('\n');
128
+ const manyToMany = relationships.manyToMany.value
129
+ .map((rel) => {
130
+ const otherEntity = rel.Entity1LogicalName === entityName ? rel.Entity2LogicalName : rel.Entity1LogicalName;
131
+ return `- ${rel.SchemaName}: ${entityName} (N) ↔ ${otherEntity} (N)`;
132
+ })
133
+ .join('\n');
134
+ let promptContent = RELATIONSHIP_MAP(entityName);
135
+ promptContent = promptContent
136
+ .replace('{{one_to_many_primary}}', oneToManyPrimary || 'None found')
137
+ .replace('{{one_to_many_related}}', oneToManyRelated || 'None found')
138
+ .replace('{{many_to_many}}', manyToMany || 'None found');
139
+ return makePromptResult(promptContent);
140
+ }
141
+ catch (error) {
142
+ console.error(`Error handling relationship-map prompt:`, error);
143
+ return makePromptError(error.message);
144
+ }
145
+ });
146
+ server.prompt("plugin-deployment-report", "Generate a comprehensive deployment report for a plugin assembly", {
147
+ assemblyName: z.string().describe("The name of the plugin assembly"),
148
+ }, async (args) => {
149
+ try {
150
+ const service = ctx.pp;
151
+ const result = await service.getPluginAssemblyComplete(args.assemblyName, false);
152
+ const assembly = result.assembly;
153
+ let report = `# Plugin Deployment Report: ${assembly.name}\n\n`;
154
+ report += `## Assembly Information\n`;
155
+ report += `- **Version**: ${assembly.version}\n`;
156
+ report += `- **Isolation Mode**: ${assembly.isolationmode === 2 ? 'Sandbox' : 'None'}\n`;
157
+ report += `- **Source**: ${assembly.sourcetype === 0 ? 'Database' : assembly.sourcetype === 1 ? 'Disk' : 'GAC'}\n`;
158
+ report += `- **Last Modified**: ${assembly.modifiedon} by ${assembly.modifiedby?.fullname || 'Unknown'}\n`;
159
+ report += `- **Managed**: ${assembly.ismanaged ? 'Yes' : 'No'}\n\n`;
160
+ report += `## Plugin Types (${result.pluginTypes.length} total)\n`;
161
+ result.pluginTypes.forEach((type, idx) => {
162
+ report += `${idx + 1}. ${type.typename}\n`;
163
+ });
164
+ report += `\n`;
165
+ report += `## Registered Steps (${result.steps.length} total)\n\n`;
166
+ result.steps.forEach((step) => {
167
+ const stageName = step.stage === 10 ? 'PreValidation' : step.stage === 20 ? 'PreOperation' : 'PostOperation';
168
+ const modeName = step.mode === 0 ? 'Sync' : 'Async';
169
+ const status = step.statuscode === 1 ? '✓ Enabled' : '✗ Disabled';
170
+ report += `### ${step.sdkmessageid?.name || 'Unknown'} - ${step.sdkmessagefilterid?.primaryobjecttypecode || 'None'} (${stageName}, ${modeName}, Rank ${step.rank})\n`;
171
+ report += `- **Plugin**: ${step.plugintypeid?.typename || 'Unknown'}\n`;
172
+ report += `- **Status**: ${status}\n`;
173
+ report += `- **Filtering Attributes**: ${step.filteringattributes || '(none - runs on all changes)'}\n`;
174
+ report += `- **Deployment**: ${step.supporteddeployment === 0 ? 'Server Only' : step.supporteddeployment === 1 ? 'Offline Only' : 'Both'}\n`;
175
+ if (step.images.length > 0) {
176
+ report += `- **Images**:\n`;
177
+ step.images.forEach((img) => {
178
+ const imageType = img.imagetype === 0 ? 'PreImage' : img.imagetype === 1 ? 'PostImage' : 'Both';
179
+ report += ` - ${img.name} (${imageType}) → Attributes: ${img.attributes || '(all)'}\n`;
180
+ });
181
+ }
182
+ else {
183
+ report += `- **Images**: None\n`;
184
+ }
185
+ report += `\n`;
186
+ });
187
+ report += `## Validation Results\n\n`;
188
+ if (result.validation.hasDisabledSteps) {
189
+ report += `⚠ Some steps are disabled\n`;
190
+ }
191
+ else {
192
+ report += `✓ All steps are enabled\n`;
193
+ }
194
+ if (result.validation.stepsWithoutFilteringAttributes.length > 0) {
195
+ report += `⚠ Warning: ${result.validation.stepsWithoutFilteringAttributes.length} Update/Delete steps without filtering attributes:\n`;
196
+ result.validation.stepsWithoutFilteringAttributes.forEach((name) => {
197
+ report += ` - ${name}\n`;
198
+ });
199
+ }
200
+ else {
201
+ report += `✓ All Update/Delete steps have filtering attributes\n`;
202
+ }
203
+ if (result.validation.stepsWithoutImages.length > 0) {
204
+ report += `⚠ Warning: ${result.validation.stepsWithoutImages.length} Update/Delete steps without images:\n`;
205
+ result.validation.stepsWithoutImages.forEach((name) => {
206
+ report += ` - ${name}\n`;
207
+ });
208
+ }
209
+ if (result.validation.potentialIssues.length > 0) {
210
+ report += `\n### Potential Issues\n`;
211
+ result.validation.potentialIssues.forEach((issue) => {
212
+ report += `- ${issue}\n`;
213
+ });
214
+ }
215
+ return makePromptResult(report);
216
+ }
217
+ catch (error) {
218
+ console.error(`Error generating plugin deployment report:`, error);
219
+ return makePromptError(error.message);
220
+ }
221
+ });
222
+ server.prompt("entity-plugin-pipeline-report", "Generate a visual execution pipeline showing all plugins for an entity", {
223
+ entityName: z.string().describe("The logical name of the entity"),
224
+ messageFilter: z.string().optional().describe("Optional filter by message name"),
225
+ }, async (args) => {
226
+ try {
227
+ const service = ctx.pp;
228
+ const result = await service.getEntityPluginPipeline(args.entityName, args.messageFilter, false);
229
+ let report = `# Plugin Pipeline: ${result.entity} Entity\n\n`;
230
+ if (result.steps.length === 0) {
231
+ report += `No plugins registered for this entity.\n`;
232
+ }
233
+ else {
234
+ result.messages.forEach((msg) => {
235
+ report += `## ${msg.messageName} Message\n\n`;
236
+ if (msg.stages.preValidation.length > 0) {
237
+ report += `### Stage 1: PreValidation (Synchronous)\n`;
238
+ msg.stages.preValidation.forEach((step, idx) => {
239
+ report += `${idx + 1}. **[Rank ${step.rank}]** ${step.pluginType}\n`;
240
+ report += ` - Assembly: ${step.assemblyName} v${step.assemblyVersion}\n`;
241
+ report += ` - Filtering: ${step.filteringAttributes.join(', ') || '(all columns)'}\n`;
242
+ if (step.hasPreImage || step.hasPostImage) {
243
+ const images = [];
244
+ if (step.hasPreImage)
245
+ images.push('PreImage');
246
+ if (step.hasPostImage)
247
+ images.push('PostImage');
248
+ report += ` - Images: ${images.join(', ')}\n`;
249
+ }
250
+ report += `\n`;
251
+ });
252
+ }
253
+ if (msg.stages.preOperation.length > 0) {
254
+ report += `### Stage 2: PreOperation (Synchronous)\n`;
255
+ msg.stages.preOperation.forEach((step, idx) => {
256
+ report += `${idx + 1}. **[Rank ${step.rank}]** ${step.pluginType}\n`;
257
+ report += ` - Assembly: ${step.assemblyName} v${step.assemblyVersion}\n`;
258
+ report += ` - Filtering: ${step.filteringAttributes.join(', ') || '(all columns)'}\n`;
259
+ if (step.hasPreImage || step.hasPostImage) {
260
+ const images = [];
261
+ if (step.hasPreImage)
262
+ images.push('PreImage');
263
+ if (step.hasPostImage)
264
+ images.push('PostImage');
265
+ report += ` - Images: ${images.join(', ')}\n`;
266
+ }
267
+ report += `\n`;
268
+ });
269
+ }
270
+ if (msg.stages.postOperation.length > 0) {
271
+ report += `### Stage 3: PostOperation\n`;
272
+ msg.stages.postOperation.forEach((step, idx) => {
273
+ const mode = step.modeName === 'Asynchronous' ? ' (Async)' : ' (Sync)';
274
+ report += `${idx + 1}. **[Rank ${step.rank}]** ${step.pluginType}${mode}\n`;
275
+ report += ` - Assembly: ${step.assemblyName} v${step.assemblyVersion}\n`;
276
+ report += ` - Filtering: ${step.filteringAttributes.join(', ') || '(all columns)'}\n`;
277
+ if (step.hasPreImage || step.hasPostImage) {
278
+ const images = [];
279
+ if (step.hasPreImage)
280
+ images.push('PreImage');
281
+ if (step.hasPostImage)
282
+ images.push('PostImage');
283
+ report += ` - Images: ${images.join(', ')}\n`;
284
+ }
285
+ report += `\n`;
286
+ });
287
+ }
288
+ report += `---\n\n`;
289
+ });
290
+ report += `## Execution Order\n\n`;
291
+ report += `Plugins execute in this order:\n`;
292
+ result.executionOrder.forEach((name, idx) => {
293
+ report += `${idx + 1}. ${name}\n`;
294
+ });
295
+ }
296
+ return makePromptResult(report);
297
+ }
298
+ catch (error) {
299
+ console.error(`Error generating entity plugin pipeline report:`, error);
300
+ return makePromptError(error.message);
301
+ }
302
+ });
303
+ }
304
+ //# sourceMappingURL=entity-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-prompts.js","sourceRoot":"","sources":["../../src/prompts/entity-prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Prompts barrel export + combined registration
3
+ */
4
+ import type { ServiceContext } from '../types.js';
5
+ export declare function registerAllPrompts(server: any, ctx: ServiceContext): void;
6
+ export { registerEntityPrompts } from './entity-prompts.js';
7
+ export { registerAnalysisPrompts } from './analysis-prompts.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAMzE;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { registerEntityPrompts } from './entity-prompts.js';
2
+ import { registerAnalysisPrompts } from './analysis-prompts.js';
3
+ export function registerAllPrompts(server, ctx) {
4
+ registerEntityPrompts(server, ctx);
5
+ registerAnalysisPrompts(server, ctx);
6
+ // 6 entity + 6 analysis = 12
7
+ console.error(`powerplatform prompts registered: 12 prompts`);
8
+ }
9
+ export { registerEntityPrompts } from './entity-prompts.js';
10
+ export { registerAnalysisPrompts } from './analysis-prompts.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,kBAAkB,CAAC,MAAW,EAAE,GAAmB;IACjE,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAErC,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAChE,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { PowerPlatformService } from '../PowerPlatformService.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { PowerPlatformService } from '../PowerPlatformService.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Tool Examples for PowerPlatform Read-Only Tools
3
+ * Provides examples to improve LLM accuracy when using these tools.
4
+ *
5
+ * Anthropic research shows 72% -> 90% accuracy improvement with examples.
6
+ */
7
+ export { descWithExamples } from '@mcp-consultant-tools/core';
8
+ export declare const ENTITY_NAME_EXAMPLES: {
9
+ label: string;
10
+ value: string;
11
+ }[];
12
+ export declare const ATTRIBUTE_TYPE_EXAMPLES: {
13
+ label: string;
14
+ value: string;
15
+ }[];
16
+ export declare const FLOW_CATEGORY_EXAMPLES: {
17
+ label: string;
18
+ value: string;
19
+ }[];
20
+ export declare const STATECODE_EXAMPLES: {
21
+ label: string;
22
+ value: string;
23
+ }[];
24
+ export declare const FLOW_RUN_STATUS_EXAMPLES: {
25
+ label: string;
26
+ value: string;
27
+ }[];
28
+ export declare const MESSAGE_FILTER_EXAMPLES: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ export declare const HOURS_BACK_EXAMPLES: {
33
+ label: string;
34
+ value: string;
35
+ }[];
36
+ export declare const SOLUTION_NAME_EXAMPLES: {
37
+ label: string;
38
+ value: string;
39
+ }[];
40
+ export declare const COMPONENT_TYPE_EXAMPLES: {
41
+ label: string;
42
+ value: string;
43
+ }[];
44
+ export declare const OUTPUT_FORMAT_EXAMPLES: {
45
+ label: string;
46
+ value: string;
47
+ }[];
48
+ //# sourceMappingURL=tool-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAM9D,eAAO,MAAM,oBAAoB;;;GAKhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;GAWnC,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;GAOlC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;GAI9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;GAMpC,CAAC;AAMF,eAAO,MAAM,uBAAuB;;;GAMnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAI/B,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;GAIlC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;GAQnC,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;GAGlC,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Tool Examples for PowerPlatform Read-Only Tools
3
+ * Provides examples to improve LLM accuracy when using these tools.
4
+ *
5
+ * Anthropic research shows 72% -> 90% accuracy improvement with examples.
6
+ */
7
+ export { descWithExamples } from '@mcp-consultant-tools/core';
8
+ // ========================================
9
+ // Entity / Metadata Examples
10
+ // ========================================
11
+ export const ENTITY_NAME_EXAMPLES = [
12
+ { label: "Account", value: "account" },
13
+ { label: "Contact", value: "contact" },
14
+ { label: "Opportunity", value: "opportunity" },
15
+ { label: "Lead", value: "lead" },
16
+ ];
17
+ export const ATTRIBUTE_TYPE_EXAMPLES = [
18
+ { label: "Text field", value: "String" },
19
+ { label: "Whole number", value: "Integer" },
20
+ { label: "Decimal number", value: "Decimal" },
21
+ { label: "Currency", value: "Money" },
22
+ { label: "Date and time", value: "DateTime" },
23
+ { label: "Related record", value: "Lookup" },
24
+ { label: "Yes/No", value: "Boolean" },
25
+ { label: "Choice", value: "Picklist" },
26
+ { label: "Multi-line text", value: "Memo" },
27
+ { label: "Unique identifier", value: "Uniqueidentifier" },
28
+ ];
29
+ // ========================================
30
+ // Flow / Workflow Examples
31
+ // ========================================
32
+ export const FLOW_CATEGORY_EXAMPLES = [
33
+ { label: "Classic Workflow", value: "0" },
34
+ { label: "Dialog (deprecated)", value: "1" },
35
+ { label: "Business Rule", value: "2" },
36
+ { label: "Action", value: "3" },
37
+ { label: "Business Process Flow", value: "4" },
38
+ { label: "Power Automate (Modern Flow)", value: "5" },
39
+ ];
40
+ export const STATECODE_EXAMPLES = [
41
+ { label: "Draft", value: "0" },
42
+ { label: "Activated", value: "1" },
43
+ { label: "Suspended", value: "2" },
44
+ ];
45
+ export const FLOW_RUN_STATUS_EXAMPLES = [
46
+ { label: "Completed successfully", value: "Succeeded" },
47
+ { label: "Errored", value: "Failed" },
48
+ { label: "Currently executing", value: "Running" },
49
+ { label: "Awaiting trigger/action", value: "Waiting" },
50
+ { label: "Manually stopped", value: "Cancelled" },
51
+ ];
52
+ // ========================================
53
+ // Plugin Examples
54
+ // ========================================
55
+ export const MESSAGE_FILTER_EXAMPLES = [
56
+ { label: "Record creation", value: "Create" },
57
+ { label: "Record modification", value: "Update" },
58
+ { label: "Record removal", value: "Delete" },
59
+ { label: "Single record read", value: "Retrieve" },
60
+ { label: "Query/list read", value: "RetrieveMultiple" },
61
+ ];
62
+ export const HOURS_BACK_EXAMPLES = [
63
+ { label: "Last hour", value: "1" },
64
+ { label: "Last day (default)", value: "24" },
65
+ { label: "Last week", value: "168" },
66
+ ];
67
+ // ========================================
68
+ // Solution Examples
69
+ // ========================================
70
+ export const SOLUTION_NAME_EXAMPLES = [
71
+ { label: "Default solution", value: "DefaultSolution" },
72
+ { label: "Custom solution", value: "MyCustomSolution" },
73
+ { label: "Test solution", value: "MCPTestCore" },
74
+ ];
75
+ export const COMPONENT_TYPE_EXAMPLES = [
76
+ { label: "Entity", value: "1" },
77
+ { label: "Attribute", value: "2" },
78
+ { label: "OptionSet", value: "9" },
79
+ { label: "Workflow", value: "29" },
80
+ { label: "SystemForm", value: "60" },
81
+ { label: "WebResource", value: "61" },
82
+ { label: "AppModule", value: "80" },
83
+ ];
84
+ // ========================================
85
+ // Output Format Examples
86
+ // ========================================
87
+ export const OUTPUT_FORMAT_EXAMPLES = [
88
+ { label: "Compact (flagged items and stats only)", value: "summary" },
89
+ { label: "All details (default)", value: "full" },
90
+ ];
91
+ //# sourceMappingURL=tool-examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ServiceContext } from '../types.js';
2
+ export declare function registerAppTools(server: any, ctx: ServiceContext): void;
3
+ //# sourceMappingURL=app-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tools.d.ts","sourceRoot":"","sources":["../../src/tools/app-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAsJvE"}