@acquis-consulting/asm 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +31 -0
  2. package/dist/index.js +10 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/tools/docsFetch.d.ts +25 -0
  5. package/dist/tools/docsFetch.js +51 -0
  6. package/dist/tools/docsFetch.js.map +1 -0
  7. package/dist/tools/docsListCollections.d.ts +44 -0
  8. package/dist/tools/docsListCollections.js +63 -0
  9. package/dist/tools/docsListCollections.js.map +1 -0
  10. package/dist/tools/docsSearch.d.ts +42 -0
  11. package/dist/tools/docsSearch.js +87 -0
  12. package/dist/tools/docsSearch.js.map +1 -0
  13. package/dist/tools/executeAnonymous.js +76 -7
  14. package/dist/tools/executeAnonymous.js.map +1 -1
  15. package/dist/tools/objectSchema.d.ts +7 -0
  16. package/dist/tools/objectSchema.js +40 -3
  17. package/dist/tools/objectSchema.js.map +1 -1
  18. package/dist/tools/trailheadFetch.d.ts +28 -0
  19. package/dist/tools/trailheadFetch.js +66 -0
  20. package/dist/tools/trailheadFetch.js.map +1 -0
  21. package/dist/tools/trailheadSearch.d.ts +94 -0
  22. package/dist/tools/trailheadSearch.js +112 -0
  23. package/dist/tools/trailheadSearch.js.map +1 -0
  24. package/dist/utils/index.d.ts +1 -1
  25. package/dist/utils/index.js +1 -1
  26. package/dist/utils/index.js.map +1 -1
  27. package/dist/utils/relatedComponents.d.ts +9 -0
  28. package/dist/utils/relatedComponents.js +227 -4
  29. package/dist/utils/relatedComponents.js.map +1 -1
  30. package/dist/utils/salesforceDocsClient.d.ts +2 -0
  31. package/dist/utils/salesforceDocsClient.js +43 -0
  32. package/dist/utils/salesforceDocsClient.js.map +1 -0
  33. package/dist/utils/trailheadClient.d.ts +7 -0
  34. package/dist/utils/trailheadClient.js +35 -0
  35. package/dist/utils/trailheadClient.js.map +1 -0
  36. package/package.json +1 -1
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export declare function callDocsMcpTool(name: string, args: Record<string, any>): Promise<any>;
2
+ export declare function readDocsMcpResource(uri: string): Promise<any>;
@@ -0,0 +1,43 @@
1
+ // Official Salesforce Labs "Salesforce Docs MCP" server — see https://labs.agentforce.com/docs/salesforce-docs-mcp
2
+ const DOCS_MCP_ENDPOINT = 'https://salesforce-docs-76258744c9d7.herokuapp.com/api/mcp';
3
+ async function callJsonRpc(method, params) {
4
+ const response = await fetch(DOCS_MCP_ENDPOINT, {
5
+ method: 'POST',
6
+ headers: {
7
+ 'Content-Type': 'application/json',
8
+ Accept: 'application/json, text/event-stream',
9
+ },
10
+ body: JSON.stringify({ jsonrpc: '2.0', method, params, id: 1 }),
11
+ });
12
+ const text = await response.text();
13
+ let json;
14
+ try {
15
+ json = JSON.parse(text);
16
+ }
17
+ catch {
18
+ throw new Error(`Salesforce Docs MCP returned a non-JSON response (HTTP ${response.status}): ${text.slice(0, 500)}`);
19
+ }
20
+ if (!response.ok && !json.error) {
21
+ throw new Error(`Salesforce Docs MCP request failed (HTTP ${response.status})`);
22
+ }
23
+ return json;
24
+ }
25
+ export async function callDocsMcpTool(name, args) {
26
+ const json = await callJsonRpc('tools/call', { name, arguments: args });
27
+ if (json.error) {
28
+ throw new Error(`Salesforce Docs MCP error: ${json.error.message}`);
29
+ }
30
+ return json.result?.structuredContent ?? {};
31
+ }
32
+ export async function readDocsMcpResource(uri) {
33
+ const json = await callJsonRpc('resources/read', { uri });
34
+ if (json.error) {
35
+ throw new Error(`Salesforce Docs MCP error: ${json.error.message}`);
36
+ }
37
+ const text = json.result?.contents?.[0]?.text;
38
+ if (!text) {
39
+ throw new Error('Salesforce Docs MCP returned no content for resource ' + uri);
40
+ }
41
+ return JSON.parse(text);
42
+ }
43
+ //# sourceMappingURL=salesforceDocsClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salesforceDocsClient.js","sourceRoot":"","sources":["../../src/utils/salesforceDocsClient.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,MAAM,iBAAiB,GAAG,4DAA4D,CAAC;AAUvF,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,MAA2B;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,qCAAqC;SAC9C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0DAA0D,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,IAAyB;IAC3E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW;IACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function callTrailheadMcpTool(name: string, args: Record<string, any>): Promise<{
2
+ structuredContent: any;
3
+ content: Array<{
4
+ type?: string;
5
+ text?: string;
6
+ }>;
7
+ }>;
@@ -0,0 +1,35 @@
1
+ // Public Salesforce Trailhead MCP server — see https://mcp.trailhead.salesforce.com/mcp
2
+ const TRAILHEAD_MCP_ENDPOINT = 'https://mcp.trailhead.salesforce.com/mcp';
3
+ async function callJsonRpc(method, params) {
4
+ const response = await fetch(TRAILHEAD_MCP_ENDPOINT, {
5
+ method: 'POST',
6
+ headers: {
7
+ 'Content-Type': 'application/json',
8
+ Accept: 'application/json, text/event-stream',
9
+ },
10
+ body: JSON.stringify({ jsonrpc: '2.0', method, params, id: 1 }),
11
+ });
12
+ const text = await response.text();
13
+ let json;
14
+ try {
15
+ json = JSON.parse(text);
16
+ }
17
+ catch {
18
+ throw new Error(`Trailhead MCP returned a non-JSON response (HTTP ${response.status}): ${text.slice(0, 500)}`);
19
+ }
20
+ if (!response.ok && !json.error) {
21
+ throw new Error(`Trailhead MCP request failed (HTTP ${response.status})`);
22
+ }
23
+ return json;
24
+ }
25
+ export async function callTrailheadMcpTool(name, args) {
26
+ const json = await callJsonRpc('tools/call', { name, arguments: args });
27
+ if (json.error) {
28
+ throw new Error(`Trailhead MCP error: ${json.error.message}`);
29
+ }
30
+ return {
31
+ structuredContent: json.result?.structuredContent,
32
+ content: json.result?.content ?? [],
33
+ };
34
+ }
35
+ //# sourceMappingURL=trailheadClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailheadClient.js","sourceRoot":"","sources":["../../src/utils/trailheadClient.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AAU1E,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,MAA2B;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sBAAsB,EAAE;QACnD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,qCAAqC;SAC9C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,IAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB;QACjD,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC"}
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.14",
4
4
  "description": "asm",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",