@endora-commerce/mod-catalog 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/admin/components/PackagingUnitsEditor.d.ts +12 -0
  4. package/dist/admin/components/PackagingUnitsEditor.d.ts.map +1 -0
  5. package/dist/admin/components/PackagingUnitsEditor.js +99 -0
  6. package/dist/admin/components/PackagingUnitsEditor.js.map +1 -0
  7. package/dist/admin/components/ProductAttributesTab.d.ts +13 -0
  8. package/dist/admin/components/ProductAttributesTab.d.ts.map +1 -0
  9. package/dist/admin/components/ProductAttributesTab.js +140 -0
  10. package/dist/admin/components/ProductAttributesTab.js.map +1 -0
  11. package/dist/admin/components/ProductInventoryTab.d.ts +14 -0
  12. package/dist/admin/components/ProductInventoryTab.d.ts.map +1 -0
  13. package/dist/admin/components/ProductInventoryTab.js +284 -0
  14. package/dist/admin/components/ProductInventoryTab.js.map +1 -0
  15. package/dist/admin/components/ProductScopeEditor.d.ts +94 -0
  16. package/dist/admin/components/ProductScopeEditor.d.ts.map +1 -0
  17. package/dist/admin/components/ProductScopeEditor.js +395 -0
  18. package/dist/admin/components/ProductScopeEditor.js.map +1 -0
  19. package/dist/admin/components/ProductsBulkEditDialog.d.ts +11 -0
  20. package/dist/admin/components/ProductsBulkEditDialog.d.ts.map +1 -0
  21. package/dist/admin/components/ProductsBulkEditDialog.js +304 -0
  22. package/dist/admin/components/ProductsBulkEditDialog.js.map +1 -0
  23. package/dist/admin/index.d.ts +45 -0
  24. package/dist/admin/index.d.ts.map +1 -0
  25. package/dist/admin/index.js +184 -0
  26. package/dist/admin/index.js.map +1 -0
  27. package/dist/admin/lib/resolve-product-selection.d.ts +21 -0
  28. package/dist/admin/lib/resolve-product-selection.d.ts.map +1 -0
  29. package/dist/admin/lib/resolve-product-selection.js +25 -0
  30. package/dist/admin/lib/resolve-product-selection.js.map +1 -0
  31. package/dist/admin/pages/AttachmentTypesPage.d.ts +18 -0
  32. package/dist/admin/pages/AttachmentTypesPage.d.ts.map +1 -0
  33. package/dist/admin/pages/AttachmentTypesPage.js +92 -0
  34. package/dist/admin/pages/AttachmentTypesPage.js.map +1 -0
  35. package/dist/admin/pages/AttributeSetsPage.d.ts +21 -0
  36. package/dist/admin/pages/AttributeSetsPage.d.ts.map +1 -0
  37. package/dist/admin/pages/AttributeSetsPage.js +158 -0
  38. package/dist/admin/pages/AttributeSetsPage.js.map +1 -0
  39. package/dist/admin/pages/AttributesManager.d.ts +9 -0
  40. package/dist/admin/pages/AttributesManager.d.ts.map +1 -0
  41. package/dist/admin/pages/AttributesManager.js +305 -0
  42. package/dist/admin/pages/AttributesManager.js.map +1 -0
  43. package/dist/admin/pages/BulkOperationDetailPage.d.ts +9 -0
  44. package/dist/admin/pages/BulkOperationDetailPage.d.ts.map +1 -0
  45. package/dist/admin/pages/BulkOperationDetailPage.js +187 -0
  46. package/dist/admin/pages/BulkOperationDetailPage.js.map +1 -0
  47. package/dist/admin/pages/BulkOperationsPage.d.ts +9 -0
  48. package/dist/admin/pages/BulkOperationsPage.d.ts.map +1 -0
  49. package/dist/admin/pages/BulkOperationsPage.js +98 -0
  50. package/dist/admin/pages/BulkOperationsPage.js.map +1 -0
  51. package/dist/admin/pages/CategoriesTree.d.ts +9 -0
  52. package/dist/admin/pages/CategoriesTree.d.ts.map +1 -0
  53. package/dist/admin/pages/CategoriesTree.js +176 -0
  54. package/dist/admin/pages/CategoriesTree.js.map +1 -0
  55. package/dist/admin/pages/ProductEditor.d.ts +13 -0
  56. package/dist/admin/pages/ProductEditor.d.ts.map +1 -0
  57. package/dist/admin/pages/ProductEditor.js +1050 -0
  58. package/dist/admin/pages/ProductEditor.js.map +1 -0
  59. package/dist/admin/pages/ProductsList.d.ts +9 -0
  60. package/dist/admin/pages/ProductsList.d.ts.map +1 -0
  61. package/dist/admin/pages/ProductsList.js +399 -0
  62. package/dist/admin/pages/ProductsList.js.map +1 -0
  63. package/dist/backend/commands/attribute-commands.d.ts +111 -0
  64. package/dist/backend/commands/attribute-commands.d.ts.map +1 -0
  65. package/dist/backend/commands/attribute-commands.js +482 -0
  66. package/dist/backend/commands/attribute-commands.js.map +1 -0
  67. package/dist/backend/demo/reset.d.ts +23 -0
  68. package/dist/backend/demo/reset.d.ts.map +1 -0
  69. package/dist/backend/demo/reset.js +41 -0
  70. package/dist/backend/demo/reset.js.map +1 -0
  71. package/dist/backend/demo/rows.d.ts +103 -0
  72. package/dist/backend/demo/rows.d.ts.map +1 -0
  73. package/dist/backend/demo/rows.js +162 -0
  74. package/dist/backend/demo/rows.js.map +1 -0
  75. package/dist/backend/demo/seed.d.ts +35 -0
  76. package/dist/backend/demo/seed.d.ts.map +1 -0
  77. package/dist/backend/demo/seed.js +177 -0
  78. package/dist/backend/demo/seed.js.map +1 -0
  79. package/dist/backend/entities/attachment-type.entity.d.ts +16 -0
  80. package/dist/backend/entities/attachment-type.entity.d.ts.map +1 -0
  81. package/dist/backend/entities/attachment-type.entity.js +57 -0
  82. package/dist/backend/entities/attachment-type.entity.js.map +1 -0
  83. package/dist/backend/entities/attribute-set-attribute.entity.d.ts +26 -0
  84. package/dist/backend/entities/attribute-set-attribute.entity.d.ts.map +1 -0
  85. package/dist/backend/entities/attribute-set-attribute.entity.js +55 -0
  86. package/dist/backend/entities/attribute-set-attribute.entity.js.map +1 -0
  87. package/dist/backend/entities/attribute-set.entity.d.ts +22 -0
  88. package/dist/backend/entities/attribute-set.entity.d.ts.map +1 -0
  89. package/dist/backend/entities/attribute-set.entity.js +67 -0
  90. package/dist/backend/entities/attribute-set.entity.js.map +1 -0
  91. package/dist/backend/entities/bulk-operation.entity.d.ts +78 -0
  92. package/dist/backend/entities/bulk-operation.entity.d.ts.map +1 -0
  93. package/dist/backend/entities/bulk-operation.entity.js +138 -0
  94. package/dist/backend/entities/bulk-operation.entity.js.map +1 -0
  95. package/dist/backend/entities/bundle-slot-option.entity.d.ts +23 -0
  96. package/dist/backend/entities/bundle-slot-option.entity.d.ts.map +1 -0
  97. package/dist/backend/entities/bundle-slot-option.entity.js +68 -0
  98. package/dist/backend/entities/bundle-slot-option.entity.js.map +1 -0
  99. package/dist/backend/entities/bundle-slot.entity.d.ts +25 -0
  100. package/dist/backend/entities/bundle-slot.entity.d.ts.map +1 -0
  101. package/dist/backend/entities/bundle-slot.entity.js +74 -0
  102. package/dist/backend/entities/bundle-slot.entity.js.map +1 -0
  103. package/dist/backend/entities/category.entity.d.ts +26 -0
  104. package/dist/backend/entities/category.entity.d.ts.map +1 -0
  105. package/dist/backend/entities/category.entity.js +119 -0
  106. package/dist/backend/entities/category.entity.js.map +1 -0
  107. package/dist/backend/entities/gallery-item-label.entity.d.ts +22 -0
  108. package/dist/backend/entities/gallery-item-label.entity.d.ts.map +1 -0
  109. package/dist/backend/entities/gallery-item-label.entity.js +50 -0
  110. package/dist/backend/entities/gallery-item-label.entity.js.map +1 -0
  111. package/dist/backend/entities/gallery-item.entity.d.ts +17 -0
  112. package/dist/backend/entities/gallery-item.entity.d.ts.map +1 -0
  113. package/dist/backend/entities/gallery-item.entity.js +58 -0
  114. package/dist/backend/entities/gallery-item.entity.js.map +1 -0
  115. package/dist/backend/entities/grouped-item.entity.d.ts +23 -0
  116. package/dist/backend/entities/grouped-item.entity.d.ts.map +1 -0
  117. package/dist/backend/entities/grouped-item.entity.js +68 -0
  118. package/dist/backend/entities/grouped-item.entity.js.map +1 -0
  119. package/dist/backend/entities/product-attachment.entity.d.ts +23 -0
  120. package/dist/backend/entities/product-attachment.entity.d.ts.map +1 -0
  121. package/dist/backend/entities/product-attachment.entity.js +77 -0
  122. package/dist/backend/entities/product-attachment.entity.js.map +1 -0
  123. package/dist/backend/entities/product-attribute.entity.d.ts +72 -0
  124. package/dist/backend/entities/product-attribute.entity.d.ts.map +1 -0
  125. package/dist/backend/entities/product-attribute.entity.js +161 -0
  126. package/dist/backend/entities/product-attribute.entity.js.map +1 -0
  127. package/dist/backend/entities/product-editor-preference.entity.d.ts +28 -0
  128. package/dist/backend/entities/product-editor-preference.entity.d.ts.map +1 -0
  129. package/dist/backend/entities/product-editor-preference.entity.js +63 -0
  130. package/dist/backend/entities/product-editor-preference.entity.js.map +1 -0
  131. package/dist/backend/entities/product-link.entity.d.ts +25 -0
  132. package/dist/backend/entities/product-link.entity.d.ts.map +1 -0
  133. package/dist/backend/entities/product-link.entity.js +70 -0
  134. package/dist/backend/entities/product-link.entity.js.map +1 -0
  135. package/dist/backend/entities/product-packaging-unit.entity.d.ts +26 -0
  136. package/dist/backend/entities/product-packaging-unit.entity.d.ts.map +1 -0
  137. package/dist/backend/entities/product-packaging-unit.entity.js +76 -0
  138. package/dist/backend/entities/product-packaging-unit.entity.js.map +1 -0
  139. package/dist/backend/entities/product-value-override.entity.d.ts +43 -0
  140. package/dist/backend/entities/product-value-override.entity.d.ts.map +1 -0
  141. package/dist/backend/entities/product-value-override.entity.js +90 -0
  142. package/dist/backend/entities/product-value-override.entity.js.map +1 -0
  143. package/dist/backend/entities/product-variant.entity.d.ts +18 -0
  144. package/dist/backend/entities/product-variant.entity.d.ts.map +1 -0
  145. package/dist/backend/entities/product-variant.entity.js +68 -0
  146. package/dist/backend/entities/product-variant.entity.js.map +1 -0
  147. package/dist/backend/entities/product.entity.d.ts +108 -0
  148. package/dist/backend/entities/product.entity.d.ts.map +1 -0
  149. package/dist/backend/entities/product.entity.js +230 -0
  150. package/dist/backend/entities/product.entity.js.map +1 -0
  151. package/dist/backend/index.d.ts +262 -0
  152. package/dist/backend/index.d.ts.map +1 -0
  153. package/dist/backend/index.js +642 -0
  154. package/dist/backend/index.js.map +1 -0
  155. package/dist/backend/plugin.d.ts +216 -0
  156. package/dist/backend/plugin.d.ts.map +1 -0
  157. package/dist/backend/plugin.js +223 -0
  158. package/dist/backend/plugin.js.map +1 -0
  159. package/dist/backend/prompt-tools.d.ts +47 -0
  160. package/dist/backend/prompt-tools.d.ts.map +1 -0
  161. package/dist/backend/prompt-tools.js +284 -0
  162. package/dist/backend/prompt-tools.js.map +1 -0
  163. package/dist/backend/routes.admin.d.ts +105 -0
  164. package/dist/backend/routes.admin.d.ts.map +1 -0
  165. package/dist/backend/routes.admin.js +1162 -0
  166. package/dist/backend/routes.admin.js.map +1 -0
  167. package/dist/backend/routes.api-key.d.ts +33 -0
  168. package/dist/backend/routes.api-key.d.ts.map +1 -0
  169. package/dist/backend/routes.api-key.js +43 -0
  170. package/dist/backend/routes.api-key.js.map +1 -0
  171. package/dist/backend/routes.external.d.ts +32 -0
  172. package/dist/backend/routes.external.d.ts.map +1 -0
  173. package/dist/backend/routes.external.js +115 -0
  174. package/dist/backend/routes.external.js.map +1 -0
  175. package/dist/backend/routes.public.d.ts +46 -0
  176. package/dist/backend/routes.public.d.ts.map +1 -0
  177. package/dist/backend/routes.public.js +318 -0
  178. package/dist/backend/routes.public.js.map +1 -0
  179. package/dist/backend/services/asset-references.d.ts +4 -0
  180. package/dist/backend/services/asset-references.d.ts.map +1 -0
  181. package/dist/backend/services/asset-references.js +104 -0
  182. package/dist/backend/services/asset-references.js.map +1 -0
  183. package/dist/backend/services/attachment.service.d.ts +45 -0
  184. package/dist/backend/services/attachment.service.d.ts.map +1 -0
  185. package/dist/backend/services/attachment.service.js +268 -0
  186. package/dist/backend/services/attachment.service.js.map +1 -0
  187. package/dist/backend/services/attribute-option-validator.d.ts +47 -0
  188. package/dist/backend/services/attribute-option-validator.d.ts.map +1 -0
  189. package/dist/backend/services/attribute-option-validator.js +69 -0
  190. package/dist/backend/services/attribute-option-validator.js.map +1 -0
  191. package/dist/backend/services/attribute-set-validations.d.ts +65 -0
  192. package/dist/backend/services/attribute-set-validations.d.ts.map +1 -0
  193. package/dist/backend/services/attribute-set-validations.js +89 -0
  194. package/dist/backend/services/attribute-set-validations.js.map +1 -0
  195. package/dist/backend/services/attribute-set.service.d.ts +50 -0
  196. package/dist/backend/services/attribute-set.service.d.ts.map +1 -0
  197. package/dist/backend/services/attribute-set.service.js +401 -0
  198. package/dist/backend/services/attribute-set.service.js.map +1 -0
  199. package/dist/backend/services/attribute-type-mapping.d.ts +66 -0
  200. package/dist/backend/services/attribute-type-mapping.d.ts.map +1 -0
  201. package/dist/backend/services/attribute-type-mapping.js +121 -0
  202. package/dist/backend/services/attribute-type-mapping.js.map +1 -0
  203. package/dist/backend/services/attribute-value-key.service.d.ts +48 -0
  204. package/dist/backend/services/attribute-value-key.service.d.ts.map +1 -0
  205. package/dist/backend/services/attribute-value-key.service.js +118 -0
  206. package/dist/backend/services/attribute-value-key.service.js.map +1 -0
  207. package/dist/backend/services/audit-references.d.ts +13 -0
  208. package/dist/backend/services/audit-references.d.ts.map +1 -0
  209. package/dist/backend/services/audit-references.js +51 -0
  210. package/dist/backend/services/audit-references.js.map +1 -0
  211. package/dist/backend/services/bulk-operation-queue.d.ts +26 -0
  212. package/dist/backend/services/bulk-operation-queue.d.ts.map +1 -0
  213. package/dist/backend/services/bulk-operation-queue.js +34 -0
  214. package/dist/backend/services/bulk-operation-queue.js.map +1 -0
  215. package/dist/backend/services/bulk-operation.service.d.ts +195 -0
  216. package/dist/backend/services/bulk-operation.service.d.ts.map +1 -0
  217. package/dist/backend/services/bulk-operation.service.js +510 -0
  218. package/dist/backend/services/bulk-operation.service.js.map +1 -0
  219. package/dist/backend/services/bundle.service.d.ts +87 -0
  220. package/dist/backend/services/bundle.service.d.ts.map +1 -0
  221. package/dist/backend/services/bundle.service.js +286 -0
  222. package/dist/backend/services/bundle.service.js.map +1 -0
  223. package/dist/backend/services/catalog-admin.service.d.ts +398 -0
  224. package/dist/backend/services/catalog-admin.service.d.ts.map +1 -0
  225. package/dist/backend/services/catalog-admin.service.js +1516 -0
  226. package/dist/backend/services/catalog-admin.service.js.map +1 -0
  227. package/dist/backend/services/catalog-attribute-read.service.d.ts +78 -0
  228. package/dist/backend/services/catalog-attribute-read.service.d.ts.map +1 -0
  229. package/dist/backend/services/catalog-attribute-read.service.js +216 -0
  230. package/dist/backend/services/catalog-attribute-read.service.js.map +1 -0
  231. package/dist/backend/services/catalog-bulk-import.service.d.ts +30 -0
  232. package/dist/backend/services/catalog-bulk-import.service.d.ts.map +1 -0
  233. package/dist/backend/services/catalog-bulk-import.service.js +136 -0
  234. package/dist/backend/services/catalog-bulk-import.service.js.map +1 -0
  235. package/dist/backend/services/catalog-bulk-update.service.d.ts +91 -0
  236. package/dist/backend/services/catalog-bulk-update.service.d.ts.map +1 -0
  237. package/dist/backend/services/catalog-bulk-update.service.js +330 -0
  238. package/dist/backend/services/catalog-bulk-update.service.js.map +1 -0
  239. package/dist/backend/services/catalog-category-read.service.d.ts +66 -0
  240. package/dist/backend/services/catalog-category-read.service.d.ts.map +1 -0
  241. package/dist/backend/services/catalog-category-read.service.js +248 -0
  242. package/dist/backend/services/catalog-category-read.service.js.map +1 -0
  243. package/dist/backend/services/catalog-org-price-decorator.d.ts +90 -0
  244. package/dist/backend/services/catalog-org-price-decorator.d.ts.map +1 -0
  245. package/dist/backend/services/catalog-org-price-decorator.js +184 -0
  246. package/dist/backend/services/catalog-org-price-decorator.js.map +1 -0
  247. package/dist/backend/services/catalog-product-filter.service.d.ts +82 -0
  248. package/dist/backend/services/catalog-product-filter.service.d.ts.map +1 -0
  249. package/dist/backend/services/catalog-product-filter.service.js +275 -0
  250. package/dist/backend/services/catalog-product-filter.service.js.map +1 -0
  251. package/dist/backend/services/catalog-product-read.service.d.ts +46 -0
  252. package/dist/backend/services/catalog-product-read.service.d.ts.map +1 -0
  253. package/dist/backend/services/catalog-product-read.service.js +197 -0
  254. package/dist/backend/services/catalog-product-read.service.js.map +1 -0
  255. package/dist/backend/services/catalog-query.service.d.ts +444 -0
  256. package/dist/backend/services/catalog-query.service.d.ts.map +1 -0
  257. package/dist/backend/services/catalog-query.service.js +1633 -0
  258. package/dist/backend/services/catalog-query.service.js.map +1 -0
  259. package/dist/backend/services/catalog-quick-search.service.d.ts +78 -0
  260. package/dist/backend/services/catalog-quick-search.service.d.ts.map +1 -0
  261. package/dist/backend/services/catalog-quick-search.service.js +159 -0
  262. package/dist/backend/services/catalog-quick-search.service.js.map +1 -0
  263. package/dist/backend/services/catalog-write-ports.d.ts +25 -0
  264. package/dist/backend/services/catalog-write-ports.d.ts.map +1 -0
  265. package/dist/backend/services/catalog-write-ports.js +63 -0
  266. package/dist/backend/services/catalog-write-ports.js.map +1 -0
  267. package/dist/backend/services/category-admin.service.d.ts +102 -0
  268. package/dist/backend/services/category-admin.service.d.ts.map +1 -0
  269. package/dist/backend/services/category-admin.service.js +271 -0
  270. package/dist/backend/services/category-admin.service.js.map +1 -0
  271. package/dist/backend/services/gallery.service.d.ts +85 -0
  272. package/dist/backend/services/gallery.service.d.ts.map +1 -0
  273. package/dist/backend/services/gallery.service.js +326 -0
  274. package/dist/backend/services/gallery.service.js.map +1 -0
  275. package/dist/backend/services/grouped.service.d.ts +39 -0
  276. package/dist/backend/services/grouped.service.d.ts.map +1 -0
  277. package/dist/backend/services/grouped.service.js +136 -0
  278. package/dist/backend/services/grouped.service.js.map +1 -0
  279. package/dist/backend/services/label-resolver.d.ts +16 -0
  280. package/dist/backend/services/label-resolver.d.ts.map +1 -0
  281. package/dist/backend/services/label-resolver.js +43 -0
  282. package/dist/backend/services/label-resolver.js.map +1 -0
  283. package/dist/backend/services/packaging-unit.service.d.ts +28 -0
  284. package/dist/backend/services/packaging-unit.service.d.ts.map +1 -0
  285. package/dist/backend/services/packaging-unit.service.js +197 -0
  286. package/dist/backend/services/packaging-unit.service.js.map +1 -0
  287. package/dist/backend/services/primary-asset-url.d.ts +4 -0
  288. package/dist/backend/services/primary-asset-url.d.ts.map +1 -0
  289. package/dist/backend/services/primary-asset-url.js +55 -0
  290. package/dist/backend/services/primary-asset-url.js.map +1 -0
  291. package/dist/backend/services/product-editor-preferences.service.d.ts +20 -0
  292. package/dist/backend/services/product-editor-preferences.service.d.ts.map +1 -0
  293. package/dist/backend/services/product-editor-preferences.service.js +44 -0
  294. package/dist/backend/services/product-editor-preferences.service.js.map +1 -0
  295. package/dist/backend/services/product-link.service.d.ts +169 -0
  296. package/dist/backend/services/product-link.service.d.ts.map +1 -0
  297. package/dist/backend/services/product-link.service.js +297 -0
  298. package/dist/backend/services/product-link.service.js.map +1 -0
  299. package/dist/backend/services/product-overrides.service.d.ts +77 -0
  300. package/dist/backend/services/product-overrides.service.d.ts.map +1 -0
  301. package/dist/backend/services/product-overrides.service.js +204 -0
  302. package/dist/backend/services/product-overrides.service.js.map +1 -0
  303. package/dist/backend/services/product-scope-context.service.d.ts +36 -0
  304. package/dist/backend/services/product-scope-context.service.d.ts.map +1 -0
  305. package/dist/backend/services/product-scope-context.service.js +106 -0
  306. package/dist/backend/services/product-scope-context.service.js.map +1 -0
  307. package/dist/backend/services/product-type-validations.d.ts +42 -0
  308. package/dist/backend/services/product-type-validations.d.ts.map +1 -0
  309. package/dist/backend/services/product-type-validations.js +55 -0
  310. package/dist/backend/services/product-type-validations.js.map +1 -0
  311. package/dist/backend/services/product-value-resolver.service.d.ts +59 -0
  312. package/dist/backend/services/product-value-resolver.service.d.ts.map +1 -0
  313. package/dist/backend/services/product-value-resolver.service.js +111 -0
  314. package/dist/backend/services/product-value-resolver.service.js.map +1 -0
  315. package/dist/backend/services/system-attribute-scopes.d.ts +18 -0
  316. package/dist/backend/services/system-attribute-scopes.d.ts.map +1 -0
  317. package/dist/backend/services/system-attribute-scopes.js +18 -0
  318. package/dist/backend/services/system-attribute-scopes.js.map +1 -0
  319. package/dist/backend/services/viewer-organization.d.ts +25 -0
  320. package/dist/backend/services/viewer-organization.d.ts.map +1 -0
  321. package/dist/backend/services/viewer-organization.js +31 -0
  322. package/dist/backend/services/viewer-organization.js.map +1 -0
  323. package/dist/manifest.d.ts +204 -0
  324. package/dist/manifest.d.ts.map +1 -0
  325. package/dist/manifest.js +686 -0
  326. package/dist/manifest.js.map +1 -0
  327. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts +33 -0
  328. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts.map +1 -0
  329. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js +118 -0
  330. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js.map +1 -0
  331. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts +24 -0
  332. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts.map +1 -0
  333. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js +31 -0
  334. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js.map +1 -0
  335. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts +32 -0
  336. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts.map +1 -0
  337. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js +58 -0
  338. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js.map +1 -0
  339. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts +22 -0
  340. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts.map +1 -0
  341. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js +66 -0
  342. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js.map +1 -0
  343. package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts +18 -0
  344. package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts.map +1 -0
  345. package/dist/migrations/20260429T112543_catalog_product_attachments.js +73 -0
  346. package/dist/migrations/20260429T112543_catalog_product_attachments.js.map +1 -0
  347. package/dist/migrations/20260429T123726_catalog_product_links.d.ts +21 -0
  348. package/dist/migrations/20260429T123726_catalog_product_links.d.ts.map +1 -0
  349. package/dist/migrations/20260429T123726_catalog_product_links.js +48 -0
  350. package/dist/migrations/20260429T123726_catalog_product_links.js.map +1 -0
  351. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts +23 -0
  352. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts.map +1 -0
  353. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js +94 -0
  354. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js.map +1 -0
  355. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts +24 -0
  356. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts.map +1 -0
  357. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js +31 -0
  358. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js.map +1 -0
  359. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts +31 -0
  360. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts.map +1 -0
  361. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js +133 -0
  362. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js.map +1 -0
  363. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts +16 -0
  364. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts.map +1 -0
  365. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js +23 -0
  366. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js.map +1 -0
  367. package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts +10 -0
  368. package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts.map +1 -0
  369. package/dist/migrations/20260526T124736_catalog_product_status_inactive.js +22 -0
  370. package/dist/migrations/20260526T124736_catalog_product_status_inactive.js.map +1 -0
  371. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts +38 -0
  372. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts.map +1 -0
  373. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js +98 -0
  374. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js.map +1 -0
  375. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts +13 -0
  376. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts.map +1 -0
  377. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js +17 -0
  378. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js.map +1 -0
  379. package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts +16 -0
  380. package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts.map +1 -0
  381. package/dist/migrations/20260611T140407_catalog_bulk_operations.js +42 -0
  382. package/dist/migrations/20260611T140407_catalog_bulk_operations.js.map +1 -0
  383. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts +14 -0
  384. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts.map +1 -0
  385. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js +18 -0
  386. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js.map +1 -0
  387. package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts +11 -0
  388. package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts.map +1 -0
  389. package/dist/migrations/20260611T140412_catalog_product_packaging_units.js +29 -0
  390. package/dist/migrations/20260611T140412_catalog_product_packaging_units.js.map +1 -0
  391. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts +23 -0
  392. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts.map +1 -0
  393. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js +35 -0
  394. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js.map +1 -0
  395. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts +12 -0
  396. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts.map +1 -0
  397. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js +16 -0
  398. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js.map +1 -0
  399. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts +32 -0
  400. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts.map +1 -0
  401. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js +286 -0
  402. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js.map +1 -0
  403. package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts +36 -0
  404. package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts.map +1 -0
  405. package/dist/migrations/20260804T152604_catalog_widen_product_sku.js +63 -0
  406. package/dist/migrations/20260804T152604_catalog_widen_product_sku.js.map +1 -0
  407. package/dist/migrations/20260804T160244_catalog_category_activation.d.ts +18 -0
  408. package/dist/migrations/20260804T160244_catalog_category_activation.d.ts.map +1 -0
  409. package/dist/migrations/20260804T160244_catalog_category_activation.js +22 -0
  410. package/dist/migrations/20260804T160244_catalog_category_activation.js.map +1 -0
  411. package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts +27 -0
  412. package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts.map +1 -0
  413. package/dist/migrations/20260912T094557_catalog_sales_channel_products.js +44 -0
  414. package/dist/migrations/20260912T094557_catalog_sales_channel_products.js.map +1 -0
  415. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts +27 -0
  416. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts.map +1 -0
  417. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js +44 -0
  418. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js.map +1 -0
  419. package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts +36 -0
  420. package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts.map +1 -0
  421. package/dist/migrations/20260925T125527_catalog_inventory_columns.js +87 -0
  422. package/dist/migrations/20260925T125527_catalog_inventory_columns.js.map +1 -0
  423. package/dist/migrations/index.d.ts +55 -0
  424. package/dist/migrations/index.d.ts.map +1 -0
  425. package/dist/migrations/index.js +80 -0
  426. package/dist/migrations/index.js.map +1 -0
  427. package/dist/ports/index.d.ts +96 -0
  428. package/dist/ports/index.d.ts.map +1 -0
  429. package/dist/ports/index.js +2 -0
  430. package/dist/ports/index.js.map +1 -0
  431. package/docs/catalog/attachments.md +69 -0
  432. package/docs/catalog/attribute-sets.md +63 -0
  433. package/docs/catalog/attributes.md +244 -0
  434. package/docs/catalog/composite-products.md +115 -0
  435. package/docs/catalog/gallery-and-labels.md +73 -0
  436. package/docs/catalog/packaging-units.md +67 -0
  437. package/docs/catalog/per-channel-per-language-overrides.md +234 -0
  438. package/docs/catalog/product-links.md +79 -0
  439. package/docs/catalog.md +207 -0
  440. package/i18n/en.json +649 -0
  441. package/i18n/pl.json +649 -0
  442. package/package.json +109 -0
  443. package/tailwind.css +14 -0
@@ -0,0 +1,262 @@
1
+ import type { EntityManager } from '@mikro-orm/postgresql';
2
+ import type { Redis } from 'ioredis';
3
+ import type { ChannelMemberEntityType } from '@endora-commerce/contracts';
4
+ import type { AssetReferenceRegistryPort, AdminNotificationRecordPort, PromptActionBulkProgressRegistryPort, PromptActionToolRegistryPort } from '@endora-commerce/contracts';
5
+ import type { AuditPort } from '@endora-commerce/platform/kernel';
6
+ import type { CommandBus } from '@endora-commerce/platform/commands';
7
+ import type { EventBus } from '@endora-commerce/platform/events';
8
+ import { StorefrontRevalidator } from '@endora-commerce/platform/http';
9
+ import type { ModuleContext } from '@endora-commerce/platform/kernel';
10
+ import type { RequireAdminFactory } from '@endora-commerce/platform/kernel';
11
+ import type { SalesChannelMembershipPort } from '@endora-commerce/platform/kernel';
12
+ import { AttachmentType } from './entities/attachment-type.entity.js';
13
+ import { AttributeSetAttribute } from './entities/attribute-set-attribute.entity.js';
14
+ import { AttributeSet } from './entities/attribute-set.entity.js';
15
+ import { BulkOperation } from './entities/bulk-operation.entity.js';
16
+ import { BundleSlotOption } from './entities/bundle-slot-option.entity.js';
17
+ import { BundleSlot } from './entities/bundle-slot.entity.js';
18
+ import { Category } from './entities/category.entity.js';
19
+ import { GalleryItemLabel } from './entities/gallery-item-label.entity.js';
20
+ import { GalleryItem } from './entities/gallery-item.entity.js';
21
+ import { GroupedItem } from './entities/grouped-item.entity.js';
22
+ import { ProductAttachment } from './entities/product-attachment.entity.js';
23
+ import { ProductAttribute } from './entities/product-attribute.entity.js';
24
+ import { ProductEditorPreference } from './entities/product-editor-preference.entity.js';
25
+ import { ProductLink } from './entities/product-link.entity.js';
26
+ import { ProductPackagingUnit } from './entities/product-packaging-unit.entity.js';
27
+ import { ProductValueOverride } from './entities/product-value-override.entity.js';
28
+ import { ProductVariant } from './entities/product-variant.entity.js';
29
+ import { Product } from './entities/product.entity.js';
30
+ import { catalogModule, type CatalogModuleOptions } from './plugin.js';
31
+ import type { CustomFieldDefinitionApplyApi } from './commands/attribute-commands.js';
32
+ import { CatalogAdminService } from './services/catalog-admin.service.js';
33
+ import { CategoryAdminService } from './services/category-admin.service.js';
34
+ import { AttributeSetService } from './services/attribute-set.service.js';
35
+ import { GalleryService } from './services/gallery.service.js';
36
+ import { AttachmentService } from './services/attachment.service.js';
37
+ import { ProductLinkService } from './services/product-link.service.js';
38
+ import { GroupedService } from './services/grouped.service.js';
39
+ import { BundleService } from './services/bundle.service.js';
40
+ import { PackagingUnitService } from './services/packaging-unit.service.js';
41
+ import { CatalogAttributeReadService } from './services/catalog-attribute-read.service.js';
42
+ import { CatalogQueryService } from './services/catalog-query.service.js';
43
+ /**
44
+ * `catalog` — seven services each composition built **twice** (feature 072,
45
+ * wave 4, T142; the last module in the sweep).
46
+ *
47
+ * `catalogAdmin`, `categoryAdmin`, `attributeSets`, `gallery`, `attachments`,
48
+ * `productLinks` and `grouped` were written out as `new X(...)` in each root
49
+ * purely to hand to `pim_ergonode`, while this module constructed its own set
50
+ * inside its plugin. Two live instances of each, per composition, differing by
51
+ * whichever constructor arguments a root happened to repeat — the T131 note
52
+ * called it "issue #44's shape in a second module and at seven times the size",
53
+ * and this is where it drains. They are ports now, so there is one of each and
54
+ * the Ergonode importer writes through the same instance the admin API does.
55
+ *
56
+ * `catalogQueryPort` is the other half of #44. Each composition built a
57
+ * `CatalogQueryService` for `promotions` with two constructor arguments left
58
+ * `undefined`, and this module built its own; the note in `promotions/backend.ts`
59
+ * predicted it would drain here. It does.
60
+ *
61
+ * **Two options only production passed.** `adminNotificationService` and
62
+ * `mailer` were absent from the harness, so the bulk-operation completion
63
+ * notice and its e-mail were exercised by nothing — the shape this wave has
64
+ * removed a dozen times. Both are ports the module resolves now.
65
+ *
66
+ * `runBulkOperationWorker` stays root-supplied and stays a value (Principle X):
67
+ * whether this process runs the BullMQ consumer is a deployment decision, read
68
+ * at construction because it decides whether the consumer is built at all.
69
+ * `reindexSearchIndexes` stays contributed for the reason `ksef` and
70
+ * `product_feeds` keep theirs — production runs a real Meilisearch reindex and
71
+ * the harness must not, so what a test composition substitutes is information
72
+ * about the seam rather than boilerplate to normalise away.
73
+ */
74
+ /** What `catalog` resolves from the container, and the names it owns. */
75
+ export interface CatalogCradle {
76
+ /**
77
+ * Feature 120 (FR-015) — the platform's channel-bridge registry, resolved by
78
+ * **container name** rather than imported. The shape is the narrow one this
79
+ * module needs, which is what `ctx.cradle<C>()` asks an author to declare;
80
+ * the registry itself is the kernel's and is published on no barrel.
81
+ */
82
+ readonly salesChannelBridgeRegistry: {
83
+ register(bridge: {
84
+ entityType: ChannelMemberEntityType;
85
+ table: string;
86
+ entityIdColumn: string;
87
+ }): void;
88
+ };
89
+ readonly emFactory: () => EntityManager;
90
+ readonly eventBus: EventBus;
91
+ readonly commandBus: CommandBus;
92
+ readonly auditLogService: AuditPort;
93
+ readonly moduleQueueRedis: Redis | undefined;
94
+ /**
95
+ * The process connection, distinct from `moduleQueueRedis`: the assistant's
96
+ * bulk tools delegate over the same queue in both compositions, which is a
97
+ * property the harness asserts.
98
+ */
99
+ readonly redis: Redis;
100
+ readonly requireAdmin: RequireAdminFactory;
101
+ readonly salesChannelMembershipPort: SalesChannelMembershipPort;
102
+ readonly customFieldValueService: NonNullable<CatalogModuleOptions['customFieldValues']>;
103
+ /**
104
+ * `custom_fields`' published definition read model — the definitions this
105
+ * module composes its attribute read model out of, and the filterable set the
106
+ * storefront query merges in.
107
+ *
108
+ * The name is `customFieldDefinitionReadPort` since D-98.2: the container
109
+ * name a contract publishes, rather than the owner's own CRUD registration.
110
+ */
111
+ readonly customFieldDefinitionReadPort: NonNullable<CatalogModuleOptions['customFieldDefinitions']>;
112
+ /**
113
+ * The apply seam, and a **different question** from the read port above.
114
+ *
115
+ * The two used to be one name here: both roots passed the owner's
116
+ * `CustomFieldDefinitionService` for `customFieldDefinitions` and for
117
+ * `customFieldsPort` because one service satisfies both shapes, so all four
118
+ * of this module's resolutions named `customFieldDefinitionService` — the two
119
+ * answers under one key that the `catalog:customFieldDefinitionService` ledger
120
+ * entry recorded. The read half names the published port now; this half
121
+ * cannot, because every `apply*` method of `CustomFieldDefinitionApplyApi`
122
+ * takes the caller's `EntityManager` (FR-034 keeps a MikroORM type out of
123
+ * `@endora-commerce/contracts`) and `fk_product_attributes_custom_field_definition` is
124
+ * what holds it co-transactional (D-77).
125
+ *
126
+ * T053(b) finished the split the ledger entry describes: the last read this
127
+ * name answered — one definition by id — is
128
+ * `customFieldDefinitionReadPort.getById` now, so what is left here is the
129
+ * six co-transactional writes and the post-commit invalidation that is a step
130
+ * of their own protocol.
131
+ */
132
+ readonly customFieldDefinitionService: CustomFieldDefinitionApplyApi;
133
+ readonly pricingService: NonNullable<CatalogModuleOptions['pricingService']>;
134
+ readonly languageService: NonNullable<CatalogModuleOptions['languageService']>;
135
+ /**
136
+ * `admin_notifications`' gated port — wrapped below, never handed on raw.
137
+ * The name is `adminNotificationRecordPort` since D-98.2: the container name
138
+ * a contract publishes, rather than the owner's class registration.
139
+ */
140
+ readonly adminNotificationRecordPort: AdminNotificationRecordPort;
141
+ readonly emailMailer: NonNullable<CatalogModuleOptions['mailer']>;
142
+ readonly requireApiKey: NonNullable<CatalogModuleOptions['requireApiKey']>;
143
+ readonly requireBoundApiKey: NonNullable<CatalogModuleOptions['requireBoundApiKey']>;
144
+ /** Root-supplied (Principle X): the harness runs no bulk-operation consumer. */
145
+ readonly catalogRunBulkOperationWorker: boolean;
146
+ /** Root-shaped: how this deployment names the acting admin on an audit record. */
147
+ readonly catalogAdminAuditContext: NonNullable<CatalogModuleOptions['resolveAdminAuditContext']>;
148
+ /**
149
+ * How a stock availability band is resolved for the external catalog
150
+ * namespace, the storefront image placeholder, and the full reindex an
151
+ * attribute's `searchable` flip runs.
152
+ *
153
+ * **Defaulted by this module since `specs/117-instance-bring-up/` Phase 6**
154
+ * (FR-033). All three were contributed by `backend/src/composition.ts` and by
155
+ * `backend/test/helpers/test-server.ts` and by nothing else, so a composition
156
+ * that is neither — which is every client instance — could resolve none of
157
+ * them, and `catalog` is in the default module set, so every one of the three
158
+ * was a 500 waiting on a storefront listing, a product image and an attribute
159
+ * edit. A root that answers differently still contributes over them: the test
160
+ * harness pins the reindex to a no-op, because a `searchable` flag flips in a
161
+ * good number of catalog tests and forwarding would push every product of
162
+ * every channel into Meilisearch each time.
163
+ */
164
+ readonly catalogExternalAvailability: NonNullable<CatalogModuleOptions['resolveExternalAvailability']>;
165
+ readonly catalogImagePlaceholderUrl: NonNullable<CatalogModuleOptions['resolveProductImagePlaceholderUrl']>;
166
+ readonly catalogSearchReindex: NonNullable<CatalogModuleOptions['reindexSearchIndexes']>;
167
+ /**
168
+ * Owned by `assets_library`: the registry that refuses to delete an asset a
169
+ * product gallery, attachment, virtual download or category image points at.
170
+ *
171
+ * Typed as the published contract since feature 075 — an ungated
172
+ * `ctx.di.register` on the owner's side (D-39), so this stays a plain cradle
173
+ * read rather than a `lazyPort`, and the shape crossing the boundary is a
174
+ * `@endora-commerce/contracts` interface rather than `assets_library`'s class.
175
+ */
176
+ readonly assetReferenceRegistry: AssetReferenceRegistryPort;
177
+ /**
178
+ * Owned by `prompt_actions`: the assistant's tool catalogue. An ungated
179
+ * registration this module pushes into once, from a boot hook — declared as a
180
+ * `contributes-to` edge rather than a dependency (D-44).
181
+ */
182
+ readonly promptActionToolRegistry: PromptActionToolRegistryPort;
183
+ /**
184
+ * Owned by `prompt_actions`: where a delegated bulk request reads its live
185
+ * progress from. The same shape as the tool catalogue above, and new for the
186
+ * same reason (D-72 point 4) — until it existed, `promptActionsBulkProgressResolver`
187
+ * was a single name `prompt_actions` defaulted and a composition root
188
+ * overwrote with this module's resolver, which is the one thing a module may
189
+ * not do. A table it can push into, so the contribution moves here with the
190
+ * other five.
191
+ */
192
+ readonly promptActionBulkProgressRegistry: PromptActionBulkProgressRegistryPort;
193
+ readonly catalogAttributeReadPort: CatalogAttributeReadService;
194
+ readonly catalogQueryPort: CatalogQueryService;
195
+ readonly catalogAdminService: CatalogAdminService;
196
+ readonly categoryAdminService: CategoryAdminService;
197
+ readonly attributeSetService: AttributeSetService;
198
+ readonly galleryService: GalleryService;
199
+ readonly attachmentService: AttachmentService;
200
+ readonly productLinkService: ProductLinkService;
201
+ readonly groupedService: GroupedService;
202
+ readonly bundleService: BundleService;
203
+ readonly packagingUnitService: PackagingUnitService;
204
+ readonly catalogCategoryRevalidator: StorefrontRevalidator;
205
+ readonly catalog: ReturnType<typeof catalogModule>;
206
+ }
207
+ export declare function registerModule(ctx: ModuleContext): void;
208
+ /**
209
+ * Every entity class this module owns, as one array — the `./backend` subpath's
210
+ * contribution to the ORM (D-168).
211
+ *
212
+ * A module package publishes this array and **no entity class by name**, type-only
213
+ * exports included: `import { Product } from '@endora-commerce/mod-catalog/backend'`
214
+ * has to fail in a stranger's compiler, where none of this repository's checks run.
215
+ * A host program that has to construct one picks it out by name with `entityNamed`
216
+ * (`backend/src/packages/package-entity-lookup.ts`), which resolves against this
217
+ * array — the same one the ORM registered, so there is exactly one copy of each
218
+ * class in the process (D-160.6, D-160.6.1).
219
+ *
220
+ * The order is the one `db/entities-registry.generated.ts` declared before this
221
+ * module became a package, so the registered set is the same list in the same
222
+ * sequence.
223
+ */
224
+ export declare const entities: (typeof Category | typeof Product | typeof AttachmentType | typeof AttributeSetAttribute | typeof AttributeSet | typeof BulkOperation | typeof BundleSlotOption | typeof BundleSlot | typeof GalleryItemLabel | typeof GalleryItem | typeof GroupedItem | typeof ProductAttachment | typeof ProductAttribute | typeof ProductEditorPreference | typeof ProductLink | typeof ProductPackagingUnit | typeof ProductValueOverride | typeof ProductVariant)[];
225
+ /**
226
+ * The catalogue read surface a host program needs, published **by name**.
227
+ *
228
+ * `src/seeds/demo-composition.ts` hands a `CatalogProductReadService` to
229
+ * `price_lists`' `DefaultPriceListMigrator`, and `src/seeds/attribute-fixtures.ts`
230
+ * maps a legacy attribute value type onto the unified custom-field model. Both are
231
+ * host programs in the **compiled** build (`node dist/cli.js demo seed`,
232
+ * documented in `deploy/README.md`), so neither may name this package's source: a
233
+ * filesystem path would evaluate the file a second time, and `backend/tsconfig.build.json`
234
+ * sets `rootDir: ./src`, which is TS6059 for a `.ts` outside it even under `import type`.
235
+ *
236
+ * D-168 bars an **entity class** from leaving by this door; a service and a pure
237
+ * mapping function are not entities, and `inventory`'s `WarehouseChannelReconciler` /
238
+ * `price_lists`' `DefaultPriceListMigrator` are the precedent for exactly this shape.
239
+ *
240
+ * `CatalogQueryService` is published as a **type** for `src/composition.ts`, which
241
+ * declares the cradle slot `promotions`, `quick_order` and `search` each resolve their
242
+ * own instance from. It is the same rewrite the root has already done for nine other
243
+ * packaged modules; a type import evaluates nothing, so it raises no second copy.
244
+ */
245
+ export { CatalogProductReadService } from './services/catalog-product-read.service.js';
246
+ export { legacyToCfType, type LegacyAttributeValueType, } from './services/attribute-type-mapping.js';
247
+ export type { CatalogQueryService } from './services/catalog-query.service.js';
248
+ /**
249
+ * The sales-channel membership bridges this module owns (feature 120, FR-015).
250
+ *
251
+ * Exported as well as registered because the owning module is the only honest
252
+ * source for it: a caller that composes no platform — the bare-database test
253
+ * harness, which constructs the kernel's membership service directly — declares
254
+ * these from here rather than from a list of nine it keeps itself, which is
255
+ * exactly the total map this feature deleted.
256
+ */
257
+ export declare const salesChannelBridges: ReadonlyArray<{
258
+ readonly entityType: ChannelMemberEntityType;
259
+ readonly table: string;
260
+ readonly entityIdColumn: string;
261
+ }>;
262
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}