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

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 (417) hide show
  1. package/lib/api-index.d.ts.map +1 -1
  2. package/lib/api-index.js +4 -1
  3. package/lib/api-index.js.map +1 -1
  4. package/lib/errors.d.ts +1 -1
  5. package/lib/errors.d.ts.map +1 -1
  6. package/lib/errors.js +1 -1
  7. package/lib/errors.js.map +1 -1
  8. package/lib/express/chatRouter.d.ts +3 -0
  9. package/lib/express/chatRouter.d.ts.map +1 -0
  10. package/lib/express/chatRouter.js +86 -0
  11. package/lib/express/chatRouter.js.map +1 -0
  12. package/lib/express/createApolloMiddleware.d.ts +4 -0
  13. package/lib/express/createApolloMiddleware.d.ts.map +1 -0
  14. package/lib/express/createApolloMiddleware.js +36 -0
  15. package/lib/express/createApolloMiddleware.js.map +1 -0
  16. package/lib/express/createBulkImportMiddleware copy.d.ts +6 -0
  17. package/lib/express/createBulkImportMiddleware copy.d.ts.map +1 -0
  18. package/lib/express/createBulkImportMiddleware copy.js +49 -0
  19. package/lib/express/createBulkImportMiddleware copy.js.map +1 -0
  20. package/lib/express/createMCPMiddleware.d.ts +2 -6
  21. package/lib/express/createMCPMiddleware.d.ts.map +1 -1
  22. package/lib/express/createMCPMiddleware.js +73 -42
  23. package/lib/express/createMCPMiddleware.js.map +1 -1
  24. package/lib/express/createSingleSignOnMiddleware.d.ts +5 -0
  25. package/lib/express/createSingleSignOnMiddleware.d.ts.map +1 -0
  26. package/lib/express/createSingleSignOnMiddleware.js +71 -0
  27. package/lib/express/createSingleSignOnMiddleware.js.map +1 -0
  28. package/lib/express/createTempUploadMiddleware.d.ts +7 -0
  29. package/lib/express/createTempUploadMiddleware.d.ts.map +1 -0
  30. package/lib/express/createTempUploadMiddleware.js +48 -0
  31. package/lib/express/createTempUploadMiddleware.js.map +1 -0
  32. package/lib/express/index.d.ts.map +1 -1
  33. package/lib/express/index.js +17 -4
  34. package/lib/express/index.js.map +1 -1
  35. package/lib/express/setupMCPChatHandler.d.ts +3 -0
  36. package/lib/express/setupMCPChatHandler.d.ts.map +1 -0
  37. package/lib/express/setupMCPChatHandler.js +57 -0
  38. package/lib/express/setupMCPChatHandler.js.map +1 -0
  39. package/lib/fastify/index.d.ts.map +1 -1
  40. package/lib/fastify/index.js +24 -2
  41. package/lib/fastify/index.js.map +1 -1
  42. package/lib/fastify/mcpChatHandler.d.ts +3 -0
  43. package/lib/fastify/mcpChatHandler.d.ts.map +1 -0
  44. package/lib/fastify/mcpChatHandler.js +60 -0
  45. package/lib/fastify/mcpChatHandler.js.map +1 -0
  46. package/lib/fastify/mcpHandler copy.d.ts +4 -0
  47. package/lib/fastify/mcpHandler copy.d.ts.map +1 -0
  48. package/lib/fastify/mcpHandler copy.js +72 -0
  49. package/lib/fastify/mcpHandler copy.js.map +1 -0
  50. package/lib/fastify/mcpHandler.d.ts +3 -7
  51. package/lib/fastify/mcpHandler.d.ts.map +1 -1
  52. package/lib/fastify/mcpHandler.js +71 -39
  53. package/lib/fastify/mcpHandler.js.map +1 -1
  54. package/lib/fastify/tempUploadHandler.d.ts +4 -0
  55. package/lib/fastify/tempUploadHandler.d.ts.map +1 -0
  56. package/lib/fastify/tempUploadHandler.js +41 -0
  57. package/lib/fastify/tempUploadHandler.js.map +1 -0
  58. package/lib/hashPassword.d.ts +2 -0
  59. package/lib/hashPassword.d.ts.map +1 -0
  60. package/lib/hashPassword.js +5 -0
  61. package/lib/hashPassword.js.map +1 -0
  62. package/lib/loaders/assortmentMediaTextLoader.js +1 -1
  63. package/lib/loaders/assortmentMediaTextLoader.js.map +1 -1
  64. package/lib/loaders/assortmentTextLoader.js +1 -1
  65. package/lib/loaders/assortmentTextLoader.js.map +1 -1
  66. package/lib/loaders/buildLocaleMap.d.ts +6 -0
  67. package/lib/loaders/buildLocaleMap.d.ts.map +1 -0
  68. package/lib/loaders/buildLocaleMap.js +67 -0
  69. package/lib/loaders/buildLocaleMap.js.map +1 -0
  70. package/lib/loaders/buildTextMap.d.ts +1 -1
  71. package/lib/loaders/buildTextMap.d.ts.map +1 -1
  72. package/lib/loaders/buildTextMap.js +19 -6
  73. package/lib/loaders/buildTextMap.js.map +1 -1
  74. package/lib/loaders/filterTextLoader.js +1 -1
  75. package/lib/loaders/filterTextLoader.js.map +1 -1
  76. package/lib/loaders/productMediaTextLoader.d.ts.map +1 -1
  77. package/lib/loaders/productMediaTextLoader.js +1 -1
  78. package/lib/loaders/productMediaTextLoader.js.map +1 -1
  79. package/lib/loaders/productTextLoader.d.ts.map +1 -1
  80. package/lib/loaders/productTextLoader.js +1 -1
  81. package/lib/loaders/productTextLoader.js.map +1 -1
  82. package/lib/mcp/index.d.ts +3 -94
  83. package/lib/mcp/index.d.ts.map +1 -1
  84. package/lib/mcp/index.js +45 -135
  85. package/lib/mcp/index.js.map +1 -1
  86. package/lib/mcp/tools/addProductAssignmentHandler.d.ts +52 -0
  87. package/lib/mcp/tools/addProductAssignmentHandler.d.ts.map +1 -0
  88. package/lib/mcp/tools/addProductAssignmentHandler.js +97 -0
  89. package/lib/mcp/tools/addProductAssignmentHandler.js.map +1 -0
  90. package/lib/mcp/tools/addProductMediaUploadHandler.d.ts +28 -0
  91. package/lib/mcp/tools/addProductMediaUploadHandler.d.ts.map +1 -0
  92. package/lib/mcp/tools/addProductMediaUploadHandler.js +62 -0
  93. package/lib/mcp/tools/addProductMediaUploadHandler.js.map +1 -0
  94. package/lib/mcp/tools/countriesHandler.d.ts +60 -0
  95. package/lib/mcp/tools/countriesHandler.d.ts.map +1 -0
  96. package/lib/mcp/tools/countriesHandler.js +48 -0
  97. package/lib/mcp/tools/countriesHandler.js.map +1 -0
  98. package/lib/mcp/tools/countryHandler.d.ts +20 -0
  99. package/lib/mcp/tools/countryHandler.d.ts.map +1 -0
  100. package/lib/mcp/tools/countryHandler.js +34 -0
  101. package/lib/mcp/tools/countryHandler.js.map +1 -0
  102. package/lib/mcp/tools/createLanguageHandler.d.ts +36 -0
  103. package/lib/mcp/tools/createLanguageHandler.d.ts.map +1 -0
  104. package/lib/mcp/tools/createLanguageHandler.js +39 -0
  105. package/lib/mcp/tools/createLanguageHandler.js.map +1 -0
  106. package/lib/mcp/tools/createProduct.d.ts +138 -0
  107. package/lib/mcp/tools/createProduct.d.ts.map +1 -0
  108. package/lib/mcp/tools/createProduct.js +60 -0
  109. package/lib/mcp/tools/createProduct.js.map +1 -0
  110. package/lib/mcp/tools/createProductVariationHandler.d.ts +84 -0
  111. package/lib/mcp/tools/createProductVariationHandler.d.ts.map +1 -0
  112. package/lib/mcp/tools/createProductVariationHandler.js +73 -0
  113. package/lib/mcp/tools/createProductVariationHandler.js.map +1 -0
  114. package/lib/mcp/tools/createProductVariationOptionHandler.d.ts +60 -0
  115. package/lib/mcp/tools/createProductVariationOptionHandler.d.ts.map +1 -0
  116. package/lib/mcp/tools/createProductVariationOptionHandler.js +59 -0
  117. package/lib/mcp/tools/createProductVariationOptionHandler.js.map +1 -0
  118. package/lib/mcp/tools/currenciesHandler.d.ts +60 -0
  119. package/lib/mcp/tools/currenciesHandler.d.ts.map +1 -0
  120. package/lib/mcp/tools/currenciesHandler.js +50 -0
  121. package/lib/mcp/tools/currenciesHandler.js.map +1 -0
  122. package/lib/mcp/tools/currencyHandler.d.ts +20 -0
  123. package/lib/mcp/tools/currencyHandler.d.ts.map +1 -0
  124. package/lib/mcp/tools/currencyHandler.js +34 -0
  125. package/lib/mcp/tools/currencyHandler.js.map +1 -0
  126. package/lib/mcp/tools/getProduct.d.ts +48 -0
  127. package/lib/mcp/tools/getProduct.d.ts.map +1 -0
  128. package/lib/mcp/tools/getProduct.js +61 -0
  129. package/lib/mcp/tools/getProduct.js.map +1 -0
  130. package/lib/mcp/tools/index.d.ts +39 -0
  131. package/lib/mcp/tools/index.d.ts.map +1 -0
  132. package/lib/mcp/tools/index.js +39 -0
  133. package/lib/mcp/tools/index.js.map +1 -0
  134. package/lib/mcp/tools/languageHandler.d.ts +20 -0
  135. package/lib/mcp/tools/languageHandler.d.ts.map +1 -0
  136. package/lib/mcp/tools/languageHandler.js +31 -0
  137. package/lib/mcp/tools/languageHandler.js.map +1 -0
  138. package/lib/mcp/tools/languagesHandler.d.ts +60 -0
  139. package/lib/mcp/tools/languagesHandler.d.ts.map +1 -0
  140. package/lib/mcp/tools/languagesHandler.js +42 -0
  141. package/lib/mcp/tools/languagesHandler.js.map +1 -0
  142. package/lib/mcp/tools/listProducts.d.ts +112 -0
  143. package/lib/mcp/tools/listProducts.d.ts.map +1 -0
  144. package/lib/mcp/tools/listProducts.js +110 -0
  145. package/lib/mcp/tools/listProducts.js.map +1 -0
  146. package/lib/mcp/tools/normalizeMediaUrl.d.ts +3 -0
  147. package/lib/mcp/tools/normalizeMediaUrl.d.ts.map +1 -0
  148. package/lib/mcp/tools/normalizeMediaUrl.js +21 -0
  149. package/lib/mcp/tools/normalizeMediaUrl.js.map +1 -0
  150. package/lib/mcp/tools/productReviewsCountHandler.d.ts +20 -0
  151. package/lib/mcp/tools/productReviewsCountHandler.d.ts.map +1 -0
  152. package/lib/mcp/tools/productReviewsCountHandler.js +30 -0
  153. package/lib/mcp/tools/productReviewsCountHandler.js.map +1 -0
  154. package/lib/mcp/tools/productReviewsHandler.d.ts +56 -0
  155. package/lib/mcp/tools/productReviewsHandler.d.ts.map +1 -0
  156. package/lib/mcp/tools/productReviewsHandler.js +45 -0
  157. package/lib/mcp/tools/productReviewsHandler.js.map +1 -0
  158. package/lib/mcp/tools/productsCountHandler.d.ts +32 -0
  159. package/lib/mcp/tools/productsCountHandler.d.ts.map +1 -0
  160. package/lib/mcp/tools/productsCountHandler.js +33 -0
  161. package/lib/mcp/tools/productsCountHandler.js.map +1 -0
  162. package/lib/mcp/tools/publishProduct.d.ts +20 -0
  163. package/lib/mcp/tools/publishProduct.d.ts.map +1 -0
  164. package/lib/mcp/tools/publishProduct.js +40 -0
  165. package/lib/mcp/tools/publishProduct.js.map +1 -0
  166. package/lib/mcp/tools/removeLanguageHandler.d.ts +20 -0
  167. package/lib/mcp/tools/removeLanguageHandler.d.ts.map +1 -0
  168. package/lib/mcp/tools/removeLanguageHandler.js +35 -0
  169. package/lib/mcp/tools/removeLanguageHandler.js.map +1 -0
  170. package/lib/mcp/tools/removeProduct.d.ts +20 -0
  171. package/lib/mcp/tools/removeProduct.d.ts.map +1 -0
  172. package/lib/mcp/tools/removeProduct.js +34 -0
  173. package/lib/mcp/tools/removeProduct.js.map +1 -0
  174. package/lib/mcp/tools/removeProductAssignmentHandler.d.ts +48 -0
  175. package/lib/mcp/tools/removeProductAssignmentHandler.d.ts.map +1 -0
  176. package/lib/mcp/tools/removeProductAssignmentHandler.js +51 -0
  177. package/lib/mcp/tools/removeProductAssignmentHandler.js.map +1 -0
  178. package/lib/mcp/tools/removeProductHandler.d.ts +20 -0
  179. package/lib/mcp/tools/removeProductHandler.d.ts.map +1 -0
  180. package/lib/mcp/tools/removeProductHandler.js +34 -0
  181. package/lib/mcp/tools/removeProductHandler.js.map +1 -0
  182. package/lib/mcp/tools/removeProductMediaHandler.d.ts +20 -0
  183. package/lib/mcp/tools/removeProductMediaHandler.d.ts.map +1 -0
  184. package/lib/mcp/tools/removeProductMediaHandler.js +42 -0
  185. package/lib/mcp/tools/removeProductMediaHandler.js.map +1 -0
  186. package/lib/mcp/tools/removeProductVariationHandler.d.ts +20 -0
  187. package/lib/mcp/tools/removeProductVariationHandler.d.ts.map +1 -0
  188. package/lib/mcp/tools/removeProductVariationHandler.js +43 -0
  189. package/lib/mcp/tools/removeProductVariationHandler.js.map +1 -0
  190. package/lib/mcp/tools/removeProductVariationOptionHandler.d.ts +24 -0
  191. package/lib/mcp/tools/removeProductVariationOptionHandler.d.ts.map +1 -0
  192. package/lib/mcp/tools/removeProductVariationOptionHandler.js +47 -0
  193. package/lib/mcp/tools/removeProductVariationOptionHandler.js.map +1 -0
  194. package/lib/mcp/tools/reorderProductMediaHandler.d.ts +44 -0
  195. package/lib/mcp/tools/reorderProductMediaHandler.d.ts.map +1 -0
  196. package/lib/mcp/tools/reorderProductMediaHandler.js +39 -0
  197. package/lib/mcp/tools/reorderProductMediaHandler.js.map +1 -0
  198. package/lib/mcp/tools/unPublishProduct.d.ts +20 -0
  199. package/lib/mcp/tools/unPublishProduct.d.ts.map +1 -0
  200. package/lib/mcp/tools/unPublishProduct.js +40 -0
  201. package/lib/mcp/tools/unPublishProduct.js.map +1 -0
  202. package/lib/mcp/tools/updateLanguageHandler.d.ts +48 -0
  203. package/lib/mcp/tools/updateLanguageHandler.d.ts.map +1 -0
  204. package/lib/mcp/tools/updateLanguageHandler.js +40 -0
  205. package/lib/mcp/tools/updateLanguageHandler.js.map +1 -0
  206. package/lib/mcp/tools/updateProduct.d.ts +56 -0
  207. package/lib/mcp/tools/updateProduct.d.ts.map +1 -0
  208. package/lib/mcp/tools/updateProduct.js +44 -0
  209. package/lib/mcp/tools/updateProduct.js.map +1 -0
  210. package/lib/mcp/tools/updateProductCommerceHandler.d.ts +166 -0
  211. package/lib/mcp/tools/updateProductCommerceHandler.d.ts.map +1 -0
  212. package/lib/mcp/tools/updateProductCommerceHandler.js +64 -0
  213. package/lib/mcp/tools/updateProductCommerceHandler.js.map +1 -0
  214. package/lib/mcp/tools/updateProductMediaTextsHandler.d.ts +56 -0
  215. package/lib/mcp/tools/updateProductMediaTextsHandler.d.ts.map +1 -0
  216. package/lib/mcp/tools/updateProductMediaTextsHandler.js +45 -0
  217. package/lib/mcp/tools/updateProductMediaTextsHandler.js.map +1 -0
  218. package/lib/mcp/tools/updateProductPlanHandler.d.ts +72 -0
  219. package/lib/mcp/tools/updateProductPlanHandler.d.ts.map +1 -0
  220. package/lib/mcp/tools/updateProductPlanHandler.js +51 -0
  221. package/lib/mcp/tools/updateProductPlanHandler.js.map +1 -0
  222. package/lib/mcp/tools/updateProductSupplyHandler.d.ts +64 -0
  223. package/lib/mcp/tools/updateProductSupplyHandler.d.ts.map +1 -0
  224. package/lib/mcp/tools/updateProductSupplyHandler.js +52 -0
  225. package/lib/mcp/tools/updateProductSupplyHandler.js.map +1 -0
  226. package/lib/mcp/tools/updateProductTextsHandler.d.ts +114 -0
  227. package/lib/mcp/tools/updateProductTextsHandler.d.ts.map +1 -0
  228. package/lib/mcp/tools/updateProductTextsHandler.js +50 -0
  229. package/lib/mcp/tools/updateProductTextsHandler.js.map +1 -0
  230. package/lib/mcp/tools/updateProductTokenizationHandler.d.ts +72 -0
  231. package/lib/mcp/tools/updateProductTokenizationHandler.d.ts.map +1 -0
  232. package/lib/mcp/tools/updateProductTokenizationHandler.js +49 -0
  233. package/lib/mcp/tools/updateProductTokenizationHandler.js.map +1 -0
  234. package/lib/mcp/tools/updateProductWarehousingHandler.d.ts +48 -0
  235. package/lib/mcp/tools/updateProductWarehousingHandler.d.ts.map +1 -0
  236. package/lib/mcp/tools/updateProductWarehousingHandler.js +45 -0
  237. package/lib/mcp/tools/updateProductWarehousingHandler.js.map +1 -0
  238. package/lib/mcp/utils/getNormalizedProductDetails.d.ts +26 -0
  239. package/lib/mcp/utils/getNormalizedProductDetails.d.ts.map +1 -0
  240. package/lib/mcp/utils/getNormalizedProductDetails.js +38 -0
  241. package/lib/mcp/utils/getNormalizedProductDetails.js.map +1 -0
  242. package/lib/mcp/utils/normalizeMediaUrl.d.ts +3 -0
  243. package/lib/mcp/utils/normalizeMediaUrl.d.ts.map +1 -0
  244. package/lib/mcp/utils/normalizeMediaUrl.js +21 -0
  245. package/lib/mcp/utils/normalizeMediaUrl.js.map +1 -0
  246. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts +3 -0
  247. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts.map +1 -0
  248. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js +6 -0
  249. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js.map +1 -0
  250. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts +6 -0
  251. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts.map +1 -0
  252. package/lib/resolvers/mutations/accounts/disableTOTP.js +27 -0
  253. package/lib/resolvers/mutations/accounts/disableTOTP.js.map +1 -0
  254. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts +6 -0
  255. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts.map +1 -0
  256. package/lib/resolvers/mutations/accounts/enableTOTP.js +20 -0
  257. package/lib/resolvers/mutations/accounts/enableTOTP.js.map +1 -0
  258. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts +7 -0
  259. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts.map +1 -0
  260. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js +30 -0
  261. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js.map +1 -0
  262. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts +8 -0
  263. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts.map +1 -0
  264. package/lib/resolvers/mutations/accounts/loginWithOAuth.js +25 -0
  265. package/lib/resolvers/mutations/accounts/loginWithOAuth.js.map +1 -0
  266. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +5 -0
  267. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts.map +1 -0
  268. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +20 -0
  269. package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +1 -0
  270. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts +6 -0
  271. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts.map +1 -0
  272. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js +13 -0
  273. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js.map +1 -0
  274. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts +6 -0
  275. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts.map +1 -0
  276. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +18 -0
  277. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +1 -0
  278. package/lib/resolvers/mutations/products/addProductAssignment.d.ts.map +1 -1
  279. package/lib/resolvers/mutations/products/addProductAssignment.js +3 -1
  280. package/lib/resolvers/mutations/products/addProductAssignment.js.map +1 -1
  281. package/lib/resolvers/mutations/products/addProductMedia.d.ts +6 -0
  282. package/lib/resolvers/mutations/products/addProductMedia.d.ts.map +1 -0
  283. package/lib/resolvers/mutations/products/addProductMedia.js +18 -0
  284. package/lib/resolvers/mutations/products/addProductMedia.js.map +1 -0
  285. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts +6 -0
  286. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts.map +1 -0
  287. package/lib/resolvers/mutations/users/updateUserAvatar.js +22 -0
  288. package/lib/resolvers/mutations/users/updateUserAvatar.js.map +1 -0
  289. package/lib/resolvers/mutations/utils/getOrderCart.d.ts +7 -0
  290. package/lib/resolvers/mutations/utils/getOrderCart.d.ts.map +1 -0
  291. package/lib/resolvers/mutations/utils/getOrderCart.js +13 -0
  292. package/lib/resolvers/mutations/utils/getOrderCart.js.map +1 -0
  293. package/lib/resolvers/queries/filters/searchAssortments.d.ts.map +1 -1
  294. package/lib/resolvers/queries/filters/searchAssortments.js +0 -5
  295. package/lib/resolvers/queries/filters/searchAssortments.js.map +1 -1
  296. package/lib/resolvers/queries/filters/searchProducts.d.ts.map +1 -1
  297. package/lib/resolvers/queries/filters/searchProducts.js +2 -7
  298. package/lib/resolvers/queries/filters/searchProducts.js.map +1 -1
  299. package/lib/resolvers/type/dispatch-types.d.ts +15 -0
  300. package/lib/resolvers/type/dispatch-types.d.ts.map +1 -0
  301. package/lib/resolvers/type/dispatch-types.js +16 -0
  302. package/lib/resolvers/type/dispatch-types.js.map +1 -0
  303. package/lib/resolvers/type/oauth-account.d.ts +6 -0
  304. package/lib/resolvers/type/oauth-account.d.ts.map +1 -0
  305. package/lib/resolvers/type/oauth-account.js +7 -0
  306. package/lib/resolvers/type/oauth-account.js.map +1 -0
  307. package/lib/resolvers/type/oauth-provider.d.ts +6 -0
  308. package/lib/resolvers/type/oauth-provider.d.ts.map +1 -0
  309. package/lib/resolvers/type/oauth-provider.js +6 -0
  310. package/lib/resolvers/type/oauth-provider.js.map +1 -0
  311. package/lib/resolvers/type/stock-types.d.ts +14 -0
  312. package/lib/resolvers/type/stock-types.d.ts.map +1 -0
  313. package/lib/resolvers/type/stock-types.js +15 -0
  314. package/lib/resolvers/type/stock-types.js.map +1 -0
  315. package/lib/roles/all.d.ts.map +1 -1
  316. package/lib/roles/all.js +1 -0
  317. package/lib/roles/all.js.map +1 -1
  318. package/lib/roles/index.d.ts.map +1 -1
  319. package/lib/roles/index.js +1 -0
  320. package/lib/roles/index.js.map +1 -1
  321. package/lib/roles/loggedIn.d.ts.map +1 -1
  322. package/lib/roles/loggedIn.js +1 -0
  323. package/lib/roles/loggedIn.js.map +1 -1
  324. package/lib/user-context.d.ts +7 -0
  325. package/lib/user-context.d.ts.map +1 -0
  326. package/lib/user-context.js +76 -0
  327. package/lib/user-context.js.map +1 -0
  328. package/package.json +34 -18
  329. package/src/api-index.ts +4 -1
  330. package/src/errors.ts +5 -4
  331. package/src/express/createMCPMiddleware.ts +91 -0
  332. package/src/express/createTempUploadMiddleware.ts +60 -0
  333. package/src/express/index.ts +35 -6
  334. package/src/fastify/index.ts +32 -2
  335. package/src/fastify/mcpHandler.ts +97 -0
  336. package/src/fastify/tempUploadHandler.ts +52 -0
  337. package/src/loaders/assortmentMediaTextLoader.ts +1 -1
  338. package/src/loaders/assortmentTextLoader.ts +1 -1
  339. package/src/loaders/buildLocaleMap.test.ts +65 -0
  340. package/src/loaders/buildLocaleMap.ts +73 -0
  341. package/src/loaders/buildTextMap.test.ts +54 -0
  342. package/src/loaders/buildTextMap.ts +25 -6
  343. package/src/loaders/filterTextLoader.ts +1 -1
  344. package/src/loaders/productMediaTextLoader.ts +1 -1
  345. package/src/loaders/productTextLoader.ts +1 -1
  346. package/src/mcp/README.md +25 -0
  347. package/src/mcp/index.ts +313 -0
  348. package/src/mcp/tools/addProductAssignmentHandler.ts +118 -0
  349. package/src/mcp/tools/addProductMediaUploadHandler.ts +79 -0
  350. package/src/mcp/tools/countriesHandler.ts +60 -0
  351. package/src/mcp/tools/countryHandler.ts +40 -0
  352. package/src/mcp/tools/createLanguageHandler.ts +46 -0
  353. package/src/mcp/tools/createProduct.ts +75 -0
  354. package/src/mcp/tools/createProductVariationHandler.ts +93 -0
  355. package/src/mcp/tools/createProductVariationOptionHandler.ts +73 -0
  356. package/src/mcp/tools/currenciesHandler.ts +63 -0
  357. package/src/mcp/tools/currencyHandler.ts +40 -0
  358. package/src/mcp/tools/getProduct.ts +74 -0
  359. package/src/mcp/tools/index.ts +39 -0
  360. package/src/mcp/tools/languageHandler.ts +37 -0
  361. package/src/mcp/tools/languagesHandler.ts +54 -0
  362. package/src/mcp/tools/listProducts.ts +148 -0
  363. package/src/mcp/tools/productReviewsCountHandler.ts +36 -0
  364. package/src/mcp/tools/productReviewsHandler.ts +54 -0
  365. package/src/mcp/tools/productsCountHandler.ts +38 -0
  366. package/src/mcp/tools/publishProduct.ts +45 -0
  367. package/src/mcp/tools/removeLanguageHandler.ts +42 -0
  368. package/src/mcp/tools/removeProductAssignmentHandler.ts +61 -0
  369. package/src/mcp/tools/removeProductHandler.ts +40 -0
  370. package/src/mcp/tools/removeProductMediaHandler.ts +49 -0
  371. package/src/mcp/tools/removeProductVariationHandler.ts +51 -0
  372. package/src/mcp/tools/removeProductVariationOptionHandler.ts +58 -0
  373. package/src/mcp/tools/reorderProductMediaHandler.ts +48 -0
  374. package/src/mcp/tools/unPublishProduct.ts +46 -0
  375. package/src/mcp/tools/updateLanguageHandler.ts +47 -0
  376. package/src/mcp/tools/updateProduct.ts +51 -0
  377. package/src/mcp/tools/updateProductCommerceHandler.ts +79 -0
  378. package/src/mcp/tools/updateProductMediaTextsHandler.ts +56 -0
  379. package/src/mcp/tools/updateProductPlanHandler.ts +58 -0
  380. package/src/mcp/tools/updateProductSupplyHandler.ts +59 -0
  381. package/src/mcp/tools/updateProductTextsHandler.ts +59 -0
  382. package/src/mcp/tools/updateProductTokenizationHandler.ts +58 -0
  383. package/src/mcp/tools/updateProductWarehousingHandler.ts +54 -0
  384. package/src/mcp/utils/getNormalizedProductDetails.ts +42 -0
  385. package/src/mcp/utils/normalizeMediaUrl.ts +26 -0
  386. package/src/resolvers/mutations/products/addProductAssignment.ts +3 -0
  387. package/src/resolvers/queries/filters/searchAssortments.ts +0 -5
  388. package/src/resolvers/queries/filters/searchProducts.ts +2 -7
  389. package/src/roles/all.ts +1 -0
  390. package/src/roles/index.ts +1 -0
  391. package/src/roles/loggedIn.ts +1 -0
  392. package/lib/express/mcpHandler.d.ts.map +0 -1
  393. package/lib/express/mcpHandler.js +0 -68
  394. package/lib/express/mcpHandler.js.map +0 -1
  395. package/lib/fastify/index copy.d.ts.map +0 -1
  396. package/lib/fastify/index copy.js +0 -157
  397. package/lib/fastify/index copy.js.map +0 -1
  398. package/lib/mcp/server.d.ts +0 -4
  399. package/lib/mcp/server.d.ts.map +0 -1
  400. package/lib/mcp/server.js +0 -60
  401. package/lib/mcp/server.js.map +0 -1
  402. package/lib/mcp/types.d.ts +0 -28
  403. package/lib/mcp/types.d.ts.map +0 -1
  404. package/lib/mcp/types.js +0 -2
  405. package/lib/mcp/types.js.map +0 -1
  406. package/lib/middleware/accountLockout.d.ts.map +0 -1
  407. package/lib/middleware/accountLockout.js +0 -84
  408. package/lib/middleware/accountLockout.js.map +0 -1
  409. package/lib/middleware/rateLimiter.d.ts.map +0 -1
  410. package/lib/middleware/rateLimiter.js +0 -91
  411. package/lib/middleware/rateLimiter.js.map +0 -1
  412. package/lib/plugins/inputValidation.d.ts.map +0 -1
  413. package/lib/plugins/inputValidation.js +0 -95
  414. package/lib/plugins/inputValidation.js.map +0 -1
  415. package/lib/utils/inputValidation.d.ts.map +0 -1
  416. package/lib/utils/inputValidation.js +0 -51
  417. package/lib/utils/inputValidation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-index.d.ts","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAMvF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,wBAAwB,KAAK,wBAAwB,CAAC;CACnF,GAAG,oBAAoB,CAAC;AAEzB,eAAO,MAAM,cAAc,GAAU,SAAS,sBAAsB,iEA+BnE,CAAC"}
1
+ {"version":3,"file":"api-index.d.ts","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAMvF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,wBAAwB,KAAK,wBAAwB,CAAC;CACnF,GAAG,oBAAoB,CAAC;AAEzB,eAAO,MAAM,cAAc,GAAU,SAAS,sBAAsB,iEAkCnE,CAAC"}
package/lib/api-index.js CHANGED
@@ -13,7 +13,10 @@ import resolvers from './resolvers/index.js';
13
13
  import { actions } from './roles/index.js';
14
14
  export const startAPIServer = async (options) => {
15
15
  const { unchainedAPI, context: customContext, roles, adminUiConfig = {}, typeDefs: additionalTypeDefs = [], resolvers: additionalResolvers = [], ...serverOptions } = options || {};
16
- const contextResolver = createContextResolver(unchainedAPI, { roles, adminUiConfig });
16
+ const contextResolver = createContextResolver(unchainedAPI, {
17
+ roles,
18
+ adminUiConfig,
19
+ });
17
20
  setCurrentContextResolver(customContext
18
21
  ? (props, ...rest) => {
19
22
  return customContext(contextResolver)(props, ...rest);
@@ -1 +1 @@
1
- {"version":3,"file":"api-index.js","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAA6C,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,GAG1B,MAAM,cAAc,CAAC;AAEtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAS3C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;IACtE,MAAM,EACJ,YAAY,EACZ,OAAO,EAAE,aAAa,EACtB,KAAK,EACL,aAAa,GAAG,EAAE,EAClB,QAAQ,EAAE,kBAAkB,GAAG,EAAE,EACjC,SAAS,EAAE,mBAAmB,GAAG,EAAE,EACnC,GAAG,aAAa,EACjB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAEtF,yBAAyB,CACvB,aAAa;QACX,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YACjB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;QACH,CAAC,CAAC,eAAe,CACpB,CAAC;IAEF,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE;YACR,GAAG,oBAAoB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B,CAAC;YACF,GAAG,kBAAkB;SACtB;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC;QAC9C,GAAG,aAAa;KACjB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"api-index.js","sourceRoot":"","sources":["../src/api-index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAA6C,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,GAG1B,MAAM,cAAc,CAAC;AAEtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAS3C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;IACtE,MAAM,EACJ,YAAY,EACZ,OAAO,EAAE,aAAa,EACtB,KAAK,EACL,aAAa,GAAG,EAAE,EAClB,QAAQ,EAAE,kBAAkB,GAAG,EAAE,EACjC,SAAS,EAAE,mBAAmB,GAAG,EAAE,EACnC,GAAG,aAAa,EACjB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE;QAC1D,KAAK;QACL,aAAa;KACd,CAAC,CAAC;IAEH,yBAAyB,CACvB,aAAa;QACX,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YACjB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;QACH,CAAC,CAAC,eAAe,CACpB,CAAC;IAEF,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE;YACR,GAAG,oBAAoB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B,CAAC;YACF,GAAG,kBAAkB;SACtB;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC;QAC9C,GAAG,aAAa;KACjB,CAAC,CAAC;AACL,CAAC,CAAC"}
package/lib/errors.d.ts CHANGED
@@ -7,6 +7,7 @@ export declare const ProductMediaNotFoundError: any;
7
7
  export declare const ProductReviewNotFoundError: any;
8
8
  export declare const ProductWrongStatusError: any;
9
9
  export declare const ProductWrongTypeError: any;
10
+ export declare const ProductVariationInfinityLoop: any;
10
11
  export declare const AssortmentNotFoundError: any;
11
12
  export declare const AssortmentFilterNotFoundError: any;
12
13
  export declare const AssortmentLinkNotFoundError: any;
@@ -45,7 +46,6 @@ export declare const QuotationNotFoundError: any;
45
46
  export declare const BookmarkAlreadyExistsError: any;
46
47
  export declare const BookmarkNotFoundError: any;
47
48
  export declare const MultipleBookmarksFound: any;
48
- export declare const QueryStringRequiredError: any;
49
49
  export declare const PaymentProviderNotFoundError: any;
50
50
  export declare const WorkNotFoundOrWrongStatus: any;
51
51
  export declare const WorkNotFoundError: any;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/lib/errors.js CHANGED
@@ -17,6 +17,7 @@ export const ProductMediaNotFoundError = createError('ProductMediaNotFoundError'
17
17
  export const ProductReviewNotFoundError = createError('ProductReviewNotFoundError', 'ProductReview not found');
18
18
  export const ProductWrongStatusError = createError('ProductWrongStatusError', 'The current status of the product does not allow this operation');
19
19
  export const ProductWrongTypeError = createError('ProductWrongTypeError', 'The current type of the product does not allow this operation');
20
+ export const ProductVariationInfinityLoop = createError('ProductInfinityLoop', 'Assigning the proxy to itself as child in product assignments is not allowed, this would create an infinite loop');
20
21
  export const AssortmentNotFoundError = createError('AssortmentNotFoundError', 'Assortment not found');
21
22
  export const AssortmentFilterNotFoundError = createError('AssortmentFilterNotFoundError', 'Assortment filter not found');
22
23
  export const AssortmentLinkNotFoundError = createError('AssortmentLinkNotFoundError', 'Assortment link not found');
@@ -55,7 +56,6 @@ export const QuotationNotFoundError = createError('QuotationNotFoundError', 'Quo
55
56
  export const BookmarkAlreadyExistsError = createError('BookmarkAlreadyExistsError', 'Bookmark already exists');
56
57
  export const BookmarkNotFoundError = createError('BookmarkNotFoundError', 'Bookmark not found');
57
58
  export const MultipleBookmarksFound = createError('MultipleBookmarksFound', 'The convenience bookmark mutation cannot be used because multiple bookmarks were explicitly created with different metadata');
58
- export const QueryStringRequiredError = createError('QueryStringRequiredError', 'Query string is required when no assortments are in scope');
59
59
  export const PaymentProviderNotFoundError = createError('PaymentProviderNotFoundError', 'Payment provider not found');
60
60
  export const WorkNotFoundOrWrongStatus = createError('WorkNotFoundOrWrongStatus', 'Could not find work or no work with the correct status');
61
61
  export const WorkNotFoundError = createError('WorkNotFoundError', 'Work not found');
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const chatRouter: import("express-serve-static-core").Router;
2
+ export default chatRouter;
3
+ //# sourceMappingURL=chatRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatRouter.d.ts","sourceRoot":"","sources":["../../src/express/chatRouter.ts"],"names":[],"mappings":"AAwBA,QAAA,MAAM,UAAU,4CAAmB,CAAC;AAwEpC,eAAe,UAAU,CAAC"}
@@ -0,0 +1,86 @@
1
+ import express from 'express';
2
+ import { Experimental_StdioMCPTransport as StdioMCPTransport } from 'ai/mcp-stdio';
3
+ import { experimental_createMCPClient as createMCPClient, InvalidToolArgumentsError, NoSuchToolError, ToolExecutionError, streamText, } from 'ai';
4
+ import { anthropic } from '@ai-sdk/anthropic';
5
+ import { defaultLogger } from '@unchainedshop/logger';
6
+ import rateLimit from 'express-rate-limit';
7
+ // Define the rate limiter middleware
8
+ const chatRateLimiter = rateLimit({
9
+ windowMs: 60 * 1000,
10
+ max: 5, // Limit each IP to 5 requests per windowMs
11
+ standardHeaders: true,
12
+ legacyHeaders: false,
13
+ message: {
14
+ error: 'Too many requests to /chat. Please wait and try again later.',
15
+ },
16
+ });
17
+ const chatRouter = express.Router();
18
+ const { CHAT_API_PATH = '/chat', ANTHROPIC_API_KEY, ROOT_URL = 'http://localhost:4010' } = process.env;
19
+ const rootUrl = ROOT_URL;
20
+ try {
21
+ const url = new URL(rootUrl);
22
+ if (!['http:', 'https:'].includes(url.protocol))
23
+ throw new Error('Configuration error: Invalid protocol');
24
+ }
25
+ catch (error) {
26
+ defaultLogger.error('Invalid ROOT_URL environment variable');
27
+ throw error;
28
+ }
29
+ const errorHandler = (error) => {
30
+ if (NoSuchToolError.isInstance(error))
31
+ return 'NoSuchToolError';
32
+ if (InvalidToolArgumentsError.isInstance(error))
33
+ return 'InvalidToolArgumentsError';
34
+ if (ToolExecutionError.isInstance(error))
35
+ return 'ToolExecutionError';
36
+ if (error?.message?.toLowerCase() === 'forbidden')
37
+ return 'NetworkError';
38
+ defaultLogger.error(error);
39
+ return `Failed to stream response: ${error?.message || 'Unknown error'}`;
40
+ };
41
+ chatRouter.post(CHAT_API_PATH, chatRateLimiter, async (req, res) => {
42
+ const { messages } = req.body;
43
+ if (!ANTHROPIC_API_KEY) {
44
+ const logMessage = 'ANTHROPIC_API_KEY environment variable is not set. Please set it to use the chat API.';
45
+ defaultLogger.error(logMessage);
46
+ res.status(503).json({
47
+ error: {
48
+ code: 'CHAT_API_UNAVAILABLE',
49
+ message: 'Chat service temporarily unavailable. please try again letter',
50
+ },
51
+ id: null,
52
+ });
53
+ return;
54
+ }
55
+ let client;
56
+ try {
57
+ client = await createMCPClient({
58
+ transport: new StdioMCPTransport({
59
+ command: 'npx',
60
+ args: ['-y', 'supergateway', '--streamableHttp', `${rootUrl}/mcp`],
61
+ env: {},
62
+ }),
63
+ });
64
+ const tools = await client.tools();
65
+ const result = streamText({
66
+ system: 'do not include the data in your summary, just write a summary about it never list all the fields of a result, just summarize paragraph about your findings, if necessary',
67
+ model: anthropic('claude-4-sonnet-20250514'),
68
+ messages,
69
+ maxTokens: 1000,
70
+ maxSteps: 3,
71
+ tools,
72
+ onFinish: async () => {
73
+ await client?.close();
74
+ },
75
+ });
76
+ result.pipeDataStreamToResponse(res, {
77
+ getErrorMessage: errorHandler,
78
+ });
79
+ }
80
+ catch (err) {
81
+ await client?.close();
82
+ res.status(500).json({ error: errorHandler(err) });
83
+ }
84
+ });
85
+ export default chatRouter;
86
+ //# sourceMappingURL=chatRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatRouter.js","sourceRoot":"","sources":["../../src/express/chatRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export default function createApolloMiddleware(apolloGraphQLServer: any, { corsOrigins }?: {
2
+ corsOrigins?: any;
3
+ }): any[];
4
+ //# sourceMappingURL=createApolloMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApolloMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createApolloMiddleware.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,mBAAmB,KAAA,EAAE,EAAE,WAAuB,EAAE;;CAAK,SAiCnG"}
@@ -0,0 +1,36 @@
1
+ import cors from 'cors';
2
+ import { expressMiddleware } from '@apollo/server/express4';
3
+ import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.mjs';
4
+ import e from 'express';
5
+ import { getCurrentContextResolver } from '../context.js';
6
+ export default function createApolloMiddleware(apolloGraphQLServer, { corsOrigins = undefined } = {}) {
7
+ const contextResolver = getCurrentContextResolver();
8
+ const originFn = corsOrigins && Array.isArray(corsOrigins)
9
+ ? (origin, callback) => {
10
+ if (corsOrigins.length === 0 || !origin) {
11
+ callback(null, true);
12
+ return;
13
+ }
14
+ if (corsOrigins.indexOf(origin) !== -1) {
15
+ callback(null, true);
16
+ }
17
+ else {
18
+ callback(new Error('Not allowed by CORS'));
19
+ }
20
+ }
21
+ : corsOrigins;
22
+ return [
23
+ cors(!originFn
24
+ ? undefined
25
+ : {
26
+ origin: originFn,
27
+ credentials: true,
28
+ }),
29
+ e.json(),
30
+ graphqlUploadExpress({ maxFileSize: 10000000, maxFiles: 10 }),
31
+ expressMiddleware(apolloGraphQLServer, {
32
+ context: contextResolver,
33
+ }),
34
+ ];
35
+ }
36
+ //# sourceMappingURL=createApolloMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApolloMiddleware.js","sourceRoot":"","sources":["../../src/express/createApolloMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,CAAC,MAAM,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,mBAAmB,EAAE,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE;IAClG,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,QAAQ,GACZ,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACnB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACH,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO;QACL,IAAI,CACF,CAAC,QAAQ;YACP,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,IAAI;aAClB,CACN;QACD,CAAC,CAAC,IAAI,EAAE;QACR,oBAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC7D,iBAAiB,CAAC,mBAAmB,EAAE;YACrC,OAAO,EAAE,eAAe;SACzB,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Context } from '../context.js';
2
+ export default function bulkImportMiddleware(req: Request & {
3
+ query?: any;
4
+ unchainedContext: Context;
5
+ }, res: any): Promise<void>;
6
+ //# sourceMappingURL=createBulkImportMiddleware%20copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBulkImportMiddleware copy.d.ts","sourceRoot":"","sources":["../../src/express/createBulkImportMiddleware copy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,wBAA8B,oBAAoB,CAChD,GAAG,EAAE,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,EACzD,GAAG,KAAA,iBA8CJ"}
@@ -0,0 +1,49 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ import { checkAction } from '../acl.js';
3
+ import { actions } from '../roles/index.js';
4
+ const logger = createLogger('unchained:bulk-import');
5
+ const methodWrongHandler = (res) => {
6
+ logger.error('Method not supported, return 404');
7
+ res.writeHead(404);
8
+ res.end();
9
+ return;
10
+ };
11
+ export default async function bulkImportMiddleware(req, res) {
12
+ try {
13
+ const context = req.unchainedContext;
14
+ if (req.method !== 'POST') {
15
+ return methodWrongHandler(res);
16
+ }
17
+ await checkAction(context, actions.bulkImport);
18
+ const input = {
19
+ createShouldUpsertIfIDExists: !!req.query?.createShouldUpsertIfIDExists,
20
+ updateShouldUpsertIfIDNotExists: !!req.query?.updateShouldUpsertIfIDNotExists,
21
+ skipCacheInvalidation: !!req.query?.skipCacheInvalidation,
22
+ remoteAddress: context.remoteAddress,
23
+ };
24
+ const date = new Date().toISOString();
25
+ const file = await context.services.files.uploadFileFromStream({
26
+ directoryName: 'bulk-import-streams',
27
+ rawFile: Promise.resolve({ filename: `${date}.json`, createReadStream: () => req }),
28
+ meta: {},
29
+ });
30
+ input.payloadId = file._id;
31
+ input.payloadSize = file.size;
32
+ const purgedInput = Object.fromEntries(Object.entries(input).filter(([, value]) => Boolean(value)));
33
+ const work = await context.modules.worker.addWork({
34
+ type: 'BULK_IMPORT',
35
+ input: purgedInput,
36
+ retries: 0,
37
+ priority: 10,
38
+ });
39
+ res.writeHead(200);
40
+ res.end(JSON.stringify(work));
41
+ }
42
+ catch (e) {
43
+ logger.error(e.message);
44
+ res.writeHead(503);
45
+ res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
46
+ return;
47
+ }
48
+ }
49
+ //# sourceMappingURL=createBulkImportMiddleware%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBulkImportMiddleware copy.js","sourceRoot":"","sources":["../../src/express/createBulkImportMiddleware copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,EAAE;IACjC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,OAAO;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAChD,GAAyD,EACzD,GAAG;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAErC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,CAAC,OAAO,EAAG,OAAe,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,KAAK,GAAQ;YACjB,4BAA4B,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,4BAA4B;YACvE,+BAA+B,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,+BAA+B;YAC7E,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB;YACzD,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC;YAC7D,aAAa,EAAE,qBAAqB;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACnF,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAChD,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;AACH,CAAC"}
@@ -1,8 +1,4 @@
1
- import { Request, Response } from 'express';
2
- import { UnchainedCore } from '@unchainedshop/core';
3
- export interface MCPMiddlewareOptions {
4
- unchainedAPI: UnchainedCore;
5
- }
6
- declare const createMCPMiddleware: ({ unchainedAPI }: MCPMiddlewareOptions) => (req: Request, res: Response) => Promise<void>;
1
+ import { RequestHandler } from 'express';
2
+ declare const createMCPMiddleware: RequestHandler;
7
3
  export default createMCPMiddleware;
8
4
  //# sourceMappingURL=createMCPMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMCPMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createMCPMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,mBAAmB,GAAI,kBAAkB,oBAAoB,MACnD,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA6C1C,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"createMCPMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createMCPMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,cAAc,EAAE,MAAM,SAAS,CAAC;AAiElD,QAAA,MAAM,mBAAmB,EAAE,cAoB1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,46 +1,77 @@
1
- import { searchProductsWithCore, renderProductList, searchProductsTool } from '../mcp/index.js';
2
- const createMCPMiddleware = ({ unchainedAPI }) => {
3
- return async (req, res) => {
4
- if (req.method !== 'POST') {
5
- res.status(405).json({ error: 'Method not allowed' });
6
- return;
7
- }
8
- try {
9
- const { method, params } = req.body;
10
- if (method === 'tools/list') {
11
- res.json({
12
- tools: [searchProductsTool],
13
- });
14
- return;
1
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
2
+ import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
3
+ import createMcpServer from '../mcp/index.js';
4
+ // Map to store transports by session ID
5
+ const transports = {};
6
+ const handlePostRequest = async (req, res) => {
7
+ // Check for existing session ID
8
+ const sessionId = req.headers['mcp-session-id'];
9
+ let transport;
10
+ if (sessionId && transports[sessionId]) {
11
+ // Reuse existing transport
12
+ transport = transports[sessionId];
13
+ }
14
+ else if (!sessionId && isInitializeRequest(req.body)) {
15
+ // New initialization request
16
+ transport = new StreamableHTTPServerTransport({
17
+ sessionIdGenerator: () => crypto.randomUUID(),
18
+ onsessioninitialized: (sessionId) => {
19
+ // Store the transport by session ID
20
+ transports[sessionId] = transport;
21
+ },
22
+ });
23
+ // Clean up transport when closed
24
+ transport.onclose = () => {
25
+ if (transport.sessionId) {
26
+ delete transports[transport.sessionId];
15
27
  }
16
- if (method === 'tools/call' && params?.name === 'searchProducts') {
17
- const args = params.arguments || {};
18
- const result = await searchProductsWithCore(unchainedAPI, args);
19
- res.json({
20
- content: [
21
- {
22
- type: 'text',
23
- text: renderProductList(result),
24
- },
25
- ],
26
- });
27
- return;
28
- }
29
- res.status(400).json({ error: 'Unknown method' });
30
- }
31
- catch (error) {
32
- console.error('MCP middleware error:', error);
33
- res.status(500).json({
34
- content: [
35
- {
36
- type: 'text',
37
- text: `Error: ${error.message}`,
38
- },
39
- ],
40
- isError: true,
41
- });
42
- }
43
- };
28
+ };
29
+ const roles = req.unchainedContext.user.roles || [];
30
+ const server = createMcpServer(req.unchainedContext, roles);
31
+ await server.connect(transport);
32
+ }
33
+ else {
34
+ // Invalid request
35
+ res.status(400).json({
36
+ jsonrpc: '2.0',
37
+ error: {
38
+ code: -32000,
39
+ message: 'Bad Request: No valid session ID provided',
40
+ },
41
+ id: null,
42
+ });
43
+ return;
44
+ }
45
+ // Handle the request
46
+ await transport.handleRequest(req, res, req.body);
47
+ };
48
+ // Reusable handler for GET and DELETE requests
49
+ const handleSessionRequest = async (req, res) => {
50
+ const sessionId = req.headers['mcp-session-id'];
51
+ if (!sessionId || !transports[sessionId]) {
52
+ res.status(400).send('Invalid or missing session ID');
53
+ return;
54
+ }
55
+ const transport = transports[sessionId];
56
+ await transport.handleRequest(req, res);
57
+ };
58
+ const createMCPMiddleware = (req, res, next) => {
59
+ if (!req.unchainedContext.user) {
60
+ res.status(401);
61
+ res.header('WWW-Authenticate', `Bearer realm="Unchained MCP", error="invalid_token", resource="${process.env.ROOT_URL || 'http://localhost:4010'}",`);
62
+ res.json({
63
+ error: 'invalid_token',
64
+ resource_metadata: `${process.env.ROOT_URL || 'http://localhost:4010'}/.well-known/oauth-protected-resource`,
65
+ });
66
+ return;
67
+ }
68
+ if (req.method === 'POST') {
69
+ return handlePostRequest(req, res, next);
70
+ }
71
+ else if (req.method === 'GET' || req.method === 'DELETE') {
72
+ return handleSessionRequest(req, res, next);
73
+ }
74
+ res.status(405).send('Method Not Allowed');
44
75
  };
45
76
  export default createMCPMiddleware;
46
77
  //# sourceMappingURL=createMCPMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMCPMiddleware.js","sourceRoot":"","sources":["../../src/express/createMCPMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMhG,MAAM,mBAAmB,GAAG,CAAC,EAAE,YAAY,EAAwB,EAAE,EAAE;IACrE,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAEpC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,CAAC,kBAAkB,CAAC;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAEhE,GAAG,CAAC,IAAI,CAAC;oBACP,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;yBAChC;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE;qBAChC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"createMCPMiddleware.js","sourceRoot":"","sources":["../../src/express/createMCPMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IncomingMessage } from 'http';
2
+ export default function singleSignOnMiddleware(req: IncomingMessage & {
3
+ query?: any;
4
+ }, res: any, next: any): Promise<void>;
5
+ //# sourceMappingURL=createSingleSignOnMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSingleSignOnMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createSingleSignOnMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAmEvC,wBAA8B,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,iBAoBrG"}
@@ -0,0 +1,71 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ import cookie from 'cookie';
3
+ import { getCurrentContextResolver } from '../context.js';
4
+ const { NODE_ENV, UNCHAINED_CLOUD_ENDPOINT, UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_DOMAIN, } = process.env;
5
+ const logger = createLogger('unchained:unchained-cloud-sso');
6
+ const loginWithSingleSignOn = async (remoteToken, context) => {
7
+ const domain = UNCHAINED_COOKIE_DOMAIN;
8
+ const result = await fetch(UNCHAINED_CLOUD_ENDPOINT, {
9
+ method: 'POST',
10
+ headers: {
11
+ 'content-type': 'application/json',
12
+ },
13
+ duplex: 'half',
14
+ body: JSON.stringify({
15
+ operationName: 'consume',
16
+ variables: {
17
+ token: remoteToken,
18
+ },
19
+ query: 'mutation consume($token: ID!) { controlConsumeSingleSignOnToken(token: $token) { domain } }',
20
+ }),
21
+ });
22
+ const json = await result.json();
23
+ if (json?.errors?.length > 0) {
24
+ throw new Error(json.errors[0].message);
25
+ }
26
+ if (domain === 'localhost' || domain === json?.data?.controlConsumeSingleSignOnToken?.domain) {
27
+ // create sso user if not exist and login
28
+ const ssoUserId = (await context.modules.users.findUser({ username: 'sso' }))?._id ||
29
+ (await context.modules.accounts.createUser({
30
+ username: 'sso',
31
+ roles: ['admin'],
32
+ email: 'sso@unchained.local',
33
+ password: null,
34
+ guest: false,
35
+ }, { skipMessaging: true }));
36
+ const { tokenExpires, token } = await context.modules.accounts.createLoginToken(ssoUserId, context);
37
+ const expires = new Date(tokenExpires || new Date().getTime() + 100000);
38
+ const authCookie = cookie.serialize(UNCHAINED_COOKIE_NAME, token, {
39
+ domain,
40
+ httpOnly: true,
41
+ expires,
42
+ path: '/',
43
+ sameSite: 'strict',
44
+ secure: NODE_ENV === 'production',
45
+ });
46
+ return authCookie;
47
+ }
48
+ throw new Error('Invalid token/domain pair');
49
+ };
50
+ export default async function singleSignOnMiddleware(req, res, next) {
51
+ try {
52
+ if (req.query?.token && UNCHAINED_CLOUD_ENDPOINT) {
53
+ const contextResolver = getCurrentContextResolver();
54
+ const context = await contextResolver({ req, res });
55
+ const authCookie = await loginWithSingleSignOn(req.query.token, context);
56
+ if (authCookie) {
57
+ res.writeHead(303, {
58
+ 'Set-Cookie': authCookie,
59
+ Location: '/',
60
+ });
61
+ res.end();
62
+ return;
63
+ }
64
+ }
65
+ }
66
+ catch (e) {
67
+ logger.error(e.message);
68
+ }
69
+ next();
70
+ }
71
+ //# sourceMappingURL=createSingleSignOnMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSingleSignOnMiddleware.js","sourceRoot":"","sources":["../../src/express/createSingleSignOnMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Context } from '../context.js';
2
+ export default function tempUploadMiddleware(req: Request & {
3
+ query?: any;
4
+ files: any;
5
+ unchainedContext: Context;
6
+ }, res: any): Promise<void>;
7
+ //# sourceMappingURL=createTempUploadMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTempUploadMiddleware.d.ts","sourceRoot":"","sources":["../../src/express/createTempUploadMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYxC,wBAA8B,oBAAoB,CAChD,GAAG,EAAE,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,EACrE,GAAG,KAAA,iBA0CJ"}