sfcc-dev-mcp 1.0.21 → 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.
Files changed (303) hide show
  1. package/CHANGELOG.md +73 -4
  2. package/README.md +101 -31
  3. package/dist/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +1 -0
  4. package/dist/clients/agent-instructions-client.d.ts +3 -0
  5. package/dist/clients/agent-instructions-client.d.ts.map +1 -1
  6. package/dist/clients/agent-instructions-client.js +42 -10
  7. package/dist/clients/agent-instructions-client.js.map +1 -1
  8. package/dist/clients/base/abstract-documentation-client.d.ts +4 -0
  9. package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -1
  10. package/dist/clients/base/abstract-documentation-client.js +9 -1
  11. package/dist/clients/base/abstract-documentation-client.js.map +1 -1
  12. package/dist/clients/base/http-client.d.ts +10 -3
  13. package/dist/clients/base/http-client.d.ts.map +1 -1
  14. package/dist/clients/base/http-client.js +94 -16
  15. package/dist/clients/base/http-client.js.map +1 -1
  16. package/dist/clients/base/oauth-token.d.ts +3 -0
  17. package/dist/clients/base/oauth-token.d.ts.map +1 -1
  18. package/dist/clients/base/oauth-token.js +23 -3
  19. package/dist/clients/base/oauth-token.js.map +1 -1
  20. package/dist/clients/base/ocapi-auth-client.d.ts.map +1 -1
  21. package/dist/clients/base/ocapi-auth-client.js +22 -2
  22. package/dist/clients/base/ocapi-auth-client.js.map +1 -1
  23. package/dist/clients/docs/class-name-resolver.d.ts +7 -4
  24. package/dist/clients/docs/class-name-resolver.d.ts.map +1 -1
  25. package/dist/clients/docs/class-name-resolver.js.map +1 -1
  26. package/dist/clients/docs/documentation-scanner.d.ts +2 -0
  27. package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
  28. package/dist/clients/docs/documentation-scanner.js +39 -17
  29. package/dist/clients/docs/documentation-scanner.js.map +1 -1
  30. package/dist/clients/docs-client.d.ts +4 -3
  31. package/dist/clients/docs-client.d.ts.map +1 -1
  32. package/dist/clients/docs-client.js.map +1 -1
  33. package/dist/clients/logs/log-client.d.ts +1 -0
  34. package/dist/clients/logs/log-client.d.ts.map +1 -1
  35. package/dist/clients/logs/log-client.js +13 -21
  36. package/dist/clients/logs/log-client.js.map +1 -1
  37. package/dist/clients/logs/log-file-discovery.d.ts +1 -0
  38. package/dist/clients/logs/log-file-discovery.d.ts.map +1 -1
  39. package/dist/clients/logs/log-file-discovery.js +19 -6
  40. package/dist/clients/logs/log-file-discovery.js.map +1 -1
  41. package/dist/clients/logs/log-file-reader.d.ts +2 -0
  42. package/dist/clients/logs/log-file-reader.d.ts.map +1 -1
  43. package/dist/clients/logs/log-file-reader.js +31 -8
  44. package/dist/clients/logs/log-file-reader.js.map +1 -1
  45. package/dist/clients/logs/log-formatter.d.ts +2 -2
  46. package/dist/clients/logs/log-formatter.d.ts.map +1 -1
  47. package/dist/clients/logs/log-formatter.js.map +1 -1
  48. package/dist/clients/logs/log-types.d.ts +4 -0
  49. package/dist/clients/logs/log-types.d.ts.map +1 -1
  50. package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -1
  51. package/dist/clients/logs/webdav-client-manager.js.map +1 -1
  52. package/dist/clients/ocapi/code-versions-client.d.ts +23 -4
  53. package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
  54. package/dist/clients/ocapi/code-versions-client.js +2 -2
  55. package/dist/clients/ocapi/code-versions-client.js.map +1 -1
  56. package/dist/clients/ocapi/site-preferences-client.d.ts +2 -42
  57. package/dist/clients/ocapi/site-preferences-client.d.ts.map +1 -1
  58. package/dist/clients/ocapi/site-preferences-client.js.map +1 -1
  59. package/dist/clients/ocapi/system-objects-client.d.ts +7 -39
  60. package/dist/clients/ocapi/system-objects-client.d.ts.map +1 -1
  61. package/dist/clients/ocapi/system-objects-client.js.map +1 -1
  62. package/dist/clients/script-debugger/script-debugger-client.d.ts +30 -1
  63. package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -1
  64. package/dist/clients/script-debugger/script-debugger-client.js +266 -132
  65. package/dist/clients/script-debugger/script-debugger-client.js.map +1 -1
  66. package/dist/clients/sfra-client.d.ts.map +1 -1
  67. package/dist/clients/sfra-client.js.map +1 -1
  68. package/dist/config/cli-options.d.ts +16 -0
  69. package/dist/config/cli-options.d.ts.map +1 -0
  70. package/dist/config/cli-options.js +56 -0
  71. package/dist/config/cli-options.js.map +1 -0
  72. package/dist/config/configuration-factory.d.ts +2 -0
  73. package/dist/config/configuration-factory.d.ts.map +1 -1
  74. package/dist/config/configuration-factory.js +30 -6
  75. package/dist/config/configuration-factory.js.map +1 -1
  76. package/dist/config/credential-validation.d.ts +25 -0
  77. package/dist/config/credential-validation.d.ts.map +1 -0
  78. package/dist/config/credential-validation.js +42 -0
  79. package/dist/config/credential-validation.js.map +1 -0
  80. package/dist/config/dw-json-loader.d.ts.map +1 -1
  81. package/dist/config/dw-json-loader.js +25 -68
  82. package/dist/config/dw-json-loader.js.map +1 -1
  83. package/dist/config/path-security-policy.d.ts +6 -0
  84. package/dist/config/path-security-policy.d.ts.map +1 -0
  85. package/dist/config/path-security-policy.js +63 -0
  86. package/dist/config/path-security-policy.js.map +1 -0
  87. package/dist/config/workspace-roots.d.ts +1 -0
  88. package/dist/config/workspace-roots.d.ts.map +1 -1
  89. package/dist/config/workspace-roots.js +26 -77
  90. package/dist/config/workspace-roots.js.map +1 -1
  91. package/dist/core/handlers/abstract-client-handler.d.ts +23 -2
  92. package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -1
  93. package/dist/core/handlers/abstract-client-handler.js +33 -3
  94. package/dist/core/handlers/abstract-client-handler.js.map +1 -1
  95. package/dist/core/handlers/agent-instructions-handler.d.ts +1 -1
  96. package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -1
  97. package/dist/core/handlers/agent-instructions-handler.js +2 -2
  98. package/dist/core/handlers/agent-instructions-handler.js.map +1 -1
  99. package/dist/core/handlers/base-handler.d.ts +14 -11
  100. package/dist/core/handlers/base-handler.d.ts.map +1 -1
  101. package/dist/core/handlers/base-handler.js +38 -22
  102. package/dist/core/handlers/base-handler.js.map +1 -1
  103. package/dist/core/handlers/cartridge-handler.d.ts +3 -8
  104. package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
  105. package/dist/core/handlers/cartridge-handler.js +10 -18
  106. package/dist/core/handlers/cartridge-handler.js.map +1 -1
  107. package/dist/core/handlers/code-version-handler.d.ts +3 -9
  108. package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
  109. package/dist/core/handlers/code-version-handler.js +10 -21
  110. package/dist/core/handlers/code-version-handler.js.map +1 -1
  111. package/dist/core/handlers/job-log-handler.d.ts +3 -9
  112. package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
  113. package/dist/core/handlers/job-log-handler.js +10 -21
  114. package/dist/core/handlers/job-log-handler.js.map +1 -1
  115. package/dist/core/handlers/lifecycle-utils.d.ts +5 -0
  116. package/dist/core/handlers/lifecycle-utils.d.ts.map +1 -0
  117. package/dist/core/handlers/lifecycle-utils.js +18 -0
  118. package/dist/core/handlers/lifecycle-utils.js.map +1 -0
  119. package/dist/core/handlers/log-handler.d.ts +3 -9
  120. package/dist/core/handlers/log-handler.d.ts.map +1 -1
  121. package/dist/core/handlers/log-handler.js +10 -21
  122. package/dist/core/handlers/log-handler.js.map +1 -1
  123. package/dist/core/handlers/script-debugger-handler.d.ts +3 -9
  124. package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -1
  125. package/dist/core/handlers/script-debugger-handler.js +10 -21
  126. package/dist/core/handlers/script-debugger-handler.js.map +1 -1
  127. package/dist/core/handlers/simple-client-handler.d.ts +3 -3
  128. package/dist/core/handlers/simple-client-handler.d.ts.map +1 -1
  129. package/dist/core/handlers/simple-client-handler.js +5 -3
  130. package/dist/core/handlers/simple-client-handler.js.map +1 -1
  131. package/dist/core/handlers/system-object-handler.d.ts +3 -9
  132. package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
  133. package/dist/core/handlers/system-object-handler.js +10 -21
  134. package/dist/core/handlers/system-object-handler.js.map +1 -1
  135. package/dist/core/handlers/validation-helpers.d.ts +5 -26
  136. package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
  137. package/dist/core/handlers/validation-helpers.js +79 -81
  138. package/dist/core/handlers/validation-helpers.js.map +1 -1
  139. package/dist/core/instruction-advisor.d.ts +3 -0
  140. package/dist/core/instruction-advisor.d.ts.map +1 -1
  141. package/dist/core/instruction-advisor.js +25 -2
  142. package/dist/core/instruction-advisor.js.map +1 -1
  143. package/dist/core/server-tool-call-lifecycle.d.ts +38 -0
  144. package/dist/core/server-tool-call-lifecycle.d.ts.map +1 -0
  145. package/dist/core/server-tool-call-lifecycle.js +128 -0
  146. package/dist/core/server-tool-call-lifecycle.js.map +1 -0
  147. package/dist/core/server-tool-catalog.d.ts +19 -0
  148. package/dist/core/server-tool-catalog.d.ts.map +1 -0
  149. package/dist/core/server-tool-catalog.js +52 -0
  150. package/dist/core/server-tool-catalog.js.map +1 -0
  151. package/dist/core/server-workspace-discovery.d.ts +38 -0
  152. package/dist/core/server-workspace-discovery.d.ts.map +1 -0
  153. package/dist/core/server-workspace-discovery.js +68 -0
  154. package/dist/core/server-workspace-discovery.js.map +1 -0
  155. package/dist/core/server.d.ts +27 -3
  156. package/dist/core/server.d.ts.map +1 -1
  157. package/dist/core/server.js +247 -165
  158. package/dist/core/server.js.map +1 -1
  159. package/dist/core/tool-argument-validator.d.ts +24 -0
  160. package/dist/core/tool-argument-validator.d.ts.map +1 -0
  161. package/dist/core/tool-argument-validator.js +186 -0
  162. package/dist/core/tool-argument-validator.js.map +1 -0
  163. package/dist/core/tool-error-response.d.ts +21 -0
  164. package/dist/core/tool-error-response.d.ts.map +1 -0
  165. package/dist/core/tool-error-response.js +64 -0
  166. package/dist/core/tool-error-response.js.map +1 -0
  167. package/dist/core/tool-schemas/agent-instruction-tools.d.ts +4 -0
  168. package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -1
  169. package/dist/core/tool-schemas/agent-instruction-tools.js +6 -2
  170. package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -1
  171. package/dist/core/tool-schemas/cartridge-tools.d.ts +3 -0
  172. package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -1
  173. package/dist/core/tool-schemas/cartridge-tools.js +3 -0
  174. package/dist/core/tool-schemas/cartridge-tools.js.map +1 -1
  175. package/dist/core/tool-schemas/code-version-tools.d.ts +1 -0
  176. package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -1
  177. package/dist/core/tool-schemas/code-version-tools.js +1 -0
  178. package/dist/core/tool-schemas/code-version-tools.js.map +1 -1
  179. package/dist/core/tool-schemas/documentation-tools.d.ts +6 -0
  180. package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -1
  181. package/dist/core/tool-schemas/documentation-tools.js +6 -0
  182. package/dist/core/tool-schemas/documentation-tools.js.map +1 -1
  183. package/dist/core/tool-schemas/isml-tools.d.ts +3 -0
  184. package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -1
  185. package/dist/core/tool-schemas/isml-tools.js +4 -1
  186. package/dist/core/tool-schemas/isml-tools.js.map +1 -1
  187. package/dist/core/tool-schemas/log-tools.d.ts +28 -0
  188. package/dist/core/tool-schemas/log-tools.d.ts.map +1 -1
  189. package/dist/core/tool-schemas/log-tools.js +21 -7
  190. package/dist/core/tool-schemas/log-tools.js.map +1 -1
  191. package/dist/core/tool-schemas/script-debugger-tools.d.ts +12 -0
  192. package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -1
  193. package/dist/core/tool-schemas/script-debugger-tools.js +19 -2
  194. package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -1
  195. package/dist/core/tool-schemas/sfra-tools.d.ts +3 -0
  196. package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -1
  197. package/dist/core/tool-schemas/sfra-tools.js +3 -0
  198. package/dist/core/tool-schemas/sfra-tools.js.map +1 -1
  199. package/dist/core/tool-schemas/shared-schemas.d.ts +72 -4
  200. package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -1
  201. package/dist/core/tool-schemas/shared-schemas.js +29 -3
  202. package/dist/core/tool-schemas/shared-schemas.js.map +1 -1
  203. package/dist/core/tool-schemas/system-object-tools.d.ts +93 -4
  204. package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -1
  205. package/dist/core/tool-schemas/system-object-tools.js +13 -6
  206. package/dist/core/tool-schemas/system-object-tools.js.map +1 -1
  207. package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +52 -0
  208. package/dist/docs/dw_system/Request.md +4 -0
  209. package/dist/docs/dw_web/Cookie.md +54 -15
  210. package/dist/docs/isml/isprint.md +1 -1
  211. package/dist/docs/isml/isredirect.md +1 -1
  212. package/dist/docs/isml/isremove.md +1 -1
  213. package/dist/docs/isml/isreplace.md +1 -1
  214. package/dist/docs/isml/isscript.md +1 -1
  215. package/dist/main.js +18 -33
  216. package/dist/main.js.map +1 -1
  217. package/dist/tool-configs/agent-instructions-tool-config.d.ts +1 -1
  218. package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -1
  219. package/dist/tool-configs/agent-instructions-tool-config.js +0 -33
  220. package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -1
  221. package/dist/tool-configs/cartridge-tool-config.d.ts +1 -1
  222. package/dist/tool-configs/cartridge-tool-config.d.ts.map +1 -1
  223. package/dist/tool-configs/cartridge-tool-config.js +3 -5
  224. package/dist/tool-configs/cartridge-tool-config.js.map +1 -1
  225. package/dist/tool-configs/code-version-tool-config.d.ts +1 -1
  226. package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
  227. package/dist/tool-configs/code-version-tool-config.js +0 -4
  228. package/dist/tool-configs/code-version-tool-config.js.map +1 -1
  229. package/dist/tool-configs/docs-tool-config.d.ts +1 -1
  230. package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
  231. package/dist/tool-configs/docs-tool-config.js +0 -13
  232. package/dist/tool-configs/docs-tool-config.js.map +1 -1
  233. package/dist/tool-configs/isml-tool-config.d.ts +1 -1
  234. package/dist/tool-configs/isml-tool-config.d.ts.map +1 -1
  235. package/dist/tool-configs/isml-tool-config.js +0 -10
  236. package/dist/tool-configs/isml-tool-config.js.map +1 -1
  237. package/dist/tool-configs/job-log-tool-config.d.ts +1 -1
  238. package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
  239. package/dist/tool-configs/job-log-tool-config.js +1 -21
  240. package/dist/tool-configs/job-log-tool-config.js.map +1 -1
  241. package/dist/tool-configs/log-tool-config.d.ts +1 -1
  242. package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
  243. package/dist/tool-configs/log-tool-config.js +6 -16
  244. package/dist/tool-configs/log-tool-config.js.map +1 -1
  245. package/dist/tool-configs/script-debugger-tool-config.d.ts +1 -1
  246. package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -1
  247. package/dist/tool-configs/script-debugger-tool-config.js +1 -8
  248. package/dist/tool-configs/script-debugger-tool-config.js.map +1 -1
  249. package/dist/tool-configs/sfra-tool-config.d.ts +1 -1
  250. package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
  251. package/dist/tool-configs/sfra-tool-config.js +0 -10
  252. package/dist/tool-configs/sfra-tool-config.js.map +1 -1
  253. package/dist/tool-configs/system-object-tool-config.d.ts +1 -1
  254. package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
  255. package/dist/tool-configs/system-object-tool-config.js +14 -24
  256. package/dist/tool-configs/system-object-tool-config.js.map +1 -1
  257. package/dist/types/ocapi-search.d.ts +50 -0
  258. package/dist/types/ocapi-search.d.ts.map +1 -0
  259. package/dist/types/ocapi-search.js +7 -0
  260. package/dist/types/ocapi-search.js.map +1 -0
  261. package/dist/types/types.d.ts +13 -5
  262. package/dist/types/types.d.ts.map +1 -1
  263. package/dist/utils/abort-utils.d.ts +18 -0
  264. package/dist/utils/abort-utils.d.ts.map +1 -0
  265. package/dist/utils/abort-utils.js +66 -0
  266. package/dist/utils/abort-utils.js.map +1 -0
  267. package/dist/utils/cache.d.ts +7 -7
  268. package/dist/utils/cache.d.ts.map +1 -1
  269. package/dist/utils/cache.js +1 -0
  270. package/dist/utils/cache.js.map +1 -1
  271. package/dist/utils/category-utils.d.ts +0 -10
  272. package/dist/utils/category-utils.d.ts.map +1 -1
  273. package/dist/utils/category-utils.js +0 -12
  274. package/dist/utils/category-utils.js.map +1 -1
  275. package/dist/utils/log-tool-constants.d.ts +3 -4
  276. package/dist/utils/log-tool-constants.d.ts.map +1 -1
  277. package/dist/utils/log-tool-constants.js +2 -13
  278. package/dist/utils/log-tool-constants.js.map +1 -1
  279. package/dist/utils/logger.d.ts +20 -7
  280. package/dist/utils/logger.d.ts.map +1 -1
  281. package/dist/utils/logger.js +72 -11
  282. package/dist/utils/logger.js.map +1 -1
  283. package/dist/utils/query-builder.d.ts +2 -5
  284. package/dist/utils/query-builder.d.ts.map +1 -1
  285. package/dist/utils/query-builder.js +1 -4
  286. package/dist/utils/query-builder.js.map +1 -1
  287. package/dist/utils/validator.d.ts +5 -3
  288. package/dist/utils/validator.d.ts.map +1 -1
  289. package/dist/utils/validator.js +20 -14
  290. package/dist/utils/validator.js.map +1 -1
  291. package/package.json +23 -11
  292. package/dist/clients/docs/index.d.ts +0 -10
  293. package/dist/clients/docs/index.d.ts.map +0 -1
  294. package/dist/clients/docs/index.js +0 -10
  295. package/dist/clients/docs/index.js.map +0 -1
  296. package/dist/constants/index.d.ts +0 -1
  297. package/dist/constants/index.d.ts.map +0 -1
  298. package/dist/constants/index.js +0 -3
  299. package/dist/constants/index.js.map +0 -1
  300. package/dist/utils/path-validation.d.ts +0 -40
  301. package/dist/utils/path-validation.d.ts.map +0 -1
  302. package/dist/utils/path-validation.js +0 -84
  303. package/dist/utils/path-validation.js.map +0 -1
@@ -8,8 +8,12 @@
8
8
  * Custom validation error class
9
9
  */
10
10
  export class ValidationError extends Error {
11
- constructor(message) {
11
+ code;
12
+ details;
13
+ constructor(message, code = 'VALIDATION_ERROR', details) {
12
14
  super(message);
15
+ this.code = code;
16
+ this.details = details;
13
17
  this.name = 'ValidationError';
14
18
  }
15
19
  }
@@ -78,9 +82,10 @@ export class Validator {
78
82
  if (!searchRequest || typeof searchRequest !== 'object') {
79
83
  throw new ValidationError('Search request must be a valid object');
80
84
  }
85
+ const request = searchRequest;
81
86
  // Validate query structure if present
82
- if (searchRequest.query) {
83
- const query = searchRequest.query;
87
+ if (request.query && typeof request.query === 'object') {
88
+ const query = request.query;
84
89
  // Check that at least one query type is specified
85
90
  const queryTypes = ['text_query', 'term_query', 'filtered_query', 'bool_query', 'match_all_query'];
86
91
  const hasValidQuery = queryTypes.some(type => query[type]);
@@ -88,7 +93,7 @@ export class Validator {
88
93
  throw new ValidationError(`Search query must contain at least one of: ${queryTypes.join(', ')}`);
89
94
  }
90
95
  // Validate text_query structure
91
- if (query.text_query) {
96
+ if (query.text_query && typeof query.text_query === 'object') {
92
97
  const textQuery = query.text_query;
93
98
  if (!textQuery.fields || !Array.isArray(textQuery.fields) || textQuery.fields.length === 0) {
94
99
  throw new ValidationError('text_query.fields must be a non-empty array');
@@ -98,7 +103,7 @@ export class Validator {
98
103
  }
99
104
  }
100
105
  // Validate term_query structure
101
- if (query.term_query) {
106
+ if (query.term_query && typeof query.term_query === 'object') {
102
107
  const termQuery = query.term_query;
103
108
  if (!termQuery.fields || !Array.isArray(termQuery.fields) || termQuery.fields.length === 0) {
104
109
  throw new ValidationError('term_query.fields must be a non-empty array');
@@ -112,25 +117,26 @@ export class Validator {
112
117
  }
113
118
  }
114
119
  // Validate sorts structure if present
115
- if (searchRequest.sorts) {
116
- if (!Array.isArray(searchRequest.sorts)) {
120
+ if (request.sorts !== undefined) {
121
+ if (!Array.isArray(request.sorts)) {
117
122
  throw new ValidationError('sorts must be an array');
118
123
  }
119
- searchRequest.sorts.forEach((sort, index) => {
120
- if (!sort.field || typeof sort.field !== 'string') {
124
+ request.sorts.forEach((sort, index) => {
125
+ const sortObject = sort;
126
+ if (!sortObject.field || typeof sortObject.field !== 'string') {
121
127
  throw new ValidationError(`sorts[${index}].field must be a non-empty string`);
122
128
  }
123
- if (sort.sort_order && !['asc', 'desc'].includes(sort.sort_order)) {
129
+ if (sortObject.sort_order && (sortObject.sort_order !== 'asc' && sortObject.sort_order !== 'desc')) {
124
130
  throw new ValidationError(`sorts[${index}].sort_order must be either 'asc' or 'desc'`);
125
131
  }
126
132
  });
127
133
  }
128
134
  // Validate pagination parameters
129
- if (searchRequest.start !== undefined) {
130
- Validator.validatePositiveNumber(searchRequest.start, 'start');
135
+ if (typeof request.start === 'number') {
136
+ Validator.validatePositiveNumber(request.start, 'start');
131
137
  }
132
- if (searchRequest.count !== undefined) {
133
- Validator.validatePositiveNumber(searchRequest.count, 'count');
138
+ if (typeof request.count === 'number') {
139
+ Validator.validatePositiveNumber(request.count, 'count');
134
140
  }
135
141
  }
136
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IACA;IAHlB,YACE,OAAe,EACC,OAAe,kBAAkB,EACjC,OAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA6B;QACjC,YAAO,GAAP,OAAO,CAAU;QAGjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAG1F;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAA+B,EAAE,cAAwB;QAC/E,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,yCAAyC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAoB;QAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAA4B,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,eAAe,CACvB,0BAA0B,YAAY,sBAAsB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,YAA4B,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAa,EAAE,SAAiB;QACtD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAa,EAAE,SAAiB;QAC5D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,eAAe,CAAC,GAAG,SAAS,4BAA4B,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAkB;QAC1C,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAErD,0EAA0E;QAC1E,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CACvB,wBAAwB,UAAU,iFAAiF,CACpH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,aAAsB;QACjD,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,GAAG,aAAwC,CAAC;QAEzD,sCAAsC;QACtC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAgC,CAAC;YAEvD,kDAAkD;YAClD,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;YACnG,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CACvB,8CAA8C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;YACJ,CAAC;YAED,gCAAgC;YAChC,IAAI,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAqC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3F,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC5E,MAAM,IAAI,eAAe,CAAC,qDAAqD,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,IAAI,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAqC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3F,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3F,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAG,IAA+B,CAAC;gBACnD,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9D,MAAM,IAAI,eAAe,CAAC,SAAS,KAAK,oCAAoC,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC;oBACnG,MAAM,IAAI,eAAe,CAAC,SAAS,KAAK,6CAA6C,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sfcc-dev-mcp",
3
- "version": "1.0.21",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for Salesforce B2C Commerce Cloud development assistance including logs, debugging, and development tools",
5
5
  "mcpName": "io.github.taurgis/sfcc-dev-mcp",
6
6
  "main": "dist/index.js",
@@ -26,6 +26,7 @@
26
26
  "start": "node dist/main.js",
27
27
  "dev": "tsx src/main.ts",
28
28
  "inspector": "npx @modelcontextprotocol/inspector node dist/main.js",
29
+ "changeset": "changeset",
29
30
  "convert-docs": "node scripts/convert-docs.js",
30
31
  "convert-docs:test": "node scripts/convert-docs.js --test",
31
32
  "convert-docs:limit": "node scripts/convert-docs.js --limit 5",
@@ -34,19 +35,26 @@
34
35
  "docs:dev": "npm --prefix docs-site-v2 run dev",
35
36
  "docs:build": "npm --prefix docs-site-v2 run build",
36
37
  "docs:preview": "npm --prefix docs-site-v2 run preview",
38
+ "release:status": "node scripts/release-status.js",
39
+ "version-packages": "changeset version && node scripts/sync-server-json-version.js && npm install --package-lock-only",
40
+ "ci:publish": "changeset publish",
37
41
  "test": "npm run test:all",
42
+ "test:unit": "jest",
38
43
  "test:watch": "jest --watch",
39
44
  "test:coverage": "jest --coverage",
40
45
  "test:mcp:yaml": "aegis 'tests/mcp/yaml/*.docs-only.test.mcp.yml' --config './aegis.config.docs-only.json'",
41
46
  "test:mcp:yaml:full": "aegis 'tests/mcp/yaml/*.full-mode.test.mcp.yml' --config './aegis.config.with-dw.json'",
42
47
  "test:mcp:node": "node --test tests/mcp/node/*.programmatic.test.js",
43
- "test:mcp:all": "npm run test:mcp:yaml && npm run test:mcp:yaml:full && npm run test:mcp:node",
48
+ "test:mcp:all": "npm run test:mcp:yaml & p1=$!; npm run test:mcp:yaml:full & p2=$!; wait $p1; s1=$?; wait $p2; s2=$?; [ $s1 -eq 0 ] && [ $s2 -eq 0 ] && npm run test:mcp:node",
44
49
  "test:mcp:ci": "npm run test:mcp:yaml -- --json && npm run test:mcp:yaml:full -- --json && npm run test:mcp:node",
45
- "test:all": "jest && npm run test:mock-server:setup && npm run test:mcp:all",
50
+ "test:mcp:published-npx": "bash ./scripts/test-published-npx.sh",
51
+ "test:all": "npm run test:unit & p1=$!; npm run test:mock-server:setup & p2=$!; wait $p1; s1=$?; wait $p2; s2=$?; [ $s1 -eq 0 ] && [ $s2 -eq 0 ] && npm run test:mcp:all",
46
52
  "test:mock-server:setup": "cd tests/servers/sfcc-mock-server && npm install && npm run setup",
47
53
  "test:mock-server:start": "cd tests/servers/sfcc-mock-server && npm start",
48
54
  "test:mock-server": "jest --testPathPatterns=sfcc-mock-server",
49
55
  "validate:server-json": "node scripts/validate-server-json.js",
56
+ "validate:tools-sync": "node scripts/validate-tools-sync.js",
57
+ "validate:skills-sync": "node scripts/validate-skills-sync.js",
50
58
  "lint": "eslint .",
51
59
  "lint:fix": "eslint . --fix",
52
60
  "lint:check": "eslint . --max-warnings 0",
@@ -71,23 +79,27 @@
71
79
  },
72
80
  "type": "module",
73
81
  "dependencies": {
74
- "@modelcontextprotocol/sdk": "1.26.0",
82
+ "@modelcontextprotocol/sdk": "1.29.0",
75
83
  "webdav": "5.9.0"
76
84
  },
85
+ "overrides": {
86
+ "minimatch": "10.2.5"
87
+ },
77
88
  "devDependencies": {
78
- "@eslint/js": "9.39.2",
89
+ "@changesets/cli": "2.30.0",
90
+ "@eslint/js": "10.0.1",
79
91
  "@types/eslint": "9.6.1",
80
92
  "@types/jest": "30.0.0",
81
- "@types/node": "25.0.3",
93
+ "@types/node": "25.5.2",
82
94
  "ajv": "8.18.0",
83
95
  "ajv-formats": "3.0.1",
84
- "eslint": "9.39.2",
96
+ "eslint": "10.2.0",
85
97
  "husky": "9.1.7",
86
- "jest": "30.2.0",
98
+ "jest": "30.3.0",
87
99
  "mcp-aegis": "1.0.18",
88
- "ts-jest": "29.4.6",
100
+ "ts-jest": "29.4.9",
89
101
  "tsx": "4.21.0",
90
- "typescript": "5.9.3",
91
- "typescript-eslint": "8.52.0"
102
+ "typescript": "6.0.2",
103
+ "typescript-eslint": "8.58.1"
92
104
  }
93
105
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * Documentation Module Exports
3
- *
4
- * Exports for the refactored documentation client modules
5
- */
6
- export { DocumentationScanner, SFCCClassInfo } from './documentation-scanner.js';
7
- export { ClassContentParser, SFCCClassDetails, SFCCMethod, SFCCProperty, SFCCConstant, } from './class-content-parser.js';
8
- export { ClassNameResolver } from './class-name-resolver.js';
9
- export { ReferencedTypesExtractor } from './referenced-types-extractor.js';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/docs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Documentation Module Exports
3
- *
4
- * Exports for the refactored documentation client modules
5
- */
6
- export { DocumentationScanner } from './documentation-scanner.js';
7
- export { ClassContentParser, } from './class-content-parser.js';
8
- export { ClassNameResolver } from './class-name-resolver.js';
9
- export { ReferencedTypesExtractor } from './referenced-types-extractor.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/docs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAiB,MAAM,4BAA4B,CAAC;AACjF,OAAO,EACL,kBAAkB,GAKnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // Constants module currently has no re-exports; reserved for future shared constants.
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAAA,sFAAsF"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Path Validation Utilities
3
- *
4
- * Provides secure path validation for file operations.
5
- * Prevents path traversal attacks and validates file names.
6
- */
7
- export interface PathValidationOptions {
8
- /** Allowed file extensions (e.g., ['.md', '.json']) */
9
- allowedExtensions?: string[];
10
- /** Whether to normalize the name to lowercase */
11
- normalizeToLowerCase?: boolean;
12
- }
13
- export declare class PathValidationError extends Error {
14
- readonly code: string;
15
- constructor(message: string, code?: string);
16
- }
17
- /**
18
- * Validate a file/document name for security issues
19
- * @param name - The name to validate
20
- * @param fieldName - Human-readable field name for error messages
21
- * @throws PathValidationError if validation fails
22
- */
23
- export declare function validateFileName(name: string, fieldName?: string): void;
24
- /**
25
- * Construct and validate a file path within a base directory
26
- * @param basePath - The base directory path
27
- * @param fileName - The file name (without extension)
28
- * @param options - Validation options
29
- * @returns The validated, resolved file path
30
- * @throws PathValidationError if validation fails
31
- */
32
- export declare function constructValidatedPath(basePath: string, fileName: string, options?: PathValidationOptions): string;
33
- /**
34
- * Validate binary content
35
- * @param content - The content to validate
36
- * @param fieldName - Human-readable field name for error messages
37
- * @throws PathValidationError if content appears to be binary
38
- */
39
- export declare function validateTextContent(content: string, fieldName?: string): void;
40
- //# sourceMappingURL=path-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-validation.d.ts","sourceRoot":"","sources":["../../src/utils/path-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aACC,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,GAAE,MAAgC;CAIpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI,CAmB/E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAkCR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,IAAI,CAQxF"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Path Validation Utilities
3
- *
4
- * Provides secure path validation for file operations.
5
- * Prevents path traversal attacks and validates file names.
6
- */
7
- import * as path from 'path';
8
- export class PathValidationError extends Error {
9
- code;
10
- constructor(message, code = 'PATH_VALIDATION_ERROR') {
11
- super(message);
12
- this.code = code;
13
- this.name = 'PathValidationError';
14
- }
15
- }
16
- /**
17
- * Validate a file/document name for security issues
18
- * @param name - The name to validate
19
- * @param fieldName - Human-readable field name for error messages
20
- * @throws PathValidationError if validation fails
21
- */
22
- export function validateFileName(name, fieldName = 'name') {
23
- if (!name || typeof name !== 'string') {
24
- throw new PathValidationError(`Invalid ${fieldName}: must be a non-empty string`, 'INVALID_TYPE');
25
- }
26
- // Prevent null bytes
27
- if (name.includes('\0') || name.includes('\x00')) {
28
- throw new PathValidationError(`Invalid ${fieldName}: contains null bytes`, 'NULL_BYTES');
29
- }
30
- // Prevent path traversal sequences
31
- if (name.includes('..') || name.includes('/') || name.includes('\\')) {
32
- throw new PathValidationError(`Invalid ${fieldName}: contains path traversal sequences`, 'PATH_TRAVERSAL');
33
- }
34
- // Only allow safe characters
35
- if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
36
- throw new PathValidationError(`Invalid ${fieldName}: contains invalid characters`, 'INVALID_CHARACTERS');
37
- }
38
- }
39
- /**
40
- * Construct and validate a file path within a base directory
41
- * @param basePath - The base directory path
42
- * @param fileName - The file name (without extension)
43
- * @param options - Validation options
44
- * @returns The validated, resolved file path
45
- * @throws PathValidationError if validation fails
46
- */
47
- export function constructValidatedPath(basePath, fileName, options = {}) {
48
- const { allowedExtensions = ['.md'], normalizeToLowerCase = true } = options;
49
- // Validate the file name first
50
- validateFileName(fileName, 'file name');
51
- // Normalize if requested
52
- const normalizedName = normalizeToLowerCase ? fileName.toLowerCase() : fileName;
53
- // Determine extension (use first allowed extension by default)
54
- const extension = allowedExtensions[0] ?? '.md';
55
- // Construct the path
56
- const filePath = path.join(basePath, `${normalizedName}${extension}`);
57
- const resolvedPath = path.resolve(filePath);
58
- const resolvedBasePath = path.resolve(basePath);
59
- // Ensure the path is within the base directory
60
- if (!resolvedPath.startsWith(resolvedBasePath)) {
61
- throw new PathValidationError('Invalid file name: path outside allowed directory', 'OUTSIDE_BASE_DIR');
62
- }
63
- // Ensure the file has the correct extension
64
- const hasValidExtension = allowedExtensions.some(ext => resolvedPath.toLowerCase().endsWith(ext.toLowerCase()));
65
- if (!hasValidExtension) {
66
- throw new PathValidationError(`Invalid file name: must reference a ${allowedExtensions.join(' or ')} file`, 'INVALID_EXTENSION');
67
- }
68
- return resolvedPath;
69
- }
70
- /**
71
- * Validate binary content
72
- * @param content - The content to validate
73
- * @param fieldName - Human-readable field name for error messages
74
- * @throws PathValidationError if content appears to be binary
75
- */
76
- export function validateTextContent(content, fieldName = 'content') {
77
- if (!content.trim()) {
78
- throw new PathValidationError(`Empty ${fieldName}`, 'EMPTY_CONTENT');
79
- }
80
- if (content.includes('\0')) {
81
- throw new PathValidationError(`Invalid ${fieldName}: contains binary data`, 'BINARY_CONTENT');
82
- }
83
- }
84
- //# sourceMappingURL=path-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-validation.js","sourceRoot":"","sources":["../../src/utils/path-validation.ts"],"names":[],"mappings":"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"}