@unifiedcommerce/core 0.0.1 → 0.0.2

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 (554) hide show
  1. package/dist/auth/access.d.ts +1 -1
  2. package/dist/auth/access.d.ts.map +1 -1
  3. package/dist/auth/auth-schema.js +3 -3
  4. package/dist/auth/middleware.d.ts +2 -2
  5. package/dist/auth/middleware.d.ts.map +1 -1
  6. package/dist/auth/middleware.js +37 -10
  7. package/dist/auth/org.js +1 -1
  8. package/dist/auth/permissions.d.ts +1 -1
  9. package/dist/auth/permissions.d.ts.map +1 -1
  10. package/dist/auth/permissions.js +1 -1
  11. package/dist/auth/setup.d.ts +19 -10
  12. package/dist/auth/setup.d.ts.map +1 -1
  13. package/dist/auth/setup.js +3 -4
  14. package/dist/auth/system-actor.d.ts +1 -1
  15. package/dist/auth/system-actor.d.ts.map +1 -1
  16. package/dist/auth/system-actor.js +1 -1
  17. package/dist/config/defaults.d.ts +1 -1
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/define-config.d.ts +1 -1
  20. package/dist/config/define-config.d.ts.map +1 -1
  21. package/dist/config/define-config.js +2 -2
  22. package/dist/config/types.d.ts +11 -11
  23. package/dist/config/types.d.ts.map +1 -1
  24. package/dist/hooks/checkout-completion.d.ts +2 -2
  25. package/dist/hooks/checkout-completion.d.ts.map +1 -1
  26. package/dist/hooks/checkout-completion.js +2 -2
  27. package/dist/hooks/checkout.d.ts +3 -3
  28. package/dist/hooks/checkout.d.ts.map +1 -1
  29. package/dist/hooks/checkout.js +3 -3
  30. package/dist/hooks/order-emails.d.ts +1 -1
  31. package/dist/hooks/order-emails.d.ts.map +1 -1
  32. package/dist/index.d.ts +81 -81
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +50 -13381
  35. package/dist/interfaces/mcp/context-enrichment.d.ts +2 -2
  36. package/dist/interfaces/mcp/context-enrichment.d.ts.map +1 -1
  37. package/dist/interfaces/mcp/context-enrichment.js +1 -1
  38. package/dist/interfaces/mcp/server.d.ts +2 -2
  39. package/dist/interfaces/mcp/server.d.ts.map +1 -1
  40. package/dist/interfaces/mcp/server.js +3 -3
  41. package/dist/interfaces/mcp/transport.d.ts +2 -2
  42. package/dist/interfaces/mcp/transport.d.ts.map +1 -1
  43. package/dist/interfaces/mcp/transport.js +1 -1
  44. package/dist/interfaces/rest/customer-portal.d.ts +2 -2
  45. package/dist/interfaces/rest/customer-portal.d.ts.map +1 -1
  46. package/dist/interfaces/rest/customer-portal.js +3 -3
  47. package/dist/interfaces/rest/index.d.ts +2 -2
  48. package/dist/interfaces/rest/index.d.ts.map +1 -1
  49. package/dist/interfaces/rest/index.js +13 -13
  50. package/dist/interfaces/rest/router.d.ts +1 -1
  51. package/dist/interfaces/rest/router.d.ts.map +1 -1
  52. package/dist/interfaces/rest/router.js +4 -4
  53. package/dist/interfaces/rest/routes/admin-jobs.d.ts +2 -2
  54. package/dist/interfaces/rest/routes/admin-jobs.d.ts.map +1 -1
  55. package/dist/interfaces/rest/routes/admin-jobs.js +4 -4
  56. package/dist/interfaces/rest/routes/audit.d.ts +2 -2
  57. package/dist/interfaces/rest/routes/audit.d.ts.map +1 -1
  58. package/dist/interfaces/rest/routes/audit.js +3 -3
  59. package/dist/interfaces/rest/routes/carts.d.ts +2 -2
  60. package/dist/interfaces/rest/routes/carts.d.ts.map +1 -1
  61. package/dist/interfaces/rest/routes/carts.js +2 -2
  62. package/dist/interfaces/rest/routes/catalog.d.ts +2 -2
  63. package/dist/interfaces/rest/routes/catalog.d.ts.map +1 -1
  64. package/dist/interfaces/rest/routes/catalog.js +2 -2
  65. package/dist/interfaces/rest/routes/checkout.d.ts +2 -2
  66. package/dist/interfaces/rest/routes/checkout.d.ts.map +1 -1
  67. package/dist/interfaces/rest/routes/checkout.js +7 -7
  68. package/dist/interfaces/rest/routes/inventory.d.ts +2 -2
  69. package/dist/interfaces/rest/routes/inventory.d.ts.map +1 -1
  70. package/dist/interfaces/rest/routes/inventory.js +2 -2
  71. package/dist/interfaces/rest/routes/media.d.ts +2 -2
  72. package/dist/interfaces/rest/routes/media.d.ts.map +1 -1
  73. package/dist/interfaces/rest/routes/media.js +2 -2
  74. package/dist/interfaces/rest/routes/orders.d.ts +2 -2
  75. package/dist/interfaces/rest/routes/orders.d.ts.map +1 -1
  76. package/dist/interfaces/rest/routes/orders.js +2 -2
  77. package/dist/interfaces/rest/routes/payments.d.ts +2 -2
  78. package/dist/interfaces/rest/routes/payments.d.ts.map +1 -1
  79. package/dist/interfaces/rest/routes/payments.js +2 -2
  80. package/dist/interfaces/rest/routes/pricing.d.ts +2 -2
  81. package/dist/interfaces/rest/routes/pricing.d.ts.map +1 -1
  82. package/dist/interfaces/rest/routes/pricing.js +2 -2
  83. package/dist/interfaces/rest/routes/promotions.d.ts +2 -2
  84. package/dist/interfaces/rest/routes/promotions.d.ts.map +1 -1
  85. package/dist/interfaces/rest/routes/promotions.js +3 -3
  86. package/dist/interfaces/rest/routes/search.d.ts +2 -2
  87. package/dist/interfaces/rest/routes/search.d.ts.map +1 -1
  88. package/dist/interfaces/rest/routes/search.js +2 -2
  89. package/dist/interfaces/rest/routes/webhooks.d.ts +2 -2
  90. package/dist/interfaces/rest/routes/webhooks.d.ts.map +1 -1
  91. package/dist/interfaces/rest/routes/webhooks.js +2 -2
  92. package/dist/interfaces/rest/schemas/admin-jobs.js +1 -1
  93. package/dist/interfaces/rest/schemas/carts.d.ts +1 -1
  94. package/dist/interfaces/rest/schemas/carts.d.ts.map +1 -1
  95. package/dist/interfaces/rest/schemas/carts.js +3 -3
  96. package/dist/interfaces/rest/schemas/catalog.js +3 -3
  97. package/dist/interfaces/rest/schemas/checkout.js +1 -1
  98. package/dist/interfaces/rest/schemas/customer-portal.js +2 -2
  99. package/dist/interfaces/rest/schemas/inventory.d.ts +1 -1
  100. package/dist/interfaces/rest/schemas/inventory.d.ts.map +1 -1
  101. package/dist/interfaces/rest/schemas/inventory.js +2 -2
  102. package/dist/interfaces/rest/schemas/media.js +1 -1
  103. package/dist/interfaces/rest/schemas/orders.js +2 -2
  104. package/dist/interfaces/rest/schemas/pricing.d.ts +1 -1
  105. package/dist/interfaces/rest/schemas/pricing.d.ts.map +1 -1
  106. package/dist/interfaces/rest/schemas/pricing.js +2 -2
  107. package/dist/interfaces/rest/schemas/promotions.d.ts +1 -1
  108. package/dist/interfaces/rest/schemas/promotions.d.ts.map +1 -1
  109. package/dist/interfaces/rest/schemas/promotions.js +2 -2
  110. package/dist/interfaces/rest/schemas/responses.js +5 -5
  111. package/dist/interfaces/rest/schemas/search.js +1 -1
  112. package/dist/interfaces/rest/schemas/webhooks.js +1 -1
  113. package/dist/interfaces/rest/utils.d.ts +2 -2
  114. package/dist/interfaces/rest/utils.d.ts.map +1 -1
  115. package/dist/interfaces/rest/utils.js +2 -2
  116. package/dist/interfaces/rest/webhook-router.d.ts +1 -1
  117. package/dist/interfaces/rest/webhook-router.d.ts.map +1 -1
  118. package/dist/kernel/compensation/executor.d.ts +2 -2
  119. package/dist/kernel/compensation/executor.d.ts.map +1 -1
  120. package/dist/kernel/compensation/types.d.ts +3 -3
  121. package/dist/kernel/compensation/types.d.ts.map +1 -1
  122. package/dist/kernel/database/drizzle-db.d.ts +1 -1
  123. package/dist/kernel/database/drizzle-db.d.ts.map +1 -1
  124. package/dist/kernel/database/drizzle-db.js +1 -1
  125. package/dist/kernel/database/migrate.d.ts +2 -2
  126. package/dist/kernel/database/migrate.d.ts.map +1 -1
  127. package/dist/kernel/database/migrate.js +1 -1
  128. package/dist/kernel/database/schema.d.ts +13 -13
  129. package/dist/kernel/database/schema.d.ts.map +1 -1
  130. package/dist/kernel/database/schema.js +13 -13
  131. package/dist/kernel/database/tx-context.d.ts +2 -2
  132. package/dist/kernel/database/tx-context.d.ts.map +1 -1
  133. package/dist/kernel/error-mapper.js +1 -1
  134. package/dist/kernel/factory/repository-factory.d.ts +2 -2
  135. package/dist/kernel/factory/repository-factory.d.ts.map +1 -1
  136. package/dist/kernel/factory/repository-factory.js +1 -1
  137. package/dist/kernel/hooks/create-context.d.ts +4 -4
  138. package/dist/kernel/hooks/create-context.d.ts.map +1 -1
  139. package/dist/kernel/hooks/create-context.js +1 -1
  140. package/dist/kernel/hooks/executor.d.ts +1 -1
  141. package/dist/kernel/hooks/executor.d.ts.map +1 -1
  142. package/dist/kernel/hooks/types.d.ts +3 -3
  143. package/dist/kernel/hooks/types.d.ts.map +1 -1
  144. package/dist/kernel/http-error.d.ts +1 -1
  145. package/dist/kernel/http-error.d.ts.map +1 -1
  146. package/dist/kernel/jobs/drizzle-adapter.d.ts +3 -3
  147. package/dist/kernel/jobs/drizzle-adapter.d.ts.map +1 -1
  148. package/dist/kernel/jobs/drizzle-adapter.js +2 -2
  149. package/dist/kernel/jobs/runner.d.ts +3 -3
  150. package/dist/kernel/jobs/runner.d.ts.map +1 -1
  151. package/dist/kernel/jobs/runner.js +1 -1
  152. package/dist/kernel/jobs/schema.js +1 -1
  153. package/dist/kernel/jobs/types.d.ts +2 -2
  154. package/dist/kernel/jobs/types.d.ts.map +1 -1
  155. package/dist/kernel/local-api.d.ts +21 -21
  156. package/dist/kernel/local-api.d.ts.map +1 -1
  157. package/dist/kernel/plugin/manifest.d.ts +1 -1
  158. package/dist/kernel/plugin/manifest.d.ts.map +1 -1
  159. package/dist/kernel/query/executor.d.ts +1 -1
  160. package/dist/kernel/query/executor.d.ts.map +1 -1
  161. package/dist/kernel/query/executor.js +1 -1
  162. package/dist/kernel/result.d.ts +1 -1
  163. package/dist/kernel/result.d.ts.map +1 -1
  164. package/dist/kernel/state-machine/machine.js +1 -1
  165. package/dist/modules/analytics/drizzle-adapter.d.ts +3 -3
  166. package/dist/modules/analytics/drizzle-adapter.d.ts.map +1 -1
  167. package/dist/modules/analytics/drizzle-adapter.js +2 -2
  168. package/dist/modules/analytics/models.d.ts +1 -1
  169. package/dist/modules/analytics/models.d.ts.map +1 -1
  170. package/dist/modules/analytics/repository/index.d.ts +1 -1
  171. package/dist/modules/analytics/repository/index.d.ts.map +1 -1
  172. package/dist/modules/analytics/service.d.ts +4 -4
  173. package/dist/modules/analytics/service.d.ts.map +1 -1
  174. package/dist/modules/analytics/service.js +2 -2
  175. package/dist/modules/analytics/types.d.ts +1 -1
  176. package/dist/modules/analytics/types.d.ts.map +1 -1
  177. package/dist/modules/audit/hooks.d.ts +1 -1
  178. package/dist/modules/audit/hooks.d.ts.map +1 -1
  179. package/dist/modules/audit/schema.js +1 -1
  180. package/dist/modules/audit/service.d.ts +4 -4
  181. package/dist/modules/audit/service.d.ts.map +1 -1
  182. package/dist/modules/audit/service.js +2 -2
  183. package/dist/modules/cart/access.d.ts +2 -2
  184. package/dist/modules/cart/access.d.ts.map +1 -1
  185. package/dist/modules/cart/matcher.d.ts +1 -1
  186. package/dist/modules/cart/matcher.d.ts.map +1 -1
  187. package/dist/modules/cart/repository/index.d.ts +3 -3
  188. package/dist/modules/cart/repository/index.d.ts.map +1 -1
  189. package/dist/modules/cart/repository/index.js +1 -1
  190. package/dist/modules/cart/schema.js +2 -2
  191. package/dist/modules/cart/service.d.ts +10 -10
  192. package/dist/modules/cart/service.d.ts.map +1 -1
  193. package/dist/modules/cart/service.js +8 -8
  194. package/dist/modules/catalog/repository/index.d.ts +3 -3
  195. package/dist/modules/catalog/repository/index.d.ts.map +1 -1
  196. package/dist/modules/catalog/repository/index.js +1 -1
  197. package/dist/modules/catalog/schema.js +1 -1
  198. package/dist/modules/catalog/service.d.ts +9 -9
  199. package/dist/modules/catalog/service.d.ts.map +1 -1
  200. package/dist/modules/catalog/service.js +8 -8
  201. package/dist/modules/customers/repository/index.d.ts +3 -3
  202. package/dist/modules/customers/repository/index.d.ts.map +1 -1
  203. package/dist/modules/customers/repository/index.js +1 -1
  204. package/dist/modules/customers/schema.js +1 -1
  205. package/dist/modules/customers/service.d.ts +4 -4
  206. package/dist/modules/customers/service.d.ts.map +1 -1
  207. package/dist/modules/customers/service.js +3 -3
  208. package/dist/modules/fulfillment/repository/index.d.ts +3 -3
  209. package/dist/modules/fulfillment/repository/index.d.ts.map +1 -1
  210. package/dist/modules/fulfillment/repository/index.js +1 -1
  211. package/dist/modules/fulfillment/schema.js +2 -2
  212. package/dist/modules/fulfillment/service.d.ts +6 -6
  213. package/dist/modules/fulfillment/service.d.ts.map +1 -1
  214. package/dist/modules/fulfillment/service.js +4 -4
  215. package/dist/modules/fulfillment/types.d.ts +2 -2
  216. package/dist/modules/fulfillment/types.d.ts.map +1 -1
  217. package/dist/modules/inventory/repository/index.d.ts +3 -3
  218. package/dist/modules/inventory/repository/index.d.ts.map +1 -1
  219. package/dist/modules/inventory/repository/index.js +1 -1
  220. package/dist/modules/inventory/schema.js +2 -2
  221. package/dist/modules/inventory/service.d.ts +9 -9
  222. package/dist/modules/inventory/service.d.ts.map +1 -1
  223. package/dist/modules/inventory/service.js +8 -8
  224. package/dist/modules/media/adapter.d.ts +1 -1
  225. package/dist/modules/media/adapter.d.ts.map +1 -1
  226. package/dist/modules/media/repository/index.d.ts +3 -3
  227. package/dist/modules/media/repository/index.d.ts.map +1 -1
  228. package/dist/modules/media/repository/index.js +1 -1
  229. package/dist/modules/media/schema.js +2 -2
  230. package/dist/modules/media/service.d.ts +6 -6
  231. package/dist/modules/media/service.d.ts.map +1 -1
  232. package/dist/modules/media/service.js +4 -4
  233. package/dist/modules/orders/repository/index.d.ts +3 -3
  234. package/dist/modules/orders/repository/index.d.ts.map +1 -1
  235. package/dist/modules/orders/repository/index.js +1 -1
  236. package/dist/modules/orders/schema.js +2 -2
  237. package/dist/modules/orders/service.d.ts +8 -8
  238. package/dist/modules/orders/service.d.ts.map +1 -1
  239. package/dist/modules/orders/service.js +9 -9
  240. package/dist/modules/orders/stale-order-cleanup.d.ts +1 -1
  241. package/dist/modules/orders/stale-order-cleanup.d.ts.map +1 -1
  242. package/dist/modules/orders/stale-order-cleanup.js +1 -1
  243. package/dist/modules/organization/service.d.ts +1 -1
  244. package/dist/modules/organization/service.d.ts.map +1 -1
  245. package/dist/modules/organization/service.js +1 -1
  246. package/dist/modules/payments/adapter.d.ts +1 -1
  247. package/dist/modules/payments/adapter.d.ts.map +1 -1
  248. package/dist/modules/payments/repository/index.d.ts +1 -1
  249. package/dist/modules/payments/repository/index.d.ts.map +1 -1
  250. package/dist/modules/payments/service.d.ts +3 -3
  251. package/dist/modules/payments/service.d.ts.map +1 -1
  252. package/dist/modules/payments/service.js +2 -2
  253. package/dist/modules/pricing/repository/index.d.ts +3 -3
  254. package/dist/modules/pricing/repository/index.d.ts.map +1 -1
  255. package/dist/modules/pricing/repository/index.js +1 -1
  256. package/dist/modules/pricing/schema.js +2 -2
  257. package/dist/modules/pricing/service.d.ts +7 -7
  258. package/dist/modules/pricing/service.d.ts.map +1 -1
  259. package/dist/modules/pricing/service.js +3 -3
  260. package/dist/modules/promotions/repository/index.d.ts +3 -3
  261. package/dist/modules/promotions/repository/index.d.ts.map +1 -1
  262. package/dist/modules/promotions/repository/index.js +1 -1
  263. package/dist/modules/promotions/schema.js +1 -1
  264. package/dist/modules/promotions/service.d.ts +8 -8
  265. package/dist/modules/promotions/service.d.ts.map +1 -1
  266. package/dist/modules/promotions/service.js +3 -3
  267. package/dist/modules/search/adapter.d.ts +1 -1
  268. package/dist/modules/search/adapter.d.ts.map +1 -1
  269. package/dist/modules/search/hooks.d.ts +1 -1
  270. package/dist/modules/search/hooks.d.ts.map +1 -1
  271. package/dist/modules/search/repository/index.d.ts +1 -1
  272. package/dist/modules/search/repository/index.d.ts.map +1 -1
  273. package/dist/modules/search/service.d.ts +4 -4
  274. package/dist/modules/search/service.d.ts.map +1 -1
  275. package/dist/modules/search/service.js +2 -2
  276. package/dist/modules/shipping/calculator.d.ts +3 -3
  277. package/dist/modules/shipping/calculator.d.ts.map +1 -1
  278. package/dist/modules/shipping/repository/index.d.ts +1 -1
  279. package/dist/modules/shipping/repository/index.d.ts.map +1 -1
  280. package/dist/modules/shipping/service.d.ts +5 -5
  281. package/dist/modules/shipping/service.d.ts.map +1 -1
  282. package/dist/modules/shipping/service.js +2 -2
  283. package/dist/modules/tax/adapter.d.ts +1 -1
  284. package/dist/modules/tax/adapter.d.ts.map +1 -1
  285. package/dist/modules/tax/repository/index.d.ts +1 -1
  286. package/dist/modules/tax/repository/index.d.ts.map +1 -1
  287. package/dist/modules/tax/service.d.ts +2 -2
  288. package/dist/modules/tax/service.d.ts.map +1 -1
  289. package/dist/modules/tax/service.js +2 -2
  290. package/dist/modules/webhooks/hook.d.ts +1 -1
  291. package/dist/modules/webhooks/hook.d.ts.map +1 -1
  292. package/dist/modules/webhooks/repository/index.d.ts +3 -3
  293. package/dist/modules/webhooks/repository/index.d.ts.map +1 -1
  294. package/dist/modules/webhooks/repository/index.js +1 -1
  295. package/dist/modules/webhooks/schema.js +1 -1
  296. package/dist/modules/webhooks/service.d.ts +4 -4
  297. package/dist/modules/webhooks/service.d.ts.map +1 -1
  298. package/dist/modules/webhooks/service.js +3 -3
  299. package/dist/modules/webhooks/tasks.d.ts +1 -1
  300. package/dist/modules/webhooks/tasks.d.ts.map +1 -1
  301. package/dist/modules/webhooks/tasks.js +1 -1
  302. package/dist/modules/webhooks/worker.d.ts +1 -1
  303. package/dist/modules/webhooks/worker.d.ts.map +1 -1
  304. package/dist/modules/webhooks/worker.js +2 -2
  305. package/dist/runtime/commerce.d.ts +9 -9
  306. package/dist/runtime/commerce.d.ts.map +1 -1
  307. package/dist/runtime/commerce.js +5 -5
  308. package/dist/runtime/kernel.d.ts +21 -21
  309. package/dist/runtime/kernel.d.ts.map +1 -1
  310. package/dist/runtime/kernel.js +41 -41
  311. package/dist/runtime/logger.d.ts +1 -1
  312. package/dist/runtime/logger.d.ts.map +1 -1
  313. package/dist/runtime/server.d.ts +6 -6
  314. package/dist/runtime/server.d.ts.map +1 -1
  315. package/dist/runtime/server.js +8 -6
  316. package/dist/runtime/shutdown.d.ts +1 -1
  317. package/dist/runtime/shutdown.d.ts.map +1 -1
  318. package/dist/test-utils/create-pglite-adapter.d.ts +2 -2
  319. package/dist/test-utils/create-pglite-adapter.d.ts.map +1 -1
  320. package/dist/test-utils/create-pglite-adapter.js +3 -3
  321. package/dist/test-utils/create-plugin-test-app.d.ts +3 -3
  322. package/dist/test-utils/create-plugin-test-app.d.ts.map +1 -1
  323. package/dist/test-utils/create-plugin-test-app.js +4 -4
  324. package/dist/test-utils/create-repository-test-harness.d.ts +2 -2
  325. package/dist/test-utils/create-repository-test-harness.d.ts.map +1 -1
  326. package/dist/test-utils/create-repository-test-harness.js +2 -2
  327. package/dist/test-utils/create-test-config.d.ts +1 -1
  328. package/dist/test-utils/create-test-config.d.ts.map +1 -1
  329. package/dist/test-utils/create-test-config.js +4 -4
  330. package/dist/test-utils/create-test-kernel.d.ts +2 -2
  331. package/dist/test-utils/create-test-kernel.d.ts.map +1 -1
  332. package/dist/test-utils/create-test-kernel.js +2 -2
  333. package/dist/test-utils/create-test-plugin-context.d.ts +2 -2
  334. package/dist/test-utils/create-test-plugin-context.d.ts.map +1 -1
  335. package/dist/test-utils/create-test-plugin-context.js +3 -3
  336. package/dist/test-utils/rest-api-test-utils.d.ts +4 -4
  337. package/dist/test-utils/rest-api-test-utils.d.ts.map +1 -1
  338. package/dist/test-utils/rest-api-test-utils.js +8 -8
  339. package/dist/test-utils/test-actors.d.ts +1 -1
  340. package/dist/test-utils/test-actors.d.ts.map +1 -1
  341. package/dist/test-utils/typed-hooks.d.ts +2 -2
  342. package/dist/test-utils/typed-hooks.d.ts.map +1 -1
  343. package/dist/types/commerce-types.d.ts +5 -5
  344. package/dist/types/commerce-types.d.ts.map +1 -1
  345. package/dist/utils/logger.d.ts +1 -1
  346. package/dist/utils/logger.d.ts.map +1 -1
  347. package/package.json +17 -9
  348. package/src/auth/access.ts +1 -1
  349. package/src/auth/auth-schema.ts +3 -3
  350. package/src/auth/middleware.ts +43 -14
  351. package/src/auth/org.ts +1 -1
  352. package/src/auth/permissions.ts +2 -2
  353. package/src/auth/setup.ts +18 -14
  354. package/src/auth/system-actor.ts +2 -2
  355. package/src/config/defaults.ts +1 -1
  356. package/src/config/define-config.ts +3 -3
  357. package/src/config/types.ts +11 -11
  358. package/src/hooks/checkout-completion.ts +4 -4
  359. package/src/hooks/checkout.ts +8 -8
  360. package/src/hooks/order-emails.ts +1 -1
  361. package/src/index.ts +83 -83
  362. package/src/interfaces/mcp/context-enrichment.ts +3 -3
  363. package/src/interfaces/mcp/server.ts +6 -6
  364. package/src/interfaces/mcp/transport.ts +3 -3
  365. package/src/interfaces/rest/customer-portal.ts +6 -6
  366. package/src/interfaces/rest/index.ts +15 -15
  367. package/src/interfaces/rest/router.ts +5 -5
  368. package/src/interfaces/rest/routes/admin-jobs.ts +5 -5
  369. package/src/interfaces/rest/routes/audit.ts +4 -4
  370. package/src/interfaces/rest/routes/carts.ts +4 -4
  371. package/src/interfaces/rest/routes/catalog.ts +5 -5
  372. package/src/interfaces/rest/routes/checkout.ts +11 -11
  373. package/src/interfaces/rest/routes/inventory.ts +3 -3
  374. package/src/interfaces/rest/routes/media.ts +4 -4
  375. package/src/interfaces/rest/routes/orders.ts +3 -3
  376. package/src/interfaces/rest/routes/payments.ts +3 -3
  377. package/src/interfaces/rest/routes/pricing.ts +3 -3
  378. package/src/interfaces/rest/routes/promotions.ts +4 -4
  379. package/src/interfaces/rest/routes/search.ts +3 -3
  380. package/src/interfaces/rest/routes/webhooks.ts +3 -3
  381. package/src/interfaces/rest/schemas/admin-jobs.ts +1 -1
  382. package/src/interfaces/rest/schemas/carts.ts +3 -3
  383. package/src/interfaces/rest/schemas/catalog.ts +3 -3
  384. package/src/interfaces/rest/schemas/checkout.ts +1 -1
  385. package/src/interfaces/rest/schemas/customer-portal.ts +2 -2
  386. package/src/interfaces/rest/schemas/inventory.ts +2 -2
  387. package/src/interfaces/rest/schemas/media.ts +1 -1
  388. package/src/interfaces/rest/schemas/orders.ts +2 -2
  389. package/src/interfaces/rest/schemas/pricing.ts +2 -2
  390. package/src/interfaces/rest/schemas/promotions.ts +2 -2
  391. package/src/interfaces/rest/schemas/responses.ts +5 -5
  392. package/src/interfaces/rest/schemas/search.ts +1 -1
  393. package/src/interfaces/rest/schemas/webhooks.ts +1 -1
  394. package/src/interfaces/rest/utils.ts +4 -4
  395. package/src/interfaces/rest/webhook-router.ts +1 -1
  396. package/src/kernel/compensation/executor.ts +2 -2
  397. package/src/kernel/compensation/types.ts +3 -3
  398. package/src/kernel/database/drizzle-db.ts +1 -1
  399. package/src/kernel/database/migrate.ts +2 -2
  400. package/src/kernel/database/schema.ts +13 -13
  401. package/src/kernel/database/tx-context.ts +2 -2
  402. package/src/kernel/error-mapper.ts +1 -1
  403. package/src/kernel/factory/repository-factory.ts +3 -3
  404. package/src/kernel/hooks/create-context.ts +5 -5
  405. package/src/kernel/hooks/executor.ts +1 -1
  406. package/src/kernel/hooks/types.ts +3 -3
  407. package/src/kernel/http-error.ts +1 -1
  408. package/src/kernel/jobs/drizzle-adapter.ts +5 -5
  409. package/src/kernel/jobs/runner.ts +4 -4
  410. package/src/kernel/jobs/schema.ts +1 -1
  411. package/src/kernel/jobs/types.ts +2 -2
  412. package/src/kernel/local-api.ts +4 -4
  413. package/src/kernel/plugin/manifest.ts +1 -1
  414. package/src/kernel/query/executor.ts +2 -2
  415. package/src/kernel/result.ts +1 -1
  416. package/src/kernel/state-machine/machine.ts +1 -1
  417. package/src/modules/analytics/drizzle-adapter.ts +4 -4
  418. package/src/modules/analytics/models.ts +1 -1
  419. package/src/modules/analytics/repository/index.ts +1 -1
  420. package/src/modules/analytics/service.ts +5 -5
  421. package/src/modules/analytics/types.ts +1 -1
  422. package/src/modules/audit/hooks.ts +3 -3
  423. package/src/modules/audit/schema.ts +1 -1
  424. package/src/modules/audit/service.ts +5 -5
  425. package/src/modules/cart/access.ts +2 -2
  426. package/src/modules/cart/matcher.ts +1 -1
  427. package/src/modules/cart/repository/index.ts +3 -3
  428. package/src/modules/cart/schema.ts +2 -2
  429. package/src/modules/cart/service.ts +17 -17
  430. package/src/modules/catalog/repository/index.ts +3 -3
  431. package/src/modules/catalog/schema.ts +1 -1
  432. package/src/modules/catalog/service.ts +16 -16
  433. package/src/modules/customers/repository/index.ts +3 -3
  434. package/src/modules/customers/schema.ts +1 -1
  435. package/src/modules/customers/service.ts +6 -6
  436. package/src/modules/fulfillment/repository/index.ts +3 -3
  437. package/src/modules/fulfillment/schema.ts +2 -2
  438. package/src/modules/fulfillment/service.ts +9 -9
  439. package/src/modules/fulfillment/types.ts +2 -2
  440. package/src/modules/inventory/repository/index.ts +3 -3
  441. package/src/modules/inventory/schema.ts +2 -2
  442. package/src/modules/inventory/service.ts +16 -16
  443. package/src/modules/media/adapter.ts +1 -1
  444. package/src/modules/media/repository/index.ts +3 -3
  445. package/src/modules/media/schema.ts +2 -2
  446. package/src/modules/media/service.ts +9 -9
  447. package/src/modules/orders/repository/index.ts +3 -3
  448. package/src/modules/orders/schema.ts +2 -2
  449. package/src/modules/orders/service.ts +15 -15
  450. package/src/modules/orders/stale-order-cleanup.ts +2 -2
  451. package/src/modules/organization/service.ts +2 -2
  452. package/src/modules/payments/adapter.ts +1 -1
  453. package/src/modules/payments/repository/index.ts +1 -1
  454. package/src/modules/payments/service.ts +3 -3
  455. package/src/modules/pricing/repository/index.ts +3 -3
  456. package/src/modules/pricing/schema.ts +2 -2
  457. package/src/modules/pricing/service.ts +9 -9
  458. package/src/modules/promotions/repository/index.ts +3 -3
  459. package/src/modules/promotions/schema.ts +1 -1
  460. package/src/modules/promotions/service.ts +10 -10
  461. package/src/modules/search/adapter.ts +1 -1
  462. package/src/modules/search/hooks.ts +2 -2
  463. package/src/modules/search/repository/index.ts +1 -1
  464. package/src/modules/search/service.ts +5 -5
  465. package/src/modules/shipping/calculator.ts +3 -3
  466. package/src/modules/shipping/repository/index.ts +1 -1
  467. package/src/modules/shipping/service.ts +5 -5
  468. package/src/modules/tax/adapter.ts +1 -1
  469. package/src/modules/tax/repository/index.ts +1 -1
  470. package/src/modules/tax/service.ts +3 -3
  471. package/src/modules/webhooks/hook.ts +1 -1
  472. package/src/modules/webhooks/repository/index.ts +3 -3
  473. package/src/modules/webhooks/schema.ts +1 -1
  474. package/src/modules/webhooks/service.ts +6 -6
  475. package/src/modules/webhooks/tasks.ts +3 -3
  476. package/src/modules/webhooks/worker.ts +3 -3
  477. package/src/runtime/commerce.ts +11 -11
  478. package/src/runtime/kernel.ts +45 -45
  479. package/src/runtime/logger.ts +1 -1
  480. package/src/runtime/server.ts +17 -13
  481. package/src/runtime/shutdown.ts +1 -1
  482. package/src/test-utils/create-pglite-adapter.ts +5 -5
  483. package/src/test-utils/create-plugin-test-app.ts +7 -7
  484. package/src/test-utils/create-repository-test-harness.ts +3 -3
  485. package/src/test-utils/create-test-config.ts +6 -6
  486. package/src/test-utils/create-test-kernel.ts +3 -3
  487. package/src/test-utils/create-test-plugin-context.ts +4 -4
  488. package/src/test-utils/rest-api-test-utils.ts +11 -11
  489. package/src/test-utils/test-actors.ts +1 -1
  490. package/src/test-utils/typed-hooks.ts +2 -2
  491. package/src/types/commerce-types.ts +5 -5
  492. package/src/utils/logger.ts +1 -1
  493. package/dist/auth/pos.d.ts +0 -3
  494. package/dist/auth/pos.d.ts.map +0 -1
  495. package/dist/auth/pos.js +0 -62
  496. package/dist/index.js.map +0 -156
  497. package/dist/interfaces/graphql/index.d.ts +0 -4
  498. package/dist/interfaces/graphql/index.d.ts.map +0 -1
  499. package/dist/interfaces/graphql/index.js +0 -415
  500. package/dist/kernel/factory/in-memory-repository-factory.d.ts +0 -20
  501. package/dist/kernel/factory/in-memory-repository-factory.d.ts.map +0 -1
  502. package/dist/kernel/factory/in-memory-repository-factory.js +0 -83
  503. package/dist/kernel/plugin/capability-registry.d.ts +0 -9
  504. package/dist/kernel/plugin/capability-registry.d.ts.map +0 -1
  505. package/dist/kernel/plugin/capability-registry.js +0 -28
  506. package/dist/kernel/plugin/dependency-graph.d.ts +0 -6
  507. package/dist/kernel/plugin/dependency-graph.d.ts.map +0 -1
  508. package/dist/kernel/plugin/dependency-graph.js +0 -55
  509. package/dist/modules/analytics/cubes.d.ts +0 -19
  510. package/dist/modules/analytics/cubes.d.ts.map +0 -1
  511. package/dist/modules/analytics/cubes.js +0 -187
  512. package/dist/modules/cart/repository/in-memory.d.ts +0 -30
  513. package/dist/modules/cart/repository/in-memory.d.ts.map +0 -1
  514. package/dist/modules/cart/repository/in-memory.js +0 -159
  515. package/dist/modules/catalog/repository/in-memory.d.ts +0 -82
  516. package/dist/modules/catalog/repository/in-memory.d.ts.map +0 -1
  517. package/dist/modules/catalog/repository/in-memory.js +0 -444
  518. package/dist/modules/customers/repository/in-memory.d.ts +0 -37
  519. package/dist/modules/customers/repository/in-memory.d.ts.map +0 -1
  520. package/dist/modules/customers/repository/in-memory.js +0 -278
  521. package/dist/modules/fulfillment/repository/in-memory.d.ts +0 -53
  522. package/dist/modules/fulfillment/repository/in-memory.d.ts.map +0 -1
  523. package/dist/modules/fulfillment/repository/in-memory.js +0 -327
  524. package/dist/modules/inventory/repository/in-memory.d.ts +0 -51
  525. package/dist/modules/inventory/repository/in-memory.d.ts.map +0 -1
  526. package/dist/modules/inventory/repository/in-memory.js +0 -281
  527. package/dist/modules/media/repository/in-memory.d.ts +0 -26
  528. package/dist/modules/media/repository/in-memory.d.ts.map +0 -1
  529. package/dist/modules/media/repository/in-memory.js +0 -145
  530. package/dist/modules/orders/repository/in-memory.d.ts +0 -40
  531. package/dist/modules/orders/repository/in-memory.d.ts.map +0 -1
  532. package/dist/modules/orders/repository/in-memory.js +0 -245
  533. package/dist/modules/pricing/repository/in-memory.d.ts +0 -25
  534. package/dist/modules/pricing/repository/in-memory.d.ts.map +0 -1
  535. package/dist/modules/pricing/repository/in-memory.js +0 -288
  536. package/dist/modules/promotions/repository/in-memory.d.ts +0 -32
  537. package/dist/modules/promotions/repository/in-memory.d.ts.map +0 -1
  538. package/dist/modules/promotions/repository/in-memory.js +0 -227
  539. package/dist/modules/webhooks/repository/in-memory.d.ts +0 -31
  540. package/dist/modules/webhooks/repository/in-memory.d.ts.map +0 -1
  541. package/dist/modules/webhooks/repository/in-memory.js +0 -187
  542. package/dist/runtime/state-manager.d.ts +0 -14
  543. package/dist/runtime/state-manager.d.ts.map +0 -1
  544. package/dist/runtime/state-manager.js +0 -84
  545. package/dist/runtime/state-repository.d.ts +0 -13
  546. package/dist/runtime/state-repository.d.ts.map +0 -1
  547. package/dist/runtime/state-repository.js +0 -160
  548. package/dist/runtime/state.d.ts +0 -382
  549. package/dist/runtime/state.d.ts.map +0 -1
  550. package/dist/runtime/state.js +0 -37
  551. package/dist/runtime/store.d.ts +0 -382
  552. package/dist/runtime/store.d.ts.map +0 -1
  553. package/dist/runtime/store.js +0 -37
  554. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,245 +0,0 @@
1
- function makeId() {
2
- return crypto.randomUUID();
3
- }
4
- /**
5
- * In-memory implementation of OrdersRepository for testing.
6
- * Provides the same interface as the Drizzle-based repository but stores data in memory.
7
- */
8
- export class InMemoryOrdersRepository {
9
- orders = new Map();
10
- lineItems = new Map();
11
- statusHistory = [];
12
- orderSequenceByYear = new Map();
13
- // ─────────────────────────────────────────────────────────────────────────────
14
- // Orders
15
- // ─────────────────────────────────────────────────────────────────────────────
16
- async findById(id, _ctx) {
17
- return this.orders.get(id);
18
- }
19
- async findByOrderNumber(orderNumber, _ctx) {
20
- return [...this.orders.values()].find((o) => o.orderNumber === orderNumber);
21
- }
22
- async findByCustomerId(customerId, _ctx) {
23
- return [...this.orders.values()]
24
- .filter((o) => o.customerId === customerId)
25
- .sort((a, b) => b.placedAt.getTime() - a.placedAt.getTime());
26
- }
27
- async findByStatus(status, _ctx) {
28
- return [...this.orders.values()]
29
- .filter((o) => o.status === status)
30
- .sort((a, b) => b.placedAt.getTime() - a.placedAt.getTime());
31
- }
32
- async findAll(options, _ctx) {
33
- let items = [...this.orders.values()].sort((a, b) => b.placedAt.getTime() - a.placedAt.getTime());
34
- if (options?.offset !== undefined) {
35
- items = items.slice(options.offset);
36
- }
37
- if (options?.limit !== undefined) {
38
- items = items.slice(0, options.limit);
39
- }
40
- return items;
41
- }
42
- async create(data, _ctx) {
43
- const now = new Date();
44
- const order = {
45
- id: data.id ?? makeId(),
46
- orderNumber: data.orderNumber,
47
- customerId: data.customerId ?? null,
48
- status: data.status ?? "pending",
49
- currency: data.currency,
50
- subtotal: data.subtotal,
51
- taxTotal: data.taxTotal,
52
- shippingTotal: data.shippingTotal,
53
- discountTotal: data.discountTotal ?? 0,
54
- grandTotal: data.grandTotal,
55
- metadata: data.metadata ?? null,
56
- placedAt: data.placedAt ?? now,
57
- fulfilledAt: data.fulfilledAt ?? null,
58
- cancelledAt: data.cancelledAt ?? null,
59
- };
60
- this.orders.set(order.id, order);
61
- this.lineItems.set(order.id, []);
62
- return order;
63
- }
64
- async update(id, data, _ctx) {
65
- const existing = this.orders.get(id);
66
- if (!existing)
67
- return undefined;
68
- const updated = {
69
- id: existing.id,
70
- orderNumber: data.orderNumber ?? existing.orderNumber,
71
- customerId: data.customerId !== undefined
72
- ? (data.customerId ?? null)
73
- : existing.customerId,
74
- status: data.status ?? existing.status,
75
- currency: data.currency ?? existing.currency,
76
- subtotal: data.subtotal ?? existing.subtotal,
77
- taxTotal: data.taxTotal ?? existing.taxTotal,
78
- shippingTotal: data.shippingTotal ?? existing.shippingTotal,
79
- discountTotal: data.discountTotal ?? existing.discountTotal,
80
- grandTotal: data.grandTotal ?? existing.grandTotal,
81
- metadata: data.metadata !== undefined
82
- ? (data.metadata ?? null)
83
- : existing.metadata,
84
- placedAt: data.placedAt ?? existing.placedAt,
85
- fulfilledAt: data.fulfilledAt !== undefined
86
- ? (data.fulfilledAt ?? null)
87
- : existing.fulfilledAt,
88
- cancelledAt: data.cancelledAt !== undefined
89
- ? (data.cancelledAt ?? null)
90
- : existing.cancelledAt,
91
- };
92
- this.orders.set(id, updated);
93
- return updated;
94
- }
95
- async updateStatus(id, status, _ctx) {
96
- const data = { status };
97
- if (status === "fulfilled") {
98
- data.fulfilledAt = new Date();
99
- }
100
- else if (status === "cancelled") {
101
- data.cancelledAt = new Date();
102
- }
103
- return this.update(id, data, _ctx);
104
- }
105
- async delete(id, _ctx) {
106
- this.lineItems.delete(id);
107
- this.statusHistory = this.statusHistory.filter((h) => h.orderId !== id);
108
- return this.orders.delete(id);
109
- }
110
- // ─────────────────────────────────────────────────────────────────────────────
111
- // Order Line Items
112
- // ─────────────────────────────────────────────────────────────────────────────
113
- async findAllLineItems(_ctx) {
114
- const all = [];
115
- for (const items of this.lineItems.values()) {
116
- all.push(...items);
117
- }
118
- return all;
119
- }
120
- async findLineItemById(id, _ctx) {
121
- for (const items of this.lineItems.values()) {
122
- const found = items.find((item) => item.id === id);
123
- if (found)
124
- return found;
125
- }
126
- return undefined;
127
- }
128
- async findLineItemsByOrderId(orderId, _ctx) {
129
- return this.lineItems.get(orderId) ?? [];
130
- }
131
- async createLineItem(data, _ctx) {
132
- const item = {
133
- id: data.id ?? makeId(),
134
- orderId: data.orderId,
135
- entityId: data.entityId,
136
- entityType: data.entityType,
137
- variantId: data.variantId ?? null,
138
- sku: data.sku ?? null,
139
- title: data.title,
140
- quantity: data.quantity,
141
- unitPrice: data.unitPrice,
142
- totalPrice: data.totalPrice,
143
- taxAmount: data.taxAmount ?? 0,
144
- discountAmount: data.discountAmount ?? 0,
145
- fulfillmentStatus: data.fulfillmentStatus ?? "unfulfilled",
146
- metadata: data.metadata ?? null,
147
- };
148
- const items = this.lineItems.get(data.orderId) ?? [];
149
- items.push(item);
150
- this.lineItems.set(data.orderId, items);
151
- return item;
152
- }
153
- async createLineItems(data, ctx) {
154
- const created = [];
155
- for (const item of data) {
156
- created.push(await this.createLineItem(item, ctx));
157
- }
158
- return created;
159
- }
160
- async updateLineItem(id, data, _ctx) {
161
- for (const items of this.lineItems.values()) {
162
- const idx = items.findIndex((item) => item.id === id);
163
- if (idx !== -1) {
164
- const existing = items[idx];
165
- const updated = {
166
- id: existing.id,
167
- orderId: existing.orderId,
168
- entityId: data.entityId ?? existing.entityId,
169
- entityType: data.entityType ?? existing.entityType,
170
- variantId: data.variantId !== undefined
171
- ? (data.variantId ?? null)
172
- : existing.variantId,
173
- sku: data.sku !== undefined ? (data.sku ?? null) : existing.sku,
174
- title: data.title ?? existing.title,
175
- quantity: data.quantity ?? existing.quantity,
176
- unitPrice: data.unitPrice ?? existing.unitPrice,
177
- totalPrice: data.totalPrice ?? existing.totalPrice,
178
- taxAmount: data.taxAmount ?? existing.taxAmount,
179
- discountAmount: data.discountAmount ?? existing.discountAmount,
180
- fulfillmentStatus: data.fulfillmentStatus ?? existing.fulfillmentStatus,
181
- metadata: data.metadata !== undefined
182
- ? (data.metadata ?? null)
183
- : existing.metadata,
184
- };
185
- items[idx] = updated;
186
- return updated;
187
- }
188
- }
189
- return undefined;
190
- }
191
- async deleteLineItem(id, _ctx) {
192
- for (const [orderId, items] of this.lineItems.entries()) {
193
- const idx = items.findIndex((item) => item.id === id);
194
- if (idx !== -1) {
195
- items.splice(idx, 1);
196
- return true;
197
- }
198
- }
199
- return false;
200
- }
201
- async deleteLineItemsByOrderId(orderId, _ctx) {
202
- this.lineItems.set(orderId, []);
203
- }
204
- // ─────────────────────────────────────────────────────────────────────────────
205
- // Order Status History
206
- // ─────────────────────────────────────────────────────────────────────────────
207
- async findStatusHistoryByOrderId(orderId, _ctx) {
208
- return this.statusHistory
209
- .filter((h) => h.orderId === orderId)
210
- .sort((a, b) => b.changedAt.getTime() - a.changedAt.getTime());
211
- }
212
- async createStatusHistory(data, _ctx) {
213
- const history = {
214
- id: data.id ?? makeId(),
215
- orderId: data.orderId,
216
- fromStatus: data.fromStatus,
217
- toStatus: data.toStatus,
218
- reason: data.reason ?? null,
219
- changedBy: data.changedBy,
220
- changedAt: data.changedAt ?? new Date(),
221
- };
222
- this.statusHistory.push(history);
223
- return history;
224
- }
225
- // ─────────────────────────────────────────────────────────────────────────────
226
- // Order with Line Items (Aggregate)
227
- // ─────────────────────────────────────────────────────────────────────────────
228
- async findWithLineItems(id, ctx) {
229
- const order = await this.findById(id, ctx);
230
- if (!order)
231
- return undefined;
232
- const lineItems = await this.findLineItemsByOrderId(id, ctx);
233
- return { order, lineItems };
234
- }
235
- // ─────────────────────────────────────────────────────────────────────────────
236
- // Order Number Generation
237
- // ─────────────────────────────────────────────────────────────────────────────
238
- async getNextOrderNumber(_ctx) {
239
- const year = new Date().getFullYear();
240
- const current = this.orderSequenceByYear.get(year) ?? 0;
241
- const next = current + 1;
242
- this.orderSequenceByYear.set(year, next);
243
- return `ORD-${year}-${String(next).padStart(6, "0")}`;
244
- }
245
- }
@@ -1,25 +0,0 @@
1
- import type { TxContext } from "../../../kernel/database/tx-context";
2
- import type { Price, PriceInsert, PriceModifier, PriceModifierInsert } from "./index";
3
- /**
4
- * In-memory implementation of PricingRepository for testing.
5
- */
6
- export declare class InMemoryPricingRepository {
7
- private prices;
8
- private modifiers;
9
- findPriceById(id: string, _ctx?: TxContext): Promise<Price | undefined>;
10
- findPricesByEntityId(entityId: string, _ctx?: TxContext): Promise<Price[]>;
11
- findPricesByEntityAndVariant(entityId: string, variantId: string | null, _ctx?: TxContext): Promise<Price[]>;
12
- findActivePrices(entityId: string, currency: string, variantId?: string, customerGroupId?: string, quantity?: number, _ctx?: TxContext): Promise<Price[]>;
13
- createPrice(data: PriceInsert, _ctx?: TxContext): Promise<Price>;
14
- updatePrice(id: string, data: Partial<Omit<PriceInsert, "id">>, _ctx?: TxContext): Promise<Price | undefined>;
15
- deletePrice(id: string, _ctx?: TxContext): Promise<boolean>;
16
- deletePricesByEntityId(entityId: string, _ctx?: TxContext): Promise<void>;
17
- findModifierById(id: string, _ctx?: TxContext): Promise<PriceModifier | undefined>;
18
- findModifiersByEntityId(entityId: string, _ctx?: TxContext): Promise<PriceModifier[]>;
19
- findActiveModifiers(entityId: string, variantId?: string, customerGroupId?: string, currency?: string, quantity?: number, _ctx?: TxContext): Promise<PriceModifier[]>;
20
- createModifier(data: PriceModifierInsert, _ctx?: TxContext): Promise<PriceModifier>;
21
- updateModifier(id: string, data: Partial<Omit<PriceModifierInsert, "id">>, _ctx?: TxContext): Promise<PriceModifier | undefined>;
22
- deleteModifier(id: string, _ctx?: TxContext): Promise<boolean>;
23
- deleteModifiersByEntityId(entityId: string, _ctx?: TxContext): Promise<void>;
24
- }
25
- //# sourceMappingURL=in-memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../../src/modules/pricing/repository/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAoC;IAM/C,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIvB,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,EAAE,CAAC;IAIb,4BAA4B,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,EAAE,CAAC;IAMb,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,EAAE,CAAC;IAmCb,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAqBhE,WAAW,CACf,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EACtC,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAyDvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC;IAUV,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAI/B,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,EAAE,CAAC;IAsCrB,cAAc,CAClB,IAAI,EAAE,mBAAmB,EACzB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,CAAC;IAyBnB,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,EAC9C,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA4E/B,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,yBAAyB,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC;CAKjB"}
@@ -1,288 +0,0 @@
1
- function makeId() {
2
- return crypto.randomUUID();
3
- }
4
- /**
5
- * In-memory implementation of PricingRepository for testing.
6
- */
7
- export class InMemoryPricingRepository {
8
- prices = new Map();
9
- modifiers = new Map();
10
- // ─────────────────────────────────────────────────────────────────────────────
11
- // Prices
12
- // ─────────────────────────────────────────────────────────────────────────────
13
- async findPriceById(id, _ctx) {
14
- return this.prices.get(id);
15
- }
16
- async findPricesByEntityId(entityId, _ctx) {
17
- return [...this.prices.values()].filter((p) => p.entityId === entityId);
18
- }
19
- async findPricesByEntityAndVariant(entityId, variantId, _ctx) {
20
- return [...this.prices.values()].filter((p) => p.entityId === entityId && p.variantId === variantId);
21
- }
22
- async findActivePrices(entityId, currency, variantId, customerGroupId, quantity, _ctx) {
23
- const now = new Date();
24
- return [...this.prices.values()].filter((p) => {
25
- if (p.entityId !== entityId)
26
- return false;
27
- if (p.currency !== currency)
28
- return false;
29
- // Check validity window
30
- if (p.validFrom && p.validFrom > now)
31
- return false;
32
- if (p.validUntil && p.validUntil < now)
33
- return false;
34
- // Filter by variantId
35
- if (variantId === undefined) {
36
- if (p.variantId !== null)
37
- return false;
38
- }
39
- else {
40
- if (p.variantId !== variantId && p.variantId !== null)
41
- return false;
42
- }
43
- // Filter by customerGroupId
44
- if (customerGroupId) {
45
- if (p.customerGroupId !== null && p.customerGroupId !== customerGroupId)
46
- return false;
47
- }
48
- else {
49
- if (p.customerGroupId !== null)
50
- return false;
51
- }
52
- // Filter by quantity
53
- if (quantity !== undefined) {
54
- if (p.minQuantity !== null && quantity < p.minQuantity)
55
- return false;
56
- if (p.maxQuantity !== null && quantity > p.maxQuantity)
57
- return false;
58
- }
59
- return true;
60
- });
61
- }
62
- async createPrice(data, _ctx) {
63
- const now = new Date();
64
- const price = {
65
- id: data.id ?? makeId(),
66
- entityId: data.entityId,
67
- variantId: data.variantId ?? null,
68
- currency: data.currency,
69
- amount: data.amount,
70
- customerGroupId: data.customerGroupId ?? null,
71
- minQuantity: data.minQuantity ?? null,
72
- maxQuantity: data.maxQuantity ?? null,
73
- validFrom: data.validFrom ?? null,
74
- validUntil: data.validUntil ?? null,
75
- metadata: data.metadata ?? null,
76
- createdAt: data.createdAt ?? now,
77
- updatedAt: data.updatedAt ?? now,
78
- };
79
- this.prices.set(price.id, price);
80
- return price;
81
- }
82
- async updatePrice(id, data, _ctx) {
83
- const existing = this.prices.get(id);
84
- if (!existing)
85
- return undefined;
86
- const updated = {
87
- id: existing.id,
88
- entityId: data.entityId !== undefined ? data.entityId : existing.entityId,
89
- variantId: data.variantId !== undefined
90
- ? data.variantId === undefined
91
- ? null
92
- : data.variantId
93
- : existing.variantId,
94
- currency: data.currency !== undefined ? data.currency : existing.currency,
95
- amount: data.amount !== undefined ? data.amount : existing.amount,
96
- customerGroupId: data.customerGroupId !== undefined
97
- ? data.customerGroupId === undefined
98
- ? null
99
- : data.customerGroupId
100
- : existing.customerGroupId,
101
- minQuantity: data.minQuantity !== undefined
102
- ? data.minQuantity === undefined
103
- ? null
104
- : data.minQuantity
105
- : existing.minQuantity,
106
- maxQuantity: data.maxQuantity !== undefined
107
- ? data.maxQuantity === undefined
108
- ? null
109
- : data.maxQuantity
110
- : existing.maxQuantity,
111
- validFrom: data.validFrom !== undefined
112
- ? data.validFrom === undefined
113
- ? null
114
- : data.validFrom
115
- : existing.validFrom,
116
- validUntil: data.validUntil !== undefined
117
- ? data.validUntil === undefined
118
- ? null
119
- : data.validUntil
120
- : existing.validUntil,
121
- metadata: data.metadata !== undefined
122
- ? data.metadata === undefined
123
- ? null
124
- : data.metadata
125
- : existing.metadata,
126
- createdAt: existing.createdAt,
127
- updatedAt: new Date(),
128
- };
129
- this.prices.set(id, updated);
130
- return updated;
131
- }
132
- async deletePrice(id, _ctx) {
133
- return this.prices.delete(id);
134
- }
135
- async deletePricesByEntityId(entityId, _ctx) {
136
- for (const [id, price] of this.prices) {
137
- if (price.entityId === entityId)
138
- this.prices.delete(id);
139
- }
140
- }
141
- // ─────────────────────────────────────────────────────────────────────────────
142
- // Price Modifiers
143
- // ─────────────────────────────────────────────────────────────────────────────
144
- async findModifierById(id, _ctx) {
145
- return this.modifiers.get(id);
146
- }
147
- async findModifiersByEntityId(entityId, _ctx) {
148
- return [...this.modifiers.values()].filter((m) => m.entityId === entityId);
149
- }
150
- async findActiveModifiers(entityId, variantId, customerGroupId, currency, quantity, _ctx) {
151
- const now = new Date();
152
- const filtered = [...this.modifiers.values()].filter((m) => {
153
- // Check entity (null means global)
154
- if (m.entityId !== null && m.entityId !== entityId)
155
- return false;
156
- // Check validity window
157
- if (m.validFrom && m.validFrom > now)
158
- return false;
159
- if (m.validUntil && m.validUntil < now)
160
- return false;
161
- // Filter by variantId
162
- if (m.variantId !== null && m.variantId !== variantId)
163
- return false;
164
- // Filter by customerGroupId
165
- if (customerGroupId) {
166
- if (m.customerGroupId !== null && m.customerGroupId !== customerGroupId)
167
- return false;
168
- }
169
- else {
170
- if (m.customerGroupId !== null)
171
- return false;
172
- }
173
- // Filter by currency
174
- if (currency) {
175
- if (m.currency !== null && m.currency !== currency)
176
- return false;
177
- }
178
- // Filter by quantity
179
- if (quantity !== undefined) {
180
- if (m.minQuantity !== null && quantity < m.minQuantity)
181
- return false;
182
- if (m.maxQuantity !== null && quantity > m.maxQuantity)
183
- return false;
184
- }
185
- return true;
186
- });
187
- return filtered.sort((a, b) => a.priority - b.priority);
188
- }
189
- async createModifier(data, _ctx) {
190
- const now = new Date();
191
- const modifier = {
192
- id: data.id ?? makeId(),
193
- name: data.name,
194
- type: data.type,
195
- value: data.value,
196
- priority: data.priority ?? 100,
197
- entityId: data.entityId ?? null,
198
- variantId: data.variantId ?? null,
199
- customerGroupId: data.customerGroupId ?? null,
200
- currency: data.currency ?? null,
201
- minQuantity: data.minQuantity ?? null,
202
- maxQuantity: data.maxQuantity ?? null,
203
- conditions: data.conditions ?? null,
204
- validFrom: data.validFrom ?? null,
205
- validUntil: data.validUntil ?? null,
206
- metadata: data.metadata ?? null,
207
- createdAt: data.createdAt ?? now,
208
- updatedAt: data.updatedAt ?? now,
209
- };
210
- this.modifiers.set(modifier.id, modifier);
211
- return modifier;
212
- }
213
- async updateModifier(id, data, _ctx) {
214
- const existing = this.modifiers.get(id);
215
- if (!existing)
216
- return undefined;
217
- const updated = {
218
- id: existing.id,
219
- name: data.name !== undefined ? data.name : existing.name,
220
- type: data.type !== undefined ? data.type : existing.type,
221
- value: data.value !== undefined ? data.value : existing.value,
222
- priority: data.priority !== undefined ? data.priority : existing.priority,
223
- entityId: data.entityId !== undefined
224
- ? data.entityId === undefined
225
- ? null
226
- : data.entityId
227
- : existing.entityId,
228
- variantId: data.variantId !== undefined
229
- ? data.variantId === undefined
230
- ? null
231
- : data.variantId
232
- : existing.variantId,
233
- customerGroupId: data.customerGroupId !== undefined
234
- ? data.customerGroupId === undefined
235
- ? null
236
- : data.customerGroupId
237
- : existing.customerGroupId,
238
- currency: data.currency !== undefined
239
- ? data.currency === undefined
240
- ? null
241
- : data.currency
242
- : existing.currency,
243
- minQuantity: data.minQuantity !== undefined
244
- ? data.minQuantity === undefined
245
- ? null
246
- : data.minQuantity
247
- : existing.minQuantity,
248
- maxQuantity: data.maxQuantity !== undefined
249
- ? data.maxQuantity === undefined
250
- ? null
251
- : data.maxQuantity
252
- : existing.maxQuantity,
253
- conditions: data.conditions !== undefined
254
- ? data.conditions === undefined
255
- ? null
256
- : data.conditions
257
- : existing.conditions,
258
- validFrom: data.validFrom !== undefined
259
- ? data.validFrom === undefined
260
- ? null
261
- : data.validFrom
262
- : existing.validFrom,
263
- validUntil: data.validUntil !== undefined
264
- ? data.validUntil === undefined
265
- ? null
266
- : data.validUntil
267
- : existing.validUntil,
268
- metadata: data.metadata !== undefined
269
- ? data.metadata === undefined
270
- ? null
271
- : data.metadata
272
- : existing.metadata,
273
- createdAt: existing.createdAt,
274
- updatedAt: new Date(),
275
- };
276
- this.modifiers.set(id, updated);
277
- return updated;
278
- }
279
- async deleteModifier(id, _ctx) {
280
- return this.modifiers.delete(id);
281
- }
282
- async deleteModifiersByEntityId(entityId, _ctx) {
283
- for (const [id, modifier] of this.modifiers) {
284
- if (modifier.entityId === entityId)
285
- this.modifiers.delete(id);
286
- }
287
- }
288
- }
@@ -1,32 +0,0 @@
1
- import type { TxContext } from "../../../kernel/database/tx-context";
2
- import type { Promotion, PromotionInsert, PromotionUsage, PromotionUsageInsert } from "./index";
3
- /**
4
- * In-memory implementation of PromotionsRepository for testing.
5
- */
6
- export declare class InMemoryPromotionsRepository {
7
- private promotions;
8
- private usages;
9
- findById(id: string, _ctx?: TxContext): Promise<Promotion | undefined>;
10
- findByCode(code: string, _ctx?: TxContext): Promise<Promotion | undefined>;
11
- findAll(_ctx?: TxContext): Promise<Promotion[]>;
12
- findActive(_ctx?: TxContext): Promise<Promotion[]>;
13
- findAutomatic(_ctx?: TxContext): Promise<Promotion[]>;
14
- create(data: PromotionInsert, _ctx?: TxContext): Promise<Promotion>;
15
- update(id: string, data: Partial<Omit<PromotionInsert, "id">>, _ctx?: TxContext): Promise<Promotion | undefined>;
16
- delete(id: string, _ctx?: TxContext): Promise<boolean>;
17
- activate(id: string, _ctx?: TxContext): Promise<Promotion | undefined>;
18
- deactivate(id: string, _ctx?: TxContext): Promise<Promotion | undefined>;
19
- findUsageById(id: string, _ctx?: TxContext): Promise<PromotionUsage | undefined>;
20
- findUsagesByPromotionId(promotionId: string, _ctx?: TxContext): Promise<PromotionUsage[]>;
21
- findUsagesByCustomerId(customerId: string, _ctx?: TxContext): Promise<PromotionUsage[]>;
22
- createUsage(data: PromotionUsageInsert, _ctx?: TxContext): Promise<PromotionUsage>;
23
- countUsages(promotionId: string, _ctx?: TxContext): Promise<number>;
24
- countUsagesByCustomer(promotionId: string, customerId: string, _ctx?: TxContext): Promise<number>;
25
- isUsageLimitReached(promotionId: string, _ctx?: TxContext): Promise<boolean>;
26
- isCustomerUsageLimitReached(promotionId: string, customerId: string, _ctx?: TxContext): Promise<boolean>;
27
- isPromotionValid(promotionId: string, customerId?: string, _ctx?: TxContext): Promise<{
28
- valid: boolean;
29
- reason?: string;
30
- }>;
31
- }
32
- //# sourceMappingURL=in-memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../../src/modules/promotions/repository/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,MAAM,CAAwB;IAMhC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAItE,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI3B,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAM/C,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAYlD,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAarD,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAuCnE,MAAM,CACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,EAC1C,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IA2E3B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAItE,UAAU,CACd,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAQ3B,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIhC,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,WAAW,CACf,IAAI,EAAE,oBAAoB,EAC1B,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,cAAc,CAAC;IAYpB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;IAMZ,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,OAAO,CAAC;IAOb,2BAA2B,CAC/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,OAAO,CAAC;IAWb,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAiChD"}