@unchainedshop/api 4.0.0-rc.3 → 4.0.0-rc.4

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 (459) hide show
  1. package/lib/locale-context.d.ts.map +1 -1
  2. package/lib/locale-context.js +2 -2
  3. package/lib/locale-context.js.map +1 -1
  4. package/lib/mcp/index.d.ts.map +1 -1
  5. package/lib/mcp/index.js +54 -6
  6. package/lib/mcp/index.js.map +1 -1
  7. package/lib/mcp/tools/assortment/addAssortmentFilterHandler.d.ts +28 -0
  8. package/lib/mcp/tools/assortment/addAssortmentFilterHandler.d.ts.map +1 -0
  9. package/lib/mcp/tools/assortment/addAssortmentFilterHandler.js +57 -0
  10. package/lib/mcp/tools/assortment/addAssortmentFilterHandler.js.map +1 -0
  11. package/lib/mcp/tools/assortment/addAssortmentLinkHandler.d.ts +28 -0
  12. package/lib/mcp/tools/assortment/addAssortmentLinkHandler.d.ts.map +1 -0
  13. package/lib/mcp/tools/assortment/addAssortmentLinkHandler.js +56 -0
  14. package/lib/mcp/tools/assortment/addAssortmentLinkHandler.js.map +1 -0
  15. package/lib/mcp/tools/assortment/addAssortmentMediaUploadHandler.d.ts +28 -0
  16. package/lib/mcp/tools/assortment/addAssortmentMediaUploadHandler.d.ts.map +1 -0
  17. package/lib/mcp/tools/assortment/addAssortmentMediaUploadHandler.js +62 -0
  18. package/lib/mcp/tools/assortment/addAssortmentMediaUploadHandler.js.map +1 -0
  19. package/lib/mcp/tools/assortment/addAssortmentProductHandler.d.ts +28 -0
  20. package/lib/mcp/tools/assortment/addAssortmentProductHandler.d.ts.map +1 -0
  21. package/lib/mcp/tools/assortment/addAssortmentProductHandler.js +53 -0
  22. package/lib/mcp/tools/assortment/addAssortmentProductHandler.js.map +1 -0
  23. package/lib/mcp/tools/assortment/assortmentChildrenHandler.d.ts +24 -0
  24. package/lib/mcp/tools/assortment/assortmentChildrenHandler.d.ts.map +1 -0
  25. package/lib/mcp/tools/assortment/assortmentChildrenHandler.js +43 -0
  26. package/lib/mcp/tools/assortment/assortmentChildrenHandler.js.map +1 -0
  27. package/lib/mcp/tools/assortment/assortmentFiltersHandler.d.ts +20 -0
  28. package/lib/mcp/tools/assortment/assortmentFiltersHandler.d.ts.map +1 -0
  29. package/lib/mcp/tools/assortment/assortmentFiltersHandler.js +37 -0
  30. package/lib/mcp/tools/assortment/assortmentFiltersHandler.js.map +1 -0
  31. package/lib/mcp/tools/assortment/assortmentHandler.d.ts +30 -0
  32. package/lib/mcp/tools/assortment/assortmentHandler.d.ts.map +1 -0
  33. package/lib/mcp/tools/assortment/assortmentHandler.js +52 -0
  34. package/lib/mcp/tools/assortment/assortmentHandler.js.map +1 -0
  35. package/lib/mcp/tools/assortment/assortmentLinksHandler.d.ts +20 -0
  36. package/lib/mcp/tools/assortment/assortmentLinksHandler.d.ts.map +1 -0
  37. package/lib/mcp/tools/assortment/assortmentLinksHandler.js +49 -0
  38. package/lib/mcp/tools/assortment/assortmentLinksHandler.js.map +1 -0
  39. package/lib/mcp/tools/assortment/assortmentProductsHandler.d.ts +24 -0
  40. package/lib/mcp/tools/assortment/assortmentProductsHandler.d.ts.map +1 -0
  41. package/lib/mcp/tools/assortment/assortmentProductsHandler.js +44 -0
  42. package/lib/mcp/tools/assortment/assortmentProductsHandler.js.map +1 -0
  43. package/lib/mcp/tools/assortment/assortmentsCountHandler.d.ts +36 -0
  44. package/lib/mcp/tools/assortment/assortmentsCountHandler.d.ts.map +1 -0
  45. package/lib/mcp/tools/assortment/assortmentsCountHandler.js +47 -0
  46. package/lib/mcp/tools/assortment/assortmentsCountHandler.js.map +1 -0
  47. package/lib/mcp/tools/assortment/assortmentsHandler.d.ts +82 -0
  48. package/lib/mcp/tools/assortment/assortmentsHandler.d.ts.map +1 -0
  49. package/lib/mcp/tools/assortment/assortmentsHandler.js +57 -0
  50. package/lib/mcp/tools/assortment/assortmentsHandler.js.map +1 -0
  51. package/lib/mcp/tools/assortment/createAssortmentHandler.d.ts +125 -0
  52. package/lib/mcp/tools/assortment/createAssortmentHandler.d.ts.map +1 -0
  53. package/lib/mcp/tools/assortment/createAssortmentHandler.js +57 -0
  54. package/lib/mcp/tools/assortment/createAssortmentHandler.js.map +1 -0
  55. package/lib/mcp/tools/assortment/removeAssortmentFilterHandler.d.ts +20 -0
  56. package/lib/mcp/tools/assortment/removeAssortmentFilterHandler.d.ts.map +1 -0
  57. package/lib/mcp/tools/assortment/removeAssortmentFilterHandler.js +39 -0
  58. package/lib/mcp/tools/assortment/removeAssortmentFilterHandler.js.map +1 -0
  59. package/lib/mcp/tools/assortment/removeAssortmentHandler.d.ts +20 -0
  60. package/lib/mcp/tools/assortment/removeAssortmentHandler.d.ts.map +1 -0
  61. package/lib/mcp/tools/assortment/removeAssortmentHandler.js +38 -0
  62. package/lib/mcp/tools/assortment/removeAssortmentHandler.js.map +1 -0
  63. package/lib/mcp/tools/assortment/removeAssortmentLinkHandler.d.ts +20 -0
  64. package/lib/mcp/tools/assortment/removeAssortmentLinkHandler.d.ts.map +1 -0
  65. package/lib/mcp/tools/assortment/removeAssortmentLinkHandler.js +39 -0
  66. package/lib/mcp/tools/assortment/removeAssortmentLinkHandler.js.map +1 -0
  67. package/lib/mcp/tools/assortment/removeAssortmentMediaHandler.d.ts +20 -0
  68. package/lib/mcp/tools/assortment/removeAssortmentMediaHandler.d.ts.map +1 -0
  69. package/lib/mcp/tools/assortment/removeAssortmentMediaHandler.js +40 -0
  70. package/lib/mcp/tools/assortment/removeAssortmentMediaHandler.js.map +1 -0
  71. package/lib/mcp/tools/assortment/removeAssortmentProductHandler.d.ts +20 -0
  72. package/lib/mcp/tools/assortment/removeAssortmentProductHandler.d.ts.map +1 -0
  73. package/lib/mcp/tools/assortment/removeAssortmentProductHandler.js +39 -0
  74. package/lib/mcp/tools/assortment/removeAssortmentProductHandler.js.map +1 -0
  75. package/lib/mcp/tools/assortment/reorderAssortmentFiltersHandler.d.ts +54 -0
  76. package/lib/mcp/tools/assortment/reorderAssortmentFiltersHandler.d.ts.map +1 -0
  77. package/lib/mcp/tools/assortment/reorderAssortmentFiltersHandler.js +42 -0
  78. package/lib/mcp/tools/assortment/reorderAssortmentFiltersHandler.js.map +1 -0
  79. package/lib/mcp/tools/assortment/reorderAssortmentLinksHandler.d.ts +54 -0
  80. package/lib/mcp/tools/assortment/reorderAssortmentLinksHandler.d.ts.map +1 -0
  81. package/lib/mcp/tools/assortment/reorderAssortmentLinksHandler.js +42 -0
  82. package/lib/mcp/tools/assortment/reorderAssortmentLinksHandler.js.map +1 -0
  83. package/lib/mcp/tools/assortment/reorderAssortmentMediaHandler.d.ts +54 -0
  84. package/lib/mcp/tools/assortment/reorderAssortmentMediaHandler.d.ts.map +1 -0
  85. package/lib/mcp/tools/assortment/reorderAssortmentMediaHandler.js +42 -0
  86. package/lib/mcp/tools/assortment/reorderAssortmentMediaHandler.js.map +1 -0
  87. package/lib/mcp/tools/assortment/reorderAssortmentProductsHandler.d.ts +54 -0
  88. package/lib/mcp/tools/assortment/reorderAssortmentProductsHandler.d.ts.map +1 -0
  89. package/lib/mcp/tools/assortment/reorderAssortmentProductsHandler.js +42 -0
  90. package/lib/mcp/tools/assortment/reorderAssortmentProductsHandler.js.map +1 -0
  91. package/lib/mcp/tools/assortment/searchAssortmentProductHandler.d.ts +68 -0
  92. package/lib/mcp/tools/assortment/searchAssortmentProductHandler.d.ts.map +1 -0
  93. package/lib/mcp/tools/assortment/searchAssortmentProductHandler.js +75 -0
  94. package/lib/mcp/tools/assortment/searchAssortmentProductHandler.js.map +1 -0
  95. package/lib/mcp/tools/assortment/setBaseAssortmentHandler.d.ts +20 -0
  96. package/lib/mcp/tools/assortment/setBaseAssortmentHandler.d.ts.map +1 -0
  97. package/lib/mcp/tools/assortment/setBaseAssortmentHandler.js +39 -0
  98. package/lib/mcp/tools/assortment/setBaseAssortmentHandler.js.map +1 -0
  99. package/lib/mcp/tools/assortment/translatedAssortmentMediaTextsHandler.d.ts +20 -0
  100. package/lib/mcp/tools/assortment/translatedAssortmentMediaTextsHandler.d.ts.map +1 -0
  101. package/lib/mcp/tools/assortment/translatedAssortmentMediaTextsHandler.js +35 -0
  102. package/lib/mcp/tools/assortment/translatedAssortmentMediaTextsHandler.js.map +1 -0
  103. package/lib/mcp/tools/assortment/translatedAssortmentTextsHandler.d.ts +20 -0
  104. package/lib/mcp/tools/assortment/translatedAssortmentTextsHandler.d.ts.map +1 -0
  105. package/lib/mcp/tools/assortment/translatedAssortmentTextsHandler.js +33 -0
  106. package/lib/mcp/tools/assortment/translatedAssortmentTextsHandler.js.map +1 -0
  107. package/lib/mcp/tools/assortment/updateAssortmentHandler.d.ts +80 -0
  108. package/lib/mcp/tools/assortment/updateAssortmentHandler.d.ts.map +1 -0
  109. package/lib/mcp/tools/assortment/updateAssortmentHandler.js +57 -0
  110. package/lib/mcp/tools/assortment/updateAssortmentHandler.js.map +1 -0
  111. package/lib/mcp/tools/assortment/updateAssortmentMediaTextsHandler.d.ts +69 -0
  112. package/lib/mcp/tools/assortment/updateAssortmentMediaTextsHandler.d.ts.map +1 -0
  113. package/lib/mcp/tools/assortment/updateAssortmentMediaTextsHandler.js +48 -0
  114. package/lib/mcp/tools/assortment/updateAssortmentMediaTextsHandler.js.map +1 -0
  115. package/lib/mcp/tools/country/countriesCountHandler.d.ts +24 -0
  116. package/lib/mcp/tools/country/countriesCountHandler.d.ts.map +1 -0
  117. package/lib/mcp/tools/country/countriesCountHandler.js +41 -0
  118. package/lib/mcp/tools/country/countriesCountHandler.js.map +1 -0
  119. package/lib/mcp/tools/country/countriesHandler.d.ts +60 -0
  120. package/lib/mcp/tools/country/countriesHandler.d.ts.map +1 -0
  121. package/lib/mcp/tools/country/countriesHandler.js +48 -0
  122. package/lib/mcp/tools/country/countriesHandler.js.map +1 -0
  123. package/lib/mcp/tools/country/countryHandler.d.ts +20 -0
  124. package/lib/mcp/tools/country/countryHandler.d.ts.map +1 -0
  125. package/lib/mcp/tools/country/countryHandler.js +34 -0
  126. package/lib/mcp/tools/country/countryHandler.js.map +1 -0
  127. package/lib/mcp/tools/country/createCountryHandler.d.ts +36 -0
  128. package/lib/mcp/tools/country/createCountryHandler.d.ts.map +1 -0
  129. package/lib/mcp/tools/country/createCountryHandler.js +41 -0
  130. package/lib/mcp/tools/country/createCountryHandler.js.map +1 -0
  131. package/lib/mcp/tools/country/removeCountryHandler.d.ts +20 -0
  132. package/lib/mcp/tools/country/removeCountryHandler.d.ts.map +1 -0
  133. package/lib/mcp/tools/country/removeCountryHandler.js +37 -0
  134. package/lib/mcp/tools/country/removeCountryHandler.js.map +1 -0
  135. package/lib/mcp/tools/country/updateCountryHandler.d.ts +56 -0
  136. package/lib/mcp/tools/country/updateCountryHandler.d.ts.map +1 -0
  137. package/lib/mcp/tools/country/updateCountryHandler.js +53 -0
  138. package/lib/mcp/tools/country/updateCountryHandler.js.map +1 -0
  139. package/lib/mcp/tools/currency/createCurrencyHandler.d.ts +52 -0
  140. package/lib/mcp/tools/currency/createCurrencyHandler.d.ts.map +1 -0
  141. package/lib/mcp/tools/currency/createCurrencyHandler.js +48 -0
  142. package/lib/mcp/tools/currency/createCurrencyHandler.js.map +1 -0
  143. package/lib/mcp/tools/currency/currenciesCountHandler.d.ts +24 -0
  144. package/lib/mcp/tools/currency/currenciesCountHandler.d.ts.map +1 -0
  145. package/lib/mcp/tools/currency/currenciesCountHandler.js +40 -0
  146. package/lib/mcp/tools/currency/currenciesCountHandler.js.map +1 -0
  147. package/lib/mcp/tools/currency/currenciesHandler.d.ts +60 -0
  148. package/lib/mcp/tools/currency/currenciesHandler.d.ts.map +1 -0
  149. package/lib/mcp/tools/currency/currenciesHandler.js +50 -0
  150. package/lib/mcp/tools/currency/currenciesHandler.js.map +1 -0
  151. package/lib/mcp/tools/currency/currencyHandler.d.ts +20 -0
  152. package/lib/mcp/tools/currency/currencyHandler.d.ts.map +1 -0
  153. package/lib/mcp/tools/currency/currencyHandler.js +34 -0
  154. package/lib/mcp/tools/currency/currencyHandler.js.map +1 -0
  155. package/lib/mcp/tools/currency/removeCurrencyHandler.d.ts +20 -0
  156. package/lib/mcp/tools/currency/removeCurrencyHandler.d.ts.map +1 -0
  157. package/lib/mcp/tools/currency/removeCurrencyHandler.js +37 -0
  158. package/lib/mcp/tools/currency/removeCurrencyHandler.js.map +1 -0
  159. package/lib/mcp/tools/currency/updateCurrencyHandler.d.ts +56 -0
  160. package/lib/mcp/tools/currency/updateCurrencyHandler.d.ts.map +1 -0
  161. package/lib/mcp/tools/currency/updateCurrencyHandler.js +48 -0
  162. package/lib/mcp/tools/currency/updateCurrencyHandler.js.map +1 -0
  163. package/lib/mcp/tools/filter/createFilterHandler.d.ts +114 -0
  164. package/lib/mcp/tools/filter/createFilterHandler.d.ts.map +1 -0
  165. package/lib/mcp/tools/filter/createFilterHandler.js +53 -0
  166. package/lib/mcp/tools/filter/createFilterHandler.js.map +1 -0
  167. package/lib/mcp/tools/filter/createFilterOptionHandler.d.ts +73 -0
  168. package/lib/mcp/tools/filter/createFilterOptionHandler.d.ts.map +1 -0
  169. package/lib/mcp/tools/filter/createFilterOptionHandler.js +53 -0
  170. package/lib/mcp/tools/filter/createFilterOptionHandler.js.map +1 -0
  171. package/lib/mcp/tools/filter/getFilterHandler.d.ts +20 -0
  172. package/lib/mcp/tools/filter/getFilterHandler.d.ts.map +1 -0
  173. package/lib/mcp/tools/filter/getFilterHandler.js +38 -0
  174. package/lib/mcp/tools/filter/getFilterHandler.js.map +1 -0
  175. package/lib/mcp/tools/filter/getFiltersHandler.d.ts +60 -0
  176. package/lib/mcp/tools/filter/getFiltersHandler.d.ts.map +1 -0
  177. package/lib/mcp/tools/filter/getFiltersHandler.js +50 -0
  178. package/lib/mcp/tools/filter/getFiltersHandler.js.map +1 -0
  179. package/lib/mcp/tools/filter/removeFilterHandler.d.ts +20 -0
  180. package/lib/mcp/tools/filter/removeFilterHandler.d.ts.map +1 -0
  181. package/lib/mcp/tools/filter/removeFilterHandler.js +39 -0
  182. package/lib/mcp/tools/filter/removeFilterHandler.js.map +1 -0
  183. package/lib/mcp/tools/filter/removeFilterOptionHandler.d.ts +24 -0
  184. package/lib/mcp/tools/filter/removeFilterOptionHandler.d.ts.map +1 -0
  185. package/lib/mcp/tools/filter/removeFilterOptionHandler.js +44 -0
  186. package/lib/mcp/tools/filter/removeFilterOptionHandler.js.map +1 -0
  187. package/lib/mcp/tools/filter/translatedFilterTextsHandler.d.ts +24 -0
  188. package/lib/mcp/tools/filter/translatedFilterTextsHandler.d.ts.map +1 -0
  189. package/lib/mcp/tools/filter/translatedFilterTextsHandler.js +42 -0
  190. package/lib/mcp/tools/filter/translatedFilterTextsHandler.js.map +1 -0
  191. package/lib/mcp/tools/filter/updateFilterHandler.d.ts +58 -0
  192. package/lib/mcp/tools/filter/updateFilterHandler.d.ts.map +1 -0
  193. package/lib/mcp/tools/filter/updateFilterHandler.js +44 -0
  194. package/lib/mcp/tools/filter/updateFilterHandler.js.map +1 -0
  195. package/lib/mcp/tools/filter/updateFilterTextsHandler.d.ts +73 -0
  196. package/lib/mcp/tools/filter/updateFilterTextsHandler.d.ts.map +1 -0
  197. package/lib/mcp/tools/filter/updateFilterTextsHandler.js +46 -0
  198. package/lib/mcp/tools/filter/updateFilterTextsHandler.js.map +1 -0
  199. package/lib/mcp/tools/index.d.ts +83 -35
  200. package/lib/mcp/tools/index.d.ts.map +1 -1
  201. package/lib/mcp/tools/index.js +83 -35
  202. package/lib/mcp/tools/index.js.map +1 -1
  203. package/lib/mcp/tools/language/createLanguageHandler.d.ts +36 -0
  204. package/lib/mcp/tools/language/createLanguageHandler.d.ts.map +1 -0
  205. package/lib/mcp/tools/language/createLanguageHandler.js +39 -0
  206. package/lib/mcp/tools/language/createLanguageHandler.js.map +1 -0
  207. package/lib/mcp/tools/language/languageHandler.d.ts +20 -0
  208. package/lib/mcp/tools/language/languageHandler.d.ts.map +1 -0
  209. package/lib/mcp/tools/language/languageHandler.js +31 -0
  210. package/lib/mcp/tools/language/languageHandler.js.map +1 -0
  211. package/lib/mcp/tools/language/languagesCountHandler.d.ts +24 -0
  212. package/lib/mcp/tools/language/languagesCountHandler.d.ts.map +1 -0
  213. package/lib/mcp/tools/language/languagesCountHandler.js +36 -0
  214. package/lib/mcp/tools/language/languagesCountHandler.js.map +1 -0
  215. package/lib/mcp/tools/language/languagesHandler.d.ts +60 -0
  216. package/lib/mcp/tools/language/languagesHandler.d.ts.map +1 -0
  217. package/lib/mcp/tools/language/languagesHandler.js +42 -0
  218. package/lib/mcp/tools/language/languagesHandler.js.map +1 -0
  219. package/lib/mcp/tools/language/removeLanguageHandler.d.ts +20 -0
  220. package/lib/mcp/tools/language/removeLanguageHandler.d.ts.map +1 -0
  221. package/lib/mcp/tools/language/removeLanguageHandler.js +35 -0
  222. package/lib/mcp/tools/language/removeLanguageHandler.js.map +1 -0
  223. package/lib/mcp/tools/language/updateLanguageHandler.d.ts +48 -0
  224. package/lib/mcp/tools/language/updateLanguageHandler.d.ts.map +1 -0
  225. package/lib/mcp/tools/language/updateLanguageHandler.js +40 -0
  226. package/lib/mcp/tools/language/updateLanguageHandler.js.map +1 -0
  227. package/lib/mcp/tools/product/addProductAssignmentHandler.d.ts +52 -0
  228. package/lib/mcp/tools/product/addProductAssignmentHandler.d.ts.map +1 -0
  229. package/lib/mcp/tools/product/addProductAssignmentHandler.js +97 -0
  230. package/lib/mcp/tools/product/addProductAssignmentHandler.js.map +1 -0
  231. package/lib/mcp/tools/product/addProductMediaUploadHandler.d.ts +28 -0
  232. package/lib/mcp/tools/product/addProductMediaUploadHandler.d.ts.map +1 -0
  233. package/lib/mcp/tools/product/addProductMediaUploadHandler.js +62 -0
  234. package/lib/mcp/tools/product/addProductMediaUploadHandler.js.map +1 -0
  235. package/lib/mcp/tools/product/createProductHandler.d.ts +138 -0
  236. package/lib/mcp/tools/product/createProductHandler.d.ts.map +1 -0
  237. package/lib/mcp/tools/product/createProductHandler.js +60 -0
  238. package/lib/mcp/tools/product/createProductHandler.js.map +1 -0
  239. package/lib/mcp/tools/product/createProductVariationHandler.d.ts +84 -0
  240. package/lib/mcp/tools/product/createProductVariationHandler.d.ts.map +1 -0
  241. package/lib/mcp/tools/product/createProductVariationHandler.js +73 -0
  242. package/lib/mcp/tools/product/createProductVariationHandler.js.map +1 -0
  243. package/lib/mcp/tools/product/createProductVariationOptionHandler.d.ts +60 -0
  244. package/lib/mcp/tools/product/createProductVariationOptionHandler.d.ts.map +1 -0
  245. package/lib/mcp/tools/product/createProductVariationOptionHandler.js +59 -0
  246. package/lib/mcp/tools/product/createProductVariationOptionHandler.js.map +1 -0
  247. package/lib/mcp/tools/product/getProduct.d.ts +48 -0
  248. package/lib/mcp/tools/product/getProduct.d.ts.map +1 -0
  249. package/lib/mcp/tools/product/getProduct.js +61 -0
  250. package/lib/mcp/tools/product/getProduct.js.map +1 -0
  251. package/lib/mcp/tools/product/listProducts.d.ts +112 -0
  252. package/lib/mcp/tools/product/listProducts.d.ts.map +1 -0
  253. package/lib/mcp/tools/product/listProducts.js +110 -0
  254. package/lib/mcp/tools/product/listProducts.js.map +1 -0
  255. package/lib/mcp/tools/product/productReviewsCountHandler.d.ts +20 -0
  256. package/lib/mcp/tools/product/productReviewsCountHandler.d.ts.map +1 -0
  257. package/lib/mcp/tools/product/productReviewsCountHandler.js +30 -0
  258. package/lib/mcp/tools/product/productReviewsCountHandler.js.map +1 -0
  259. package/lib/mcp/tools/product/productReviewsHandler.d.ts +56 -0
  260. package/lib/mcp/tools/product/productReviewsHandler.d.ts.map +1 -0
  261. package/lib/mcp/tools/product/productReviewsHandler.js +45 -0
  262. package/lib/mcp/tools/product/productReviewsHandler.js.map +1 -0
  263. package/lib/mcp/tools/product/productsCountHandler.d.ts +32 -0
  264. package/lib/mcp/tools/product/productsCountHandler.d.ts.map +1 -0
  265. package/lib/mcp/tools/product/productsCountHandler.js +33 -0
  266. package/lib/mcp/tools/product/productsCountHandler.js.map +1 -0
  267. package/lib/mcp/tools/product/publishProduct.d.ts +20 -0
  268. package/lib/mcp/tools/product/publishProduct.d.ts.map +1 -0
  269. package/lib/mcp/tools/product/publishProduct.js +40 -0
  270. package/lib/mcp/tools/product/publishProduct.js.map +1 -0
  271. package/lib/mcp/tools/product/removeProductAssignmentHandler.d.ts +48 -0
  272. package/lib/mcp/tools/product/removeProductAssignmentHandler.d.ts.map +1 -0
  273. package/lib/mcp/tools/product/removeProductAssignmentHandler.js +51 -0
  274. package/lib/mcp/tools/product/removeProductAssignmentHandler.js.map +1 -0
  275. package/lib/mcp/tools/product/removeProductHandler.d.ts +20 -0
  276. package/lib/mcp/tools/product/removeProductHandler.d.ts.map +1 -0
  277. package/lib/mcp/tools/product/removeProductHandler.js +34 -0
  278. package/lib/mcp/tools/product/removeProductHandler.js.map +1 -0
  279. package/lib/mcp/tools/product/removeProductMediaHandler.d.ts +20 -0
  280. package/lib/mcp/tools/product/removeProductMediaHandler.d.ts.map +1 -0
  281. package/lib/mcp/tools/product/removeProductMediaHandler.js +42 -0
  282. package/lib/mcp/tools/product/removeProductMediaHandler.js.map +1 -0
  283. package/lib/mcp/tools/product/removeProductVariationHandler.d.ts +20 -0
  284. package/lib/mcp/tools/product/removeProductVariationHandler.d.ts.map +1 -0
  285. package/lib/mcp/tools/product/removeProductVariationHandler.js +43 -0
  286. package/lib/mcp/tools/product/removeProductVariationHandler.js.map +1 -0
  287. package/lib/mcp/tools/product/removeProductVariationOptionHandler.d.ts +24 -0
  288. package/lib/mcp/tools/product/removeProductVariationOptionHandler.d.ts.map +1 -0
  289. package/lib/mcp/tools/product/removeProductVariationOptionHandler.js +47 -0
  290. package/lib/mcp/tools/product/removeProductVariationOptionHandler.js.map +1 -0
  291. package/lib/mcp/tools/product/reorderProductMediaHandler.d.ts +44 -0
  292. package/lib/mcp/tools/product/reorderProductMediaHandler.d.ts.map +1 -0
  293. package/lib/mcp/tools/product/reorderProductMediaHandler.js +39 -0
  294. package/lib/mcp/tools/product/reorderProductMediaHandler.js.map +1 -0
  295. package/lib/mcp/tools/product/translatedProductMediaTextsHandler.d.ts +20 -0
  296. package/lib/mcp/tools/product/translatedProductMediaTextsHandler.d.ts.map +1 -0
  297. package/lib/mcp/tools/product/translatedProductMediaTextsHandler.js +33 -0
  298. package/lib/mcp/tools/product/translatedProductMediaTextsHandler.js.map +1 -0
  299. package/lib/mcp/tools/product/translatedProductTextsHandler.d.ts +20 -0
  300. package/lib/mcp/tools/product/translatedProductTextsHandler.d.ts.map +1 -0
  301. package/lib/mcp/tools/product/translatedProductTextsHandler.js +33 -0
  302. package/lib/mcp/tools/product/translatedProductTextsHandler.js.map +1 -0
  303. package/lib/mcp/tools/product/translatedProductVariationTextsHandler.d.ts +24 -0
  304. package/lib/mcp/tools/product/translatedProductVariationTextsHandler.d.ts.map +1 -0
  305. package/lib/mcp/tools/product/translatedProductVariationTextsHandler.js +42 -0
  306. package/lib/mcp/tools/product/translatedProductVariationTextsHandler.js.map +1 -0
  307. package/lib/mcp/tools/product/unPublishProduct.d.ts +20 -0
  308. package/lib/mcp/tools/product/unPublishProduct.d.ts.map +1 -0
  309. package/lib/mcp/tools/product/unPublishProduct.js +40 -0
  310. package/lib/mcp/tools/product/unPublishProduct.js.map +1 -0
  311. package/lib/mcp/tools/product/updateProduct.d.ts +56 -0
  312. package/lib/mcp/tools/product/updateProduct.d.ts.map +1 -0
  313. package/lib/mcp/tools/product/updateProduct.js +44 -0
  314. package/lib/mcp/tools/product/updateProduct.js.map +1 -0
  315. package/lib/mcp/tools/product/updateProductCommerceHandler.d.ts +166 -0
  316. package/lib/mcp/tools/product/updateProductCommerceHandler.d.ts.map +1 -0
  317. package/lib/mcp/tools/product/updateProductCommerceHandler.js +64 -0
  318. package/lib/mcp/tools/product/updateProductCommerceHandler.js.map +1 -0
  319. package/lib/mcp/tools/product/updateProductMediaTextsHandler.d.ts +56 -0
  320. package/lib/mcp/tools/product/updateProductMediaTextsHandler.d.ts.map +1 -0
  321. package/lib/mcp/tools/product/updateProductMediaTextsHandler.js +48 -0
  322. package/lib/mcp/tools/product/updateProductMediaTextsHandler.js.map +1 -0
  323. package/lib/mcp/tools/product/updateProductPlanHandler.d.ts +72 -0
  324. package/lib/mcp/tools/product/updateProductPlanHandler.d.ts.map +1 -0
  325. package/lib/mcp/tools/product/updateProductPlanHandler.js +51 -0
  326. package/lib/mcp/tools/product/updateProductPlanHandler.js.map +1 -0
  327. package/lib/mcp/tools/product/updateProductSupplyHandler.d.ts +64 -0
  328. package/lib/mcp/tools/product/updateProductSupplyHandler.d.ts.map +1 -0
  329. package/lib/mcp/tools/product/updateProductSupplyHandler.js +52 -0
  330. package/lib/mcp/tools/product/updateProductSupplyHandler.js.map +1 -0
  331. package/lib/mcp/tools/product/updateProductTextsHandler.d.ts +114 -0
  332. package/lib/mcp/tools/product/updateProductTextsHandler.d.ts.map +1 -0
  333. package/lib/mcp/tools/product/updateProductTextsHandler.js +50 -0
  334. package/lib/mcp/tools/product/updateProductTextsHandler.js.map +1 -0
  335. package/lib/mcp/tools/product/updateProductTokenizationHandler.d.ts +72 -0
  336. package/lib/mcp/tools/product/updateProductTokenizationHandler.d.ts.map +1 -0
  337. package/lib/mcp/tools/product/updateProductTokenizationHandler.js +49 -0
  338. package/lib/mcp/tools/product/updateProductTokenizationHandler.js.map +1 -0
  339. package/lib/mcp/tools/product/updateProductWarehousingHandler.d.ts +48 -0
  340. package/lib/mcp/tools/product/updateProductWarehousingHandler.d.ts.map +1 -0
  341. package/lib/mcp/tools/product/updateProductWarehousingHandler.js +45 -0
  342. package/lib/mcp/tools/product/updateProductWarehousingHandler.js.map +1 -0
  343. package/lib/mcp/tools/shopInfoHandler.d.ts +8 -0
  344. package/lib/mcp/tools/shopInfoHandler.d.ts.map +1 -0
  345. package/lib/mcp/tools/shopInfoHandler.js +29 -0
  346. package/lib/mcp/tools/shopInfoHandler.js.map +1 -0
  347. package/lib/mcp/utils/getNormalizedAssortmentDetails.d.ts +21 -0
  348. package/lib/mcp/utils/getNormalizedAssortmentDetails.d.ts.map +1 -0
  349. package/lib/mcp/utils/getNormalizedAssortmentDetails.js +32 -0
  350. package/lib/mcp/utils/getNormalizedAssortmentDetails.js.map +1 -0
  351. package/lib/mcp/utils/getNormalizedFilterDetails.d.ts +25 -0
  352. package/lib/mcp/utils/getNormalizedFilterDetails.d.ts.map +1 -0
  353. package/lib/mcp/utils/getNormalizedFilterDetails.js +19 -0
  354. package/lib/mcp/utils/getNormalizedFilterDetails.js.map +1 -0
  355. package/lib/resolvers/mutations/accounts/createUser.d.ts.map +1 -1
  356. package/lib/resolvers/mutations/accounts/createUser.js +5 -0
  357. package/lib/resolvers/mutations/accounts/createUser.js.map +1 -1
  358. package/lib/resolvers/queries/index.js +1 -1
  359. package/lib/resolvers/queries/index.js.map +1 -1
  360. package/lib/roles/all.d.ts.map +1 -1
  361. package/lib/roles/all.js +10 -0
  362. package/lib/roles/all.js.map +1 -1
  363. package/lib/roles/index.d.ts.map +1 -1
  364. package/lib/roles/index.js +1 -0
  365. package/lib/roles/index.js.map +1 -1
  366. package/package.json +6 -6
  367. package/src/locale-context.ts +2 -7
  368. package/src/mcp/index.ts +410 -5
  369. package/src/mcp/tools/assortment/addAssortmentFilterHandler.ts +62 -0
  370. package/src/mcp/tools/assortment/addAssortmentLinkHandler.ts +63 -0
  371. package/src/mcp/tools/assortment/addAssortmentMediaUploadHandler.ts +79 -0
  372. package/src/mcp/tools/assortment/addAssortmentProductHandler.ts +57 -0
  373. package/src/mcp/tools/assortment/assortmentChildrenHandler.ts +54 -0
  374. package/src/mcp/tools/assortment/assortmentFiltersHandler.ts +46 -0
  375. package/src/mcp/tools/assortment/assortmentHandler.ts +63 -0
  376. package/src/mcp/tools/assortment/assortmentLinksHandler.ts +61 -0
  377. package/src/mcp/tools/assortment/assortmentProductsHandler.ts +56 -0
  378. package/src/mcp/tools/assortment/assortmentsCountHandler.ts +53 -0
  379. package/src/mcp/tools/assortment/assortmentsHandler.ts +67 -0
  380. package/src/mcp/tools/assortment/createAssortmentHandler.ts +71 -0
  381. package/src/mcp/tools/assortment/removeAssortmentFilterHandler.ts +50 -0
  382. package/src/mcp/tools/assortment/removeAssortmentHandler.ts +44 -0
  383. package/src/mcp/tools/assortment/removeAssortmentLinkHandler.ts +47 -0
  384. package/src/mcp/tools/assortment/removeAssortmentMediaHandler.ts +50 -0
  385. package/src/mcp/tools/assortment/removeAssortmentProductHandler.ts +49 -0
  386. package/src/mcp/tools/assortment/reorderAssortmentFiltersHandler.ts +53 -0
  387. package/src/mcp/tools/assortment/reorderAssortmentLinksHandler.ts +53 -0
  388. package/src/mcp/tools/assortment/reorderAssortmentMediaHandler.ts +53 -0
  389. package/src/mcp/tools/assortment/reorderAssortmentProductsHandler.ts +53 -0
  390. package/src/mcp/tools/assortment/searchAssortmentProductHandler.ts +87 -0
  391. package/src/mcp/tools/assortment/setBaseAssortmentHandler.ts +46 -0
  392. package/src/mcp/tools/assortment/translatedAssortmentMediaTextsHandler.ts +47 -0
  393. package/src/mcp/tools/assortment/translatedAssortmentTextsHandler.ts +43 -0
  394. package/src/mcp/tools/assortment/updateAssortmentHandler.ts +64 -0
  395. package/src/mcp/tools/assortment/updateAssortmentMediaTextsHandler.ts +64 -0
  396. package/src/mcp/tools/country/countriesCountHandler.ts +48 -0
  397. package/src/mcp/tools/{countriesHandler.ts → country/countriesHandler.ts} +1 -1
  398. package/src/mcp/tools/{countryHandler.ts → country/countryHandler.ts} +2 -2
  399. package/src/mcp/tools/country/createCountryHandler.ts +47 -0
  400. package/src/mcp/tools/country/removeCountryHandler.ts +46 -0
  401. package/src/mcp/tools/country/updateCountryHandler.ts +60 -0
  402. package/src/mcp/tools/currency/createCurrencyHandler.ts +55 -0
  403. package/src/mcp/tools/currency/currenciesCountHandler.ts +47 -0
  404. package/src/mcp/tools/{currenciesHandler.ts → currency/currenciesHandler.ts} +1 -1
  405. package/src/mcp/tools/{currencyHandler.ts → currency/currencyHandler.ts} +2 -2
  406. package/src/mcp/tools/currency/removeCurrencyHandler.ts +46 -0
  407. package/src/mcp/tools/currency/updateCurrencyHandler.ts +56 -0
  408. package/src/mcp/tools/filter/createFilterHandler.ts +65 -0
  409. package/src/mcp/tools/filter/createFilterOptionHandler.ts +64 -0
  410. package/src/mcp/tools/filter/getFilterHandler.ts +46 -0
  411. package/src/mcp/tools/filter/getFiltersHandler.ts +59 -0
  412. package/src/mcp/tools/filter/removeFilterHandler.ts +45 -0
  413. package/src/mcp/tools/filter/removeFilterOptionHandler.ts +50 -0
  414. package/src/mcp/tools/filter/translatedFilterTextsHandler.ts +53 -0
  415. package/src/mcp/tools/filter/updateFilterHandler.ts +51 -0
  416. package/src/mcp/tools/filter/updateFilterTextsHandler.ts +54 -0
  417. package/src/mcp/tools/index.ts +85 -35
  418. package/src/mcp/tools/{createLanguageHandler.ts → language/createLanguageHandler.ts} +1 -1
  419. package/src/mcp/tools/{languageHandler.ts → language/languageHandler.ts} +1 -1
  420. package/src/mcp/tools/language/languagesCountHandler.ts +43 -0
  421. package/src/mcp/tools/{languagesHandler.ts → language/languagesHandler.ts} +1 -1
  422. package/src/mcp/tools/{removeLanguageHandler.ts → language/removeLanguageHandler.ts} +2 -2
  423. package/src/mcp/tools/{updateLanguageHandler.ts → language/updateLanguageHandler.ts} +2 -2
  424. package/src/mcp/tools/{addProductAssignmentHandler.ts → product/addProductAssignmentHandler.ts} +3 -3
  425. package/src/mcp/tools/{addProductMediaUploadHandler.ts → product/addProductMediaUploadHandler.ts} +2 -2
  426. package/src/mcp/tools/{createProduct.ts → product/createProductHandler.ts} +2 -3
  427. package/src/mcp/tools/{createProductVariationHandler.ts → product/createProductVariationHandler.ts} +4 -4
  428. package/src/mcp/tools/{createProductVariationOptionHandler.ts → product/createProductVariationOptionHandler.ts} +4 -4
  429. package/src/mcp/tools/{getProduct.ts → product/getProduct.ts} +2 -2
  430. package/src/mcp/tools/{listProducts.ts → product/listProducts.ts} +3 -3
  431. package/src/mcp/tools/{productReviewsCountHandler.ts → product/productReviewsCountHandler.ts} +1 -1
  432. package/src/mcp/tools/{productReviewsHandler.ts → product/productReviewsHandler.ts} +2 -2
  433. package/src/mcp/tools/{productsCountHandler.ts → product/productsCountHandler.ts} +1 -1
  434. package/src/mcp/tools/{publishProduct.ts → product/publishProduct.ts} +3 -3
  435. package/src/mcp/tools/{removeProductAssignmentHandler.ts → product/removeProductAssignmentHandler.ts} +3 -3
  436. package/src/mcp/tools/{removeProductHandler.ts → product/removeProductHandler.ts} +2 -2
  437. package/src/mcp/tools/{removeProductMediaHandler.ts → product/removeProductMediaHandler.ts} +2 -2
  438. package/src/mcp/tools/{removeProductVariationHandler.ts → product/removeProductVariationHandler.ts} +3 -3
  439. package/src/mcp/tools/{removeProductVariationOptionHandler.ts → product/removeProductVariationOptionHandler.ts} +3 -3
  440. package/src/mcp/tools/{reorderProductMediaHandler.ts → product/reorderProductMediaHandler.ts} +2 -2
  441. package/src/mcp/tools/product/translatedProductMediaTextsHandler.ts +43 -0
  442. package/src/mcp/tools/product/translatedProductTextsHandler.ts +43 -0
  443. package/src/mcp/tools/product/translatedProductVariationTextsHandler.ts +57 -0
  444. package/src/mcp/tools/{unPublishProduct.ts → product/unPublishProduct.ts} +3 -3
  445. package/src/mcp/tools/{updateProduct.ts → product/updateProduct.ts} +3 -3
  446. package/src/mcp/tools/{updateProductCommerceHandler.ts → product/updateProductCommerceHandler.ts} +2 -2
  447. package/src/mcp/tools/{updateProductMediaTextsHandler.ts → product/updateProductMediaTextsHandler.ts} +8 -3
  448. package/src/mcp/tools/{updateProductPlanHandler.ts → product/updateProductPlanHandler.ts} +3 -3
  449. package/src/mcp/tools/{updateProductSupplyHandler.ts → product/updateProductSupplyHandler.ts} +3 -3
  450. package/src/mcp/tools/{updateProductTextsHandler.ts → product/updateProductTextsHandler.ts} +3 -3
  451. package/src/mcp/tools/{updateProductTokenizationHandler.ts → product/updateProductTokenizationHandler.ts} +3 -3
  452. package/src/mcp/tools/{updateProductWarehousingHandler.ts → product/updateProductWarehousingHandler.ts} +3 -3
  453. package/src/mcp/tools/shopInfoHandler.ts +33 -0
  454. package/src/mcp/utils/getNormalizedAssortmentDetails.ts +40 -0
  455. package/src/mcp/utils/getNormalizedFilterDetails.ts +23 -0
  456. package/src/resolvers/mutations/accounts/createUser.ts +6 -0
  457. package/src/resolvers/queries/index.ts +1 -1
  458. package/src/roles/all.ts +10 -0
  459. package/src/roles/index.ts +1 -0
@@ -0,0 +1,50 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+ import { AssortmentMediaNotFoundError } from '../../../errors.js';
5
+
6
+ export const RemoveAssortmentMediaSchema = {
7
+ assortmentMediaId: z.string().min(1).describe('ID of the assortment media to remove'),
8
+ };
9
+
10
+ export const RemoveAssortmentMediaZodSchema = z.object(RemoveAssortmentMediaSchema);
11
+
12
+ export type RemoveAssortmentMediaParams = z.infer<typeof RemoveAssortmentMediaZodSchema>;
13
+
14
+ export async function removeAssortmentMediaHandler(
15
+ context: Context,
16
+ params: RemoveAssortmentMediaParams,
17
+ ) {
18
+ const { assortmentMediaId } = params;
19
+ const { modules, userId } = context;
20
+
21
+ try {
22
+ log(`handler removeAssortmentMedia: ${assortmentMediaId}`, { userId });
23
+
24
+ const assortmentMedia = await modules.assortments.media.findAssortmentMedia({
25
+ assortmentMediaId,
26
+ });
27
+ if (!assortmentMedia) throw new AssortmentMediaNotFoundError({ assortmentMediaId });
28
+
29
+ await modules.files.delete(assortmentMedia.mediaId);
30
+ await modules.assortments.media.delete(assortmentMediaId);
31
+
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text' as const,
36
+ text: JSON.stringify({ assortmentMedia }),
37
+ },
38
+ ],
39
+ };
40
+ } catch (error) {
41
+ return {
42
+ content: [
43
+ {
44
+ type: 'text' as const,
45
+ text: `Error removing assortment media: ${(error as Error).message}`,
46
+ },
47
+ ],
48
+ };
49
+ }
50
+ }
@@ -0,0 +1,49 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+ import { AssortmentProductNotFoundError } from '../../../errors.js';
5
+
6
+ export const RemoveAssortmentProductSchema = {
7
+ assortmentProductId: z.string().min(1).describe('ID of the assortment product to remove'),
8
+ };
9
+
10
+ export const RemoveAssortmentProductZodSchema = z.object(RemoveAssortmentProductSchema);
11
+
12
+ export type RemoveAssortmentProductParams = z.infer<typeof RemoveAssortmentProductZodSchema>;
13
+
14
+ export async function removeAssortmentProductHandler(
15
+ context: Context,
16
+ params: RemoveAssortmentProductParams,
17
+ ) {
18
+ const { assortmentProductId } = params;
19
+ const { modules, userId } = context;
20
+
21
+ try {
22
+ log(`handler removeAssortmentProduct: ${assortmentProductId}`, { userId });
23
+
24
+ const assortmentProduct = await modules.assortments.products.findAssortmentProduct({
25
+ assortmentProductId,
26
+ });
27
+ if (!assortmentProduct) throw new AssortmentProductNotFoundError({ assortmentProductId });
28
+
29
+ await modules.assortments.products.delete(assortmentProductId);
30
+
31
+ return {
32
+ content: [
33
+ {
34
+ type: 'text' as const,
35
+ text: JSON.stringify({ assortmentProduct }),
36
+ },
37
+ ],
38
+ };
39
+ } catch (error) {
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text' as const,
44
+ text: `Error removing assortment product: ${(error as Error).message}`,
45
+ },
46
+ ],
47
+ };
48
+ }
49
+ }
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const ReorderAssortmentFilterInputSchema = z.object({
6
+ assortmentFilterId: z.string().min(1),
7
+ sortKey: z.number().int(),
8
+ });
9
+
10
+ export const ReorderAssortmentFiltersSchema = {
11
+ sortKeys: z
12
+ .array(ReorderAssortmentFilterInputSchema)
13
+ .min(1)
14
+ .describe('Array of assortmentFilterId and their new sort keys'),
15
+ };
16
+
17
+ export const ReorderAssortmentFiltersZodSchema = z.object(ReorderAssortmentFiltersSchema);
18
+
19
+ export type ReorderAssortmentFiltersParams = z.infer<typeof ReorderAssortmentFiltersZodSchema>;
20
+
21
+ export async function reorderAssortmentFiltersHandler(
22
+ context: Context,
23
+ params: ReorderAssortmentFiltersParams,
24
+ ) {
25
+ const { sortKeys } = params;
26
+ const { modules, userId } = context;
27
+
28
+ try {
29
+ log('handler reorderAssortmentFilters', { userId, sortKeys });
30
+
31
+ await modules.assortments.filters.updateManualOrder({
32
+ sortKeys,
33
+ } as any);
34
+
35
+ return {
36
+ content: [
37
+ {
38
+ type: 'text' as const,
39
+ text: JSON.stringify({ success: true }),
40
+ },
41
+ ],
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text' as const,
48
+ text: `Error reordering assortment filters: ${(error as Error).message}`,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ }
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const ReorderAssortmentLinkInputSchema = z.object({
6
+ assortmentLinkId: z.string().min(1),
7
+ sortKey: z.number(),
8
+ });
9
+
10
+ export const ReorderAssortmentLinksSchema = {
11
+ sortKeys: z
12
+ .array(ReorderAssortmentLinkInputSchema)
13
+ .min(1)
14
+ .describe('New sort order for assortment links'),
15
+ };
16
+
17
+ export const ReorderAssortmentLinksZodSchema = z.object(ReorderAssortmentLinksSchema);
18
+
19
+ export type ReorderAssortmentLinksParams = z.infer<typeof ReorderAssortmentLinksZodSchema>;
20
+
21
+ export async function reorderAssortmentLinksHandler(
22
+ context: Context,
23
+ params: ReorderAssortmentLinksParams,
24
+ ) {
25
+ const { sortKeys } = params;
26
+ const { modules, userId } = context;
27
+
28
+ try {
29
+ log('handler reorderAssortmentLinks', { userId, sortKeys });
30
+
31
+ await modules.assortments.links.updateManualOrder({
32
+ sortKeys: sortKeys,
33
+ } as any);
34
+
35
+ return {
36
+ content: [
37
+ {
38
+ type: 'text' as const,
39
+ text: JSON.stringify({ success: true }),
40
+ },
41
+ ],
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text' as const,
48
+ text: `Error reordering assortment links: ${(error as Error).message}`,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ }
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const ReorderAssortmentMediaInputSchema = z.object({
6
+ assortmentMediaId: z.string().min(1),
7
+ sortKey: z.number(),
8
+ });
9
+
10
+ export const ReorderAssortmentMediaSchema = {
11
+ sortKeys: z
12
+ .array(ReorderAssortmentMediaInputSchema)
13
+ .min(1)
14
+ .describe('New sort order for assortment media (first is primary)'),
15
+ };
16
+
17
+ export const ReorderAssortmentMediaZodSchema = z.object(ReorderAssortmentMediaSchema);
18
+
19
+ export type ReorderAssortmentMediaParams = z.infer<typeof ReorderAssortmentMediaZodSchema>;
20
+
21
+ export async function reorderAssortmentMediaHandler(
22
+ context: Context,
23
+ params: ReorderAssortmentMediaParams,
24
+ ) {
25
+ const { sortKeys } = params;
26
+ const { modules, userId } = context;
27
+
28
+ try {
29
+ log('handler reorderAssortmentMedia', { userId, sortKeys });
30
+
31
+ await modules.assortments.media.updateManualOrder({
32
+ sortKeys,
33
+ } as any);
34
+
35
+ return {
36
+ content: [
37
+ {
38
+ type: 'text' as const,
39
+ text: JSON.stringify({ success: true }),
40
+ },
41
+ ],
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text' as const,
48
+ text: `Error reordering assortment media: ${(error as Error).message}`,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ }
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const ReorderAssortmentProductInputSchema = z.object({
6
+ assortmentProductId: z.string().min(1),
7
+ sortKey: z.number(),
8
+ });
9
+
10
+ export const ReorderAssortmentProductsSchema = {
11
+ sortKeys: z
12
+ .array(ReorderAssortmentProductInputSchema)
13
+ .min(1)
14
+ .describe('New sort order for assortment products'),
15
+ };
16
+
17
+ export const ReorderAssortmentProductsZodSchema = z.object(ReorderAssortmentProductsSchema);
18
+
19
+ export type ReorderAssortmentProductsParams = z.infer<typeof ReorderAssortmentProductsZodSchema>;
20
+
21
+ export async function reorderAssortmentProductsHandler(
22
+ context: Context,
23
+ params: ReorderAssortmentProductsParams,
24
+ ) {
25
+ const { sortKeys } = params;
26
+ const { modules, userId } = context;
27
+
28
+ try {
29
+ log('handler reorderAssortmentProducts', { userId, sortKeys });
30
+
31
+ await modules.assortments.products.updateManualOrder({
32
+ sortKeys,
33
+ } as any);
34
+
35
+ return {
36
+ content: [
37
+ {
38
+ type: 'text' as const,
39
+ text: JSON.stringify({ success: true }),
40
+ },
41
+ ],
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text' as const,
48
+ text: `Error reordering assortment products: ${(error as Error).message}`,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ }
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const SearchAssortmentProductSchema = {
6
+ assortmentId: z.string().min(1).describe('ID of the assortment to search in'),
7
+ queryString: z.string().optional().describe('Search query string'),
8
+ filterQuery: z
9
+ .array(z.object({ key: z.string(), value: z.string().optional() }))
10
+ .optional()
11
+ .describe('Filter conditions'),
12
+ includeInactive: z.boolean().optional().default(true),
13
+ ignoreChildAssortments: z.boolean().optional().default(false),
14
+ limit: z.number().int().min(1).max(100).default(20).describe('Pagination limit'),
15
+ offset: z.number().int().min(0).default(0).describe('Pagination offset'),
16
+ };
17
+
18
+ export const SearchAssortmentProductZodSchema = z.object(SearchAssortmentProductSchema);
19
+
20
+ export type SearchAssortmentProductParams = z.infer<typeof SearchAssortmentProductZodSchema>;
21
+
22
+ export async function searchAssortmentProductHandler(
23
+ context: Context,
24
+ params: SearchAssortmentProductParams,
25
+ ) {
26
+ const { userId, modules, services, locale } = context;
27
+ const { assortmentId, limit, offset, ...query } = params;
28
+
29
+ try {
30
+ log('handler searchAssortmentProduct', { userId, params });
31
+
32
+ const productIds = await modules.assortments.findProductIds({
33
+ assortmentId,
34
+ ignoreChildAssortments: query.ignoreChildAssortments,
35
+ });
36
+
37
+ const filterIds = await modules.assortments.filters.findFilterIds({
38
+ assortmentId,
39
+ });
40
+ const result = await services.filters.searchProducts({ ...query, productIds, filterIds } as any, {
41
+ locale: locale,
42
+ });
43
+ const productsCount = await modules.products.search.countFilteredProducts({
44
+ productSelector: result.searchConfiguration.productSelector,
45
+ productIds: result.aggregatedTotalProductIds,
46
+ });
47
+ const products = await modules.products.search.findFilteredProducts({
48
+ limit,
49
+ offset,
50
+ productIds: result.aggregatedFilteredProductIds,
51
+ productSelector: result.searchConfiguration.productSelector,
52
+ sort: result.searchConfiguration.sortStage,
53
+ });
54
+
55
+ const relevantProductIds = await modules.products.findProductIds({
56
+ productSelector: result.searchConfiguration.productSelector,
57
+ productIds: result.totalProductIds,
58
+ includeDrafts: result.searchConfiguration.searchQuery.includeInactive,
59
+ });
60
+ const filters = await services.filters.loadFilters(result.searchConfiguration.searchQuery, {
61
+ productIds: relevantProductIds,
62
+ forceLiveCollection: result.searchConfiguration.forceLiveCollection,
63
+ });
64
+ const filteredProductsCount = await modules.products.search.countFilteredProducts({
65
+ productSelector: result.searchConfiguration.productSelector,
66
+ productIds: result.aggregatedFilteredProductIds,
67
+ });
68
+
69
+ return {
70
+ content: [
71
+ {
72
+ type: 'text' as const,
73
+ text: JSON.stringify({ productsCount, products, filters, filteredProductsCount }),
74
+ },
75
+ ],
76
+ };
77
+ } catch (error) {
78
+ return {
79
+ content: [
80
+ {
81
+ type: 'text' as const,
82
+ text: `Error searching products: ${(error as Error).message}`,
83
+ },
84
+ ],
85
+ };
86
+ }
87
+ }
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+ import { getNormalizedAssortmentDetails } from '../../utils/getNormalizedAssortmentDetails.js';
5
+ import { AssortmentNotFoundError } from '../../../errors.js';
6
+
7
+ export const SetBaseAssortmentSchema = {
8
+ assortmentId: z.string().min(1).describe('ID of the assortment to set as base'),
9
+ };
10
+
11
+ export const SetBaseAssortmentZodSchema = z.object(SetBaseAssortmentSchema);
12
+ export type SetBaseAssortmentParams = z.infer<typeof SetBaseAssortmentZodSchema>;
13
+
14
+ export async function setBaseAssortmentHandler(context: Context, params: SetBaseAssortmentParams) {
15
+ const { modules, userId } = context;
16
+ const { assortmentId } = params;
17
+
18
+ try {
19
+ log('handler setBaseAssortment', { userId, assortmentId });
20
+
21
+ if (!(await modules.assortments.assortmentExists({ assortmentId })))
22
+ throw new AssortmentNotFoundError({ assortmentId });
23
+
24
+ await modules.assortments.setBase(assortmentId);
25
+
26
+ return {
27
+ content: [
28
+ {
29
+ type: 'text' as const,
30
+ text: JSON.stringify({
31
+ assortment: await getNormalizedAssortmentDetails({ assortmentId }, context),
32
+ }),
33
+ },
34
+ ],
35
+ };
36
+ } catch (error) {
37
+ return {
38
+ content: [
39
+ {
40
+ type: 'text' as const,
41
+ text: `Error setting base assortment: ${(error as Error).message}`,
42
+ },
43
+ ],
44
+ };
45
+ }
46
+ }
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const TranslatedAssortmentMediaTextsSchema = {
6
+ assortmentMediaId: z.string().min(1).describe('ID of the assortment media to retrieve texts for'),
7
+ };
8
+
9
+ export const TranslatedAssortmentMediaTextsZodSchema = z.object(TranslatedAssortmentMediaTextsSchema);
10
+
11
+ export type TranslatedAssortmentMediaTextsParams = z.infer<
12
+ typeof TranslatedAssortmentMediaTextsZodSchema
13
+ >;
14
+
15
+ export async function translatedAssortmentMediaTextsHandler(
16
+ context: Context,
17
+ params: TranslatedAssortmentMediaTextsParams,
18
+ ) {
19
+ const { assortmentMediaId } = params;
20
+ const { modules, userId } = context;
21
+
22
+ try {
23
+ log('handler translatedAssortmentMediaTexts', { userId, assortmentMediaId });
24
+
25
+ const texts = await modules.assortments.media.texts.findMediaTexts({
26
+ assortmentMediaId,
27
+ });
28
+
29
+ return {
30
+ content: [
31
+ {
32
+ type: 'text' as const,
33
+ text: JSON.stringify({ texts }),
34
+ },
35
+ ],
36
+ };
37
+ } catch (error) {
38
+ return {
39
+ content: [
40
+ {
41
+ type: 'text' as const,
42
+ text: `Error retrieving assortment media texts: ${(error as Error).message}`,
43
+ },
44
+ ],
45
+ };
46
+ }
47
+ }
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+
5
+ export const TranslatedAssortmentTextsSchema = {
6
+ assortmentId: z.string().min(1).describe('ID of the assortment to retrieve texts for'),
7
+ };
8
+
9
+ export const TranslatedAssortmentTextsZodSchema = z.object(TranslatedAssortmentTextsSchema);
10
+
11
+ export type TranslatedAssortmentTextsParams = z.infer<typeof TranslatedAssortmentTextsZodSchema>;
12
+
13
+ export async function translatedAssortmentTextsHandler(
14
+ context: Context,
15
+ params: TranslatedAssortmentTextsParams,
16
+ ) {
17
+ const { assortmentId } = params;
18
+ const { modules, userId } = context;
19
+
20
+ try {
21
+ log('handler translatedAssortmentTexts', { userId, assortmentId });
22
+
23
+ const texts = await modules.assortments.texts.findTexts({ assortmentId });
24
+
25
+ return {
26
+ content: [
27
+ {
28
+ type: 'text' as const,
29
+ text: JSON.stringify({ texts }),
30
+ },
31
+ ],
32
+ };
33
+ } catch (error) {
34
+ return {
35
+ content: [
36
+ {
37
+ type: 'text' as const,
38
+ text: `Error retrieving assortment texts: ${(error as Error).message}`,
39
+ },
40
+ ],
41
+ };
42
+ }
43
+ }
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+ import { AssortmentNotFoundError } from '../../../errors.js';
5
+ import { getNormalizedAssortmentDetails } from '../../utils/getNormalizedAssortmentDetails.js';
6
+
7
+ export const UpdateAssortmentInputSchema = z.object({
8
+ isRoot: z
9
+ .boolean()
10
+ .optional()
11
+ .describe('If true, sets this assortment as a root assortment (top-level).'),
12
+ isActive: z.boolean().optional().describe('Whether this assortment is active'),
13
+ sequence: z
14
+ .number()
15
+ .int()
16
+ .optional()
17
+ .describe('Order of the assortment in a sorted list (lower number = higher priority).'),
18
+ tags: z
19
+ .array(z.string().min(1).toLowerCase())
20
+ .optional()
21
+ .describe('Tags (lowercase) used to categorize or filter the assortment.'),
22
+ });
23
+
24
+ export const UpdateAssortmentSchema = {
25
+ assortmentId: z.string().min(1).describe('ID of the assortment to update'),
26
+ assortment: UpdateAssortmentInputSchema.describe('Partial object with fields to update.'),
27
+ };
28
+
29
+ export const UpdateAssortmentZodSchema = z.object(UpdateAssortmentSchema);
30
+ export type UpdateAssortmentParams = z.infer<typeof UpdateAssortmentZodSchema>;
31
+
32
+ export async function updateAssortmentHandler(context: Context, params: UpdateAssortmentParams) {
33
+ const { modules, userId } = context;
34
+ const { assortmentId, assortment } = params;
35
+
36
+ try {
37
+ log('handler updateAssortment', { userId, params });
38
+
39
+ if (!(await modules.assortments.assortmentExists({ assortmentId })))
40
+ throw new AssortmentNotFoundError({ assortmentId });
41
+
42
+ await modules.assortments.update(assortmentId, assortment as any);
43
+ const updatedAssortment = await getNormalizedAssortmentDetails({ assortmentId }, context);
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text' as const,
48
+ text: JSON.stringify({
49
+ assortment: updatedAssortment,
50
+ }),
51
+ },
52
+ ],
53
+ };
54
+ } catch (error) {
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text' as const,
59
+ text: `Error updating assortment: ${(error as Error).message}`,
60
+ },
61
+ ],
62
+ };
63
+ }
64
+ }
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import { Context } from '../../../context.js';
3
+ import { log } from '@unchainedshop/logger';
4
+ import { AssortmentMediaNotFoundError } from '../../../errors.js';
5
+
6
+ export const AssortmentMediaTextInputSchema = z.object({
7
+ locale: z
8
+ .string()
9
+ .min(2)
10
+ .describe(
11
+ 'locale iso code like "en-US", "de-CH" use default defaultLanguageIsoCode in shop info if not explicitly provided. if language is explicitly provided check if it exists',
12
+ ),
13
+ title: z.string().optional().describe('Title in the given locale'),
14
+ subtitle: z.string().optional().describe('Subtitle in the given locale'),
15
+ });
16
+
17
+ export const UpdateAssortmentMediaTextsSchema = {
18
+ assortmentMediaId: z.string().min(1).describe('ID of the assortment media to update'),
19
+ texts: z.array(AssortmentMediaTextInputSchema).min(1).describe('Localized text values to update'),
20
+ };
21
+
22
+ export const UpdateAssortmentMediaTextsZodSchema = z.object(UpdateAssortmentMediaTextsSchema);
23
+
24
+ export type UpdateAssortmentMediaTextsParams = z.infer<typeof UpdateAssortmentMediaTextsZodSchema>;
25
+
26
+ export async function updateAssortmentMediaTextsHandler(
27
+ context: Context,
28
+ params: UpdateAssortmentMediaTextsParams,
29
+ ) {
30
+ const { assortmentMediaId, texts } = params;
31
+ const { modules, userId } = context;
32
+
33
+ try {
34
+ log('handler updateAssortmentMediaTexts', { userId, assortmentMediaId, texts });
35
+
36
+ const assortmentMedia = await modules.assortments.media.findAssortmentMedia({
37
+ assortmentMediaId,
38
+ });
39
+
40
+ if (!assortmentMedia) throw new AssortmentMediaNotFoundError({ assortmentMediaId });
41
+
42
+ const assortmentMediaTexts = await modules.assortments.media.texts.updateMediaTexts(
43
+ assortmentMediaId,
44
+ texts,
45
+ );
46
+ return {
47
+ content: [
48
+ {
49
+ type: 'text' as const,
50
+ text: JSON.stringify({ assortmentMediaTexts }),
51
+ },
52
+ ],
53
+ };
54
+ } catch (error) {
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text' as const,
59
+ text: `Error updating assortment media texts: ${(error as Error).message}`,
60
+ },
61
+ ],
62
+ };
63
+ }
64
+ }