@salesforce/source-deploy-retrieve 13.7.1 → 13.8.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.
@@ -35,7 +35,9 @@ export type UiBundleConfig = {
35
35
  outputDir?: string;
36
36
  routing?: UiBundleRouting;
37
37
  headers?: UiBundleHeaderRule[];
38
- mcpResources?: UiBundleMcpResource[];
38
+ };
39
+ export type UiBundleMcpResourcesConfig = {
40
+ mcpResources: UiBundleMcpResource[];
39
41
  };
40
42
  /** Basic shape check — use after field-level validation to narrow the type. */
41
43
  export declare function isUiBundleConfig(value: unknown): value is UiBundleConfig;
@@ -43,4 +45,6 @@ export declare function isUiBundleConfig(value: unknown): value is UiBundleConfi
43
45
  export declare function validateUiBundleForDeploy(contentPath: SourcePath, tree: TreeContainer, forceIgnore: ForceIgnore): void;
44
46
  /** Validate ui-bundle.json contents. Checks structure first, then schema, then file existence. */
45
47
  export declare function validateUiBundleJson(raw: Buffer, descriptorPath: string, contentPath: SourcePath, tree: TreeContainer): void;
48
+ /** Validate mcp-resources.json contents. Resource paths resolve from the bundle root, independent of outputDir. */
49
+ export declare function validateMcpResourcesJson(raw: Buffer, descriptorPath: string, contentPath: SourcePath, tree: TreeContainer): void;
46
50
  export {};
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isUiBundleConfig = isUiBundleConfig;
4
4
  exports.validateUiBundleForDeploy = validateUiBundleForDeploy;
5
5
  exports.validateUiBundleJson = validateUiBundleJson;
6
+ exports.validateMcpResourcesJson = validateMcpResourcesJson;
6
7
  /*
7
8
  * Copyright 2026, Salesforce, Inc.
8
9
  *
@@ -23,23 +24,26 @@ const messages_1 = require("@salesforce/core/messages");
23
24
  const sfError_1 = require("@salesforce/core/sfError");
24
25
  const treeContainers_1 = require("../treeContainers");
25
26
  ;
26
- const msgs = new messages_1.Messages('@salesforce/source-deploy-retrieve', 'uiBundleValidation', new Map([["ui_bundle_empty_file", "ui-bundle.json must not be empty (%s)."], ["ui_bundle_empty_file.actions", "Add at least one property, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_size_exceeded", "ui-bundle.json exceeds the maximum allowed size of %s KB (actual: %s KB)."], ["ui_bundle_size_exceeded.actions", "Reduce the file size. The descriptor should only contain configuration, not static content."], ["ui_bundle_whitespace_only", "ui-bundle.json must not be empty or contain only whitespace (%s)."], ["ui_bundle_whitespace_only.actions", "Replace the whitespace with valid JSON, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_invalid_json", "ui-bundle.json is not valid JSON: %s"], ["ui_bundle_invalid_json.actions", "Fix the JSON syntax in ui-bundle.json. Use a JSON validator to find the exact issue."], ["ui_bundle_not_object", "ui-bundle.json must be a JSON object, but found %s."], ["ui_bundle_not_object.actions", "Wrap the content in curly braces, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_empty_object", "ui-bundle.json must contain at least one property."], ["ui_bundle_empty_object.actions", "Add a property: outputDir, routing, headers, or mcpResources."], ["ui_bundle_unknown_props", "ui-bundle.json contains unknown %s: %s. Allowed: %s."], ["ui_bundle_type_mismatch", "ui-bundle.json '%s' must be %s (received %s)."], ["ui_bundle_empty_value", "ui-bundle.json '%s' must not be empty."], ["ui_bundle_invalid_enum", "ui-bundle.json '%s' must be one of: %s (received \"%s\")."], ["ui_bundle_min_items", "ui-bundle.json '%s' must contain at least one %s."], ["ui_bundle_unknown_prop", "ui-bundle.json '%s' contains unknown property '%s'. Allowed: %s."], ["ui_bundle_non_empty_string", "ui-bundle.json '%s' must be a non-empty string."], ["ui_bundle_duplicate_value", "ui-bundle.json '%s' value \"%s\" is already used by %s."], ["ui_bundle_value_too_long", "ui-bundle.json '%s' must be at most %s characters (received %s)."], ["ui_bundle_mcp_resource_name_invalid", "ui-bundle.json '%s' value \"%s\" must start with a letter or digit, contain only letters, digits, '\\_', '.', or '-', and be at most 80 characters."], ["ui_bundle_mcp_resource_not_html", "ui-bundle.json '%s' value \"%s\" must reference an .html file."], ["ui_bundle_path_unsafe", "ui-bundle.json '%s' value \"%s\" contains %s. Config paths must use forward slashes."], ["ui_bundle_path_traversal", "ui-bundle.json '%s' value \"%s\" resolves outside the application bundle. Path traversal is not allowed."], ["ui_bundle_outputdir_is_root", "ui-bundle.json 'outputDir' value \"%s\" resolves to the bundle root. It must reference a subdirectory."], ["ui_bundle_outputdir_is_root.actions", "Set outputDir to a subdirectory like \"dist\" or \"build\"."], ["ui_bundle_dir_not_found", "ui-bundle.json 'outputDir' references \"%s\", but the directory does not exist at %s."], ["ui_bundle_dir_empty", "ui-bundle.json 'outputDir' (\"%s\") exists but contains no files. It must contain at least one deployable file."], ["ui_bundle_file_not_found", "ui-bundle.json '%s' references \"%s\", but the file does not exist at %s."]]));
27
+ const msgs = new messages_1.Messages('@salesforce/source-deploy-retrieve', 'uiBundleValidation', new Map([["ui_bundle_empty_file", "ui-bundle.json must not be empty (%s)."], ["ui_bundle_empty_file.actions", "Add at least one property, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_size_exceeded", "ui-bundle.json exceeds the maximum allowed size of %s KB (actual: %s KB)."], ["ui_bundle_size_exceeded.actions", "Reduce the file size. The descriptor should only contain configuration, not static content."], ["ui_bundle_whitespace_only", "ui-bundle.json must not be empty or contain only whitespace (%s)."], ["ui_bundle_whitespace_only.actions", "Replace the whitespace with valid JSON, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_invalid_json", "ui-bundle.json is not valid JSON: %s"], ["ui_bundle_invalid_json.actions", "Fix the JSON syntax in ui-bundle.json. Use a JSON validator to find the exact issue."], ["ui_bundle_not_object", "ui-bundle.json must be a JSON object, but found %s."], ["ui_bundle_not_object.actions", "Wrap the content in curly braces, e.g. { \"outputDir\": \"dist\" }"], ["ui_bundle_empty_object", "ui-bundle.json must contain at least one property."], ["ui_bundle_empty_object.actions", "Add a property: outputDir, routing, or headers."], ["ui_bundle_unknown_props", "ui-bundle.json contains unknown %s: %s. Allowed: %s."], ["ui_bundle_mcp_resources_moved.actions", "Move mcpResources to a mcp-resources.json file next to ui-bundle.json and prefix each path with the outputDir, e.g. { \"mcpResources\": [{ \"name\": \"hello\", \"path\": \"dist/hello.html\" }] }"], ["ui_bundle_type_mismatch", "ui-bundle.json '%s' must be %s (received %s)."], ["ui_bundle_empty_value", "ui-bundle.json '%s' must not be empty."], ["ui_bundle_invalid_enum", "ui-bundle.json '%s' must be one of: %s (received \"%s\")."], ["ui_bundle_min_items", "ui-bundle.json '%s' must contain at least one %s."], ["ui_bundle_unknown_prop", "ui-bundle.json '%s' contains unknown property '%s'. Allowed: %s."], ["ui_bundle_non_empty_string", "ui-bundle.json '%s' must be a non-empty string."], ["ui_bundle_path_unsafe", "ui-bundle.json '%s' value \"%s\" contains %s. Config paths must use forward slashes."], ["ui_bundle_path_traversal", "ui-bundle.json '%s' value \"%s\" resolves outside the application bundle. Path traversal is not allowed."], ["ui_bundle_outputdir_is_root", "ui-bundle.json 'outputDir' value \"%s\" resolves to the bundle root. It must reference a subdirectory."], ["ui_bundle_outputdir_is_root.actions", "Set outputDir to a subdirectory like \"dist\" or \"build\"."], ["ui_bundle_dir_not_found", "ui-bundle.json 'outputDir' references \"%s\", but the directory does not exist at %s."], ["ui_bundle_dir_empty", "ui-bundle.json 'outputDir' (\"%s\") exists but contains no files. It must contain at least one deployable file."], ["ui_bundle_file_not_found", "ui-bundle.json '%s' references \"%s\", but the file does not exist at %s."], ["mcp_resources_empty_file", "mcp-resources.json must not be empty or contain only whitespace (%s)."], ["mcp_resources_example.actions", "Use { \"mcpResources\": [{ \"name\": \"hello\", \"path\": \"dist/hello.html\" }] }, or delete mcp-resources.json if the bundle has no MCP resources."], ["mcp_resources_size_exceeded", "mcp-resources.json exceeds the maximum allowed size of %s KB (actual: %s KB)."], ["mcp_resources_invalid_json", "mcp-resources.json is not valid JSON: %s"], ["mcp_resources_not_object", "mcp-resources.json must be a JSON object, but found %s."], ["mcp_resources_unknown_props", "mcp-resources.json contains unknown %s: %s. Allowed: %s."], ["mcp_resources_missing", "mcp-resources.json must contain 'mcpResources'."], ["mcp_resources_type_mismatch", "mcp-resources.json '%s' must be %s (received %s)."], ["mcp_resources_min_items", "mcp-resources.json 'mcpResources' must contain at least one item."], ["mcp_resources_unknown_prop", "mcp-resources.json '%s' contains unknown property '%s'. Allowed: %s."], ["mcp_resources_non_empty_string", "mcp-resources.json '%s' must be a non-empty string."], ["mcp_resources_duplicate_value", "mcp-resources.json '%s' value \"%s\" is already used by %s."], ["mcp_resources_value_too_long", "mcp-resources.json '%s' must be at most %s characters (received %s)."], ["mcp_resources_name_invalid", "mcp-resources.json '%s' value \"%s\" must start with a letter or digit, contain only letters, digits, '\\_', '.', or '-', and be at most 80 characters."], ["mcp_resources_not_html", "mcp-resources.json '%s' value \"%s\" must reference an .html file."], ["mcp_resources_path_unsafe", "mcp-resources.json '%s' value \"%s\" contains %s. Config paths must use forward slashes."], ["mcp_resources_path_traversal", "mcp-resources.json '%s' value \"%s\" resolves outside the bundle directory. Path traversal is not allowed."], ["mcp_resources_file_not_found", "mcp-resources.json '%s' references \"%s\", but the file does not exist at %s."]]));
27
28
  /** Basic shape check — use after field-level validation to narrow the type. */
28
29
  function isUiBundleConfig(value) {
29
30
  return typeof value === 'object' && value !== null && !Array.isArray(value);
30
31
  }
31
32
  // Keep in sync with server-side validation (WebApplicationFileProcessor.java).
32
- const ALLOWED_TOP_LEVEL = new Set(['outputDir', 'routing', 'headers', 'mcpResources']);
33
+ const ALLOWED_TOP_LEVEL = new Set(['outputDir', 'routing', 'headers']);
33
34
  const ROUTING_ALLOWED = new Set(['rewrites', 'redirects', 'fallback', 'trailingSlash', 'fileBasedRouting']);
34
35
  const TRAILING_SLASH_VALUES = new Set(['always', 'never', 'auto']);
35
36
  const REDIRECT_STATUS_CODES = new Set([301, 302, 307, 308]);
36
37
  const MAX_RECURSION_DEPTH = 20;
37
38
  const MAX_UI_BUNDLE_JSON_BYTES = 102_400; // 100 KB
39
+ const UI_BUNDLE_JSON = 'ui-bundle.json';
40
+ // Sibling of ui-bundle.json; Core reads MCP resource declarations only from this file.
41
+ const MCP_RESOURCES_JSON = 'mcp-resources.json';
42
+ const MCP_RESOURCES_ALLOWED_TOP_LEVEL = new Set(['mcpResources']);
43
+ const MAX_MCP_RESOURCES_JSON_BYTES = 102_400; // 100 KB
38
44
  // MCP resource names form the URI segment in ui://ui-bundle/<namespace>/<bundle>/<name>.
39
45
  const MCP_RESOURCE_NAME = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,79}$/;
40
46
  const MAX_MCP_RESOURCE_PATH_LENGTH = 512;
41
- // Core's outputDir when ui-bundle.json omits it.
42
- const MCP_DEFAULT_OUTPUT_DIR = 'dist';
43
47
  // Matches ".." as a standalone path segment.
44
48
  const DOT_DOT_SEGMENT = /(?:^|[/\\])\.\.[/\\]|(?:^|[/\\])\.\.$/;
45
49
  /** Strip leading forward slashes so "/index.html" resolves relative to outputDir. Only strips '/', not backslashes. */
@@ -109,12 +113,14 @@ function validateUiBundleForDeploy(contentPath, tree, forceIgnore) {
109
113
  if (!(tree instanceof treeContainers_1.NodeFSTreeContainer)) {
110
114
  return;
111
115
  }
112
- const descriptorPath = (0, node_path_1.join)(contentPath, 'ui-bundle.json');
113
- if (!tree.exists(descriptorPath) || forceIgnore.denies(descriptorPath)) {
114
- return;
116
+ const descriptorPath = (0, node_path_1.join)(contentPath, UI_BUNDLE_JSON);
117
+ if (tree.exists(descriptorPath) && !forceIgnore.denies(descriptorPath)) {
118
+ validateUiBundleJson(tree.readFileSync(descriptorPath), descriptorPath, contentPath, tree);
119
+ }
120
+ const mcpResourcesPath = (0, node_path_1.join)(contentPath, MCP_RESOURCES_JSON);
121
+ if (tree.exists(mcpResourcesPath) && !forceIgnore.denies(mcpResourcesPath)) {
122
+ validateMcpResourcesJson(tree.readFileSync(mcpResourcesPath), mcpResourcesPath, contentPath, tree);
115
123
  }
116
- const raw = tree.readFileSync(descriptorPath);
117
- validateUiBundleJson(raw, descriptorPath, contentPath, tree);
118
124
  }
119
125
  /** Validate ui-bundle.json contents. Checks structure first, then schema, then file existence. */
120
126
  function validateUiBundleJson(raw, descriptorPath, contentPath, tree) {
@@ -162,7 +168,11 @@ function validateUiBundleJson(raw, descriptorPath, contentPath, tree) {
162
168
  if (disallowed.length > 0) {
163
169
  const list = disallowed.map((k) => `'${k}'`).join(', ');
164
170
  const word = disallowed.length === 1 ? 'property' : 'properties';
165
- throw createConfigError(msgs.getMessage('ui_bundle_unknown_props', [word, list, [...ALLOWED_TOP_LEVEL].join(', ')]), [`Remove ${list} from ui-bundle.json.`]);
171
+ const actions = [`Remove ${list} from ui-bundle.json.`];
172
+ if (disallowed.includes('mcpResources')) {
173
+ actions.push(msgs.getMessage('ui_bundle_mcp_resources_moved.actions'));
174
+ }
175
+ throw createConfigError(msgs.getMessage('ui_bundle_unknown_props', [word, list, [...ALLOWED_TOP_LEVEL].join(', ')]), actions);
166
176
  }
167
177
  const outputDir = rawObj.outputDir !== undefined ? validateOutputDir(rawObj.outputDir) : undefined;
168
178
  if (rawObj.routing !== undefined) {
@@ -171,12 +181,52 @@ function validateUiBundleJson(raw, descriptorPath, contentPath, tree) {
171
181
  if (rawObj.headers !== undefined) {
172
182
  validateHeaders(rawObj.headers);
173
183
  }
174
- const mcpResources = rawObj.mcpResources !== undefined ? validateMcpResources(rawObj.mcpResources) : undefined;
175
184
  // Safe to cast after field-level checks pass.
176
185
  const obj = rawObj;
177
- if (outputDir ?? obj.routing ?? mcpResources) {
178
- validateFileExistence(obj, outputDir, mcpResources, contentPath, tree);
186
+ if (outputDir ?? obj.routing) {
187
+ validateFileExistence(obj, outputDir, contentPath, tree);
188
+ }
189
+ }
190
+ /** Validate mcp-resources.json contents. Resource paths resolve from the bundle root, independent of outputDir. */
191
+ function validateMcpResourcesJson(raw, descriptorPath, contentPath, tree) {
192
+ if (!raw || raw.length === 0 || raw.toString('utf8').trim().length === 0) {
193
+ throw createConfigError(msgs.getMessage('mcp_resources_empty_file', [descriptorPath]), [
194
+ msgs.getMessage('mcp_resources_example.actions'),
195
+ ]);
196
+ }
197
+ if (raw.length > MAX_MCP_RESOURCES_JSON_BYTES) {
198
+ throw createConfigError(msgs.getMessage('mcp_resources_size_exceeded', [
199
+ String(MAX_MCP_RESOURCES_JSON_BYTES / 1024),
200
+ (raw.length / 1024).toFixed(1),
201
+ ]));
202
+ }
203
+ let config;
204
+ try {
205
+ config = JSON.parse(raw.toString('utf8').trim());
206
+ }
207
+ catch (e) {
208
+ const detail = e instanceof Error ? e.message : String(e);
209
+ throw createConfigError(msgs.getMessage('mcp_resources_invalid_json', [detail]));
210
+ }
211
+ if (typeof config !== 'object' || config === null || Array.isArray(config)) {
212
+ throw createConfigError(msgs.getMessage('mcp_resources_not_object', [describeType(config)]), [
213
+ msgs.getMessage('mcp_resources_example.actions'),
214
+ ]);
215
+ }
216
+ const rawObj = config;
217
+ const disallowed = Object.keys(rawObj).filter((k) => !MCP_RESOURCES_ALLOWED_TOP_LEVEL.has(k));
218
+ if (disallowed.length > 0) {
219
+ const list = disallowed.map((k) => `'${k}'`).join(', ');
220
+ const word = disallowed.length === 1 ? 'property' : 'properties';
221
+ throw createConfigError(msgs.getMessage('mcp_resources_unknown_props', [word, list, [...MCP_RESOURCES_ALLOWED_TOP_LEVEL].join(', ')]), [`Remove ${list} from mcp-resources.json.`]);
222
+ }
223
+ if (rawObj.mcpResources === undefined) {
224
+ throw createConfigError(msgs.getMessage('mcp_resources_missing'), [
225
+ msgs.getMessage('mcp_resources_example.actions'),
226
+ ]);
179
227
  }
228
+ const mcpResources = validateMcpResources(rawObj.mcpResources);
229
+ validateMcpResourceFiles(mcpResources, contentPath, tree);
180
230
  }
181
231
  function validateOutputDir(value) {
182
232
  if (typeof value !== 'string') {
@@ -412,11 +462,11 @@ function validateHeaderKeyValue(item, i, j) {
412
462
  /** Validates mcpResources and returns the entries with name and path trimmed. */
413
463
  function validateMcpResources(value) {
414
464
  if (!Array.isArray(value)) {
415
- throw createConfigError(msgs.getMessage('ui_bundle_type_mismatch', ['mcpResources', 'an array', describeType(value)]));
465
+ throw createConfigError(msgs.getMessage('mcp_resources_type_mismatch', ['mcpResources', 'an array', describeType(value)]));
416
466
  }
417
467
  if (value.length === 0) {
418
- throw createConfigError(msgs.getMessage('ui_bundle_min_items', ['mcpResources', 'item']), [
419
- 'Add a { "name": "...", "path": "..." } entry or remove the empty mcpResources array.',
468
+ throw createConfigError(msgs.getMessage('mcp_resources_min_items'), [
469
+ 'Add a { "name": "...", "path": "..." } entry or delete mcp-resources.json.',
420
470
  ]);
421
471
  }
422
472
  // Names must be unique within a bundle; the server rejects duplicates.
@@ -427,7 +477,11 @@ function validateMcpResources(value) {
427
477
  const name = resource.name;
428
478
  const firstIndex = seenNames.get(name);
429
479
  if (firstIndex !== undefined) {
430
- throw createConfigError(msgs.getMessage('ui_bundle_duplicate_value', [`mcpResources[${i}].name`, name, `mcpResources[${firstIndex}]`]), ['Give each MCP resource a unique name.']);
480
+ throw createConfigError(msgs.getMessage('mcp_resources_duplicate_value', [
481
+ `mcpResources[${i}].name`,
482
+ name,
483
+ `mcpResources[${firstIndex}]`,
484
+ ]), ['Give each MCP resource a unique name.']);
431
485
  }
432
486
  seenNames.set(name, i);
433
487
  resources.push(resource);
@@ -438,47 +492,54 @@ function validateMcpResources(value) {
438
492
  function validateMcpResourceItem(item, i) {
439
493
  const key = `mcpResources[${i}]`;
440
494
  if (typeof item !== 'object' || item === null || Array.isArray(item)) {
441
- throw createConfigError(msgs.getMessage('ui_bundle_type_mismatch', [key, 'an object', describeType(item)]));
495
+ throw createConfigError(msgs.getMessage('mcp_resources_type_mismatch', [key, 'an object', describeType(item)]));
442
496
  }
443
497
  const obj = item;
444
498
  const unknown = Object.keys(obj).find((k) => k !== 'name' && k !== 'path');
445
499
  if (unknown !== undefined) {
446
- throw createConfigError(msgs.getMessage('ui_bundle_unknown_prop', [key, unknown, 'name, path']));
500
+ throw createConfigError(msgs.getMessage('mcp_resources_unknown_prop', [key, unknown, 'name, path']));
447
501
  }
448
502
  // Unlike routing entries, both fields are required. Core trims both before validating.
449
503
  const name = typeof obj.name === 'string' ? obj.name.trim() : '';
450
504
  if (name.length === 0) {
451
- throw createConfigError(msgs.getMessage('ui_bundle_non_empty_string', [`${key}.name`]));
505
+ throw createConfigError(msgs.getMessage('mcp_resources_non_empty_string', [`${key}.name`]));
452
506
  }
453
507
  if (!MCP_RESOURCE_NAME.test(name)) {
454
- throw createConfigError(msgs.getMessage('ui_bundle_mcp_resource_name_invalid', [`${key}.name`, name]), [
508
+ throw createConfigError(msgs.getMessage('mcp_resources_name_invalid', [`${key}.name`, name]), [
455
509
  'Use a name like "hello" or "order-summary.v2".',
456
510
  ]);
457
511
  }
458
512
  const path = typeof obj.path === 'string' ? obj.path.trim() : '';
459
513
  if (path.length === 0) {
460
- throw createConfigError(msgs.getMessage('ui_bundle_non_empty_string', [`${key}.path`]));
514
+ throw createConfigError(msgs.getMessage('mcp_resources_non_empty_string', [`${key}.path`]));
461
515
  }
462
516
  if (path.length > MAX_MCP_RESOURCE_PATH_LENGTH) {
463
- throw createConfigError(msgs.getMessage('ui_bundle_value_too_long', [`${key}.path`, MAX_MCP_RESOURCE_PATH_LENGTH, path.length]));
517
+ throw createConfigError(msgs.getMessage('mcp_resources_value_too_long', [`${key}.path`, MAX_MCP_RESOURCE_PATH_LENGTH, path.length]));
464
518
  }
465
519
  // Unlike routing paths, a leading "/" is not stripped; Core rejects it as absolute.
466
520
  const reasons = mcpPathProblems(path);
467
521
  if (reasons.length > 0) {
468
- throw createConfigError(msgs.getMessage('ui_bundle_path_unsafe', [`${key}.path`, path, reasons.join(', ')]), [
522
+ throw createConfigError(msgs.getMessage('mcp_resources_path_unsafe', [`${key}.path`, path, reasons.join(', ')]), [
469
523
  `Fix "${path}": use a plain relative file path like "index.html".`,
470
524
  ]);
471
525
  }
472
526
  if (!path.toLowerCase().endsWith('.html')) {
473
- throw createConfigError(msgs.getMessage('ui_bundle_mcp_resource_not_html', [`${key}.path`, path]), [
527
+ throw createConfigError(msgs.getMessage('mcp_resources_not_html', [`${key}.path`, path]), [
474
528
  'Point the MCP resource at a single .html file.',
475
529
  ]);
476
530
  }
477
- return { name, path };
531
+ // Core drops "." segments and publishes the canonical path.
532
+ return {
533
+ name,
534
+ path: path
535
+ .split('/')
536
+ .filter((segment) => segment !== '.')
537
+ .join('/'),
538
+ };
478
539
  }
479
540
  /**
480
541
  * Returns reasons if Core would resolve the trimmed MCP resource path differently than the local file check.
481
- * Core rejects "//", "#", ":", and ".." segments, and looks the path up verbatim, so it must not rely on normalization.
542
+ * Core rejects "//", "#", ":", and ".." segments, and drops "." segments.
482
543
  */
483
544
  function mcpPathProblems(value) {
484
545
  const traversal = containsPathTraversal(value);
@@ -492,28 +553,20 @@ function mcpPathProblems(value) {
492
553
  if (value.includes(':')) {
493
554
  reasons.push('a colon (:)');
494
555
  }
495
- // A ".." segment is already reported as traversal.
496
- if (value.includes('..') && !DOT_DOT_SEGMENT.test(value)) {
497
- reasons.push('consecutive dots (..)');
498
- }
499
- // "." and "./" are already reported as current directory references.
500
- if (value !== '.' && value !== './' && /(?:^|\/)\.(?:\/|$)/.test(value)) {
501
- reasons.push('a current directory segment (.)');
502
- }
503
556
  return reasons;
504
557
  }
505
558
  /** Throws if the resolved path lands outside the parent directory. */
506
- function assertNoTraversal(resolvedPath, parentDir, configKey, rawValue) {
559
+ function assertNoTraversal(resolvedPath, parentDir, configKey, rawValue, messageKey = 'ui_bundle_path_traversal') {
507
560
  const normalizedResolved = (0, node_path_1.resolve)(resolvedPath);
508
561
  const normalizedParent = (0, node_path_1.resolve)(parentDir) + node_path_1.sep;
509
562
  if (!normalizedResolved.startsWith(normalizedParent) && normalizedResolved !== (0, node_path_1.resolve)(parentDir)) {
510
- throw createConfigError(msgs.getMessage('ui_bundle_path_traversal', [configKey, rawValue]), [
563
+ throw createConfigError(msgs.getMessage(messageKey, [configKey, rawValue]), [
511
564
  `Remove ".." segments from "${rawValue}". Paths must stay within the bundle directory.`,
512
565
  ]);
513
566
  }
514
567
  }
515
- /** Verify that referenced paths (outputDir, fallback, rewrite targets, MCP resource files) actually exist. */
516
- function validateFileExistence(obj, outputDir, mcpResources, contentPath, tree) {
568
+ /** Verify that referenced paths (outputDir, fallback, rewrite targets) actually exist. */
569
+ function validateFileExistence(obj, outputDir, contentPath, tree) {
517
570
  let basePath = contentPath;
518
571
  if (outputDir) {
519
572
  const outputDirPath = (0, node_path_1.join)(contentPath, outputDir);
@@ -578,22 +631,16 @@ function validateFileExistence(obj, outputDir, mcpResources, contentPath, tree)
578
631
  }
579
632
  }
580
633
  }
581
- if (mcpResources) {
582
- validateMcpResourceFiles(mcpResources, outputDir, basePath, contentPath, tree);
583
- }
584
634
  }
585
- /** Verify that each MCP resource path is an existing file under outputDir. */
586
- function validateMcpResourceFiles(mcpResources, outputDir, outputDirPath, contentPath, tree) {
587
- // Core resolves MCP resource paths under its default outputDir when none is set, not the bundle root.
588
- const basePath = outputDir ? outputDirPath : (0, node_path_1.join)(contentPath, MCP_DEFAULT_OUTPUT_DIR);
589
- const baseLabel = outputDir ?? MCP_DEFAULT_OUTPUT_DIR;
635
+ /** Verify that each MCP resource path is an existing file under the bundle root. */
636
+ function validateMcpResourceFiles(mcpResources, contentPath, tree) {
590
637
  for (let i = 0; i < mcpResources.length; i++) {
591
638
  // validateMcpResources guarantees a trimmed, non-empty, relative path.
592
639
  const target = mcpResources[i].path;
593
- const resourcePath = (0, node_path_1.join)(basePath, target);
594
- assertNoTraversal(resourcePath, basePath, `mcpResources[${i}].path`, target);
640
+ const resourcePath = (0, node_path_1.join)(contentPath, target);
641
+ assertNoTraversal(resourcePath, contentPath, `mcpResources[${i}].path`, target, 'mcp_resources_path_traversal');
595
642
  if (!tree.exists(resourcePath) || tree.isDirectory(resourcePath)) {
596
- throw createFileError(msgs.getMessage('ui_bundle_file_not_found', [`mcpResources[${i}].path`, target, resourcePath]), [`Create the file "${target}" inside "${baseLabel}", or update the MCP resource path.`]);
643
+ throw createFileError(msgs.getMessage('mcp_resources_file_not_found', [`mcpResources[${i}].path`, target, resourcePath]), [`Create the file "${target}" in the bundle, or update the MCP resource path.`]);
597
644
  }
598
645
  }
599
646
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uiBundleValidation.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/uiBundleValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiBundleValidation.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/uiBundleValidation.ts"],"names":[],"mappings":"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"}
@@ -44,12 +44,16 @@ ui-bundle.json must contain at least one property.
44
44
 
45
45
  # ui_bundle_empty_object.actions
46
46
 
47
- Add a property: outputDir, routing, headers, or mcpResources.
47
+ Add a property: outputDir, routing, or headers.
48
48
 
49
49
  # ui_bundle_unknown_props
50
50
 
51
51
  ui-bundle.json contains unknown %s: %s. Allowed: %s.
52
52
 
53
+ # ui_bundle_mcp_resources_moved.actions
54
+
55
+ Move mcpResources to a mcp-resources.json file next to ui-bundle.json and prefix each path with the outputDir, e.g. { "mcpResources": [{ "name": "hello", "path": "dist/hello.html" }] }
56
+
53
57
  # ui_bundle_type_mismatch
54
58
 
55
59
  ui-bundle.json '%s' must be %s (received %s).
@@ -74,22 +78,6 @@ ui-bundle.json '%s' contains unknown property '%s'. Allowed: %s.
74
78
 
75
79
  ui-bundle.json '%s' must be a non-empty string.
76
80
 
77
- # ui_bundle_duplicate_value
78
-
79
- ui-bundle.json '%s' value "%s" is already used by %s.
80
-
81
- # ui_bundle_value_too_long
82
-
83
- ui-bundle.json '%s' must be at most %s characters (received %s).
84
-
85
- # ui_bundle_mcp_resource_name_invalid
86
-
87
- ui-bundle.json '%s' value "%s" must start with a letter or digit, contain only letters, digits, '\_', '.', or '-', and be at most 80 characters.
88
-
89
- # ui_bundle_mcp_resource_not_html
90
-
91
- ui-bundle.json '%s' value "%s" must reference an .html file.
92
-
93
81
  # ui_bundle_path_unsafe
94
82
 
95
83
  ui-bundle.json '%s' value "%s" contains %s. Config paths must use forward slashes.
@@ -117,3 +105,75 @@ ui-bundle.json 'outputDir' ("%s") exists but contains no files. It must contain
117
105
  # ui_bundle_file_not_found
118
106
 
119
107
  ui-bundle.json '%s' references "%s", but the file does not exist at %s.
108
+
109
+ # mcp_resources_empty_file
110
+
111
+ mcp-resources.json must not be empty or contain only whitespace (%s).
112
+
113
+ # mcp_resources_example.actions
114
+
115
+ Use { "mcpResources": [{ "name": "hello", "path": "dist/hello.html" }] }, or delete mcp-resources.json if the bundle has no MCP resources.
116
+
117
+ # mcp_resources_size_exceeded
118
+
119
+ mcp-resources.json exceeds the maximum allowed size of %s KB (actual: %s KB).
120
+
121
+ # mcp_resources_invalid_json
122
+
123
+ mcp-resources.json is not valid JSON: %s
124
+
125
+ # mcp_resources_not_object
126
+
127
+ mcp-resources.json must be a JSON object, but found %s.
128
+
129
+ # mcp_resources_unknown_props
130
+
131
+ mcp-resources.json contains unknown %s: %s. Allowed: %s.
132
+
133
+ # mcp_resources_missing
134
+
135
+ mcp-resources.json must contain 'mcpResources'.
136
+
137
+ # mcp_resources_type_mismatch
138
+
139
+ mcp-resources.json '%s' must be %s (received %s).
140
+
141
+ # mcp_resources_min_items
142
+
143
+ mcp-resources.json 'mcpResources' must contain at least one item.
144
+
145
+ # mcp_resources_unknown_prop
146
+
147
+ mcp-resources.json '%s' contains unknown property '%s'. Allowed: %s.
148
+
149
+ # mcp_resources_non_empty_string
150
+
151
+ mcp-resources.json '%s' must be a non-empty string.
152
+
153
+ # mcp_resources_duplicate_value
154
+
155
+ mcp-resources.json '%s' value "%s" is already used by %s.
156
+
157
+ # mcp_resources_value_too_long
158
+
159
+ mcp-resources.json '%s' must be at most %s characters (received %s).
160
+
161
+ # mcp_resources_name_invalid
162
+
163
+ mcp-resources.json '%s' value "%s" must start with a letter or digit, contain only letters, digits, '\_', '.', or '-', and be at most 80 characters.
164
+
165
+ # mcp_resources_not_html
166
+
167
+ mcp-resources.json '%s' value "%s" must reference an .html file.
168
+
169
+ # mcp_resources_path_unsafe
170
+
171
+ mcp-resources.json '%s' value "%s" contains %s. Config paths must use forward slashes.
172
+
173
+ # mcp_resources_path_traversal
174
+
175
+ mcp-resources.json '%s' value "%s" resolves outside the bundle directory. Path traversal is not allowed.
176
+
177
+ # mcp_resources_file_not_found
178
+
179
+ mcp-resources.json '%s' references "%s", but the file does not exist at %s.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/source-deploy-retrieve",
3
- "version": "13.7.1",
3
+ "version": "13.8.0",
4
4
  "description": "JavaScript library to run Salesforce metadata deploys and retrieves",
5
5
  "main": "lib/src/index.js",
6
6
  "author": "Salesforce",
@@ -25,7 +25,7 @@
25
25
  "node": ">=22.0.0"
26
26
  },
27
27
  "dependencies": {
28
- "@salesforce/core": "^9.4.0",
28
+ "@salesforce/core": "^9.4.1",
29
29
  "@salesforce/kit": "^4.0.0",
30
30
  "@salesforce/ts-types": "^3.2.0",
31
31
  "@salesforce/types": "^1.6.0",