@acquis-consulting/asm 1.0.12 → 1.0.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.
@@ -19,9 +19,66 @@ export const executeAnonymousTool = {
19
19
  required: ['apexCode'],
20
20
  },
21
21
  };
22
+ async function findMostRecentExecuteAnonymousLogId(conn, userId) {
23
+ const logResult = await conn.tooling.query(`SELECT Id FROM ApexLog WHERE LogUserId = '${userId}' AND Operation LIKE '%executeAnonymous%' ORDER BY StartTime DESC LIMIT 1`);
24
+ if (logResult.records && logResult.records.length > 0) {
25
+ return logResult.records[0].Id;
26
+ }
27
+ return null;
28
+ }
29
+ async function findNewLog(conn, userId, previousLogId) {
30
+ const attempts = 6;
31
+ for (let i = 0; i < attempts; i++) {
32
+ const logId = await findMostRecentExecuteAnonymousLogId(conn, userId);
33
+ if (logId && logId !== previousLogId) {
34
+ return logId;
35
+ }
36
+ if (i < attempts - 1) {
37
+ await new Promise((resolve) => setTimeout(resolve, 1000));
38
+ }
39
+ }
40
+ return null;
41
+ }
22
42
  export async function handleExecuteAnonymous(conn, args) {
23
- const { apexCode } = args;
43
+ const { apexCode, logLevel = 'DEBUG' } = args;
44
+ let createdTraceFlagId;
24
45
  try {
46
+ const identity = await conn.identity();
47
+ const userId = identity.user_id;
48
+ // Ensure an active trace flag exists so this execution actually produces an ApexLog
49
+ const now = new Date();
50
+ const existingTf = await conn.tooling.query(`SELECT Id FROM TraceFlag WHERE TracedEntityId = '${userId}' AND ExpirationDate > ${now.toISOString()} AND LogType = 'USER_DEBUG'`);
51
+ if (!existingTf.records || existingTf.records.length === 0) {
52
+ const devName = `MCP_Debug_${Date.now()}`;
53
+ const debugLevelResult = await conn.tooling.sobject('DebugLevel').create({
54
+ DeveloperName: devName,
55
+ MasterLabel: devName,
56
+ ApexCode: logLevel,
57
+ ApexProfiling: logLevel,
58
+ Callout: logLevel,
59
+ Database: logLevel,
60
+ System: logLevel,
61
+ Validation: logLevel,
62
+ Visualforce: logLevel,
63
+ Workflow: logLevel,
64
+ });
65
+ if (!debugLevelResult.success) {
66
+ return toolResponse(`Failed to create debug level: ${JSON.stringify(debugLevelResult.errors)}`, true);
67
+ }
68
+ const expiry = new Date(now.getTime() + 15 * 60000);
69
+ const tfResult = await conn.tooling.sobject('TraceFlag').create({
70
+ TracedEntityId: userId,
71
+ DebugLevelId: debugLevelResult.id,
72
+ LogType: 'USER_DEBUG',
73
+ StartDate: now.toISOString(),
74
+ ExpirationDate: expiry.toISOString(),
75
+ });
76
+ if (!tfResult.success) {
77
+ return toolResponse(`Failed to create trace flag: ${JSON.stringify(tfResult.errors)}`, true);
78
+ }
79
+ createdTraceFlagId = tfResult.id;
80
+ }
81
+ const previousLogId = await findMostRecentExecuteAnonymousLogId(conn, userId);
25
82
  const result = await conn.tooling.executeAnonymous(apexCode);
26
83
  const lines = [];
27
84
  if (!result.compiled) {
@@ -39,11 +96,10 @@ export async function handleExecuteAnonymous(conn, args) {
39
96
  return toolResponse(lines.join('\n'), true);
40
97
  }
41
98
  lines.push('## Execution: Success\n');
42
- // Attempt to fetch debug log
99
+ // Fetch debug log for this execution
43
100
  try {
44
- const logResult = await conn.tooling.query(`SELECT Id FROM ApexLog ORDER BY StartTime DESC LIMIT 1`);
45
- if (logResult.records && logResult.records.length > 0) {
46
- const logId = logResult.records[0].Id;
101
+ const logId = await findNewLog(conn, userId, previousLogId);
102
+ if (logId) {
47
103
  const logBody = await conn.request({
48
104
  method: 'GET',
49
105
  url: `/services/data/v58.0/tooling/sobjects/ApexLog/${logId}/Body`,
@@ -54,15 +110,28 @@ export async function handleExecuteAnonymous(conn, args) {
54
110
  lines.push('```\n' + compressApexLog(raw) + '\n```');
55
111
  }
56
112
  }
113
+ else {
114
+ lines.push('\n(Debug log not available: no ApexLog record appeared for this execution)');
115
+ }
57
116
  }
58
- catch {
59
- lines.push('\n(Debug log not available)');
117
+ catch (logError) {
118
+ lines.push(`\n(Debug log not available: ${logError.message})`);
60
119
  }
61
120
  return toolResponse(lines.join('\n'));
62
121
  }
63
122
  catch (error) {
64
123
  return toolResponse(`Execute anonymous failed: ${error.message}`, true);
65
124
  }
125
+ finally {
126
+ if (createdTraceFlagId) {
127
+ try {
128
+ await conn.tooling.sobject('TraceFlag').destroy(createdTraceFlagId);
129
+ }
130
+ catch {
131
+ // best-effort cleanup
132
+ }
133
+ }
134
+ }
66
135
  }
67
136
  export const executeAnonymousSchema = {
68
137
  apexCode: z.string().describe('The Apex code to execute.'),
@@ -1 +1 @@
1
- {"version":3,"file":"executeAnonymous.js","sourceRoot":"","sources":["../../src/tools/executeAnonymous.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeAnonymous.js","sourceRoot":"","sources":["../../src/tools/executeAnonymous.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,17 @@ export declare const objectSchemaTool: {
10
10
  type: string;
11
11
  description: string;
12
12
  };
13
+ includeRelatedComponents: {
14
+ type: string;
15
+ description: string;
16
+ };
13
17
  };
14
18
  required: string[];
15
19
  };
16
20
  };
17
21
  export interface ObjectSchemaArgs {
18
22
  objectName: string;
23
+ includeRelatedComponents?: boolean;
19
24
  }
20
25
  export declare function handleObjectSchema(conn: Connection, args: ObjectSchemaArgs): Promise<{
21
26
  content: {
@@ -26,12 +31,14 @@ export declare function handleObjectSchema(conn: Connection, args: ObjectSchemaA
26
31
  }>;
27
32
  export declare const objectSchemaSchema: {
28
33
  objectName: z.ZodString;
34
+ includeRelatedComponents: z.ZodOptional<z.ZodBoolean>;
29
35
  };
30
36
  export declare const objectSchemaDescriptor: {
31
37
  name: string;
32
38
  description: string;
33
39
  schema: {
34
40
  objectName: z.ZodString;
41
+ includeRelatedComponents: z.ZodOptional<z.ZodBoolean>;
35
42
  };
36
43
  handler: typeof handleObjectSchema;
37
44
  };
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod/v4';
2
- import { toolResponse } from '../utils/index.js';
2
+ import { toolResponse, resolveObjectComponentId, fetchRelatedComponents, fetchValidationRulesForObject, fetchWorkflowRulesForObject, fetchApprovalProcessesForObject, fetchDuplicateRulesForObject, fetchAssignmentRulesForObject, fetchAutoResponseRulesForObject, fetchEscalationRulesForObject, fetchDescriptions, formatObjectDependentsSection, } from '../utils/index.js';
3
3
  export const objectSchemaTool = {
4
4
  name: 'salesforce_describe_object',
5
- description: 'Get the complete field-level schema of a Salesforce object including all fields, their types, relationships, and picklist values. Use salesforce_search_objects first to find the correct API name.',
5
+ description: 'Get the complete field-level schema of a Salesforce object including all fields, their types, relationships, and picklist values. Also shows related metadata (Apex Triggers, Flows, Validation Rules, Workflow Rules, Approval Processes, Duplicate Rules, Assignment/Auto-Response/Escalation Rules, and anything else) that references this object — set includeRelatedComponents to false to skip. Use salesforce_search_objects first to find the correct API name.',
6
6
  inputSchema: {
7
7
  type: 'object',
8
8
  properties: {
@@ -10,12 +10,16 @@ export const objectSchemaTool = {
10
10
  type: 'string',
11
11
  description: 'The Salesforce object API name (e.g., "Account", "Contact", "MyObject__c").',
12
12
  },
13
+ includeRelatedComponents: {
14
+ type: 'boolean',
15
+ description: 'Whether to include a section listing metadata components (Apex Triggers, Flows, Validation Rules, Workflow Rules, Approval Processes, Duplicate Rules, Assignment/Auto-Response/Escalation Rules, Apex Classes, etc.) that reference this object. Defaults to true.',
16
+ },
13
17
  },
14
18
  required: ['objectName'],
15
19
  },
16
20
  };
17
21
  export async function handleObjectSchema(conn, args) {
18
- const { objectName } = args;
22
+ const { objectName, includeRelatedComponents } = args;
19
23
  const desc = await conn.describe(objectName);
20
24
  const lines = [];
21
25
  lines.push(`## ${desc.label} (${desc.name}) — ${desc.custom ? 'Custom' : 'Standard'} Object\n`);
@@ -52,10 +56,43 @@ export async function handleObjectSchema(conn, args) {
52
56
  }
53
57
  }
54
58
  }
59
+ if (includeRelatedComponents !== false) {
60
+ try {
61
+ const componentId = await resolveObjectComponentId(conn, desc.name);
62
+ const children = componentId ? (await fetchRelatedComponents(conn, componentId)).children : [];
63
+ const supplements = await Promise.all([
64
+ fetchValidationRulesForObject(conn, desc.name),
65
+ fetchWorkflowRulesForObject(conn, desc.name),
66
+ fetchApprovalProcessesForObject(conn, desc.name),
67
+ fetchDuplicateRulesForObject(conn, desc.name),
68
+ fetchAssignmentRulesForObject(conn, desc.name),
69
+ fetchAutoResponseRulesForObject(conn, desc.name),
70
+ fetchEscalationRulesForObject(conn, desc.name),
71
+ ]);
72
+ const seenIds = new Set(children.map((c) => c.id));
73
+ const merged = [...children];
74
+ for (const extra of supplements.flat()) {
75
+ if (!seenIds.has(extra.id)) {
76
+ seenIds.add(extra.id);
77
+ merged.push(extra);
78
+ }
79
+ }
80
+ if (merged.length > 0) {
81
+ const described = await fetchDescriptions(conn, merged);
82
+ const section = formatObjectDependentsSection(described);
83
+ if (section)
84
+ lines.push(section);
85
+ }
86
+ }
87
+ catch (err) {
88
+ console.error(`[objectSchema] related components lookup failed for ${objectName}: ${err.message}`);
89
+ }
90
+ }
55
91
  return toolResponse(lines.join('\n'));
56
92
  }
57
93
  export const objectSchemaSchema = {
58
94
  objectName: z.string().describe('The Salesforce object API name (e.g., "Account", "Contact", "MyObject__c").'),
95
+ includeRelatedComponents: z.boolean().optional().describe('Whether to include a section listing metadata components (Apex Triggers, Flows, Validation Rules, Workflow Rules, Approval Processes, Duplicate Rules, Assignment/Auto-Response/Escalation Rules, Apex Classes, etc.) that reference this object. Defaults to true.'),
59
96
  };
60
97
  export const objectSchemaDescriptor = {
61
98
  name: 'salesforce_describe_object',
@@ -1 +1 @@
1
- {"version":3,"file":"objectSchema.js","sourceRoot":"","sources":["../../src/tools/objectSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,qMAAqM;IAClN,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6EAA6E;aAC3F;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAMF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAgB,EAAE,IAAsB;IAC/E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,CAAC;IAEhG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,IAAI,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,IAAI,aAAa,CAAC;QAElE,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc;iBAChC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC;iBAC9B,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBACb,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,IAAI,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpE,IAAI,IAAI,cAAc,KAAK,CAAC,YAAY,GAAG,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,gBAAgB,QAAQ,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAC/G,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,gBAAgB,CAAC,WAAW;IACzC,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,kBAAkB;CAC5B,CAAC"}
1
+ {"version":3,"file":"objectSchema.js","sourceRoot":"","sources":["../../src/tools/objectSchema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { createConnection } from './connection.js';
2
2
  export { formatMetadataErrors, toolResponse } from './errors.js';
3
3
  export { compressApexLog } from './logCompressor.js';
4
- export { resolveComponentId, fetchRelatedComponents, fetchDescriptions, formatRelatedComponentsSection } from './relatedComponents.js';
4
+ export { resolveComponentId, resolveObjectComponentId, fetchRelatedComponents, fetchValidationRulesForObject, fetchWorkflowRulesForObject, fetchApprovalProcessesForObject, fetchDuplicateRulesForObject, fetchAssignmentRulesForObject, fetchAutoResponseRulesForObject, fetchEscalationRulesForObject, fetchDescriptions, formatRelatedComponentsSection, formatObjectDependentsSection, } from './relatedComponents.js';
@@ -1,5 +1,5 @@
1
1
  export { createConnection } from './connection.js';
2
2
  export { formatMetadataErrors, toolResponse } from './errors.js';
3
3
  export { compressApexLog } from './logCompressor.js';
4
- export { resolveComponentId, fetchRelatedComponents, fetchDescriptions, formatRelatedComponentsSection } from './relatedComponents.js';
4
+ export { resolveComponentId, resolveObjectComponentId, fetchRelatedComponents, fetchValidationRulesForObject, fetchWorkflowRulesForObject, fetchApprovalProcessesForObject, fetchDuplicateRulesForObject, fetchAssignmentRulesForObject, fetchAutoResponseRulesForObject, fetchEscalationRulesForObject, fetchDescriptions, formatRelatedComponentsSection, formatObjectDependentsSection, } from './relatedComponents.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC"}
@@ -10,7 +10,16 @@ interface RelatedComponentsResult {
10
10
  children: RelatedComponent[];
11
11
  }
12
12
  export declare function resolveComponentId(conn: Connection, metadataType: string, fullName: string): Promise<string | null>;
13
+ export declare function resolveObjectComponentId(conn: Connection, objectApiName: string): Promise<string | null>;
14
+ export declare function fetchValidationRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
15
+ export declare function fetchWorkflowRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
16
+ export declare function fetchApprovalProcessesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
17
+ export declare function fetchDuplicateRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
18
+ export declare function fetchAssignmentRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
19
+ export declare function fetchAutoResponseRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
20
+ export declare function fetchEscalationRulesForObject(conn: Connection, objectApiName: string): Promise<RelatedComponent[]>;
13
21
  export declare function fetchRelatedComponents(conn: Connection, componentId: string): Promise<RelatedComponentsResult>;
14
22
  export declare function fetchDescriptions(conn: Connection, components: RelatedComponent[]): Promise<RelatedComponent[]>;
15
23
  export declare function formatRelatedComponentsSection(parents: RelatedComponent[], children: RelatedComponent[]): string;
24
+ export declare function formatObjectDependentsSection(components: RelatedComponent[]): string;
16
25
  export {};
@@ -6,6 +6,12 @@ const TYPES_WITH_DESCRIPTION = new Set([
6
6
  'LightningComponentBundle',
7
7
  'PermissionSet',
8
8
  ]);
9
+ // EntityDefinition.Id is a non-queryable placeholder for MetadataComponentDependency
10
+ // purposes — the real dependency-graph id for a custom object comes from CustomObject.Id.
11
+ function buildCustomObjectIdQuery(objectApiName) {
12
+ const developerName = objectApiName.replace(/__c$/i, '');
13
+ return `SELECT Id FROM CustomObject WHERE DeveloperName = '${esc(developerName)}'`;
14
+ }
9
15
  // Maps metadata type to a Tooling API query that resolves the component ID.
10
16
  // Returns null if the type is not supported.
11
17
  function buildIdQuery(metadataType, fullName) {
@@ -18,13 +24,12 @@ function buildIdQuery(metadataType, fullName) {
18
24
  const devName = fullName.split('-')[0]; // strip version suffix if present
19
25
  return `SELECT Id FROM Flow WHERE DeveloperName = '${esc(devName)}' AND Status = 'Active' LIMIT 1`;
20
26
  }
21
- case 'CustomObject':
22
- return `SELECT Id FROM EntityDefinition WHERE QualifiedApiName = '${esc(fullName)}'`;
23
27
  case 'CustomField': {
24
28
  const [obj, field] = splitDot(fullName);
25
29
  if (!field)
26
30
  return null;
27
- return `SELECT Id FROM CustomField WHERE EntityDefinition.QualifiedApiName = '${esc(obj)}' AND DeveloperName = '${esc(field)}'`;
31
+ const developerName = field.replace(/__c$/i, '');
32
+ return `SELECT Id FROM CustomField WHERE EntityDefinition.QualifiedApiName = '${esc(obj)}' AND DeveloperName = '${esc(developerName)}'`;
28
33
  }
29
34
  case 'ValidationRule': {
30
35
  const [obj, rule] = splitDot(fullName);
@@ -45,6 +50,12 @@ function buildIdQuery(metadataType, fullName) {
45
50
  }
46
51
  }
47
52
  export async function resolveComponentId(conn, metadataType, fullName) {
53
+ // CustomObject needs to handle both standard and custom object names (see
54
+ // resolveObjectComponentId), which doesn't fit the single-query-string shape
55
+ // buildIdQuery uses for every other type.
56
+ if (metadataType === 'CustomObject') {
57
+ return resolveObjectComponentId(conn, fullName);
58
+ }
48
59
  const query = buildIdQuery(metadataType, fullName);
49
60
  if (!query) {
50
61
  console.error(`[relatedComponents] resolveComponentId: unsupported metadata type "${metadataType}"`);
@@ -64,6 +75,137 @@ export async function resolveComponentId(conn, metadataType, fullName) {
64
75
  return null;
65
76
  }
66
77
  }
78
+ // Resolves the MetadataComponentDependency-graph component id for an SObject itself
79
+ // (as opposed to a field/rule/trigger that belongs to it). Standard objects are
80
+ // referenced by their plain API name in MetadataComponentDependency; custom objects
81
+ // need the CustomObject Tooling record's id.
82
+ export async function resolveObjectComponentId(conn, objectApiName) {
83
+ if (!objectApiName.endsWith('__c')) {
84
+ return objectApiName;
85
+ }
86
+ try {
87
+ const result = await conn.tooling.query(buildCustomObjectIdQuery(objectApiName));
88
+ const record = result.records?.[0];
89
+ if (!record?.Id) {
90
+ console.error(`[relatedComponents] resolveObjectComponentId: no CustomObject record found for "${objectApiName}"`);
91
+ return null;
92
+ }
93
+ return record.Id;
94
+ }
95
+ catch (err) {
96
+ console.error(`[relatedComponents] resolveObjectComponentId failed for "${objectApiName}": ${err.message}`);
97
+ return null;
98
+ }
99
+ }
100
+ // MetadataComponentDependency only tracks explicit field-level references made by a
101
+ // validation rule's formula — it does not emit an edge for the object the rule is
102
+ // defined on unless the formula happens to reference that object back. Query
103
+ // ValidationRule directly (scoped by EntityDefinition) so rules aren't silently missed.
104
+ export async function fetchValidationRulesForObject(conn, objectApiName) {
105
+ try {
106
+ const result = await conn.tooling.query(`SELECT Id, ValidationName, Description FROM ValidationRule WHERE EntityDefinition.QualifiedApiName = '${esc(objectApiName)}' AND Active = true`);
107
+ return (result.records || []).map((r) => ({
108
+ id: r.Id,
109
+ apiName: `${objectApiName}.${r.ValidationName}`,
110
+ type: 'ValidationRule',
111
+ description: r.Description ?? null,
112
+ }));
113
+ }
114
+ catch (err) {
115
+ console.error(`[relatedComponents] fetchValidationRulesForObject failed for "${objectApiName}": ${err.message}`);
116
+ return [];
117
+ }
118
+ }
119
+ // Same MetadataComponentDependency blind spot as validation rules — classic Workflow
120
+ // Rules are defined per-object without necessarily being tracked as depending on it.
121
+ // TableEnumOrId holds the plain object API name for both standard and custom objects.
122
+ export async function fetchWorkflowRulesForObject(conn, objectApiName) {
123
+ try {
124
+ const result = await conn.tooling.query(`SELECT Id, Name FROM WorkflowRule WHERE TableEnumOrId = '${esc(objectApiName)}'`);
125
+ return (result.records || []).map((r) => ({
126
+ id: r.Id,
127
+ apiName: `${objectApiName}.${r.Name}`,
128
+ type: 'WorkflowRule',
129
+ description: null,
130
+ }));
131
+ }
132
+ catch (err) {
133
+ console.error(`[relatedComponents] fetchWorkflowRulesForObject failed for "${objectApiName}": ${err.message}`);
134
+ return [];
135
+ }
136
+ }
137
+ // ApprovalProcess and DuplicateRule aren't queryable via Tooling API SOQL at all (no
138
+ // matching sObject) — list them via the Metadata API instead. Both use the same
139
+ // "Object.Name" fullName convention as ValidationRule/WorkflowRule, so a prefix filter
140
+ // recovers the object scope. listMetadata's FileProperties conveniently includes a real id.
141
+ async function fetchViaMetadataList(conn, metadataType, objectApiName) {
142
+ try {
143
+ const result = await conn.metadata.list([{ type: metadataType }]);
144
+ const items = Array.isArray(result) ? result : result ? [result] : [];
145
+ const prefix = `${objectApiName}.`;
146
+ return items
147
+ .filter((item) => typeof item.fullName === 'string' && item.fullName.startsWith(prefix))
148
+ .map((item) => ({
149
+ id: item.id,
150
+ apiName: item.fullName,
151
+ type: metadataType,
152
+ description: null,
153
+ }));
154
+ }
155
+ catch (err) {
156
+ console.error(`[relatedComponents] fetchViaMetadataList failed for ${metadataType} on "${objectApiName}": ${err.message}`);
157
+ return [];
158
+ }
159
+ }
160
+ export async function fetchApprovalProcessesForObject(conn, objectApiName) {
161
+ return fetchViaMetadataList(conn, 'ApprovalProcess', objectApiName);
162
+ }
163
+ export async function fetchDuplicateRulesForObject(conn, objectApiName) {
164
+ return fetchViaMetadataList(conn, 'DuplicateRule', objectApiName);
165
+ }
166
+ // Assignment Rules, Auto-Response Rules, and (Case) Escalation Rules only ever apply to
167
+ // Lead and/or Case — Salesforce doesn't support them on any other object — and individual
168
+ // rules have no Salesforce ID at all; they're child entries inside one per-object metadata
169
+ // container (e.g. AssignmentRules for "Lead" holds an assignmentRule[] with no id field).
170
+ // Synthesize a stable id from the object + rule name for display/dedup purposes.
171
+ const CONTAINER_RULE_TYPES = {
172
+ AssignmentRules: { objects: ['Lead', 'Case'], childField: 'assignmentRule' },
173
+ AutoResponseRules: { objects: ['Lead', 'Case'], childField: 'autoResponseRule' },
174
+ EscalationRules: { objects: ['Case'], childField: 'escalationRule' },
175
+ };
176
+ async function fetchContainerRulesForObject(conn, metadataType, objectApiName) {
177
+ const config = CONTAINER_RULE_TYPES[metadataType];
178
+ if (!config.objects.includes(objectApiName))
179
+ return [];
180
+ try {
181
+ const result = await conn.metadata.read(metadataType, [objectApiName]);
182
+ const container = Array.isArray(result) ? result[0] : result;
183
+ const rules = container?.[config.childField];
184
+ const list = Array.isArray(rules) ? rules : rules ? [rules] : [];
185
+ const singularType = metadataType.slice(0, -1); // 'AssignmentRules' -> 'AssignmentRule'
186
+ return list
187
+ .filter((r) => r.active !== false)
188
+ .map((r) => ({
189
+ id: `${objectApiName}.${metadataType}.${r.fullName}`,
190
+ apiName: `${objectApiName}.${r.fullName}`,
191
+ type: singularType,
192
+ description: null,
193
+ }));
194
+ }
195
+ catch (err) {
196
+ console.error(`[relatedComponents] fetchContainerRulesForObject failed for ${metadataType} on "${objectApiName}": ${err.message}`);
197
+ return [];
198
+ }
199
+ }
200
+ export async function fetchAssignmentRulesForObject(conn, objectApiName) {
201
+ return fetchContainerRulesForObject(conn, 'AssignmentRules', objectApiName);
202
+ }
203
+ export async function fetchAutoResponseRulesForObject(conn, objectApiName) {
204
+ return fetchContainerRulesForObject(conn, 'AutoResponseRules', objectApiName);
205
+ }
206
+ export async function fetchEscalationRulesForObject(conn, objectApiName) {
207
+ return fetchContainerRulesForObject(conn, 'EscalationRules', objectApiName);
208
+ }
67
209
  export async function fetchRelatedComponents(conn, componentId) {
68
210
  try {
69
211
  const [parentsResult, childrenResult] = await Promise.all([
@@ -85,13 +227,34 @@ export async function fetchRelatedComponents(conn, componentId) {
85
227
  children.push({ id: r.MetadataComponentId, apiName: r.MetadataComponentName, type: r.MetadataComponentType, description: null });
86
228
  }
87
229
  }
88
- return { parents, children };
230
+ return {
231
+ parents: await filterInactiveFlowVersions(conn, parents),
232
+ children: await filterInactiveFlowVersions(conn, children),
233
+ };
89
234
  }
90
235
  catch (err) {
91
236
  console.error(`[relatedComponents] fetchRelatedComponents failed for ${componentId}: ${err.message}`);
92
237
  return { parents: [], children: [] };
93
238
  }
94
239
  }
240
+ // Each save of a Flow creates a new versioned Flow component with its own Id, so
241
+ // MetadataComponentDependency accumulates one entry per version. Collapse those
242
+ // down to only the Active version so obsolete/draft versions don't show as duplicates.
243
+ async function filterInactiveFlowVersions(conn, components) {
244
+ const flowIds = components.filter((c) => c.type === 'Flow').map((c) => c.id);
245
+ if (flowIds.length === 0)
246
+ return components;
247
+ try {
248
+ const ids = flowIds.map((id) => `'${id}'`).join(',');
249
+ const result = await conn.tooling.query(`SELECT Id, Status FROM Flow WHERE Id IN (${ids})`);
250
+ const activeIds = new Set((result.records || []).filter((r) => r.Status === 'Active').map((r) => r.Id));
251
+ return components.filter((c) => c.type !== 'Flow' || activeIds.has(c.id));
252
+ }
253
+ catch (err) {
254
+ console.error(`[relatedComponents] filterInactiveFlowVersions failed: ${err.message}`);
255
+ return components;
256
+ }
257
+ }
95
258
  export async function fetchDescriptions(conn, components) {
96
259
  if (components.length === 0)
97
260
  return components;
@@ -137,6 +300,66 @@ export function formatRelatedComponentsSection(parents, children) {
137
300
  }
138
301
  return lines.join('\n');
139
302
  }
303
+ const TYPE_LABELS = {
304
+ ApexTrigger: 'Apex Triggers',
305
+ Flow: 'Flows',
306
+ ValidationRule: 'Validation Rules',
307
+ ApexClass: 'Apex Classes',
308
+ EmailTemplate: 'Email Templates',
309
+ WorkflowRule: 'Workflow Rules',
310
+ LightningComponentBundle: 'Lightning Web Components',
311
+ AuraDefinitionBundle: 'Aura Components',
312
+ PermissionSet: 'Permission Sets',
313
+ Profile: 'Profiles',
314
+ Layout: 'Page Layouts',
315
+ RecordType: 'Record Types',
316
+ CustomField: 'Custom Fields',
317
+ CustomObject: 'Custom Objects',
318
+ ApprovalProcess: 'Approval Processes',
319
+ CustomTab: 'Custom Tabs',
320
+ QuickAction: 'Quick Actions',
321
+ };
322
+ // Types shown first, in this order, when present — everything else follows alphabetically.
323
+ const PRIORITY_TYPES = ['ApexTrigger', 'Flow', 'ValidationRule'];
324
+ function humanizeComponentType(type) {
325
+ if (TYPE_LABELS[type])
326
+ return TYPE_LABELS[type];
327
+ const spaced = type.replace(/([a-z0-9])([A-Z])/g, '$1 $2');
328
+ return spaced.endsWith('s') ? spaced : `${spaced}s`;
329
+ }
330
+ // Renders every dependent type that references a component (e.g. everything that
331
+ // references an SObject), grouped dynamically by MetadataComponentType rather than
332
+ // a fixed set of types, so no dependent type is ever silently dropped.
333
+ export function formatObjectDependentsSection(components) {
334
+ if (components.length === 0)
335
+ return '';
336
+ const byType = new Map();
337
+ for (const c of components) {
338
+ if (!byType.has(c.type))
339
+ byType.set(c.type, []);
340
+ byType.get(c.type).push(c);
341
+ }
342
+ const types = Array.from(byType.keys()).sort((a, b) => {
343
+ const aPriority = PRIORITY_TYPES.indexOf(a);
344
+ const bPriority = PRIORITY_TYPES.indexOf(b);
345
+ if (aPriority !== -1 || bPriority !== -1) {
346
+ if (aPriority === -1)
347
+ return 1;
348
+ if (bPriority === -1)
349
+ return -1;
350
+ return aPriority - bPriority;
351
+ }
352
+ return humanizeComponentType(a).localeCompare(humanizeComponentType(b));
353
+ });
354
+ const lines = ['', '## Related Components (what references this object)'];
355
+ for (const type of types) {
356
+ lines.push('', `### ${humanizeComponentType(type)}`, '');
357
+ for (const c of byType.get(type)) {
358
+ lines.push(`- **${c.apiName}** [${c.id}]${c.description ? ` — ${c.description}` : ''}`);
359
+ }
360
+ }
361
+ return lines.join('\n');
362
+ }
140
363
  function esc(s) {
141
364
  return s.replace(/'/g, "\\'");
142
365
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relatedComponents.js","sourceRoot":"","sources":["../../src/utils/relatedComponents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relatedComponents.js","sourceRoot":"","sources":["../../src/utils/relatedComponents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acquis-consulting/asm",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "asm",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",