mcp-server-sfmc 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,15 +23,27 @@ export interface ConversionResult {
23
23
  }
24
24
  /**
25
25
  * Maps a Platform.Function.X name (lowercase) to the equivalent AMPscript
26
- * canonical function name. Only functions with a direct 1:1 equivalent are
27
- * included.
26
+ * canonical function name. Built at module load time from ssjs-data's
27
+ * ampscriptEquivalent field — always in sync with the installed ssjs-data version.
28
+ * Only functions with a direct 1:1 equivalent are included.
28
29
  */
29
30
  export declare const PLATFORM_FUNCTION_TO_AMP: Readonly<Record<string, string>>;
30
31
  /**
31
32
  * Maps an AMPscript function name (lowercase) to its SSJS Platform.Function
32
- * equivalent name (the part after "Platform.Function.").
33
+ * equivalent name (the part after "Platform.Function."). Inverted from
34
+ * PLATFORM_FUNCTION_TO_AMP at module load time.
33
35
  */
34
36
  export declare const AMP_TO_PLATFORM_FUNCTION: Readonly<Record<string, string>>;
37
+ /**
38
+ * Maps an AMPscript function name (lowercase) to a native JavaScript rewrite
39
+ * hint comment. Checked BEFORE the TreatAsContent polyfill fallback in
40
+ * AMPscript → SSJS conversion. All hints are ES3-safe (no ES5+ methods).
41
+ *
42
+ * NOTE: Trim is deliberately absent — it maps to Platform.Function.Trim via
43
+ * the dynamic map above. String.prototype.trim() is ES5 and unavailable in
44
+ * SFMC SSJS.
45
+ */
46
+ export declare const AMP_NATIVE_JS_HINTS: Readonly<Record<string, string>>;
35
47
  /**
36
48
  * Ordered list of [RegExp, replacement] pairs to convert .NET format specifiers
37
49
  * in FormatDate() calls to Java SimpleDateFormat equivalents.
@@ -1 +1 @@
1
- {"version":3,"file":"conversion-rules.d.ts","sourceRoot":"","sources":["../src/conversion-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,eAAe,EAAE,cAAc,EAAE,CAAC;CACrC;AAMD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiDrE,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CrE,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAezD,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CASxD,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmC3F,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA6J9D;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAqG9D;AA+LD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAMD,MAAM,WAAW,iBAAiB;IAC9B,kEAAkE;IAClE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,0DAA0D;IAC1D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAiL3F;AAMD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQjE"}
1
+ {"version":3,"file":"conversion-rules.d.ts","sourceRoot":"","sources":["../src/conversion-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,eAAe,EAAE,cAAc,EAAE,CAAC;CACrC;AAQD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKrE,CAAC;AAiBF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBhE,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAezD,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CASxD,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmC3F,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA8K9D;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA+J9D;AAwPD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAMD,MAAM,WAAW,iBAAiB;IAC9B,kEAAkE;IAClE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,0DAA0D;IAC1D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAiL3F;AAMD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQjE"}
@@ -8,112 +8,69 @@
8
8
  * - convertAmpscriptToSsjs tool
9
9
  */
10
10
  // ---------------------------------------------------------------------------
11
- // Platform.Function.X AMPscript function name (lowercase key)
11
+ // Dynamic Platform.Function AMPscript maps (built from ssjs-data at load time)
12
12
  // ---------------------------------------------------------------------------
13
+ import { PLATFORM_FUNCTIONS } from 'ssjs-data';
13
14
  /**
14
15
  * Maps a Platform.Function.X name (lowercase) to the equivalent AMPscript
15
- * canonical function name. Only functions with a direct 1:1 equivalent are
16
- * included.
16
+ * canonical function name. Built at module load time from ssjs-data's
17
+ * ampscriptEquivalent field — always in sync with the installed ssjs-data version.
18
+ * Only functions with a direct 1:1 equivalent are included.
17
19
  */
18
- export const PLATFORM_FUNCTION_TO_AMP = {
19
- lookup: 'Lookup',
20
- lookuprows: 'LookupRows',
21
- lookuporderedrows: 'LookupOrderedRows',
22
- lookuporderedrowscs: 'LookupOrderedRowsCS',
23
- insertde: 'InsertDE',
24
- updatede: 'UpdateDE',
25
- upsertde: 'UpsertDE',
26
- deletede: 'DeleteDE',
27
- rowcount: 'RowCount',
28
- contentblockbyid: 'ContentBlockById',
29
- contentblockbyname: 'ContentBlockByName',
30
- contentblockbykey: 'ContentBlockByKey',
31
- now: 'Now',
32
- dateadd: 'DateAdd',
33
- datediff: 'DateDiff',
34
- dateparse: 'DateParse',
35
- formatdate: 'FormatDate',
36
- stringtodate: 'StringToDate',
37
- concat: 'Concat',
38
- substring: 'Substring',
39
- trim: 'Trim',
40
- lowercase: 'Lowercase',
41
- uppercase: 'Uppercase',
42
- propercase: 'ProperCase',
43
- replace: 'Replace',
44
- replacelist: 'ReplaceList',
45
- indexof: 'IndexOf',
46
- length: 'Length',
47
- add: 'Add',
48
- subtract: 'Subtract',
49
- multiply: 'Multiply',
50
- divide: 'Divide',
51
- mod: 'Mod',
52
- iif: 'Iif',
53
- empty: 'Empty',
54
- isnull: 'IsNull',
55
- format: 'Format',
56
- formatcurrency: 'FormatCurrency',
57
- formatnumber: 'FormatNumber',
58
- random: 'Random',
59
- guid: 'GUID',
60
- v: 'v',
61
- output: 'Output',
62
- outputline: 'OutputLine',
63
- raiseerror: 'RaiseError',
64
- httpget: 'HTTPGet',
65
- httppost: 'HTTPPost',
66
- httpgetwithcacheability: 'HTTPGetWithCacheability',
67
- };
20
+ export const PLATFORM_FUNCTION_TO_AMP = Object.fromEntries(PLATFORM_FUNCTIONS.filter((f) => f.ampscriptEquivalent != null).map((f) => [
21
+ f.name.toLowerCase(),
22
+ f.ampscriptEquivalent,
23
+ ]));
24
+ /**
25
+ * Maps an AMPscript function name (lowercase) to its SSJS Platform.Function
26
+ * equivalent name (the part after "Platform.Function."). Inverted from
27
+ * PLATFORM_FUNCTION_TO_AMP at module load time.
28
+ */
29
+ export const AMP_TO_PLATFORM_FUNCTION = Object.fromEntries(PLATFORM_FUNCTIONS.filter((f) => f.ampscriptEquivalent != null).map((f) => [
30
+ f.ampscriptEquivalent.toLowerCase(),
31
+ f.name,
32
+ ]));
33
+ /**
34
+ * Set of SSJS Platform.Function names (lowercase) that have no AMPscript
35
+ * equivalent (SSJS-only). These must be flagged MANUAL_REWRITE_REQUIRED when
36
+ * converting SSJS → AMPscript.
37
+ */
38
+ const SSJS_ONLY_FUNCTIONS = new Set(PLATFORM_FUNCTIONS.filter((f) => f.ampscriptEquivalent === null).map((f) => f.name.toLowerCase()));
68
39
  // ---------------------------------------------------------------------------
69
- // AMPscript function name Platform.Function.X SSJS name (lowercase key)
40
+ // AMP_NATIVE_JS_HINTS: AMPscript-only functions with clean native JS rewrites
70
41
  // ---------------------------------------------------------------------------
71
42
  /**
72
- * Maps an AMPscript function name (lowercase) to its SSJS Platform.Function
73
- * equivalent name (the part after "Platform.Function.").
43
+ * Maps an AMPscript function name (lowercase) to a native JavaScript rewrite
44
+ * hint comment. Checked BEFORE the TreatAsContent polyfill fallback in
45
+ * AMPscript → SSJS conversion. All hints are ES3-safe (no ES5+ methods).
46
+ *
47
+ * NOTE: Trim is deliberately absent — it maps to Platform.Function.Trim via
48
+ * the dynamic map above. String.prototype.trim() is ES5 and unavailable in
49
+ * SFMC SSJS.
74
50
  */
75
- export const AMP_TO_PLATFORM_FUNCTION = {
76
- lookup: 'Lookup',
77
- lookuprows: 'LookupRows',
78
- lookuporderedrows: 'LookupOrderedRows',
79
- lookuporderedrowscs: 'LookupOrderedRowsCS',
80
- insertde: 'InsertDE',
81
- updatede: 'UpdateDE',
82
- upsertde: 'UpsertDE',
83
- deletede: 'DeleteDE',
84
- rowcount: 'RowCount',
85
- contentblockbyid: 'ContentBlockById',
86
- contentblockbyname: 'ContentBlockByName',
87
- contentblockbykey: 'ContentBlockByKey',
88
- now: 'Now',
89
- dateadd: 'DateAdd',
90
- datediff: 'DateDiff',
91
- dateparse: 'DateParse',
92
- formatdate: 'FormatDate',
93
- stringtodate: 'StringToDate',
94
- concat: 'Concat',
95
- substring: 'Substring',
96
- trim: 'Trim',
97
- lowercase: 'Lowercase',
98
- uppercase: 'Uppercase',
99
- propercase: 'ProperCase',
100
- replace: 'Replace',
101
- replacelist: 'ReplaceList',
102
- indexof: 'IndexOf',
103
- length: 'Length',
104
- add: 'Add',
105
- subtract: 'Subtract',
106
- multiply: 'Multiply',
107
- divide: 'Divide',
108
- mod: 'Mod',
109
- iif: 'Iif',
110
- empty: 'Empty',
111
- isnull: 'IsNull',
112
- format: 'Format',
113
- formatcurrency: 'FormatCurrency',
114
- formatnumber: 'FormatNumber',
115
- random: 'Random',
116
- guid: 'GUID',
51
+ export const AMP_NATIVE_JS_HINTS = {
52
+ // String operations
53
+ concat: '/* use string concatenation: a + b */',
54
+ substring: '.substring(start, start + length)',
55
+ lowercase: '.toLowerCase()',
56
+ uppercase: '.toUpperCase()',
57
+ indexof: '.indexOf(searchStr)',
58
+ length: '.length',
59
+ replace: '.replace(search, replacement)',
60
+ // Math
61
+ add: '/* use: a + b */',
62
+ subtract: '/* use: a - b */',
63
+ multiply: '/* use: a * b */',
64
+ divide: '/* use: a / b */',
65
+ mod: '/* use: a % b */',
66
+ random: 'Math.floor(Math.random() * n)',
67
+ // Utility
68
+ iif: '/* use ternary: condition ? trueValue : falseValue */',
69
+ empty: '/* use: !value */',
70
+ isnull: '/* use: value === null */',
71
+ // Output (also handled explicitly in ssjsToAmpscript)
72
+ output: 'Platform.Response.Write(expr)',
73
+ outputline: 'Platform.Response.Write(expr)',
117
74
  };
118
75
  // ---------------------------------------------------------------------------
119
76
  // .NET → Java SimpleDateFormat format string replacements
@@ -287,7 +244,24 @@ export function ssjsToAmpscript(code) {
287
244
  });
288
245
  // Platform.Function.X(args) → X(args) using known function map
289
246
  line = line.replaceAll(/Platform\.Function\.(\w+)\s*\(/gi, (_, fnName) => {
290
- const ampName = PLATFORM_FUNCTION_TO_AMP[fnName.toLowerCase()] ?? fnName;
247
+ const key = fnName.toLowerCase();
248
+ if (SSJS_ONLY_FUNCTIONS.has(key)) {
249
+ flaggedSections.push({
250
+ line: lineNum,
251
+ code: `Platform.Function.${fnName}(...)`,
252
+ reason: `Platform.Function.${fnName} has no AMPscript equivalent`,
253
+ });
254
+ return `/* MANUAL_REWRITE_REQUIRED: Platform.Function.${fnName} has no AMPscript equivalent */ ${fnName}(`;
255
+ }
256
+ const ampName = PLATFORM_FUNCTION_TO_AMP[key];
257
+ if (!ampName) {
258
+ flaggedSections.push({
259
+ line: lineNum,
260
+ code: `Platform.Function.${fnName}(...)`,
261
+ reason: `Platform.Function.${fnName} not found in ssjs-data catalog`,
262
+ });
263
+ return `/* MANUAL_REWRITE_REQUIRED: unknown Platform.Function.${fnName} */ ${fnName}(`;
264
+ }
291
265
  changes.push({
292
266
  line: lineNum,
293
267
  description: `Platform.Function.${fnName} → ${ampName}`,
@@ -386,6 +360,7 @@ export function ampscriptToSsjs(code) {
386
360
  const changes = [];
387
361
  const flaggedSections = [];
388
362
  const outputLines = ['<script runat="server">', 'Platform.Load("Core", "1.1.5");'];
363
+ const polyfillUsed = { value: false };
389
364
  // Normalize: combine multi-line %%[ ... ]%% blocks into single pseudo-lines
390
365
  // then process line by line
391
366
  const normalized = normalizeAmpscriptBlocks(code);
@@ -414,7 +389,8 @@ export function ampscriptToSsjs(code) {
414
389
  if (inlineFnMatch) {
415
390
  const fnName = inlineFnMatch[1];
416
391
  const args = inlineFnMatch[2]?.trim() ?? '';
417
- const ssName = AMP_TO_PLATFORM_FUNCTION[fnName.toLowerCase()];
392
+ const key = fnName.toLowerCase();
393
+ const ssName = AMP_TO_PLATFORM_FUNCTION[key];
418
394
  const argsConverted = stripAmpVars(args);
419
395
  if (ssName) {
420
396
  changes.push({
@@ -423,15 +399,31 @@ export function ampscriptToSsjs(code) {
423
399
  });
424
400
  outputLines.push(`Platform.Response.Write(Platform.Function.${ssName}(${argsConverted}));`);
425
401
  }
426
- else {
427
- // Unknown function — pass through as comment for AI
402
+ else if (AMP_NATIVE_JS_HINTS[key]) {
403
+ changes.push({
404
+ line: lineNum,
405
+ description: `%%=${fnName}(...)=%% → native JS hint`,
406
+ });
407
+ outputLines.push(`Platform.Response.Write(${AMP_NATIVE_JS_HINTS[key]} /* AMPscript: ${fnName}(${args}) */);`);
408
+ }
409
+ else if (CLOUDPAGES_ONLY_FUNCTIONS.has(key)) {
410
+ // CloudPages-only function
428
411
  outputLines.push(`/* MANUAL_REWRITE_REQUIRED: %%=${fnName}(${args})=%% */`);
429
412
  flaggedSections.push({
430
413
  line: lineNum,
431
414
  code: trimmed,
432
- reason: `Unknown AMPscript function '${fnName}' — no SSJS equivalent in catalog`,
415
+ reason: `AMPscript function '${fnName}' is CloudPages-only — no SSJS equivalent`,
433
416
  });
434
417
  }
418
+ else {
419
+ // AMP-only function with no native hint → polyfill
420
+ polyfillUsed.value = true;
421
+ changes.push({
422
+ line: lineNum,
423
+ description: `%%=${fnName}(...)=%% → _ampScript polyfill`,
424
+ });
425
+ outputLines.push(`Platform.Response.Write(_ampScript('${trimmed.replaceAll("'", String.raw `\'`)}'));`);
426
+ }
435
427
  continue;
436
428
  }
437
429
  // %%[ block content ]%%
@@ -440,7 +432,7 @@ export function ampscriptToSsjs(code) {
440
432
  const blockContent = blockMatch[1].trim();
441
433
  const stmts = blockContent.split(/\n+/);
442
434
  for (const stmt of stmts) {
443
- const converted = convertAmpStatement(stmt.trim(), lineNum, changes, flaggedSections);
435
+ const converted = convertAmpStatement(stmt.trim(), lineNum, changes, flaggedSections, polyfillUsed);
444
436
  if (converted !== null) {
445
437
  outputLines.push(converted);
446
438
  }
@@ -449,7 +441,15 @@ export function ampscriptToSsjs(code) {
449
441
  }
450
442
  // Bare AMPscript statement (already stripped of delimiters from normalizeAmpscriptBlocks)
451
443
  if (/^(SET|VAR|IF|ELSEIF|ELSE|ENDIF|FOR|NEXT|OUTPUT|OUTPUTLINE)\b/i.test(trimmed)) {
452
- const converted = convertAmpStatement(trimmed, lineNum, changes, flaggedSections);
444
+ const converted = convertAmpStatement(trimmed, lineNum, changes, flaggedSections, polyfillUsed);
445
+ if (converted !== null) {
446
+ outputLines.push(converted);
447
+ }
448
+ continue;
449
+ }
450
+ // Bare function call or other AMPscript statement inside a normalized block
451
+ if (/^\w+\s*\(/.test(trimmed)) {
452
+ const converted = convertAmpStatement(trimmed, lineNum, changes, flaggedSections, polyfillUsed);
453
453
  if (converted !== null) {
454
454
  outputLines.push(converted);
455
455
  }
@@ -460,6 +460,11 @@ export function ampscriptToSsjs(code) {
460
460
  outputLines.push(`/* HTML content: ${trimmed.slice(0, 80)} */`);
461
461
  }
462
462
  }
463
+ // If any polyfill calls were emitted, insert the _ampScript helper after Platform.Load
464
+ if (polyfillUsed.value) {
465
+ // splice in right after the Platform.Load line (index 1)
466
+ outputLines.splice(2, 0, '', '// Polyfill: executes AMPscript and returns result via @_amp_response', 'function _ampScript(code) {', " Platform.Function.TreatAsContent('%%[ SET @_amp_response = ' + code + ' ]%%');", " return Platform.Variable.GetValue('@_amp_response');", '}');
467
+ }
463
468
  outputLines.push('</script>');
464
469
  return {
465
470
  convertedCode: outputLines.join('\n'),
@@ -489,9 +494,11 @@ function normalizeAmpscriptBlocks(code) {
489
494
  * @param lineNum - Source line number for change tracking.
490
495
  * @param changes - Mutable changes array.
491
496
  * @param flaggedSections - Mutable flagged sections array.
497
+ * @param polyfillUsed - Mutable flag set to true when _ampScript polyfill is emitted.
498
+ * @param polyfillUsed.value
492
499
  * @returns {string | null} SSJS statement string, or null to skip.
493
500
  */
494
- function convertAmpStatement(stmt, lineNum, changes, flaggedSections) {
501
+ function convertAmpStatement(stmt, lineNum, changes, flaggedSections, polyfillUsed) {
495
502
  if (!stmt)
496
503
  return null;
497
504
  const upper = stmt.toUpperCase();
@@ -499,7 +506,24 @@ function convertAmpStatement(stmt, lineNum, changes, flaggedSections) {
499
506
  const setMatch = /^SET\s+@(\w+)\s*=\s*(.+)$/i.exec(stmt);
500
507
  if (setMatch) {
501
508
  const [, varName, expr] = setMatch;
502
- const ssExpr = convertAmpExpr(expr.trim());
509
+ const exprTrimmed = expr.trim();
510
+ // Check if the expression is a single AMP-only function call with no Platform.Function equivalent
511
+ // and no native JS hint — if so, emit _ampScript polyfill rather than a broken expression.
512
+ const singleFnMatch = /^(\w+)\s*\(/.exec(exprTrimmed);
513
+ if (singleFnMatch) {
514
+ const key = singleFnMatch[1].toLowerCase();
515
+ const hasSsjsEquiv = AMP_TO_PLATFORM_FUNCTION[key] !== undefined;
516
+ const hasNativeHint = AMP_NATIVE_JS_HINTS[key] !== undefined;
517
+ if (!hasSsjsEquiv && !hasNativeHint && !CLOUDPAGES_ONLY_FUNCTIONS.has(key)) {
518
+ polyfillUsed.value = true;
519
+ changes.push({
520
+ line: lineNum,
521
+ description: `SET @${varName} = ${singleFnMatch[1]}(...) → _ampScript polyfill`,
522
+ });
523
+ return `var ${varName} = _ampScript('${exprTrimmed.replaceAll("'", String.raw `\'`)}');`;
524
+ }
525
+ }
526
+ const ssExpr = convertAmpExpr(exprTrimmed);
503
527
  changes.push({
504
528
  line: lineNum,
505
529
  description: `SET @${varName} = ... → var ${varName} = ...`,
@@ -568,7 +592,8 @@ function convertAmpStatement(stmt, lineNum, changes, flaggedSections) {
568
592
  const fnCallMatch = /^(\w+)\s*\((.*)?\)$/i.exec(stmt);
569
593
  if (fnCallMatch) {
570
594
  const [, fnName, args] = fnCallMatch;
571
- const ssName = AMP_TO_PLATFORM_FUNCTION[fnName.toLowerCase()];
595
+ const key = fnName.toLowerCase();
596
+ const ssName = AMP_TO_PLATFORM_FUNCTION[key];
572
597
  if (ssName) {
573
598
  const argsConverted = args ? convertAmpExpr(args.trim()) : '';
574
599
  changes.push({
@@ -577,8 +602,33 @@ function convertAmpStatement(stmt, lineNum, changes, flaggedSections) {
577
602
  });
578
603
  return `Platform.Function.${ssName}(${argsConverted});`;
579
604
  }
605
+ // CloudPages-only functions have no SSJS/MCN equivalent
606
+ if (CLOUDPAGES_ONLY_FUNCTIONS.has(key)) {
607
+ flaggedSections.push({
608
+ line: lineNum,
609
+ code: stmt,
610
+ reason: 'CloudPages-specific function — not available in SSJS/MCN context',
611
+ });
612
+ return `/* MANUAL_REWRITE_REQUIRED: ${stmt} */`;
613
+ }
614
+ // Check native JS hints for AMP-only functions
615
+ const hint = AMP_NATIVE_JS_HINTS[key];
616
+ if (hint) {
617
+ changes.push({
618
+ line: lineNum,
619
+ description: `${fnName}(…) → native JS equivalent`,
620
+ });
621
+ return `${hint} /* AMPscript: ${stmt} */`;
622
+ }
623
+ // AMP-only function with no native hint → TreatAsContent polyfill
624
+ polyfillUsed.value = true;
625
+ changes.push({
626
+ line: lineNum,
627
+ description: `${fnName}(…) → _ampScript polyfill (no direct SSJS equivalent)`,
628
+ });
629
+ return `_ampScript('${stmt.replaceAll("'", String.raw `\'`)}');`;
580
630
  }
581
- // Check for AMPscript-only constructs that can't be converted
631
+ // Check for AMPscript-only constructs that can't be converted (catch-all for non-standard usage)
582
632
  if (/\bCLOUDPAGESURL\b|\bREQUESTPARAMETER\b|\bQUERYPARAMETER\b|\bREDIRECT\b/i.test(stmt)) {
583
633
  flaggedSections.push({
584
634
  line: lineNum,
@@ -606,10 +656,20 @@ function convertAmpStatement(stmt, lineNum, changes, flaggedSections) {
606
656
  * @returns {string} SSJS expression string.
607
657
  */
608
658
  function convertAmpExpr(expr) {
609
- // Replace known AMPscript function calls with Platform.Function.X equivalents
659
+ // Replace known AMPscript function calls with Platform.Function.X equivalents;
660
+ // emit a hint comment for native-hint functions; leave others with a MANUAL_REWRITE comment.
661
+ // Note: AMP-only functions used in a SET assignment are handled at the statement level
662
+ // (convertAmpStatement SET handler) which emits _ampScript(...) for the whole expression.
610
663
  let result = expr.replaceAll(/\b(\w+)\s*\(/g, (match, fnName) => {
611
- const ssName = AMP_TO_PLATFORM_FUNCTION[fnName.toLowerCase()];
612
- return ssName ? `Platform.Function.${ssName}(` : match;
664
+ const key = fnName.toLowerCase();
665
+ const ssName = AMP_TO_PLATFORM_FUNCTION[key];
666
+ if (ssName)
667
+ return `Platform.Function.${ssName}(`;
668
+ const hint = AMP_NATIVE_JS_HINTS[key];
669
+ if (hint)
670
+ return `${hint} /* ${fnName}( */`;
671
+ // Unknown function in expression context — annotate
672
+ return `/* MANUAL_REWRITE_REQUIRED: no SSJS equivalent for ${fnName} */ ${fnName}(`;
613
673
  });
614
674
  // Strip @ from variable references
615
675
  result = stripAmpVars(result);
@@ -1 +1 @@
1
- {"version":3,"file":"conversion-rules.js","sourceRoot":"","sources":["../src/conversion-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversion-rules.js","sourceRoot":"","sources":["../src/conversion-rules.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -94,7 +94,8 @@ function formatDiagnostics(diagnostics) {
94
94
  .map((d) => {
95
95
  const sev = d.severity === 1 ? 'ERROR' : d.severity === 2 ? 'WARNING' : 'INFO';
96
96
  const loc = `line ${d.range.start.line + 1}, col ${d.range.start.character + 1}`;
97
- return `[${sev}] ${loc}: ${d.message}`;
97
+ const message = typeof d.message === 'string' ? d.message : d.message.value;
98
+ return `[${sev}] ${loc}: ${message}`;
98
99
  })
99
100
  .join('\n');
100
101
  }
@@ -367,7 +368,8 @@ server.tool('review_change', 'Review a code diff for SFMC (AMPscript, SSJS, or H
367
368
  for (const d of diagnostics) {
368
369
  const sev = d.severity === 1 ? '🔴 ERROR' : d.severity === 2 ? '🟡 WARNING' : '🔵 INFO';
369
370
  const origLine = lineMap[d.range.start.line] ?? d.range.start.line + 1;
370
- output.push(`${sev} (diff line ${origLine}): ${d.message}`);
371
+ const message = typeof d.message === 'string' ? d.message : d.message.value;
372
+ output.push(`${sev} (diff line ${origLine}): ${message}`);
371
373
  }
372
374
  return { content: [{ type: 'text', text: output.join('\n') }] };
373
375
  });
@@ -401,9 +403,12 @@ server.tool('suggest_fix', 'Generate a corrected version of SFMC code based on v
401
403
  const suggestions = [];
402
404
  for (const d of diagnostics) {
403
405
  const lineText = lines[d.range.start.line] ?? '';
404
- suggestions.push(`Line ${d.range.start.line + 1}: ${d.message}\n` +
406
+ // Diagnostic.message widened to `string | MarkupContent` in newer LSP types; the
407
+ // SFMC language service only emits plain strings, so unwrap MarkupContent to its value.
408
+ const message = typeof d.message === 'string' ? d.message : d.message.value;
409
+ suggestions.push(`Line ${d.range.start.line + 1}: ${message}\n` +
405
410
  ` Code: ${lineText.trim()}\n` +
406
- ` Fix: ${getFixSuggestion(d.message, lineText, detectedLang)}`);
411
+ ` Fix: ${getFixSuggestion(message, lineText, detectedLang)}`);
407
412
  }
408
413
  if (suggestions.length === 0) {
409
414
  const extra = issueDescription ? ` Issue reported: "${issueDescription}"` : '';
@@ -1637,9 +1642,36 @@ server.tool('convertAmpscriptToSsjs', 'Deterministically convert AMPscript code
1637
1642
  };
1638
1643
  });
1639
1644
  // ---------------------------------------------------------------------------
1645
+ // Tool: get_server_version
1646
+ // ---------------------------------------------------------------------------
1647
+ server.tool('get_server_version', 'Return the running mcp-server-sfmc version and the size of the bundled Salesforce ' +
1648
+ 'Marketing Cloud help datasets (MCE and MCN). Use this to confirm which server build ' +
1649
+ 'and documentation bundle are loaded.', {}, () => {
1650
+ const mce = getMceHelpStats();
1651
+ const mcn = getMcnHelpStats();
1652
+ const mceFileCount = new Set(getChunks().map((c) => c.relativePath)).size;
1653
+ return {
1654
+ content: [
1655
+ {
1656
+ type: 'text',
1657
+ text: JSON.stringify({
1658
+ name: 'mcp-server-sfmc',
1659
+ version: pkg.version,
1660
+ mceHelp: { chunkCount: mce.chunkCount, fileCount: mceFileCount },
1661
+ mcnHelp: { chunkCount: mcn.chunkCount, fileCount: mcn.fileCount },
1662
+ }, null, 2),
1663
+ },
1664
+ ],
1665
+ };
1666
+ });
1667
+ // ---------------------------------------------------------------------------
1640
1668
  // Start
1641
1669
  // ---------------------------------------------------------------------------
1642
1670
  async function main() {
1671
+ if (process.argv.includes('--version') || process.argv.includes('-v')) {
1672
+ process.stdout.write(pkg.version + '\n');
1673
+ return;
1674
+ }
1643
1675
  const transport = new StdioServerTransport();
1644
1676
  await server.connect(transport);
1645
1677
  process.stderr.write('mcp-server-sfmc running on stdio\n');
package/dist/index.js.map CHANGED
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-server-sfmc",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "mcpName": "io.github.JoernBerkefeld/mcp-server-sfmc",
5
5
  "description": "SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.",
6
6
  "author": "Jörn Berkefeld",
@@ -61,7 +61,8 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@modelcontextprotocol/sdk": "^1.29.0",
64
- "sfmc-language-lsp": "^1.0.3"
64
+ "sfmc-language-lsp": "^1.1.0",
65
+ "ssjs-data": "^0.5.0"
65
66
  },
66
67
  "engines": {
67
68
  "node": ">=18.0.0"