@unifiedcommerce/core 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/dist/interfaces/rest/index.d.ts.map +1 -1
  2. package/dist/interfaces/rest/index.js +4 -17
  3. package/dist/runtime/server.d.ts.map +1 -1
  4. package/dist/runtime/server.js +33 -0
  5. package/package.json +1 -1
  6. package/dist/adapters/console-email.d.ts +0 -23
  7. package/dist/adapters/console-email.d.ts.map +0 -1
  8. package/dist/adapters/console-email.js +0 -38
  9. package/dist/auth/access.d.ts +0 -101
  10. package/dist/auth/access.d.ts.map +0 -1
  11. package/dist/auth/access.js +0 -128
  12. package/dist/auth/auth-schema.d.ts +0 -1475
  13. package/dist/auth/auth-schema.d.ts.map +0 -1
  14. package/dist/auth/auth-schema.js +0 -124
  15. package/dist/auth/middleware.d.ts +0 -5
  16. package/dist/auth/middleware.d.ts.map +0 -1
  17. package/dist/auth/middleware.js +0 -141
  18. package/dist/auth/org.d.ts +0 -22
  19. package/dist/auth/org.d.ts.map +0 -1
  20. package/dist/auth/org.js +0 -36
  21. package/dist/auth/permissions.d.ts +0 -4
  22. package/dist/auth/permissions.d.ts.map +0 -1
  23. package/dist/auth/permissions.js +0 -24
  24. package/dist/auth/setup.d.ts +0 -29
  25. package/dist/auth/setup.d.ts.map +0 -1
  26. package/dist/auth/setup.js +0 -117
  27. package/dist/auth/system-actor.d.ts +0 -7
  28. package/dist/auth/system-actor.d.ts.map +0 -1
  29. package/dist/auth/system-actor.js +0 -17
  30. package/dist/auth/types.d.ts +0 -11
  31. package/dist/auth/types.d.ts.map +0 -1
  32. package/dist/auth/types.js +0 -1
  33. package/dist/config/defaults.d.ts +0 -3
  34. package/dist/config/defaults.d.ts.map +0 -1
  35. package/dist/config/defaults.js +0 -80
  36. package/dist/config/define-config.d.ts +0 -9
  37. package/dist/config/define-config.d.ts.map +0 -1
  38. package/dist/config/define-config.js +0 -44
  39. package/dist/config/types.d.ts +0 -327
  40. package/dist/config/types.d.ts.map +0 -1
  41. package/dist/config/types.js +0 -1
  42. package/dist/generated/plugin-manifest.d.ts +0 -48
  43. package/dist/generated/plugin-manifest.d.ts.map +0 -1
  44. package/dist/generated/plugin-manifest.js +0 -20
  45. package/dist/hooks/checkout-completion.d.ts +0 -58
  46. package/dist/hooks/checkout-completion.d.ts.map +0 -1
  47. package/dist/hooks/checkout-completion.js +0 -137
  48. package/dist/hooks/checkout.d.ts +0 -99
  49. package/dist/hooks/checkout.d.ts.map +0 -1
  50. package/dist/hooks/checkout.js +0 -317
  51. package/dist/hooks/order-emails.d.ts +0 -16
  52. package/dist/hooks/order-emails.d.ts.map +0 -1
  53. package/dist/hooks/order-emails.js +0 -44
  54. package/dist/index.d.ts +0 -77
  55. package/dist/index.d.ts.map +0 -1
  56. package/dist/index.js +0 -45
  57. package/dist/interfaces/mcp/agent-prompt.d.ts +0 -16
  58. package/dist/interfaces/mcp/agent-prompt.d.ts.map +0 -1
  59. package/dist/interfaces/mcp/agent-prompt.js +0 -172
  60. package/dist/interfaces/mcp/context-enrichment.d.ts +0 -39
  61. package/dist/interfaces/mcp/context-enrichment.d.ts.map +0 -1
  62. package/dist/interfaces/mcp/context-enrichment.js +0 -119
  63. package/dist/interfaces/mcp/server.d.ts +0 -5
  64. package/dist/interfaces/mcp/server.d.ts.map +0 -1
  65. package/dist/interfaces/mcp/server.js +0 -30
  66. package/dist/interfaces/mcp/tool-builder.d.ts +0 -120
  67. package/dist/interfaces/mcp/tool-builder.d.ts.map +0 -1
  68. package/dist/interfaces/mcp/tool-builder.js +0 -224
  69. package/dist/interfaces/mcp/tools/analytics.d.ts +0 -42
  70. package/dist/interfaces/mcp/tools/analytics.d.ts.map +0 -1
  71. package/dist/interfaces/mcp/tools/analytics.js +0 -70
  72. package/dist/interfaces/mcp/tools/cart.d.ts +0 -14
  73. package/dist/interfaces/mcp/tools/cart.d.ts.map +0 -1
  74. package/dist/interfaces/mcp/tools/cart.js +0 -47
  75. package/dist/interfaces/mcp/tools/catalog.d.ts +0 -53
  76. package/dist/interfaces/mcp/tools/catalog.d.ts.map +0 -1
  77. package/dist/interfaces/mcp/tools/catalog.js +0 -284
  78. package/dist/interfaces/mcp/tools/index.d.ts +0 -3
  79. package/dist/interfaces/mcp/tools/index.d.ts.map +0 -1
  80. package/dist/interfaces/mcp/tools/index.js +0 -20
  81. package/dist/interfaces/mcp/tools/inventory.d.ts +0 -27
  82. package/dist/interfaces/mcp/tools/inventory.d.ts.map +0 -1
  83. package/dist/interfaces/mcp/tools/inventory.js +0 -143
  84. package/dist/interfaces/mcp/tools/orders.d.ts +0 -18
  85. package/dist/interfaces/mcp/tools/orders.d.ts.map +0 -1
  86. package/dist/interfaces/mcp/tools/orders.js +0 -82
  87. package/dist/interfaces/mcp/tools/pricing.d.ts +0 -29
  88. package/dist/interfaces/mcp/tools/pricing.d.ts.map +0 -1
  89. package/dist/interfaces/mcp/tools/pricing.js +0 -90
  90. package/dist/interfaces/mcp/tools/promotions.d.ts +0 -44
  91. package/dist/interfaces/mcp/tools/promotions.d.ts.map +0 -1
  92. package/dist/interfaces/mcp/tools/promotions.js +0 -109
  93. package/dist/interfaces/mcp/tools/registry.d.ts +0 -32
  94. package/dist/interfaces/mcp/tools/registry.d.ts.map +0 -1
  95. package/dist/interfaces/mcp/tools/registry.js +0 -55
  96. package/dist/interfaces/mcp/tools/search.d.ts +0 -14
  97. package/dist/interfaces/mcp/tools/search.d.ts.map +0 -1
  98. package/dist/interfaces/mcp/tools/search.js +0 -39
  99. package/dist/interfaces/mcp/tools/webhooks.d.ts +0 -15
  100. package/dist/interfaces/mcp/tools/webhooks.d.ts.map +0 -1
  101. package/dist/interfaces/mcp/tools/webhooks.js +0 -48
  102. package/dist/interfaces/mcp/transport.d.ts +0 -20
  103. package/dist/interfaces/mcp/transport.d.ts.map +0 -1
  104. package/dist/interfaces/mcp/transport.js +0 -99
  105. package/dist/interfaces/rest/customer-portal.d.ts +0 -5
  106. package/dist/interfaces/rest/customer-portal.d.ts.map +0 -1
  107. package/dist/interfaces/rest/customer-portal.js +0 -206
  108. package/dist/interfaces/rest/router.d.ts +0 -164
  109. package/dist/interfaces/rest/router.d.ts.map +0 -1
  110. package/dist/interfaces/rest/router.js +0 -259
  111. package/dist/interfaces/rest/routes/admin-jobs.d.ts +0 -5
  112. package/dist/interfaces/rest/routes/admin-jobs.d.ts.map +0 -1
  113. package/dist/interfaces/rest/routes/admin-jobs.js +0 -48
  114. package/dist/interfaces/rest/routes/audit.d.ts +0 -5
  115. package/dist/interfaces/rest/routes/audit.d.ts.map +0 -1
  116. package/dist/interfaces/rest/routes/audit.js +0 -43
  117. package/dist/interfaces/rest/routes/carts.d.ts +0 -5
  118. package/dist/interfaces/rest/routes/carts.d.ts.map +0 -1
  119. package/dist/interfaces/rest/routes/carts.js +0 -55
  120. package/dist/interfaces/rest/routes/catalog.d.ts +0 -5
  121. package/dist/interfaces/rest/routes/catalog.d.ts.map +0 -1
  122. package/dist/interfaces/rest/routes/catalog.js +0 -256
  123. package/dist/interfaces/rest/routes/checkout.d.ts +0 -5
  124. package/dist/interfaces/rest/routes/checkout.d.ts.map +0 -1
  125. package/dist/interfaces/rest/routes/checkout.js +0 -216
  126. package/dist/interfaces/rest/routes/customers.d.ts +0 -5
  127. package/dist/interfaces/rest/routes/customers.d.ts.map +0 -1
  128. package/dist/interfaces/rest/routes/customers.js +0 -74
  129. package/dist/interfaces/rest/routes/entity-aliases.d.ts +0 -18
  130. package/dist/interfaces/rest/routes/entity-aliases.d.ts.map +0 -1
  131. package/dist/interfaces/rest/routes/entity-aliases.js +0 -39
  132. package/dist/interfaces/rest/routes/inventory.d.ts +0 -5
  133. package/dist/interfaces/rest/routes/inventory.d.ts.map +0 -1
  134. package/dist/interfaces/rest/routes/inventory.js +0 -72
  135. package/dist/interfaces/rest/routes/media.d.ts +0 -5
  136. package/dist/interfaces/rest/routes/media.d.ts.map +0 -1
  137. package/dist/interfaces/rest/routes/media.js +0 -65
  138. package/dist/interfaces/rest/routes/orders.d.ts +0 -5
  139. package/dist/interfaces/rest/routes/orders.d.ts.map +0 -1
  140. package/dist/interfaces/rest/routes/orders.js +0 -64
  141. package/dist/interfaces/rest/routes/payments.d.ts +0 -5
  142. package/dist/interfaces/rest/routes/payments.d.ts.map +0 -1
  143. package/dist/interfaces/rest/routes/payments.js +0 -45
  144. package/dist/interfaces/rest/routes/pricing.d.ts +0 -5
  145. package/dist/interfaces/rest/routes/pricing.d.ts.map +0 -1
  146. package/dist/interfaces/rest/routes/pricing.js +0 -48
  147. package/dist/interfaces/rest/routes/promotions.d.ts +0 -5
  148. package/dist/interfaces/rest/routes/promotions.d.ts.map +0 -1
  149. package/dist/interfaces/rest/routes/promotions.js +0 -76
  150. package/dist/interfaces/rest/routes/search.d.ts +0 -5
  151. package/dist/interfaces/rest/routes/search.d.ts.map +0 -1
  152. package/dist/interfaces/rest/routes/search.js +0 -60
  153. package/dist/interfaces/rest/routes/webhooks.d.ts +0 -5
  154. package/dist/interfaces/rest/routes/webhooks.d.ts.map +0 -1
  155. package/dist/interfaces/rest/routes/webhooks.js +0 -39
  156. package/dist/interfaces/rest/schemas/admin-jobs.d.ts +0 -327
  157. package/dist/interfaces/rest/schemas/admin-jobs.d.ts.map +0 -1
  158. package/dist/interfaces/rest/schemas/admin-jobs.js +0 -37
  159. package/dist/interfaces/rest/schemas/audit.d.ts +0 -59
  160. package/dist/interfaces/rest/schemas/audit.d.ts.map +0 -1
  161. package/dist/interfaces/rest/schemas/audit.js +0 -43
  162. package/dist/interfaces/rest/schemas/carts.d.ts +0 -1456
  163. package/dist/interfaces/rest/schemas/carts.d.ts.map +0 -1
  164. package/dist/interfaces/rest/schemas/carts.js +0 -109
  165. package/dist/interfaces/rest/schemas/catalog.d.ts +0 -5452
  166. package/dist/interfaces/rest/schemas/catalog.d.ts.map +0 -1
  167. package/dist/interfaces/rest/schemas/catalog.js +0 -397
  168. package/dist/interfaces/rest/schemas/checkout.d.ts +0 -160
  169. package/dist/interfaces/rest/schemas/checkout.d.ts.map +0 -1
  170. package/dist/interfaces/rest/schemas/checkout.js +0 -60
  171. package/dist/interfaces/rest/schemas/customer-portal.d.ts +0 -2203
  172. package/dist/interfaces/rest/schemas/customer-portal.d.ts.map +0 -1
  173. package/dist/interfaces/rest/schemas/customer-portal.js +0 -177
  174. package/dist/interfaces/rest/schemas/customers.d.ts +0 -422
  175. package/dist/interfaces/rest/schemas/customers.d.ts.map +0 -1
  176. package/dist/interfaces/rest/schemas/customers.js +0 -150
  177. package/dist/interfaces/rest/schemas/inventory.d.ts +0 -561
  178. package/dist/interfaces/rest/schemas/inventory.d.ts.map +0 -1
  179. package/dist/interfaces/rest/schemas/inventory.js +0 -148
  180. package/dist/interfaces/rest/schemas/media.d.ts +0 -303
  181. package/dist/interfaces/rest/schemas/media.d.ts.map +0 -1
  182. package/dist/interfaces/rest/schemas/media.js +0 -69
  183. package/dist/interfaces/rest/schemas/orders.d.ts +0 -1792
  184. package/dist/interfaces/rest/schemas/orders.d.ts.map +0 -1
  185. package/dist/interfaces/rest/schemas/orders.js +0 -93
  186. package/dist/interfaces/rest/schemas/pricing.d.ts +0 -256
  187. package/dist/interfaces/rest/schemas/pricing.d.ts.map +0 -1
  188. package/dist/interfaces/rest/schemas/pricing.js +0 -72
  189. package/dist/interfaces/rest/schemas/promotions.d.ts +0 -363
  190. package/dist/interfaces/rest/schemas/promotions.d.ts.map +0 -1
  191. package/dist/interfaces/rest/schemas/promotions.js +0 -98
  192. package/dist/interfaces/rest/schemas/responses.d.ts +0 -4086
  193. package/dist/interfaces/rest/schemas/responses.d.ts.map +0 -1
  194. package/dist/interfaces/rest/schemas/responses.js +0 -74
  195. package/dist/interfaces/rest/schemas/search.d.ts +0 -247
  196. package/dist/interfaces/rest/schemas/search.d.ts.map +0 -1
  197. package/dist/interfaces/rest/schemas/search.js +0 -55
  198. package/dist/interfaces/rest/schemas/shared.d.ts +0 -95
  199. package/dist/interfaces/rest/schemas/shared.d.ts.map +0 -1
  200. package/dist/interfaces/rest/schemas/shared.js +0 -51
  201. package/dist/interfaces/rest/schemas/webhooks.d.ts +0 -221
  202. package/dist/interfaces/rest/schemas/webhooks.d.ts.map +0 -1
  203. package/dist/interfaces/rest/schemas/webhooks.js +0 -62
  204. package/dist/interfaces/rest/utils.d.ts +0 -45
  205. package/dist/interfaces/rest/utils.d.ts.map +0 -1
  206. package/dist/interfaces/rest/utils.js +0 -71
  207. package/dist/interfaces/rest/webhook-router.d.ts +0 -41
  208. package/dist/interfaces/rest/webhook-router.d.ts.map +0 -1
  209. package/dist/interfaces/rest/webhook-router.js +0 -36
  210. package/dist/kernel/compensation/executor.d.ts +0 -21
  211. package/dist/kernel/compensation/executor.d.ts.map +0 -1
  212. package/dist/kernel/compensation/executor.js +0 -36
  213. package/dist/kernel/compensation/types.d.ts +0 -25
  214. package/dist/kernel/compensation/types.d.ts.map +0 -1
  215. package/dist/kernel/compensation/types.js +0 -1
  216. package/dist/kernel/database/adapter.d.ts +0 -18
  217. package/dist/kernel/database/adapter.d.ts.map +0 -1
  218. package/dist/kernel/database/adapter.js +0 -3
  219. package/dist/kernel/database/drizzle-db.d.ts +0 -49
  220. package/dist/kernel/database/drizzle-db.d.ts.map +0 -1
  221. package/dist/kernel/database/drizzle-db.js +0 -20
  222. package/dist/kernel/database/migrate.d.ts +0 -38
  223. package/dist/kernel/database/migrate.d.ts.map +0 -1
  224. package/dist/kernel/database/migrate.js +0 -61
  225. package/dist/kernel/database/plugin-types.d.ts +0 -32
  226. package/dist/kernel/database/plugin-types.d.ts.map +0 -1
  227. package/dist/kernel/database/plugin-types.js +0 -10
  228. package/dist/kernel/database/schema.d.ts +0 -24
  229. package/dist/kernel/database/schema.d.ts.map +0 -1
  230. package/dist/kernel/database/schema.js +0 -36
  231. package/dist/kernel/database/scoped-db.d.ts +0 -20
  232. package/dist/kernel/database/scoped-db.d.ts.map +0 -1
  233. package/dist/kernel/database/scoped-db.js +0 -62
  234. package/dist/kernel/database/tx-context.d.ts +0 -15
  235. package/dist/kernel/database/tx-context.d.ts.map +0 -1
  236. package/dist/kernel/database/tx-context.js +0 -19
  237. package/dist/kernel/error-mapper.d.ts +0 -3
  238. package/dist/kernel/error-mapper.d.ts.map +0 -1
  239. package/dist/kernel/error-mapper.js +0 -12
  240. package/dist/kernel/errors.d.ts +0 -38
  241. package/dist/kernel/errors.d.ts.map +0 -1
  242. package/dist/kernel/errors.js +0 -69
  243. package/dist/kernel/factory/repository-factory.d.ts +0 -71
  244. package/dist/kernel/factory/repository-factory.d.ts.map +0 -1
  245. package/dist/kernel/factory/repository-factory.js +0 -138
  246. package/dist/kernel/hooks/create-context.d.ts +0 -25
  247. package/dist/kernel/hooks/create-context.d.ts.map +0 -1
  248. package/dist/kernel/hooks/create-context.js +0 -22
  249. package/dist/kernel/hooks/executor.d.ts +0 -12
  250. package/dist/kernel/hooks/executor.d.ts.map +0 -1
  251. package/dist/kernel/hooks/executor.js +0 -50
  252. package/dist/kernel/hooks/registry.d.ts +0 -28
  253. package/dist/kernel/hooks/registry.d.ts.map +0 -1
  254. package/dist/kernel/hooks/registry.js +0 -58
  255. package/dist/kernel/hooks/types.d.ts +0 -37
  256. package/dist/kernel/hooks/types.d.ts.map +0 -1
  257. package/dist/kernel/hooks/types.js +0 -1
  258. package/dist/kernel/http-error.d.ts +0 -30
  259. package/dist/kernel/http-error.d.ts.map +0 -1
  260. package/dist/kernel/http-error.js +0 -35
  261. package/dist/kernel/jobs/adapter.d.ts +0 -25
  262. package/dist/kernel/jobs/adapter.d.ts.map +0 -1
  263. package/dist/kernel/jobs/adapter.js +0 -9
  264. package/dist/kernel/jobs/drizzle-adapter.d.ts +0 -15
  265. package/dist/kernel/jobs/drizzle-adapter.d.ts.map +0 -1
  266. package/dist/kernel/jobs/drizzle-adapter.js +0 -42
  267. package/dist/kernel/jobs/runner.d.ts +0 -24
  268. package/dist/kernel/jobs/runner.d.ts.map +0 -1
  269. package/dist/kernel/jobs/runner.js +0 -114
  270. package/dist/kernel/jobs/schema.d.ts +0 -280
  271. package/dist/kernel/jobs/schema.d.ts.map +0 -1
  272. package/dist/kernel/jobs/schema.js +0 -37
  273. package/dist/kernel/jobs/types.d.ts +0 -30
  274. package/dist/kernel/jobs/types.d.ts.map +0 -1
  275. package/dist/kernel/jobs/types.js +0 -1
  276. package/dist/kernel/local-api.d.ts +0 -103
  277. package/dist/kernel/local-api.d.ts.map +0 -1
  278. package/dist/kernel/local-api.js +0 -89
  279. package/dist/kernel/plugin/manifest.d.ts +0 -90
  280. package/dist/kernel/plugin/manifest.d.ts.map +0 -1
  281. package/dist/kernel/plugin/manifest.js +0 -169
  282. package/dist/kernel/query/executor.d.ts +0 -21
  283. package/dist/kernel/query/executor.d.ts.map +0 -1
  284. package/dist/kernel/query/executor.js +0 -128
  285. package/dist/kernel/query/registry.d.ts +0 -33
  286. package/dist/kernel/query/registry.d.ts.map +0 -1
  287. package/dist/kernel/query/registry.js +0 -20
  288. package/dist/kernel/result.d.ts +0 -36
  289. package/dist/kernel/result.d.ts.map +0 -1
  290. package/dist/kernel/result.js +0 -16
  291. package/dist/kernel/schema/extra-columns.d.ts +0 -23
  292. package/dist/kernel/schema/extra-columns.d.ts.map +0 -1
  293. package/dist/kernel/schema/extra-columns.js +0 -10
  294. package/dist/kernel/service-registry.d.ts +0 -109
  295. package/dist/kernel/service-registry.d.ts.map +0 -1
  296. package/dist/kernel/service-registry.js +0 -26
  297. package/dist/kernel/service-timing.d.ts +0 -25
  298. package/dist/kernel/service-timing.d.ts.map +0 -1
  299. package/dist/kernel/service-timing.js +0 -62
  300. package/dist/kernel/state-machine/machine.d.ts +0 -24
  301. package/dist/kernel/state-machine/machine.d.ts.map +0 -1
  302. package/dist/kernel/state-machine/machine.js +0 -70
  303. package/dist/modules/analytics/drizzle-adapter.d.ts +0 -13
  304. package/dist/modules/analytics/drizzle-adapter.d.ts.map +0 -1
  305. package/dist/modules/analytics/drizzle-adapter.js +0 -358
  306. package/dist/modules/analytics/hooks.d.ts +0 -13
  307. package/dist/modules/analytics/hooks.d.ts.map +0 -1
  308. package/dist/modules/analytics/hooks.js +0 -12
  309. package/dist/modules/analytics/models.d.ts +0 -14
  310. package/dist/modules/analytics/models.d.ts.map +0 -1
  311. package/dist/modules/analytics/models.js +0 -118
  312. package/dist/modules/analytics/repository/index.d.ts +0 -5
  313. package/dist/modules/analytics/repository/index.d.ts.map +0 -1
  314. package/dist/modules/analytics/repository/index.js +0 -1
  315. package/dist/modules/analytics/service.d.ts +0 -45
  316. package/dist/modules/analytics/service.d.ts.map +0 -1
  317. package/dist/modules/analytics/service.js +0 -196
  318. package/dist/modules/analytics/types.d.ts +0 -119
  319. package/dist/modules/analytics/types.d.ts.map +0 -1
  320. package/dist/modules/analytics/types.js +0 -25
  321. package/dist/modules/audit/hooks.d.ts +0 -7
  322. package/dist/modules/audit/hooks.d.ts.map +0 -1
  323. package/dist/modules/audit/hooks.js +0 -67
  324. package/dist/modules/audit/schema.d.ts +0 -178
  325. package/dist/modules/audit/schema.d.ts.map +0 -1
  326. package/dist/modules/audit/schema.js +0 -21
  327. package/dist/modules/audit/service.d.ts +0 -38
  328. package/dist/modules/audit/service.d.ts.map +0 -1
  329. package/dist/modules/audit/service.js +0 -109
  330. package/dist/modules/cart/access.d.ts +0 -11
  331. package/dist/modules/cart/access.d.ts.map +0 -1
  332. package/dist/modules/cart/access.js +0 -18
  333. package/dist/modules/cart/matcher.d.ts +0 -20
  334. package/dist/modules/cart/matcher.d.ts.map +0 -1
  335. package/dist/modules/cart/matcher.js +0 -2
  336. package/dist/modules/cart/repository/index.d.ts +0 -45
  337. package/dist/modules/cart/repository/index.d.ts.map +0 -1
  338. package/dist/modules/cart/repository/index.js +0 -158
  339. package/dist/modules/cart/schema.d.ts +0 -359
  340. package/dist/modules/cart/schema.d.ts.map +0 -1
  341. package/dist/modules/cart/schema.js +0 -40
  342. package/dist/modules/cart/schemas.d.ts +0 -29
  343. package/dist/modules/cart/schemas.d.ts.map +0 -1
  344. package/dist/modules/cart/schemas.js +0 -14
  345. package/dist/modules/cart/service.d.ts +0 -63
  346. package/dist/modules/cart/service.d.ts.map +0 -1
  347. package/dist/modules/cart/service.js +0 -339
  348. package/dist/modules/catalog/repository/index.d.ts +0 -106
  349. package/dist/modules/catalog/repository/index.d.ts.map +0 -1
  350. package/dist/modules/catalog/repository/index.js +0 -455
  351. package/dist/modules/catalog/schema.d.ts +0 -1193
  352. package/dist/modules/catalog/schema.d.ts.map +0 -1
  353. package/dist/modules/catalog/schema.js +0 -149
  354. package/dist/modules/catalog/schemas.d.ts +0 -81
  355. package/dist/modules/catalog/schemas.d.ts.map +0 -1
  356. package/dist/modules/catalog/schemas.js +0 -62
  357. package/dist/modules/catalog/service.d.ts +0 -160
  358. package/dist/modules/catalog/service.d.ts.map +0 -1
  359. package/dist/modules/catalog/service.js +0 -759
  360. package/dist/modules/customers/repository/index.d.ts +0 -47
  361. package/dist/modules/customers/repository/index.d.ts.map +0 -1
  362. package/dist/modules/customers/repository/index.js +0 -206
  363. package/dist/modules/customers/schema.d.ts +0 -560
  364. package/dist/modules/customers/schema.d.ts.map +0 -1
  365. package/dist/modules/customers/schema.js +0 -60
  366. package/dist/modules/customers/service.d.ts +0 -27
  367. package/dist/modules/customers/service.d.ts.map +0 -1
  368. package/dist/modules/customers/service.js +0 -106
  369. package/dist/modules/fulfillment/repository/index.d.ts +0 -63
  370. package/dist/modules/fulfillment/repository/index.d.ts.map +0 -1
  371. package/dist/modules/fulfillment/repository/index.js +0 -268
  372. package/dist/modules/fulfillment/schema.d.ts +0 -655
  373. package/dist/modules/fulfillment/schema.d.ts.map +0 -1
  374. package/dist/modules/fulfillment/schema.js +0 -83
  375. package/dist/modules/fulfillment/service.d.ts +0 -58
  376. package/dist/modules/fulfillment/service.d.ts.map +0 -1
  377. package/dist/modules/fulfillment/service.js +0 -338
  378. package/dist/modules/fulfillment/types.d.ts +0 -44
  379. package/dist/modules/fulfillment/types.d.ts.map +0 -1
  380. package/dist/modules/fulfillment/types.js +0 -1
  381. package/dist/modules/inventory/repository/index.d.ts +0 -81
  382. package/dist/modules/inventory/repository/index.d.ts.map +0 -1
  383. package/dist/modules/inventory/repository/index.js +0 -310
  384. package/dist/modules/inventory/schema.d.ts +0 -570
  385. package/dist/modules/inventory/schema.d.ts.map +0 -1
  386. package/dist/modules/inventory/schema.js +0 -69
  387. package/dist/modules/inventory/schemas.d.ts +0 -31
  388. package/dist/modules/inventory/schemas.d.ts.map +0 -1
  389. package/dist/modules/inventory/schemas.js +0 -28
  390. package/dist/modules/inventory/service.d.ts +0 -69
  391. package/dist/modules/inventory/service.d.ts.map +0 -1
  392. package/dist/modules/inventory/service.js +0 -283
  393. package/dist/modules/media/adapter.d.ts +0 -16
  394. package/dist/modules/media/adapter.d.ts.map +0 -1
  395. package/dist/modules/media/adapter.js +0 -1
  396. package/dist/modules/media/repository/index.d.ts +0 -35
  397. package/dist/modules/media/repository/index.d.ts.map +0 -1
  398. package/dist/modules/media/repository/index.js +0 -176
  399. package/dist/modules/media/schema.d.ts +0 -289
  400. package/dist/modules/media/schema.d.ts.map +0 -1
  401. package/dist/modules/media/schema.js +0 -35
  402. package/dist/modules/media/service.d.ts +0 -42
  403. package/dist/modules/media/service.d.ts.map +0 -1
  404. package/dist/modules/media/service.js +0 -89
  405. package/dist/modules/orders/repository/index.d.ts +0 -48
  406. package/dist/modules/orders/repository/index.d.ts.map +0 -1
  407. package/dist/modules/orders/repository/index.js +0 -199
  408. package/dist/modules/orders/schema.d.ts +0 -672
  409. package/dist/modules/orders/schema.d.ts.map +0 -1
  410. package/dist/modules/orders/schema.js +0 -63
  411. package/dist/modules/orders/service.d.ts +0 -85
  412. package/dist/modules/orders/service.d.ts.map +0 -1
  413. package/dist/modules/orders/service.js +0 -313
  414. package/dist/modules/orders/stale-order-cleanup.d.ts +0 -27
  415. package/dist/modules/orders/stale-order-cleanup.d.ts.map +0 -1
  416. package/dist/modules/orders/stale-order-cleanup.js +0 -55
  417. package/dist/modules/organization/service.d.ts +0 -53
  418. package/dist/modules/organization/service.d.ts.map +0 -1
  419. package/dist/modules/organization/service.js +0 -151
  420. package/dist/modules/payments/adapter.d.ts +0 -42
  421. package/dist/modules/payments/adapter.d.ts.map +0 -1
  422. package/dist/modules/payments/adapter.js +0 -1
  423. package/dist/modules/payments/repository/index.d.ts +0 -5
  424. package/dist/modules/payments/repository/index.d.ts.map +0 -1
  425. package/dist/modules/payments/repository/index.js +0 -1
  426. package/dist/modules/payments/service.d.ts +0 -23
  427. package/dist/modules/payments/service.d.ts.map +0 -1
  428. package/dist/modules/payments/service.js +0 -72
  429. package/dist/modules/pricing/repository/index.d.ts +0 -34
  430. package/dist/modules/pricing/repository/index.d.ts.map +0 -1
  431. package/dist/modules/pricing/repository/index.js +0 -176
  432. package/dist/modules/pricing/schema.d.ts +0 -565
  433. package/dist/modules/pricing/schema.d.ts.map +0 -1
  434. package/dist/modules/pricing/schema.js +0 -57
  435. package/dist/modules/pricing/schemas.d.ts +0 -37
  436. package/dist/modules/pricing/schemas.d.ts.map +0 -1
  437. package/dist/modules/pricing/schemas.js +0 -30
  438. package/dist/modules/pricing/service.d.ts +0 -62
  439. package/dist/modules/pricing/service.d.ts.map +0 -1
  440. package/dist/modules/pricing/service.js +0 -308
  441. package/dist/modules/promotions/repository/index.d.ts +0 -41
  442. package/dist/modules/promotions/repository/index.d.ts.map +0 -1
  443. package/dist/modules/promotions/repository/index.js +0 -204
  444. package/dist/modules/promotions/schema.d.ts +0 -427
  445. package/dist/modules/promotions/schema.d.ts.map +0 -1
  446. package/dist/modules/promotions/schema.js +0 -52
  447. package/dist/modules/promotions/schemas.d.ts +0 -33
  448. package/dist/modules/promotions/schemas.d.ts.map +0 -1
  449. package/dist/modules/promotions/schemas.js +0 -32
  450. package/dist/modules/promotions/service.d.ts +0 -80
  451. package/dist/modules/promotions/service.d.ts.map +0 -1
  452. package/dist/modules/promotions/service.js +0 -347
  453. package/dist/modules/search/adapter.d.ts +0 -51
  454. package/dist/modules/search/adapter.d.ts.map +0 -1
  455. package/dist/modules/search/adapter.js +0 -1
  456. package/dist/modules/search/hooks.d.ts +0 -8
  457. package/dist/modules/search/hooks.d.ts.map +0 -1
  458. package/dist/modules/search/hooks.js +0 -6
  459. package/dist/modules/search/repository/index.d.ts +0 -5
  460. package/dist/modules/search/repository/index.d.ts.map +0 -1
  461. package/dist/modules/search/repository/index.js +0 -1
  462. package/dist/modules/search/service.d.ts +0 -24
  463. package/dist/modules/search/service.d.ts.map +0 -1
  464. package/dist/modules/search/service.js +0 -217
  465. package/dist/modules/shipping/calculator.d.ts +0 -42
  466. package/dist/modules/shipping/calculator.d.ts.map +0 -1
  467. package/dist/modules/shipping/calculator.js +0 -91
  468. package/dist/modules/shipping/repository/index.d.ts +0 -5
  469. package/dist/modules/shipping/repository/index.d.ts.map +0 -1
  470. package/dist/modules/shipping/repository/index.js +0 -1
  471. package/dist/modules/shipping/service.d.ts +0 -28
  472. package/dist/modules/shipping/service.d.ts.map +0 -1
  473. package/dist/modules/shipping/service.js +0 -20
  474. package/dist/modules/tax/adapter.d.ts +0 -58
  475. package/dist/modules/tax/adapter.d.ts.map +0 -1
  476. package/dist/modules/tax/adapter.js +0 -1
  477. package/dist/modules/tax/repository/index.d.ts +0 -5
  478. package/dist/modules/tax/repository/index.d.ts.map +0 -1
  479. package/dist/modules/tax/repository/index.js +0 -1
  480. package/dist/modules/tax/service.d.ts +0 -19
  481. package/dist/modules/tax/service.d.ts.map +0 -1
  482. package/dist/modules/tax/service.js +0 -34
  483. package/dist/modules/webhooks/hook.d.ts +0 -13
  484. package/dist/modules/webhooks/hook.d.ts.map +0 -1
  485. package/dist/modules/webhooks/hook.js +0 -29
  486. package/dist/modules/webhooks/repository/index.d.ts +0 -40
  487. package/dist/modules/webhooks/repository/index.d.ts.map +0 -1
  488. package/dist/modules/webhooks/repository/index.js +0 -175
  489. package/dist/modules/webhooks/schema.d.ts +0 -404
  490. package/dist/modules/webhooks/schema.d.ts.map +0 -1
  491. package/dist/modules/webhooks/schema.js +0 -40
  492. package/dist/modules/webhooks/service.d.ts +0 -23
  493. package/dist/modules/webhooks/service.d.ts.map +0 -1
  494. package/dist/modules/webhooks/service.js +0 -92
  495. package/dist/modules/webhooks/signing.d.ts +0 -2
  496. package/dist/modules/webhooks/signing.d.ts.map +0 -1
  497. package/dist/modules/webhooks/signing.js +0 -5
  498. package/dist/modules/webhooks/ssrf-guard.d.ts +0 -19
  499. package/dist/modules/webhooks/ssrf-guard.d.ts.map +0 -1
  500. package/dist/modules/webhooks/ssrf-guard.js +0 -79
  501. package/dist/modules/webhooks/tasks.d.ts +0 -16
  502. package/dist/modules/webhooks/tasks.d.ts.map +0 -1
  503. package/dist/modules/webhooks/tasks.js +0 -35
  504. package/dist/modules/webhooks/worker.d.ts +0 -21
  505. package/dist/modules/webhooks/worker.d.ts.map +0 -1
  506. package/dist/modules/webhooks/worker.js +0 -113
  507. package/dist/runtime/commerce.d.ts +0 -110
  508. package/dist/runtime/commerce.d.ts.map +0 -1
  509. package/dist/runtime/commerce.js +0 -37
  510. package/dist/runtime/kernel.d.ts +0 -71
  511. package/dist/runtime/kernel.d.ts.map +0 -1
  512. package/dist/runtime/kernel.js +0 -306
  513. package/dist/runtime/logger.d.ts +0 -11
  514. package/dist/runtime/logger.d.ts.map +0 -1
  515. package/dist/runtime/logger.js +0 -32
  516. package/dist/runtime/shutdown.d.ts +0 -15
  517. package/dist/runtime/shutdown.d.ts.map +0 -1
  518. package/dist/runtime/shutdown.js +0 -34
  519. package/dist/test-utils/create-pglite-adapter.d.ts +0 -32
  520. package/dist/test-utils/create-pglite-adapter.d.ts.map +0 -1
  521. package/dist/test-utils/create-pglite-adapter.js +0 -107
  522. package/dist/test-utils/create-plugin-test-app.d.ts +0 -50
  523. package/dist/test-utils/create-plugin-test-app.d.ts.map +0 -1
  524. package/dist/test-utils/create-plugin-test-app.js +0 -74
  525. package/dist/test-utils/create-repository-test-harness.d.ts +0 -8
  526. package/dist/test-utils/create-repository-test-harness.d.ts.map +0 -1
  527. package/dist/test-utils/create-repository-test-harness.js +0 -7
  528. package/dist/test-utils/create-test-config.d.ts +0 -18
  529. package/dist/test-utils/create-test-config.d.ts.map +0 -1
  530. package/dist/test-utils/create-test-config.js +0 -172
  531. package/dist/test-utils/create-test-kernel.d.ts +0 -3
  532. package/dist/test-utils/create-test-kernel.d.ts.map +0 -1
  533. package/dist/test-utils/create-test-kernel.js +0 -5
  534. package/dist/test-utils/create-test-plugin-context.d.ts +0 -42
  535. package/dist/test-utils/create-test-plugin-context.d.ts.map +0 -1
  536. package/dist/test-utils/create-test-plugin-context.js +0 -46
  537. package/dist/test-utils/rest-api-test-utils.d.ts +0 -64
  538. package/dist/test-utils/rest-api-test-utils.d.ts.map +0 -1
  539. package/dist/test-utils/rest-api-test-utils.js +0 -207
  540. package/dist/test-utils/test-actors.d.ts +0 -15
  541. package/dist/test-utils/test-actors.d.ts.map +0 -1
  542. package/dist/test-utils/test-actors.js +0 -57
  543. package/dist/test-utils/typed-hooks.d.ts +0 -43
  544. package/dist/test-utils/typed-hooks.d.ts.map +0 -1
  545. package/dist/test-utils/typed-hooks.js +0 -35
  546. package/dist/testing.d.ts +0 -14
  547. package/dist/testing.d.ts.map +0 -1
  548. package/dist/testing.js +0 -13
  549. package/dist/tsconfig.tsbuildinfo +0 -1
  550. package/dist/types/commerce-types.d.ts +0 -34
  551. package/dist/types/commerce-types.d.ts.map +0 -1
  552. package/dist/types/commerce-types.js +0 -1
  553. package/dist/utils/id.d.ts +0 -2
  554. package/dist/utils/id.d.ts.map +0 -1
  555. package/dist/utils/id.js +0 -3
  556. package/dist/utils/logger.d.ts +0 -3
  557. package/dist/utils/logger.d.ts.map +0 -1
  558. package/dist/utils/logger.js +0 -16
  559. package/dist/utils/pagination.d.ts +0 -11
  560. package/dist/utils/pagination.d.ts.map +0 -1
  561. package/dist/utils/pagination.js +0 -15
@@ -1,63 +0,0 @@
1
- import { index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, uuid } from "drizzle-orm/pg-core";
2
- import { organization } from "../../auth/auth-schema.js";
3
- import { sellableEntities, variants } from "../catalog/schema.js";
4
- export const orders = pgTable("orders", {
5
- id: uuid("id").defaultRandom().primaryKey(),
6
- organizationId: text("organization_id").notNull().references(() => organization.id, { onDelete: "cascade" }),
7
- orderNumber: text("order_number").notNull(),
8
- customerId: uuid("customer_id"),
9
- status: text("status").notNull().default("pending"),
10
- currency: text("currency").notNull(),
11
- subtotal: integer("subtotal").notNull(),
12
- taxTotal: integer("tax_total").notNull(),
13
- shippingTotal: integer("shipping_total").notNull(),
14
- discountTotal: integer("discount_total").notNull().default(0),
15
- grandTotal: integer("grand_total").notNull(),
16
- paymentIntentId: text("payment_intent_id"),
17
- paymentMethodId: text("payment_method_id"),
18
- metadata: jsonb("metadata").$type().default({}),
19
- placedAt: timestamp("placed_at", { withTimezone: true }).defaultNow().notNull(),
20
- fulfilledAt: timestamp("fulfilled_at", { withTimezone: true }),
21
- cancelledAt: timestamp("cancelled_at", { withTimezone: true }),
22
- }, (table) => ({
23
- orgIdx: index("idx_orders_org").on(table.organizationId),
24
- orgOrderNumberUnique: uniqueIndex("orders_org_order_number_unique").on(table.organizationId, table.orderNumber),
25
- statusIdx: index("idx_orders_status").on(table.status),
26
- customerIdIdx: index("idx_orders_customer_id").on(table.customerId),
27
- placedAtIdx: index("idx_orders_placed_at").on(table.placedAt),
28
- paymentIntentIdx: index("idx_orders_payment_intent").on(table.paymentIntentId),
29
- }));
30
- export const orderLineItems = pgTable("order_line_items", {
31
- id: uuid("id").defaultRandom().primaryKey(),
32
- orderId: uuid("order_id")
33
- .references(() => orders.id, { onDelete: "cascade" })
34
- .notNull(),
35
- entityId: uuid("entity_id").references(() => sellableEntities.id).notNull(),
36
- entityType: text("entity_type").notNull(),
37
- variantId: uuid("variant_id").references(() => variants.id),
38
- sku: text("sku"),
39
- title: text("title").notNull(),
40
- quantity: integer("quantity").notNull(),
41
- unitPrice: integer("unit_price").notNull(),
42
- totalPrice: integer("total_price").notNull(),
43
- taxAmount: integer("tax_amount").notNull().default(0),
44
- discountAmount: integer("discount_amount").notNull().default(0),
45
- fulfillmentStatus: text("fulfillment_status").notNull().default("unfulfilled"),
46
- metadata: jsonb("metadata").$type().default({}),
47
- }, (table) => [
48
- index("idx_order_line_items_order_id").on(table.orderId),
49
- index("idx_order_line_items_entity_id").on(table.entityId),
50
- ]);
51
- export const orderStatusHistory = pgTable("order_status_history", {
52
- id: uuid("id").defaultRandom().primaryKey(),
53
- orderId: uuid("order_id")
54
- .references(() => orders.id, { onDelete: "cascade" })
55
- .notNull(),
56
- fromStatus: text("from_status").notNull(),
57
- toStatus: text("to_status").notNull(),
58
- reason: text("reason"),
59
- changedBy: text("changed_by").notNull(),
60
- changedAt: timestamp("changed_at", { withTimezone: true }).defaultNow().notNull(),
61
- }, (table) => [
62
- index("idx_order_status_history_order_id").on(table.orderId),
63
- ]);
@@ -1,85 +0,0 @@
1
- import type { Actor } from "../../auth/types.js";
2
- import type { HookRegistry } from "../../kernel/hooks/registry.js";
3
- import { type OrderState, type StateDefinition } from "../../kernel/state-machine/machine.js";
4
- import { type Result } from "../../kernel/result.js";
5
- import { type Pagination } from "../../utils/pagination.js";
6
- import type { TxContext } from "../../kernel/database/tx-context.js";
7
- import type { PluginDb } from "../../kernel/database/plugin-types.js";
8
- import { OrdersRepository, type Order, type OrderLineItem, type OrderStatusHistory } from "./repository/index.js";
9
- export interface CreateOrderInput {
10
- customerId?: string;
11
- currency: string;
12
- subtotal: number;
13
- taxTotal: number;
14
- shippingTotal: number;
15
- discountTotal?: number;
16
- grandTotal: number;
17
- paymentIntentId?: string | undefined;
18
- paymentMethodId?: string | undefined;
19
- metadata?: Record<string, unknown>;
20
- lineItems: Array<{
21
- entityId: string;
22
- entityType: string;
23
- variantId?: string;
24
- sku?: string;
25
- title: string;
26
- quantity: number;
27
- unitPrice: number;
28
- totalPrice: number;
29
- taxAmount?: number;
30
- discountAmount?: number;
31
- metadata?: Record<string, unknown>;
32
- }>;
33
- }
34
- export interface ListOrdersParams {
35
- page?: number;
36
- limit?: number;
37
- status?: string;
38
- }
39
- export interface ChangeStatusInput {
40
- orderId: string;
41
- newStatus: OrderState;
42
- reason?: string;
43
- }
44
- export interface OrderServiceDeps {
45
- repository: OrdersRepository;
46
- hooks: HookRegistry;
47
- services: Record<string, unknown>;
48
- /** Custom state machine. If provided, overrides the default order transitions. */
49
- stateMachine?: StateDefinition<string>;
50
- /** Kernel database reference for hook contexts. Uses PluginDb to avoid circular Kernel import. */
51
- kernel?: {
52
- database: {
53
- db: PluginDb;
54
- };
55
- };
56
- }
57
- export type HydratedOrder = Order & {
58
- lineItems: OrderLineItem[];
59
- };
60
- type OrderListResult = {
61
- items: HydratedOrder[];
62
- pagination: Pagination;
63
- };
64
- export declare class OrderService {
65
- private deps;
66
- private readonly repo;
67
- private readonly machine;
68
- constructor(deps: OrderServiceDeps);
69
- private hydrateOrder;
70
- create(input: CreateOrderInput, actor: Actor | null, ctx?: TxContext): Promise<Result<HydratedOrder>>;
71
- getById(id: string, actor: Actor | null, ctx?: TxContext): Promise<Result<HydratedOrder>>;
72
- getByNumber(orderNumber: string, actor: Actor | null, ctx?: TxContext): Promise<Result<HydratedOrder>>;
73
- list(params: ListOrdersParams, actor: Actor | null, ctx?: TxContext): Promise<Result<OrderListResult>>;
74
- listByCustomer(customerId: string, params: ListOrdersParams, actor?: Actor | null, ctx?: TxContext): Promise<Result<OrderListResult>>;
75
- changeStatus(input: ChangeStatusInput, actor: Actor | null, ctx?: TxContext): Promise<Result<HydratedOrder>>;
76
- cancel(orderId: string, actor: Actor | null, reason?: string, ctx?: TxContext): Promise<Result<HydratedOrder>>;
77
- refund(orderId: string, actor: Actor | null, reason?: string, ctx?: TxContext): Promise<Result<HydratedOrder>>;
78
- getStatusHistory(orderId: string, actor?: Actor | null, ctx?: TxContext): Promise<Result<OrderStatusHistory[]>>;
79
- updateOrder(orderId: string, data: {
80
- placedAt?: Date;
81
- metadata?: Record<string, unknown>;
82
- }, actor?: Actor | null, ctx?: TxContext): Promise<Result<Order>>;
83
- }
84
- export {};
85
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/modules/orders/service.ts"],"names":[],"mappings":"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"}
@@ -1,313 +0,0 @@
1
- import { resolveOrgId } from "../../auth/org.js";
2
- import { assertOwnership, assertPermission } from "../../auth/permissions.js";
3
- import { CommerceInvalidTransitionError, CommerceNotFoundError, CommerceValidationError, toCommerceError, } from "../../kernel/errors.js";
4
- import { runAfterHooks, runBeforeHooks } from "../../kernel/hooks/executor.js";
5
- import { createHookContext } from "../../kernel/hooks/create-context.js";
6
- import { canTransition, orderStateMachine, } from "../../kernel/state-machine/machine.js";
7
- import { Err, Ok } from "../../kernel/result.js";
8
- import { createLogger } from "../../utils/logger.js";
9
- import { paginate } from "../../utils/pagination.js";
10
- function context(actor, services, tx = null, kernel = null) {
11
- return createHookContext({
12
- actor,
13
- tx,
14
- logger: createLogger("orders"),
15
- services,
16
- context: { moduleName: "orders" },
17
- ...(kernel != null ? { kernel } : {}),
18
- });
19
- }
20
- export class OrderService {
21
- deps;
22
- repo;
23
- machine;
24
- constructor(deps) {
25
- this.deps = deps;
26
- this.repo = deps.repository;
27
- this.machine = deps.stateMachine ?? orderStateMachine;
28
- }
29
- async hydrateOrder(order, ctx) {
30
- const lineItems = await this.repo.findLineItemsByOrderId(order.id, ctx);
31
- return { ...order, lineItems };
32
- }
33
- async create(input, actor, ctx) {
34
- try {
35
- assertPermission(actor, "orders:create");
36
- }
37
- catch (error) {
38
- return Err(toCommerceError(error));
39
- }
40
- if (input.lineItems.length === 0) {
41
- return Err(new CommerceValidationError("Order requires at least one line item."));
42
- }
43
- const beforeHooks = this.deps.hooks.resolve("orders.beforeCreate");
44
- const afterHooks = this.deps.hooks.resolve("orders.afterCreate");
45
- const hookCtx = context(actor, this.deps.services, ctx?.tx, this.deps.kernel);
46
- const processed = await runBeforeHooks(beforeHooks, input, "create", hookCtx);
47
- const orderNumber = await this.repo.getNextOrderNumber(ctx);
48
- const orgId = resolveOrgId(actor);
49
- const order = await this.repo.create({
50
- organizationId: orgId,
51
- orderNumber,
52
- status: "pending",
53
- currency: processed.currency,
54
- subtotal: processed.subtotal,
55
- taxTotal: processed.taxTotal,
56
- shippingTotal: processed.shippingTotal,
57
- discountTotal: processed.discountTotal ?? 0,
58
- grandTotal: processed.grandTotal,
59
- ...(processed.paymentIntentId != null ? { paymentIntentId: processed.paymentIntentId } : {}),
60
- ...(processed.paymentMethodId != null ? { paymentMethodId: processed.paymentMethodId } : {}),
61
- metadata: processed.metadata ?? {},
62
- placedAt: new Date(),
63
- ...(processed.customerId !== undefined
64
- ? { customerId: processed.customerId }
65
- : {}),
66
- }, ctx);
67
- const lineItemsData = processed.lineItems.map((item) => ({
68
- orderId: order.id,
69
- entityId: item.entityId,
70
- entityType: item.entityType,
71
- title: item.title,
72
- quantity: item.quantity,
73
- unitPrice: item.unitPrice,
74
- totalPrice: item.totalPrice,
75
- taxAmount: item.taxAmount ?? 0,
76
- discountAmount: item.discountAmount ?? 0,
77
- fulfillmentStatus: "unfulfilled",
78
- metadata: item.metadata ?? {},
79
- ...(item.variantId !== undefined ? { variantId: item.variantId } : {}),
80
- ...(item.sku !== undefined ? { sku: item.sku } : {}),
81
- }));
82
- await this.repo.createLineItems(lineItemsData, ctx);
83
- await this.repo.createStatusHistory({
84
- orderId: order.id,
85
- fromStatus: "pending",
86
- toStatus: "pending",
87
- reason: "order_created",
88
- changedBy: actor?.userId ?? "system",
89
- }, ctx);
90
- const hydrated = await this.hydrateOrder(order, ctx);
91
- const report = await runAfterHooks(afterHooks, null, hydrated, "create", hookCtx);
92
- return Ok(hydrated, report.hasErrors ? { hookErrors: report.errors } : undefined);
93
- }
94
- async getById(id, actor, ctx) {
95
- const orgId = resolveOrgId(actor);
96
- const order = await this.repo.findById(orgId, id, ctx);
97
- if (!order)
98
- return Err(new CommerceNotFoundError("Order not found."));
99
- try {
100
- if (actor?.permissions.includes("orders:read") ||
101
- actor?.permissions.includes("*:*")) {
102
- // no-op
103
- }
104
- else if (actor?.permissions.includes("orders:read:own")) {
105
- assertOwnership(actor, order.customerId ?? null);
106
- }
107
- else {
108
- assertPermission(actor, "orders:read");
109
- }
110
- }
111
- catch (error) {
112
- return Err(toCommerceError(error));
113
- }
114
- const hydrated = await this.hydrateOrder(order, ctx);
115
- // Run afterGet hooks — allows plugins to enrich the order (e.g., vendor fulfillment)
116
- const afterGetHooks = this.deps.hooks.resolve("orders.afterGet");
117
- if (afterGetHooks.length > 0) {
118
- const hookCtx = context(actor, this.deps.services, ctx?.tx, this.deps.kernel);
119
- await runAfterHooks(afterGetHooks, null, hydrated, "read", hookCtx);
120
- }
121
- return Ok(hydrated);
122
- }
123
- async getByNumber(orderNumber, actor, ctx) {
124
- const orgId = resolveOrgId(actor);
125
- const order = await this.repo.findByOrderNumber(orgId, orderNumber, ctx);
126
- if (!order)
127
- return Err(new CommerceNotFoundError("Order not found."));
128
- return this.getById(order.id, actor, ctx);
129
- }
130
- async list(params, actor, ctx) {
131
- try {
132
- assertPermission(actor, "orders:read");
133
- }
134
- catch (error) {
135
- return Err(toCommerceError(error));
136
- }
137
- const orgId = resolveOrgId(actor);
138
- let items;
139
- if (params.status) {
140
- items = await this.repo.findByStatus(orgId, params.status, ctx);
141
- }
142
- else {
143
- items = await this.repo.findAll(orgId, undefined, ctx);
144
- }
145
- // Sort by placedAt descending (in-memory, as findAll already sorts)
146
- items.sort((a, b) => b.placedAt.getTime() - a.placedAt.getTime());
147
- const paged = paginate(items, params.page ?? 1, params.limit ?? 20);
148
- const hydratedItems = await Promise.all(paged.items.map((order) => this.hydrateOrder(order, ctx)));
149
- return Ok({
150
- items: hydratedItems,
151
- pagination: paged.pagination,
152
- });
153
- }
154
- async listByCustomer(customerId, params, actor, ctx) {
155
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
156
- let items = await this.repo.findByCustomerId(orgId, customerId, ctx);
157
- if (params.status) {
158
- items = items.filter((order) => order.status === params.status);
159
- }
160
- items.sort((a, b) => b.placedAt.getTime() - a.placedAt.getTime());
161
- const paged = paginate(items, params.page ?? 1, params.limit ?? 20);
162
- const hydratedItems = await Promise.all(paged.items.map((order) => this.hydrateOrder(order, ctx)));
163
- return Ok({
164
- items: hydratedItems,
165
- pagination: paged.pagination,
166
- });
167
- }
168
- async changeStatus(input, actor, ctx) {
169
- const orgId = resolveOrgId(actor);
170
- const order = await this.repo.findById(orgId, input.orderId, ctx);
171
- if (!order)
172
- return Err(new CommerceNotFoundError("Order not found."));
173
- try {
174
- assertPermission(actor, "orders:update");
175
- }
176
- catch (error) {
177
- return Err(toCommerceError(error));
178
- }
179
- if (!canTransition(this.machine, order.status, input.newStatus)) {
180
- return Err(new CommerceInvalidTransitionError(`Cannot transition from ${order.status} to ${input.newStatus}.`));
181
- }
182
- const beforeHooks = this.deps.hooks.resolve("orders.beforeStatusChange");
183
- const afterHooks = this.deps.hooks.resolve("orders.afterStatusChange");
184
- const hookCtx = context(actor, this.deps.services, ctx?.tx, this.deps.kernel);
185
- const statusHookInput = {
186
- orderId: order.id,
187
- fromStatus: order.status,
188
- newStatus: input.newStatus,
189
- ...(input.reason !== undefined ? { reason: input.reason } : {}),
190
- };
191
- await runBeforeHooks(beforeHooks, statusHookInput, "statusChange", hookCtx);
192
- const previous = order.status;
193
- const lineItems = await this.repo.findLineItemsByOrderId(order.id, ctx);
194
- // Handle cancellation and refund side effects
195
- if (input.newStatus === "cancelled" || input.newStatus === "refunded") {
196
- // 1. Release inventory reservations
197
- const inventory = this.deps.services.inventory;
198
- if (inventory?.release) {
199
- for (const lineItem of lineItems) {
200
- // Only release inventory for unfulfilled items.
201
- // Fulfilled items had their reservation released during the
202
- // fulfilled transition — releasing again would double-release.
203
- if (lineItem.fulfillmentStatus === "unfulfilled") {
204
- await inventory.release({
205
- entityId: lineItem.entityId,
206
- quantity: lineItem.quantity,
207
- orderId: order.id,
208
- performedBy: actor?.userId ?? "system",
209
- ...(lineItem.variantId != null
210
- ? { variantId: lineItem.variantId }
211
- : {}),
212
- });
213
- }
214
- }
215
- }
216
- // 2. Refund payment (if captured)
217
- const paymentIntentId = order.paymentIntentId
218
- ?? order.metadata?.paymentIntentId;
219
- if (paymentIntentId) {
220
- const payments = this.deps.services.payments;
221
- if (payments?.refund) {
222
- await payments.refund(paymentIntentId, order.grandTotal, input.reason ?? `order_${input.newStatus}`);
223
- }
224
- }
225
- // 3. Void tax transaction
226
- const tax = this.deps.services.tax;
227
- if (tax?.voidTransaction) {
228
- await tax.voidTransaction({ transactionId: order.id });
229
- }
230
- }
231
- // Handle fulfillment: deduct on_hand and release reservations.
232
- // Items have been shipped — on_hand decreases (stock left the warehouse)
233
- // and reservations are cleared (no longer needed).
234
- //
235
- // Net effect per line item:
236
- // on_hand -= quantity, reserved -= quantity, available unchanged
237
- // Before: on_hand=100, reserved=5, available=95
238
- // After: on_hand=95, reserved=0, available=95
239
- if (input.newStatus === "fulfilled" || input.newStatus === "partially_fulfilled") {
240
- const inventory = this.deps.services.inventory;
241
- if (inventory) {
242
- for (const lineItem of lineItems) {
243
- if (lineItem.fulfillmentStatus === "unfulfilled") {
244
- // Deduct on_hand (stock physically left warehouse)
245
- await inventory.deductForFulfillment({
246
- entityId: lineItem.entityId,
247
- quantity: lineItem.quantity,
248
- orderId: order.id,
249
- ...(lineItem.variantId != null
250
- ? { variantId: lineItem.variantId }
251
- : {}),
252
- });
253
- // Release reservation (no longer needed)
254
- await inventory.release({
255
- entityId: lineItem.entityId,
256
- quantity: lineItem.quantity,
257
- orderId: order.id,
258
- performedBy: actor?.userId ?? "system",
259
- ...(lineItem.variantId != null
260
- ? { variantId: lineItem.variantId }
261
- : {}),
262
- });
263
- // Mark line item as fulfilled
264
- await this.repo.updateLineItem(lineItem.id, { fulfillmentStatus: "fulfilled" }, ctx);
265
- }
266
- }
267
- }
268
- }
269
- // Update order status with atomic guard on current status
270
- const updated = await this.repo.updateStatus(order.id, previous, input.newStatus, ctx);
271
- if (!updated) {
272
- return Err(new CommerceValidationError(`Order status changed concurrently. Refresh and retry.`));
273
- }
274
- await this.repo.createStatusHistory({
275
- orderId: order.id,
276
- fromStatus: previous,
277
- toStatus: input.newStatus,
278
- changedBy: actor?.userId ?? "system",
279
- ...(input.reason !== undefined ? { reason: input.reason } : {}),
280
- }, ctx);
281
- // Audit logging is now automatic via audit hooks (RFC-005)
282
- // registered in kernel boot — no manual audit.record() needed.
283
- const hydrated = await this.hydrateOrder(updated, ctx);
284
- const report = await runAfterHooks(afterHooks, null, hydrated, "statusChange", hookCtx);
285
- return Ok(hydrated, report.hasErrors ? { hookErrors: report.errors } : undefined);
286
- }
287
- async cancel(orderId, actor, reason = "cancelled_by_user", ctx) {
288
- return this.changeStatus({ orderId, newStatus: "cancelled", reason }, actor, ctx);
289
- }
290
- async refund(orderId, actor, reason = "refunded", ctx) {
291
- return this.changeStatus({ orderId, newStatus: "refunded", reason }, actor, ctx);
292
- }
293
- async getStatusHistory(orderId, actor, ctx) {
294
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
295
- const order = await this.repo.findById(orgId, orderId, ctx);
296
- if (!order) {
297
- return Err(new CommerceNotFoundError("Order not found."));
298
- }
299
- const items = await this.repo.findStatusHistoryByOrderId(orderId, ctx);
300
- // Sort by changedAt ascending (oldest first)
301
- items.sort((a, b) => a.changedAt.getTime() - b.changedAt.getTime());
302
- return Ok(items);
303
- }
304
- async updateOrder(orderId, data, actor, ctx) {
305
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
306
- const order = await this.repo.findById(orgId, orderId, ctx);
307
- if (!order) {
308
- return Err(new CommerceNotFoundError("Order not found."));
309
- }
310
- const updated = await this.repo.update(orderId, data, ctx);
311
- return Ok(updated);
312
- }
313
- }
@@ -1,27 +0,0 @@
1
- import type { TaskDefinition } from "../../kernel/jobs/types.js";
2
- /**
3
- * Stale Order Cleanup Task
4
- *
5
- * Cancels orders stuck in "pending" status for longer than the configured
6
- * threshold (default: 48 hours). This releases reserved inventory and
7
- * refunds captured payments, preventing phantom stock loss from abandoned
8
- * orders.
9
- *
10
- * Register via config.jobs.tasks:
11
- * ```ts
12
- * import { staleOrderCleanupTask } from "@unifiedcommerce/core";
13
- * defineConfig({
14
- * jobs: {
15
- * tasks: [staleOrderCleanupTask],
16
- * autorun: { enabled: true, intervalMs: 3600_000 }, // hourly
17
- * },
18
- * });
19
- * ```
20
- */
21
- export declare const staleOrderCleanupTask: TaskDefinition<{
22
- thresholdHours?: number;
23
- }, {
24
- cancelledCount: number;
25
- orderIds: string[];
26
- }>;
27
- //# sourceMappingURL=stale-order-cleanup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stale-order-cleanup.d.ts","sourceRoot":"","sources":["../../../src/modules/orders/stale-order-cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,4BAA4B,CAAC;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkD/C,CAAC"}
@@ -1,55 +0,0 @@
1
- import { eq, and, lt } from "drizzle-orm";
2
- import { orders } from "./schema.js";
3
- /**
4
- * Stale Order Cleanup Task
5
- *
6
- * Cancels orders stuck in "pending" status for longer than the configured
7
- * threshold (default: 48 hours). This releases reserved inventory and
8
- * refunds captured payments, preventing phantom stock loss from abandoned
9
- * orders.
10
- *
11
- * Register via config.jobs.tasks:
12
- * ```ts
13
- * import { staleOrderCleanupTask } from "@unifiedcommerce/core";
14
- * defineConfig({
15
- * jobs: {
16
- * tasks: [staleOrderCleanupTask],
17
- * autorun: { enabled: true, intervalMs: 3600_000 }, // hourly
18
- * },
19
- * });
20
- * ```
21
- */
22
- export const staleOrderCleanupTask = {
23
- slug: "orders/stale-cleanup",
24
- async handler({ input, ctx }) {
25
- const thresholdHours = input.thresholdHours ?? 48;
26
- const cutoff = new Date(Date.now() - thresholdHours * 60 * 60 * 1000);
27
- // Find stale pending orders
28
- const staleOrders = await ctx.db
29
- .select()
30
- .from(orders)
31
- .where(and(eq(orders.status, "pending"), lt(orders.placedAt, cutoff)));
32
- const cancelledIds = [];
33
- // Cancel each stale order via the service (triggers inventory release + payment refund)
34
- const orderService = ctx.services.orders;
35
- for (const order of staleOrders) {
36
- try {
37
- await orderService.cancel(order.id, null, `Auto-cancelled: pending for >${thresholdHours}h`);
38
- cancelledIds.push(order.id);
39
- ctx.logger.info(`Stale order ${order.orderNumber} auto-cancelled`, {
40
- orderId: order.id,
41
- placedAt: order.placedAt,
42
- });
43
- }
44
- catch (error) {
45
- ctx.logger.error(`Failed to cancel stale order ${order.orderNumber}`, { error });
46
- }
47
- }
48
- return {
49
- output: {
50
- cancelledCount: cancelledIds.length,
51
- orderIds: cancelledIds,
52
- },
53
- };
54
- },
55
- };
@@ -1,53 +0,0 @@
1
- /**
2
- * OrganizationService — wraps Better Auth's server-side organization API.
3
- *
4
- * When auth.api is available (server context), uses Better Auth's
5
- * createOrganization which properly creates org + member records.
6
- *
7
- * When auth is not available (kernel-only scripts), falls back to
8
- * direct Drizzle insert into the organization table.
9
- */
10
- import type { AuthInstance } from "../../auth/setup.js";
11
- interface Result<T> {
12
- ok: true;
13
- value: T;
14
- }
15
- interface ResultErr {
16
- ok: false;
17
- error: string;
18
- }
19
- export interface Organization {
20
- id: string;
21
- name: string;
22
- slug: string;
23
- logo?: string | null;
24
- metadata?: string | null;
25
- createdAt: Date;
26
- }
27
- export interface OrganizationCreateInput {
28
- id?: string;
29
- name: string;
30
- slug: string;
31
- userId?: string;
32
- logo?: string;
33
- metadata?: Record<string, unknown>;
34
- }
35
- export declare class OrganizationService {
36
- private auth;
37
- private db;
38
- constructor(db: unknown, auth?: AuthInstance | null);
39
- /**
40
- * Create an organization.
41
- *
42
- * If auth.api is available, uses Better Auth's createOrganization
43
- * which creates both the org and a member record for the creator.
44
- *
45
- * If auth is not available, falls back to direct Drizzle insert
46
- * and manually creates a member record if userId is provided.
47
- */
48
- create(input: OrganizationCreateInput): Promise<Result<Organization> | ResultErr>;
49
- getById(id: string): Promise<Result<Organization> | ResultErr>;
50
- list(): Promise<Result<Organization[]>>;
51
- }
52
- export {};
53
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/modules/organization/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,UAAU,MAAM,CAAC,CAAC;IAAI,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE;AAC1C,UAAU,SAAS;IAAG,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAIhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,EAAE,CAAY;gBAEV,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnD;;;;;;;;OAQG;IACG,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAsGjF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAmB9D,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;CAW9C"}