@mcp-consultant-tools/powerplatform-data 31.0.0-beta.4 → 32.0.0-beta.2

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.
@@ -15,6 +15,7 @@ export declare class PowerPlatformService {
15
15
  private data;
16
16
  private metadata;
17
17
  private flow;
18
+ private pii?;
18
19
  constructor(config: PowerPlatformConfig, authProvider?: AuthProvider, piiPipeline?: PiiProtectionPipeline);
19
20
  getAuthMode(): 'service-principal' | 'interactive';
20
21
  getUserInfo(): Promise<{
@@ -23,6 +24,10 @@ export declare class PowerPlatformService {
23
24
  oid: string;
24
25
  } | null>;
25
26
  logout(): Promise<void>;
27
+ /** PII pipeline injected at construction. Exposed for callers (e.g. audit
28
+ * emit handlers) that need to redact tool inputs before recording.
29
+ * Returns undefined when PII protection was not configured. */
30
+ get piiPipeline(): PiiProtectionPipeline | undefined;
26
31
  getEntityMetadata(entityName: string): Promise<unknown>;
27
32
  getEntityAttributes(entityName: string, options?: {
28
33
  prefix?: string;
@@ -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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"}
@@ -17,7 +17,9 @@ export class PowerPlatformService {
17
17
  data;
18
18
  metadata;
19
19
  flow;
20
+ pii;
20
21
  constructor(config, authProvider, piiPipeline) {
22
+ this.pii = piiPipeline;
21
23
  // Create auth provider if not provided
22
24
  const auth = authProvider ||
23
25
  createAuthProvider({
@@ -44,6 +46,12 @@ export class PowerPlatformService {
44
46
  async logout() {
45
47
  return this.client.logout();
46
48
  }
49
+ /** PII pipeline injected at construction. Exposed for callers (e.g. audit
50
+ * emit handlers) that need to redact tool inputs before recording.
51
+ * Returns undefined when PII protection was not configured. */
52
+ get piiPipeline() {
53
+ return this.pii;
54
+ }
47
55
  // =====================================================
48
56
  // METADATA METHODS (for lookup resolution)
49
57
  // =====================================================
@@ -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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"}
package/build/cli.js CHANGED
@@ -5,23 +5,30 @@
5
5
  * Command-line interface for PowerPlatform data CRUD operations.
6
6
  * Reuses the same ServiceContext and services as the MCP server.
7
7
  */
8
- import { createCliProgram, loadEnvAndResolve } from '@mcp-consultant-tools/core';
8
+ import { createCliProgram, bootstrapCliEnv } from '@mcp-consultant-tools/core';
9
9
  import { createServiceContext } from './context-factory.js';
10
10
  import { registerAllCommands } from './cli/commands/index.js';
11
11
  const program = createCliProgram({
12
12
  name: 'mcp-pp-data-cli',
13
13
  description: 'PowerPlatform Data CLI - records, metadata, flows',
14
- version: '28.0.0-beta.8',
14
+ version: '32.0.0-beta.1',
15
15
  });
16
- // Load env before parsing (--env-file handled by commander hook)
17
- program.hook('preAction', async (thisCommand) => {
18
- const opts = thisCommand.opts();
19
- await loadEnvAndResolve(opts.envFile);
20
- });
21
- const ctx = createServiceContext();
16
+ // Bootstrap env BEFORE service-context construction. Top-level await is
17
+ // available because tsconfig targets ES2022 + Node16 module. See
18
+ // docs/programmes/pii-and-audit/pending/cli-bridge-fix-and-nag.md for
19
+ // why the previous Commander-preAction approach was insufficient.
20
+ const { skipContextInit } = await bootstrapCliEnv({ programName: 'mcp-pp-data-cli' });
21
+ // In help/version mode, skip service-context construction so the CLI can
22
+ // display its surface without paying the cost of PII/audit env validation.
23
+ // The proxy throws if any subcommand action accidentally fires in this mode
24
+ // (it never should — Commander's --help / --version short-circuits parsing).
25
+ const ctx = skipContextInit
26
+ ? new Proxy({}, {
27
+ get() {
28
+ throw new Error('mcp-pp-data-cli: service context not initialised (help/version mode)');
29
+ },
30
+ })
31
+ : createServiceContext();
22
32
  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
- });
33
+ await program.parseAsync(process.argv);
27
34
  //# sourceMappingURL=cli.js.map
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACjF,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,KAAK,EAAE,WAAoB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,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,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,kEAAkE;AAClE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,eAAe,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAEtF,yEAAyE;AACzE,2EAA2E;AAC3E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,GAAG,GAAmB,eAAe;IACzC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAoB,EAAE;QAC9B,GAAG;YACD,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;KACF,CAAC;IACJ,CAAC,CAAC,oBAAoB,EAAE,CAAC;AAE3B,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAElC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-factory.d.ts","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAIA,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,CAqDnF"}
1
+ {"version":3,"file":"context-factory.d.ts","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAWA,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,CAwDnF"}
@@ -1,21 +1,22 @@
1
1
  /**
2
2
  * Shared service context factory - used by both MCP server and CLI.
3
3
  */
4
- import { createPiiPipelineFromEnv } from '@mcp-consultant-tools/core';
4
+ import { createPiiPipelineFromEnv, createAuditConfigFromEnv, captureOperator, AuditPipeline, probeAuditStorage, } from '@mcp-consultant-tools/core';
5
5
  import { PowerPlatformService } from './PowerPlatformService.js';
6
6
  export function createServiceContext(service) {
7
7
  const piiPipeline = createPiiPipelineFromEnv({
8
8
  environmentIdentifier: process.env.POWERPLATFORM_URL,
9
9
  });
10
+ const audit = buildAuditPipeline();
10
11
  let ppService = service || null;
11
12
  function getPowerPlatformService() {
12
13
  if (!ppService) {
13
14
  const requiredVars = [
14
15
  'POWERPLATFORM_URL',
15
16
  'POWERPLATFORM_CLIENT_ID',
16
- 'POWERPLATFORM_TENANT_ID'
17
+ 'POWERPLATFORM_TENANT_ID',
17
18
  ];
18
- const missing = requiredVars.filter(v => !process.env[v]);
19
+ const missing = requiredVars.filter((v) => !process.env[v]);
19
20
  if (missing.length > 0) {
20
21
  throw new Error(`Missing required PowerPlatform configuration: ${missing.join(', ')}`);
21
22
  }
@@ -31,6 +32,7 @@ export function createServiceContext(service) {
31
32
  }
32
33
  return {
33
34
  get pp() { return getPowerPlatformService(); },
35
+ audit,
34
36
  checkCreateEnabled() {
35
37
  if (process.env.POWERPLATFORM_ENABLE_CREATE !== 'true') {
36
38
  throw new Error('Create operations are disabled. Set POWERPLATFORM_ENABLE_CREATE=true to enable.');
@@ -53,4 +55,38 @@ export function createServiceContext(service) {
53
55
  },
54
56
  };
55
57
  }
58
+ /**
59
+ * Construct the audit pipeline from environment. Returns `null` only when
60
+ * MCP_AUDIT_LEVEL=off (which is itself only allowed in dev/uat per the
61
+ * refuse-to-start matrix). Consumers must null-check `ctx.audit` before use.
62
+ */
63
+ function buildAuditPipeline() {
64
+ const cfg = createAuditConfigFromEnv();
65
+ if (cfg.level === 'off')
66
+ return null;
67
+ // Refuse-to-start matrix cases D + E: probe storage at startup so unwritable
68
+ // base paths and corrupted chain-state files surface immediately, not on the
69
+ // first audit emit.
70
+ probeAuditStorage(cfg);
71
+ return new AuditPipeline(cfg, {
72
+ operator: captureOperator(),
73
+ auth: detectAuthPrincipal(),
74
+ environment: {
75
+ type: cfg.environmentType,
76
+ url: process.env.POWERPLATFORM_URL,
77
+ auditLevel: cfg.level,
78
+ },
79
+ });
80
+ }
81
+ function detectAuthPrincipal() {
82
+ const clientId = process.env.POWERPLATFORM_CLIENT_ID?.trim();
83
+ const hasSecret = !!process.env.POWERPLATFORM_CLIENT_SECRET?.trim();
84
+ if (clientId && hasSecret) {
85
+ return { principalId: clientId, principalType: 'service-principal', userId: null };
86
+ }
87
+ if (clientId) {
88
+ return { principalId: clientId, principalType: 'user-interactive', userId: null };
89
+ }
90
+ return { principalId: null, principalType: 'unknown', userId: null };
91
+ }
56
92
  //# sourceMappingURL=context-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-factory.js","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAKtF,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;KACrD,CAAC,CAAC;IACH,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,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACvE,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"}
1
+ {"version":3,"file":"context-factory.js","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAMH,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAgEtF;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAGhG;AAGD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAMH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAGhG;AAGD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
package/build/index.js CHANGED
@@ -8,63 +8,9 @@
8
8
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
9
  import { pathToFileURL } from 'node:url';
10
10
  import { realpathSync } from 'node:fs';
11
- import { createMcpServer, createEnvLoader, resolveSecrets, createPiiPipelineFromEnv } from '@mcp-consultant-tools/core';
12
- import { PowerPlatformService } from './PowerPlatformService.js';
11
+ import { createMcpServer, createEnvLoader, resolveSecrets } from '@mcp-consultant-tools/core';
12
+ import { createServiceContext } from './context-factory.js';
13
13
  import { registerAllTools } from './tools/index.js';
14
- /**
15
- * Build a ServiceContext with lazy service initialization.
16
- */
17
- function createServiceContext(service) {
18
- const piiPipeline = createPiiPipelineFromEnv({
19
- environmentIdentifier: process.env.POWERPLATFORM_URL,
20
- });
21
- let ppService = service || null;
22
- function getPowerPlatformService() {
23
- if (!ppService) {
24
- // CLIENT_SECRET is optional - if omitted, interactive browser auth is used
25
- const requiredVars = [
26
- 'POWERPLATFORM_URL',
27
- 'POWERPLATFORM_CLIENT_ID',
28
- 'POWERPLATFORM_TENANT_ID'
29
- ];
30
- const missing = requiredVars.filter(v => !process.env[v]);
31
- if (missing.length > 0) {
32
- throw new Error(`Missing required PowerPlatform configuration: ${missing.join(', ')}`);
33
- }
34
- const config = {
35
- organizationUrl: process.env.POWERPLATFORM_URL,
36
- clientId: process.env.POWERPLATFORM_CLIENT_ID,
37
- clientSecret: process.env.POWERPLATFORM_CLIENT_SECRET, // Optional - omit for interactive auth
38
- tenantId: process.env.POWERPLATFORM_TENANT_ID,
39
- };
40
- ppService = new PowerPlatformService(config, undefined, piiPipeline);
41
- }
42
- return ppService;
43
- }
44
- return {
45
- get pp() { return getPowerPlatformService(); },
46
- checkCreateEnabled() {
47
- if (process.env.POWERPLATFORM_ENABLE_CREATE !== 'true') {
48
- throw new Error('Create operations are disabled. Set POWERPLATFORM_ENABLE_CREATE=true to enable.');
49
- }
50
- },
51
- checkUpdateEnabled() {
52
- if (process.env.POWERPLATFORM_ENABLE_UPDATE !== 'true') {
53
- throw new Error('Update operations are disabled. Set POWERPLATFORM_ENABLE_UPDATE=true to enable.');
54
- }
55
- },
56
- checkDeleteEnabled() {
57
- if (process.env.POWERPLATFORM_ENABLE_DELETE !== 'true') {
58
- throw new Error('Delete operations are disabled. Set POWERPLATFORM_ENABLE_DELETE=true to enable.');
59
- }
60
- },
61
- checkActionsEnabled() {
62
- if (process.env.POWERPLATFORM_ENABLE_ACTIONS !== 'true') {
63
- throw new Error('Action execution is disabled. Set POWERPLATFORM_ENABLE_ACTIONS=true to enable.');
64
- }
65
- },
66
- };
67
- }
68
14
  /**
69
15
  * Register powerplatform-data tools with an MCP server.
70
16
  * Backward-compatible API for the meta package.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAW,EAAE,OAA8B;IACxF,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;GAGG;AACH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC;IACV,MAAM,cAAc,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACzC,CAAC,CAAC;IAEH,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ServiceContext } from '../types.js';
2
+ export declare function registerAuditTools(server: any, ctx: ServiceContext): void;
3
+ //# sourceMappingURL=audit-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-tools.d.ts","sourceRoot":"","sources":["../../src/tools/audit-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAoCzE"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ const TOOL_DESCRIPTION = `Set the audit engagement context for subsequent MCP tool calls against this client environment. Audit-on environments (\`MCP_AUDIT_LEVEL=lean\` or \`full\`) require this to be set before any data-access tool calls.
3
+
4
+ Pass \`workItemIds\` as an array of ADO work item identifiers. Where focus is clear (one specific item), pass a single-element array \`["RTPI-12345"]\`. Where work spans related items (a user story plus its sub-tasks, or several overlapping bugs you're trying to disambiguate between), list all related items — accurately reflecting ambiguity is forensically better than picking one arbitrarily.
5
+
6
+ If no ADO work item exists yet, strongly recommend to the user that they create a placeholder one (free-text body is fine — the ID matters; can be closed or converted to a user story / bug later if anything emerges from this work). Pass \`["exploration"]\` only as a last resort for genuine pre-ticket investigation; this is allowed but is challenged by compliance review post-hoc.
7
+
8
+ Re-call this tool whenever conversation focus shifts to a different bug or work item — every tool call from that point forward will be audited under the new context.`;
9
+ export function registerAuditTools(server, ctx) {
10
+ server.tool('set-audit-engagement', TOOL_DESCRIPTION, {
11
+ workItemIds: z
12
+ .array(z.string().min(1).max(200))
13
+ .min(1)
14
+ .max(50)
15
+ .describe('Array of ADO work item IDs (or ["exploration"] as a last resort). Up to 50 IDs, each up to 200 chars.'),
16
+ reason: z
17
+ .string()
18
+ .max(2000)
19
+ .optional()
20
+ .describe('Optional free-text reason for this engagement context. Max 2000 chars.'),
21
+ }, async ({ workItemIds, reason }) => {
22
+ if (!ctx.audit) {
23
+ return {
24
+ content: [{ type: 'text', text: 'Audit subsystem disabled (MCP_AUDIT_LEVEL=off). No engagement to set.' }],
25
+ };
26
+ }
27
+ try {
28
+ await ctx.audit.setEngagement(workItemIds, reason);
29
+ const list = workItemIds.join(', ');
30
+ return {
31
+ content: [{ type: 'text', text: `✓ Audit engagement set to: ${list}${reason ? ` — ${reason}` : ''}` }],
32
+ };
33
+ }
34
+ catch (err) {
35
+ return {
36
+ content: [{ type: 'text', text: `❌ Failed to set audit engagement: ${err.message}` }],
37
+ isError: true,
38
+ };
39
+ }
40
+ });
41
+ }
42
+ //# sourceMappingURL=audit-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-tools.js","sourceRoot":"","sources":["../../src/tools/audit-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,gBAAgB,GAAG;;;;;;sKAM6I,CAAC;AAEvK,MAAM,UAAU,kBAAkB,CAAC,MAAW,EAAE,GAAmB;IACjE,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,gBAAgB,EAChB;QACE,WAAW,EAAE,CAAC;aACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CAAC,uGAAuG,CAAC;QACpH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,wEAAwE,CAAC;KACtF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAA8C,EAAE,EAAE;QAC5E,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uEAAuE,EAAE,CAAC;aAC3G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;aACvG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -5,4 +5,5 @@ import type { ServiceContext } from '../types.js';
5
5
  export declare function registerAllTools(server: any, ctx: ServiceContext): void;
6
6
  export { registerReadTools } from './read-tools.js';
7
7
  export { registerWriteTools } from './write-tools.js';
8
+ export { registerAuditTools } from './audit-tools.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAMvE;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAOvE;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,11 +1,14 @@
1
1
  import { registerReadTools } from './read-tools.js';
2
2
  import { registerWriteTools } from './write-tools.js';
3
+ import { registerAuditTools } from './audit-tools.js';
3
4
  export function registerAllTools(server, ctx) {
4
5
  registerReadTools(server, ctx);
5
6
  registerWriteTools(server, ctx);
6
- // 7 read + 4 write = 11 tools
7
- console.error(`powerplatform-data tools registered: 11 tools`);
7
+ registerAuditTools(server, ctx);
8
+ // 7 read + 6 write + 1 audit = 14 tools
9
+ console.error(`powerplatform-data tools registered: 14 tools`);
8
10
  }
9
11
  export { registerReadTools } from './read-tools.js';
10
12
  export { registerWriteTools } from './write-tools.js';
13
+ export { registerAuditTools } from './audit-tools.js';
11
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC,8BAA8B;IAC9B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACjE,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACjE,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA8fxE"}
1
+ {"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwpBxE"}
@@ -1,10 +1,21 @@
1
1
  /**
2
- * Read-only tools for powerplatform-data (6 tools)
2
+ * Read-only tools for powerplatform-data (7 tools)
3
3
  * No permission flags required - always enabled.
4
+ *
5
+ * Tool inputs are run through the PII pipeline before being recorded by
6
+ * auditEmit. See `redactInput()` below.
4
7
  */
5
8
  import { z } from 'zod';
6
- import { formatSummaryFooter } from '@mcp-consultant-tools/core';
9
+ import { auditEmit, formatSummaryFooter } from '@mcp-consultant-tools/core';
7
10
  import { descWithExamples, ODATA_FILTER_EXAMPLES, SELECT_FIELD_EXAMPLES, ENTITY_NAME_EXAMPLES, ENTITY_NAME_SINGULAR_EXAMPLES, COUNT_ENTITY_BATCH_EXAMPLES, } from '../tool-examples.js';
11
+ function redactInput(ctx, entityKey, input) {
12
+ const pp = ctx.pp.piiPipeline;
13
+ if (!pp || !pp.isEnabled) {
14
+ return { data: input, report: null };
15
+ }
16
+ const result = pp.redactResponse(entityKey, input);
17
+ return { data: result.data, report: result.report };
18
+ }
8
19
  export function registerReadTools(server, ctx) {
9
20
  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.", {
10
21
  entityNamePlural: z
@@ -24,7 +35,24 @@ export function registerReadTools(server, ctx) {
24
35
  }, async ({ entityNamePlural, filter, select, maxRecords }) => {
25
36
  try {
26
37
  const service = ctx.pp;
27
- const result = await service.queryRecords(entityNamePlural, filter, maxRecords || 50, select);
38
+ const audit = ctx.audit;
39
+ const operation = async () => service.queryRecords(entityNamePlural, filter, maxRecords || 50, select);
40
+ const inputObj = { entityNamePlural, filter, select, maxRecords };
41
+ const redacted = audit
42
+ ? redactInput(ctx, entityNamePlural, inputObj)
43
+ : { data: inputObj, report: null };
44
+ const result = audit
45
+ ? await auditEmit(audit, {
46
+ tool: 'query-records',
47
+ params: redacted.data,
48
+ payloadInput: redacted.data,
49
+ inputRedaction: redacted.report,
50
+ resultExtractor: (r) => ({
51
+ recordCount: r?.returnedCount,
52
+ outputRedaction: r?.piiReport,
53
+ }),
54
+ }, operation)
55
+ : await operation();
28
56
  const { piiReport, ...visibleResult } = result;
29
57
  const recordsStr = JSON.stringify(visibleResult, null, 2);
30
58
  let message = `📋 Retrieved ${result.returnedCount} records from '${entityNamePlural}' with filter '${filter}'`;
@@ -88,9 +116,28 @@ export function registerReadTools(server, ctx) {
88
116
  };
89
117
  }
90
118
  const service = ctx.pp;
119
+ const audit = ctx.audit;
91
120
  // Batch mode
92
121
  if (entities && entities.length > 0) {
93
- const results = await service.countRecordsBatch(entities);
122
+ const batchOperation = async () => service.countRecordsBatch(entities);
123
+ const batchInput = { entities };
124
+ const batchRedacted = audit
125
+ ? redactInput(ctx, '_input', batchInput)
126
+ : { data: batchInput, report: null };
127
+ const results = audit
128
+ ? await auditEmit(audit, {
129
+ tool: 'count-records',
130
+ params: batchRedacted.data,
131
+ payloadInput: batchRedacted.data,
132
+ inputRedaction: batchRedacted.report,
133
+ resultExtractor: (r) => ({
134
+ recordCount: Array.isArray(r)
135
+ ? r.filter((x) => !x.error).reduce((sum, x) => sum + (x.count ?? 0), 0)
136
+ : undefined,
137
+ outputRedaction: null,
138
+ }),
139
+ }, batchOperation)
140
+ : await batchOperation();
94
141
  const successful = results.filter(r => !r.error);
95
142
  const failed = results.filter(r => r.error);
96
143
  const totalCount = successful.reduce((sum, r) => sum + r.count, 0);
@@ -107,7 +154,23 @@ export function registerReadTools(server, ctx) {
107
154
  };
108
155
  }
109
156
  // Single entity mode
110
- const count = await service.countRecords(entityNamePlural, filter);
157
+ const singleOperation = async () => service.countRecords(entityNamePlural, filter);
158
+ const singleInput = { entityNamePlural, filter };
159
+ const singleRedacted = audit
160
+ ? redactInput(ctx, entityNamePlural ?? '_input', singleInput)
161
+ : { data: singleInput, report: null };
162
+ const count = audit
163
+ ? await auditEmit(audit, {
164
+ tool: 'count-records',
165
+ params: singleRedacted.data,
166
+ payloadInput: singleRedacted.data,
167
+ inputRedaction: singleRedacted.report,
168
+ resultExtractor: (r) => ({
169
+ recordCount: typeof r === 'number' ? r : undefined,
170
+ outputRedaction: null,
171
+ }),
172
+ }, singleOperation)
173
+ : await singleOperation();
111
174
  let message = `📊 Count of '${entityNamePlural}'`;
112
175
  if (filter) {
113
176
  message += ` where ${filter}`;
@@ -141,7 +204,24 @@ export function registerReadTools(server, ctx) {
141
204
  }, async ({ entityNamePlural, recordId }) => {
142
205
  try {
143
206
  const service = ctx.pp;
144
- const record = await service.getRecord(entityNamePlural, recordId);
207
+ const audit = ctx.audit;
208
+ const operation = async () => service.getRecord(entityNamePlural, recordId);
209
+ const inputObj = { entityNamePlural, recordId };
210
+ const redacted = audit
211
+ ? redactInput(ctx, entityNamePlural, inputObj)
212
+ : { data: inputObj, report: null };
213
+ const record = audit
214
+ ? await auditEmit(audit, {
215
+ tool: 'get-record',
216
+ params: redacted.data,
217
+ payloadInput: redacted.data,
218
+ inputRedaction: redacted.report,
219
+ resultExtractor: (r) => ({
220
+ recordCount: 1,
221
+ outputRedaction: r?.piiReport,
222
+ }),
223
+ }, operation)
224
+ : await operation();
145
225
  const { piiReport, ...visibleRecord } = record;
146
226
  const recordStr = JSON.stringify(visibleRecord, null, 2);
147
227
  const footer = piiReport ? `\n\n${formatSummaryFooter(piiReport)}` : '';
@@ -174,7 +254,24 @@ export function registerReadTools(server, ctx) {
174
254
  }, async ({ entityLogicalName }) => {
175
255
  try {
176
256
  const service = ctx.pp;
177
- const metadata = await service.getEntityMetadata(entityLogicalName);
257
+ const audit = ctx.audit;
258
+ const operation = async () => service.getEntityMetadata(entityLogicalName);
259
+ const inputObj = { entityLogicalName };
260
+ const redacted = audit
261
+ ? redactInput(ctx, entityLogicalName, inputObj)
262
+ : { data: inputObj, report: null };
263
+ const metadata = (audit
264
+ ? await auditEmit(audit, {
265
+ tool: 'get-entity-metadata',
266
+ params: redacted.data,
267
+ payloadInput: redacted.data,
268
+ inputRedaction: redacted.report,
269
+ resultExtractor: () => ({
270
+ recordCount: undefined,
271
+ outputRedaction: null,
272
+ }),
273
+ }, operation)
274
+ : await operation());
178
275
  // Extract the most useful properties for CRUD operations
179
276
  const summary = {
180
277
  LogicalName: metadata.LogicalName,
@@ -225,7 +322,24 @@ export function registerReadTools(server, ctx) {
225
322
  }, async ({ entityLogicalName, lookupAttributeName }) => {
226
323
  try {
227
324
  const service = ctx.pp;
228
- const attribute = await service.getEntityAttribute(entityLogicalName, lookupAttributeName);
325
+ const audit = ctx.audit;
326
+ const operation = async () => service.getEntityAttribute(entityLogicalName, lookupAttributeName);
327
+ const inputObj = { entityLogicalName, lookupAttributeName };
328
+ const redacted = audit
329
+ ? redactInput(ctx, entityLogicalName, inputObj)
330
+ : { data: inputObj, report: null };
331
+ const attribute = (audit
332
+ ? await auditEmit(audit, {
333
+ tool: 'get-lookup-target',
334
+ params: redacted.data,
335
+ payloadInput: redacted.data,
336
+ inputRedaction: redacted.report,
337
+ resultExtractor: () => ({
338
+ recordCount: undefined,
339
+ outputRedaction: null,
340
+ }),
341
+ }, operation)
342
+ : await operation());
229
343
  if (!attribute.Targets || attribute.Targets.length === 0) {
230
344
  return {
231
345
  content: [
@@ -329,12 +443,29 @@ export function registerReadTools(server, ctx) {
329
443
  }, async ({ flowId, status, startedAfter, startedBefore, maxRecords }) => {
330
444
  try {
331
445
  const service = ctx.pp;
332
- const result = await service.getFlowRuns(flowId, {
446
+ const audit = ctx.audit;
447
+ const operation = async () => service.getFlowRuns(flowId, {
333
448
  status,
334
449
  startedAfter,
335
450
  startedBefore,
336
451
  maxRecords: maxRecords || 50,
337
452
  });
453
+ const inputObj = { flowId, status, startedAfter, startedBefore, maxRecords };
454
+ const redacted = audit
455
+ ? redactInput(ctx, '_input', inputObj)
456
+ : { data: inputObj, report: null };
457
+ const result = audit
458
+ ? await auditEmit(audit, {
459
+ tool: 'get-flow-runs',
460
+ params: redacted.data,
461
+ payloadInput: redacted.data,
462
+ inputRedaction: redacted.report,
463
+ resultExtractor: (r) => ({
464
+ recordCount: r?.runs?.length,
465
+ outputRedaction: null,
466
+ }),
467
+ }, operation)
468
+ : await operation();
338
469
  // Calculate success/failure stats
339
470
  const stats = (result.runs || []).reduce((acc, run) => {
340
471
  if (run.status === 'Succeeded')
@@ -382,7 +513,24 @@ export function registerReadTools(server, ctx) {
382
513
  }, async ({ flowId, runId }) => {
383
514
  try {
384
515
  const service = ctx.pp;
385
- const result = await service.getFlowRunDetails(flowId, runId);
516
+ const audit = ctx.audit;
517
+ const operation = async () => service.getFlowRunDetails(flowId, runId);
518
+ const inputObj = { flowId, runId };
519
+ const redacted = audit
520
+ ? redactInput(ctx, '_input', inputObj)
521
+ : { data: inputObj, report: null };
522
+ const result = (audit
523
+ ? await auditEmit(audit, {
524
+ tool: 'get-flow-run-details',
525
+ params: redacted.data,
526
+ payloadInput: redacted.data,
527
+ inputRedaction: redacted.report,
528
+ resultExtractor: () => ({
529
+ recordCount: 1,
530
+ outputRedaction: null,
531
+ }),
532
+ }, operation)
533
+ : await operation());
386
534
  // Build action summary
387
535
  const actions = result.actions || {};
388
536
  const actionList = Object.entries(actions).map(([name, action]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"read-tools.js","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,iBAAiB,CAAC,MAAW,EAAE,GAAmB;IAEhE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,4KAA4K,EAC5K;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,8DAA8D,EAC9D,oBAAoB,CACrB,CAAC;QACJ,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,2CAA2C,EAC3C,qBAAqB,CACtB,CAAC;QACJ,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,gBAAgB,CACxB,yGAAyG,EACzG,qBAAqB,CACtB,CAAC;QACJ,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAO,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAE9F,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE1D,IAAI,OAAO,GAAG,gBAAgB,MAAM,CAAC,aAAa,kBAAkB,gBAAgB,kBAAkB,MAAM,GAAG,CAAC;YAChH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,gEAAgE,MAAM,CAAC,YAAY,oBAAoB,CAAC;YACrH,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,OAAO,oBAAoB,UAAU,WAAW,MAAM,EAAE;qBAClE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,oHAAoH;QACpH,2EAA2E;QAC3E,0HAA0H,EAC1H;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gBAAgB,CACxB,kHAAkH,EAClH,oBAAoB,CACrB,CAAC;QACJ,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gBAAgB,CACxB,+FAA+F,EAC/F,qBAAqB,CACtB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACjF,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,gBAAgB,CACxB,mHAAmH,EACnH,2BAA2B,CAC5B,CAAC;KACL,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAO,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,6EAA6E;YAC7E,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,wFAAwF;yBAC/F,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YAEvB,aAAa;YACb,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAE1D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAEnE,IAAI,OAAO,GAAG,mBAAmB,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,0CAA0C,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC;gBACrJ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,IAAI,QAAQ,MAAM,CAAC,MAAM,kBAAkB,CAAC;gBACrD,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,OAAO,mBAAmB,SAAS,UAAU;yBACvD,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,qBAAqB;YACrB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAEnE,IAAI,OAAO,GAAG,gBAAgB,gBAAgB,GAAG,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,IAAI,UAAU,MAAM,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,IAAI,OAAO,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACd,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,uHAAuH,EACvH;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,qDAAqD,EACrD,oBAAoB,CACrB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,oCAAoC,CAAC;KAClD,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAEnE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,MAAa,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,gBAAgB,cAAc,QAAQ,qBAAqB,SAAS,WAAW,MAAM,EAAE;qBACjH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE;qBACjD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,kRAAkR,EAClR;QACE,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,yCAAyC,EACzC,6BAA6B,CAC9B,CAAC;KACL,EACD,KAAK,EAAE,EAAE,iBAAiB,EAAO,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAQ,CAAC;YAE3E,yDAAyD;YACzD,MAAM,OAAO,GAAG;gBACd,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;gBACnD,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK;gBAC5D,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,KAAK;gBAChF,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;gBACrD,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,iBAAiB,QAAQ;4BACxD,kCAAkC,OAAO,CAAC,aAAa,MAAM;4BAC7D,+BAA+B,OAAO,CAAC,kBAAkB,MAAM;4BAC/D,iCAAiC,OAAO,CAAC,oBAAoB,QAAQ;4BACrE,kCAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc;4BAChF,oBAAoB,OAAO,CAAC,aAAa,4GAA4G;qBACxJ;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,EAAE;qBAC1D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,2OAA2O,EAC3O;QACE,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,+DAA+D,EAC/D,6BAA6B,CAC9B,CAAC;QACJ,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,CAAC,sFAAsF,CAAC;KACpG,EACD,KAAK,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAO,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YAEvB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,mBAAmB,CAAQ,CAAC;YAElG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB,mBAAmB,gBAAgB,iBAAiB,4CAA4C;yBACvH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,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,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CACjD,iBAAiB,EACjB,mBAAmB,CAAC,WAAW,EAAE,EACjC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACtD,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAQ;wBAC9C,UAAU;qBACX,CAAC,CAAC;oBACH,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,WAAW,IAAI,mBAAmB,CAAC,WAAW,EAAE;qBACtE,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACvD,OAAO;wBACL,WAAW,EAAE,YAAY;wBACzB,aAAa,EAAE,GAAG,YAAY,GAAG;wBACjC,mBAAmB,EAAE,WAAW,IAAI,mBAAmB,CAAC,WAAW,EAAE;wBACrE,KAAK,EAAE,0BAA0B;qBAClC,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,YAAY,GAAG,yBAAyB,mBAAmB,SAAS,iBAAiB,QAAQ,CAAC;YAClG,YAAY,IAAI,uBAAuB,CAAC;YACxC,YAAY,IAAI,wBAAwB,CAAC;YACzC,YAAY,IAAI,wBAAwB,CAAC;YACzC,YAAY,IAAI,wBAAwB,gBAAgB,QAAQ,CAAC;YACjE,YAAY,IAAI,yBAAyB,mBAAmB,QAAQ,CAAC;YACrE,YAAY,IAAI,uBAAuB,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;YAE5E,YAAY,IAAI,oBAAoB,CAAC;YACrC,YAAY,IAAI,wBAAwB,CAAC;YACzC,YAAY,IAAI,wBAAwB,CAAC;YACzC,YAAY,IAAI,oBAAoB,aAAa,CAAC,WAAW,QAAQ,CAAC;YACtE,YAAY,IAAI,2BAA2B,aAAa,CAAC,aAAa,QAAQ,CAAC;YAC/E,YAAY,IAAI,wBAAwB,aAAa,CAAC,kBAAkB,QAAQ,CAAC;YACjF,YAAY,IAAI,gCAAgC,aAAa,CAAC,mBAAmB,UAAU,CAAC;YAE5F,YAAY,IAAI,cAAc,CAAC;YAC/B,YAAY,IAAI,gCAAgC,CAAC;YACjD,YAAY,IAAI,qBAAqB,aAAa,CAAC,mBAAmB,mBAAmB,aAAa,CAAC,aAAa,iCAAiC,CAAC;YAEtJ,YAAY,IAAI,uGAAuG,aAAa,CAAC,mBAAmB,0NAA0N,CAAC;YAEnX,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,IAAI,mCAAmC,CAAC;gBACpD,YAAY,IAAI,6BAA6B,aAAa,CAAC,MAAM,gFAAgF,CAAC;gBAClJ,YAAY,IAAI,2DAA2D,CAAC;gBAC5E,YAAY,IAAI,2DAA2D,CAAC;gBAC5E,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;oBACnC,YAAY,IAAI,OAAO,MAAM,CAAC,WAAW,UAAU,MAAM,CAAC,mBAAmB,qBAAqB,MAAM,CAAC,aAAa,QAAQ,CAAC;gBACjI,CAAC;gBACD,YAAY,IAAI,kCAAkC,CAAC;gBACnD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;oBACnC,YAAY,IAAI,yBAAyB,MAAM,CAAC,WAAW,QAAQ,MAAM,CAAC,mBAAmB,mBAAmB,MAAM,CAAC,aAAa,sBAAsB,CAAC;gBAC7J,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY;qBACnB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;qBACxD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mFAAmF;QACnF,mFAAmF;QACnF,wGAAwG,EACxG;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;QAC1G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;QACxI,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QAC5G,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;KACvG,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAO,EAAE,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;gBAC/C,MAAM;gBACN,YAAY;gBACZ,aAAa;gBACb,UAAU,EAAE,UAAU,IAAI,EAAE;aAC7B,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;gBAC9D,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,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YACpF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;gBACzC,CAAC,CAAC,oBAAoB,UAAU,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACtE,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,KAAK,CAAC,CAAC,SAAS,GAAG,CAC1E,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAElD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,MAAM,CAAC,UAAU,uBAAuB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,6BAA6B,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,MAAM,oBAAoB,KAAK,CAAC,UAAU,kBAAkB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,KAAK,GAAG,aAAa,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,SAAS,EAAE;qBAC7W,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,yGAAyG;QACzG,yEAAyE;QACzE,yFAAyF;QACzF,2FAA2F,EAC3F;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAO,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAQ,CAAC;YAErE,uBAAuB;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAgB,EAAE,EAAE;gBAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;gBAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,OAAO,OAAO,IAAI,KAAK,MAAM,GAAG,KAAK,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,WAAW,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,SAAS,UAAU,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;YAC3G,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,KAAK,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjI,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAElD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wBAAwB,MAAM,MAAM,KAAK,QAAQ,UAAU,GAAG,WAAW,GAAG,WAAW,sBAAsB,SAAS,EAAE;qBAC/H,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,wCAAwC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,SAAS,GAAG,CAAC;YAClH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC,KAAK,CAAC,OAAO,OAAO,QAAQ,EAAE;qBAC1E,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
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":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAgYzE"}
1
+ {"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsBlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA4gBzE"}
@@ -1,10 +1,21 @@
1
1
  /**
2
2
  * Write tools for powerplatform-data (6 tools)
3
3
  * Require permission flags: POWERPLATFORM_ENABLE_CREATE, _UPDATE, _DELETE, _ACTIONS.
4
+ *
5
+ * Tool inputs are run through the PII pipeline before being recorded by
6
+ * auditEmit. See `redactInput()` below.
4
7
  */
5
8
  import { z } from 'zod';
6
- import { formatSummaryFooter } from '@mcp-consultant-tools/core';
9
+ import { auditEmit, formatSummaryFooter } from '@mcp-consultant-tools/core';
7
10
  import { descWithExamples, ENTITY_NAME_EXAMPLES, RECORD_DATA_EXAMPLES, ODATA_BIND_EXAMPLES, NAVIGATION_PROPERTY_EXAMPLES, } from '../tool-examples.js';
11
+ function redactInput(ctx, entityKey, input) {
12
+ const pp = ctx.pp.piiPipeline;
13
+ if (!pp || !pp.isEnabled) {
14
+ return { data: input, report: null };
15
+ }
16
+ const result = pp.redactResponse(entityKey, input);
17
+ return { data: result.data, report: result.report };
18
+ }
8
19
  export function registerWriteTools(server, ctx) {
9
20
  server.tool("create-record", "Create a new record in Dataverse. Use @odata.bind syntax for lookup fields. Requires POWERPLATFORM_ENABLE_CREATE=true.", {
10
21
  entityNamePlural: z
@@ -20,11 +31,33 @@ export function registerWriteTools(server, ctx) {
20
31
  try {
21
32
  ctx.checkCreateEnabled();
22
33
  const service = ctx.pp;
23
- const result = await service.createRecord(entityNamePlural, data);
34
+ const audit = ctx.audit;
35
+ const operation = async () => service.createRecord(entityNamePlural, data);
36
+ const inputObj = { entityNamePlural, data };
37
+ const redacted = audit
38
+ ? redactInput(ctx, entityNamePlural, inputObj)
39
+ : { data: inputObj, report: null };
40
+ const result = audit
41
+ ? await auditEmit(audit, {
42
+ tool: 'create-record',
43
+ params: redacted.data,
44
+ payloadInput: redacted.data,
45
+ inputRedaction: redacted.report,
46
+ resultExtractor: (r) => ({
47
+ recordCount: 1,
48
+ outputRedaction: r?.piiReport ?? null,
49
+ }),
50
+ }, operation)
51
+ : await operation();
24
52
  const { piiReport, ...visibleResult } = result;
25
- const recordIdValue = visibleResult.id
26
- || visibleResult[Object.keys(visibleResult).find(k => k.endsWith('id') && k !== 'piiReport') || '']
27
- || 'N/A';
53
+ // Read the entity-specific primary key directly from the response body
54
+ // (e.g. `contactid` from `contacts`). Dataverse suppresses the
55
+ // `OData-EntityId` header when `Prefer: return=representation` is used
56
+ // (the body itself is the representation), so the body is the
57
+ // authoritative source. Singular form derived the same way as
58
+ // `toEntityLogicalName` in DataService.
59
+ const entityLogicalName = entityNamePlural.replace(/s$/, '');
60
+ const recordIdValue = (visibleResult[`${entityLogicalName}id`] ?? 'N/A');
28
61
  const footer = piiReport ? `\n\n${formatSummaryFooter(piiReport)}` : '';
29
62
  return {
30
63
  content: [
@@ -67,7 +100,24 @@ export function registerWriteTools(server, ctx) {
67
100
  try {
68
101
  ctx.checkUpdateEnabled();
69
102
  const service = ctx.pp;
70
- const result = await service.updateRecord(entityNamePlural, recordId, data);
103
+ const audit = ctx.audit;
104
+ const operation = async () => service.updateRecord(entityNamePlural, recordId, data);
105
+ const inputObj = { entityNamePlural, recordId, data };
106
+ const redacted = audit
107
+ ? redactInput(ctx, entityNamePlural, inputObj)
108
+ : { data: inputObj, report: null };
109
+ const result = audit
110
+ ? await auditEmit(audit, {
111
+ tool: 'update-record',
112
+ params: redacted.data,
113
+ payloadInput: redacted.data,
114
+ inputRedaction: redacted.report,
115
+ resultExtractor: (r) => ({
116
+ recordCount: 1,
117
+ outputRedaction: r?.piiReport ?? null,
118
+ }),
119
+ }, operation)
120
+ : await operation();
71
121
  const { piiReport, ...visibleResult } = result;
72
122
  const footer = piiReport ? `\n\n${formatSummaryFooter(piiReport)}` : '';
73
123
  return {
@@ -123,7 +173,31 @@ export function registerWriteTools(server, ctx) {
123
173
  };
124
174
  }
125
175
  const service = ctx.pp;
126
- await service.deleteRecord(entityNamePlural, recordId);
176
+ const audit = ctx.audit;
177
+ // Synthetic return shape — Dataverse delete is a void HTTP 204; we
178
+ // surface { success, recordId } so payloadOutput is non-undefined at
179
+ // level=full. The synthesised fields don't reflect the API response.
180
+ const operation = async () => {
181
+ await service.deleteRecord(entityNamePlural, recordId);
182
+ return { success: true, recordId };
183
+ };
184
+ if (audit) {
185
+ const inputObj = { entityNamePlural, recordId, confirm };
186
+ const redacted = redactInput(ctx, entityNamePlural, inputObj);
187
+ await auditEmit(audit, {
188
+ tool: 'delete-record',
189
+ params: redacted.data,
190
+ payloadInput: redacted.data,
191
+ inputRedaction: redacted.report,
192
+ resultExtractor: () => ({
193
+ recordCount: 1,
194
+ outputRedaction: null,
195
+ }),
196
+ }, operation);
197
+ }
198
+ else {
199
+ await operation();
200
+ }
127
201
  return {
128
202
  content: [
129
203
  {
@@ -171,7 +245,24 @@ export function registerWriteTools(server, ctx) {
171
245
  try {
172
246
  ctx.checkActionsEnabled();
173
247
  const service = ctx.pp;
174
- const result = await service.executeAction(actionName, parameters, boundTo);
248
+ const audit = ctx.audit;
249
+ const operation = async () => service.executeAction(actionName, parameters, boundTo);
250
+ const inputObj = { actionName, parameters, boundTo };
251
+ const redacted = audit
252
+ ? redactInput(ctx, '_input', inputObj)
253
+ : { data: inputObj, report: null };
254
+ const result = audit
255
+ ? await auditEmit(audit, {
256
+ tool: 'execute-action',
257
+ params: redacted.data,
258
+ payloadInput: redacted.data,
259
+ inputRedaction: redacted.report,
260
+ resultExtractor: (r) => ({
261
+ recordCount: r?.recordCount ?? undefined,
262
+ outputRedaction: r?.piiReport ?? null,
263
+ }),
264
+ }, operation)
265
+ : await operation();
175
266
  const { piiReport, ...visibleResult } = result || {};
176
267
  const boundInfo = boundTo
177
268
  ? `\n**Bound To:** ${boundTo.entityNamePlural}(${boundTo.recordId})`
@@ -233,7 +324,31 @@ export function registerWriteTools(server, ctx) {
233
324
  try {
234
325
  ctx.checkCreateEnabled();
235
326
  const service = ctx.pp;
236
- await service.associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId);
327
+ const audit = ctx.audit;
328
+ // Synthetic return shape — Dataverse Associate is a void HTTP 204;
329
+ // we surface { success } so payloadOutput is non-undefined at
330
+ // level=full. Does not reflect the API response.
331
+ const operation = async () => {
332
+ await service.associateRecords(entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId);
333
+ return { success: true };
334
+ };
335
+ if (audit) {
336
+ const inputObj = { entityNamePlural, recordId, navigationProperty, targetEntityNamePlural, targetRecordId };
337
+ const redacted = redactInput(ctx, entityNamePlural, inputObj);
338
+ await auditEmit(audit, {
339
+ tool: 'associate-records',
340
+ params: redacted.data,
341
+ payloadInput: redacted.data,
342
+ inputRedaction: redacted.report,
343
+ resultExtractor: () => ({
344
+ recordCount: 1,
345
+ outputRedaction: null,
346
+ }),
347
+ }, operation);
348
+ }
349
+ else {
350
+ await operation();
351
+ }
237
352
  return {
238
353
  content: [
239
354
  {
@@ -278,7 +393,31 @@ export function registerWriteTools(server, ctx) {
278
393
  try {
279
394
  ctx.checkDeleteEnabled();
280
395
  const service = ctx.pp;
281
- await service.disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId);
396
+ const audit = ctx.audit;
397
+ // Synthetic return shape — Dataverse Disassociate is a void HTTP 204;
398
+ // we surface { success } so payloadOutput is non-undefined at
399
+ // level=full. Does not reflect the API response.
400
+ const operation = async () => {
401
+ await service.disassociateRecords(entityNamePlural, recordId, navigationProperty, targetRecordId);
402
+ return { success: true };
403
+ };
404
+ if (audit) {
405
+ const inputObj = { entityNamePlural, recordId, navigationProperty, targetRecordId };
406
+ const redacted = redactInput(ctx, entityNamePlural, inputObj);
407
+ await auditEmit(audit, {
408
+ tool: 'disassociate-records',
409
+ params: redacted.data,
410
+ payloadInput: redacted.data,
411
+ inputRedaction: redacted.report,
412
+ resultExtractor: () => ({
413
+ recordCount: 1,
414
+ outputRedaction: null,
415
+ }),
416
+ }, operation);
417
+ }
418
+ else {
419
+ await operation();
420
+ }
282
421
  return {
283
422
  content: [
284
423
  {
@@ -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;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,kBAAkB,CAAC,MAAW,EAAE,GAAmB;IAEjE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,wHAAwH,EACxH;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,qDAAqD,EACrD,oBAAoB,CACrB,CAAC;QACJ,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACf,QAAQ,CAAC,gBAAgB,CACxB,oEAAoE;YACpE,uGAAuG;YACvG,oGAAoG;YACpG,qCAAqC,EACrC,CAAC,GAAG,oBAAoB,EAAE,GAAG,mBAAmB,CAAC,CAClD,CAAC;KACL,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAQ,CAAC;YAEzE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC;YAC/C,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE;mBACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;mBAChG,KAAK,CAAC;YACX,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,gBAAgB,MAAM;4BAC9D,kBAAkB,aAAa,MAAM;4BACrC,oCAAoC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,MAAM,EAAE;qBAChG;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8KAA8K,EAC9K;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,qDAAqD,EACrD,oBAAoB,CACrB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACf,QAAQ,CAAC,gBAAgB,CACxB,6DAA6D;YAC7D,wCAAwC;YACxC,+CAA+C;YAC/C,qCAAqC,EACrC,CAAC,GAAG,oBAAoB,EAAE,GAAG,mBAAmB,CAAC,CAClD,CAAC;KACL,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAO,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAQ,CAAC;YAEnF,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC;YAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,gBAAgB,MAAM;4BAC9D,kBAAkB,QAAQ,MAAM;4BAChC,oCAAoC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,MAAM,EAAE;qBAChG;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uIAAuI,EACvI;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,qDAAqD,EACrD,oBAAoB,CACrB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,0EAA0E,CAAC;KACxF,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAO,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,GAAG,CAAC,kBAAkB,EAAE,CAAC;YAEzB,6CAA6C;YAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,0DAA0D;gCAC9D,oCAAoC,QAAQ,aAAa,gBAAgB,SAAS;gCAClF,+DAA+D;gCAC/D,0DAA0D;yBAC7D;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mCAAmC;4BACvC,eAAe,gBAAgB,IAAI;4BACnC,kBAAkB,QAAQ,MAAM;4BAChC,kCAAkC;qBACrC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gMAAgM,EAChM;QACE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CACP,mHAAmH;YACnH,0GAA0G,CAC3G;QACH,UAAU,EAAE,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACf,QAAQ,EAAE;aACV,QAAQ,CACP,8GAA8G;YAC9G,sGAAsG,CACvG;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CACpD,0CAA0C,EAC1C,oBAAoB,CACrB,CAAC;YACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;SAC9E,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,gFAAgF;YAChF,2GAA2G,CAC5G;KACJ,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAO,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAQ,CAAC;YAEnF,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YAErD,MAAM,SAAS,GAAG,OAAO;gBACvB,CAAC,CAAC,mBAAmB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,GAAG;gBACpE,CAAC,CAAC,4BAA4B,CAAC;YAEjC,MAAM,UAAU,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjE,CAAC,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU;gBACvF,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,YAAY,GAAG,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBACzE,CAAC,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClF,CAAC,CAAC,wCAAwC,CAAC;YAE7C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC;4BACxC,eAAe,UAAU,EAAE;4BAC3B,SAAS;4BACT,UAAU;4BACV,YAAY;4BACZ,MAAM;qBACT;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE;qBACrD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,6EAA6E;QAC7E,+FAA+F;QAC/F,4CAA4C,EAC5C;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,iDAAiD,EACjD,oBAAoB,CACrB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,qDAAqD;YACrD,sGAAsG,EACtG,4BAA4B,CAC7B,CAAC;QACJ,sBAAsB,EAAE,CAAC;aACtB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,iDAAiD,EACjD,oBAAoB,CACrB,CAAC;QACJ,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,EAAO,EAAE,EAAE;QACxG,IAAI,CAAC;YACH,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;YAEvH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uCAAuC;4BAC3C,eAAe,gBAAgB,IAAI,QAAQ,KAAK;4BAChD,eAAe,sBAAsB,IAAI,cAAc,KAAK;4BAC5D,qBAAqB,kBAAkB,EAAE;qBAC5C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;qBACxD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,wEAAwE;QACxE,wEAAwE;QACxE,4CAA4C,EAC5C;QACE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,iDAAiD,EACjD,oBAAoB,CACrB,CAAC;QACJ,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,QAAQ,CAAC,gBAAgB,CACxB,mDAAmD,EACnD,4BAA4B,CAC7B,CAAC;QACJ,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,+CAA+C,CAAC;KAC7D,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAO,EAAE,EAAE;QAChF,IAAI,CAAC;YACH,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAElG,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C;4BAC9C,eAAe,gBAAgB,IAAI,QAAQ,KAAK;4BAChD,sBAAsB,cAAc,IAAI;4BACxC,qBAAqB,kBAAkB,MAAM;4BAC7C,4EAA4E;qBAC/E;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE;qBAC3D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/tools/write-tools.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -3,8 +3,10 @@
3
3
  * Uses lazy getters to initialize the PowerPlatformService on-demand.
4
4
  */
5
5
  import type { PowerPlatformService } from './PowerPlatformService.js';
6
+ import type { AuditPipeline } from '@mcp-consultant-tools/core';
6
7
  export interface ServiceContext {
7
8
  readonly pp: PowerPlatformService;
9
+ readonly audit: AuditPipeline | null;
8
10
  checkCreateEnabled(): void;
9
11
  checkUpdateEnabled(): void;
10
12
  checkDeleteEnabled(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,mBAAmB,IAAI,IAAI,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,mBAAmB,IAAI,IAAI,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/powerplatform-data",
3
- "version": "31.0.0-beta.4",
3
+ "version": "32.0.0-beta.2",
4
4
  "description": "MCP server for PowerPlatform data CRUD operations (operational use)",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -40,8 +40,8 @@
40
40
  "node": ">=16.0.0"
41
41
  },
42
42
  "dependencies": {
43
- "@mcp-consultant-tools/core": "31.0.0-beta.4",
44
- "@mcp-consultant-tools/powerplatform-core": "31.0.0-beta.4",
43
+ "@mcp-consultant-tools/core": "32.0.0-beta.2",
44
+ "@mcp-consultant-tools/powerplatform-core": "32.0.0-beta.2",
45
45
  "@modelcontextprotocol/sdk": "^1.0.4",
46
46
  "commander": "^14.0.3",
47
47
  "express": "^4.21.2",