@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,4 +0,0 @@
1
- import { Hono } from "hono";
2
- import type { Kernel } from "../../runtime/kernel";
3
- export declare function createGraphQLHandler(kernel: Kernel): Hono<any, import("hono/types").BlankSchema, "/">;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/graphql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAydnD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,oDAYlD"}
@@ -1,415 +0,0 @@
1
- import { Hono } from "hono";
2
- import { createSchema, createYoga } from "graphql-yoga";
3
- import { applyPromotionCodes, authorizePayment, calculateShipping, calculateTax, checkInventoryAvailability, resolveCurrentPrices, validateCartNotEmpty, validatePaymentMethod, } from "../../hooks/checkout";
4
- import { makeId } from "../../utils/id";
5
- import { runAfterHooks, runBeforeHooks } from "../../kernel/hooks/executor";
6
- function getGraphQLActor(kernel) {
7
- const base = kernel.getMCPActor();
8
- return {
9
- ...base,
10
- permissions: Array.from(new Set([
11
- ...base.permissions,
12
- "catalog:create",
13
- "catalog:update",
14
- "catalog:read",
15
- "cart:create",
16
- "cart:update",
17
- "orders:create",
18
- "orders:read",
19
- "orders:update",
20
- "inventory:read",
21
- ])),
22
- };
23
- }
24
- function toIso(value) {
25
- if (!value)
26
- return null;
27
- const date = value instanceof Date ? value : new Date(String(value));
28
- return Number.isNaN(date.getTime()) ? null : date.toISOString();
29
- }
30
- function gqlFieldName(name) {
31
- const normalized = name.replace(/[^A-Za-z0-9_]/g, "_");
32
- return /^[A-Za-z_]/.test(normalized) ? normalized : `f_${normalized}`;
33
- }
34
- function buildEntityCustomFieldMap(kernel) {
35
- const seen = new Set();
36
- const output = [];
37
- for (const entityConfig of Object.values(kernel.config.entities ?? {})) {
38
- for (const field of entityConfig.fields) {
39
- if (seen.has(field.name))
40
- continue;
41
- seen.add(field.name);
42
- const gqlType = field.type === "number"
43
- ? "Float"
44
- : field.type === "boolean"
45
- ? "Boolean"
46
- : "String";
47
- output.push({
48
- sourceName: field.name,
49
- gqlName: gqlFieldName(field.name),
50
- gqlType,
51
- });
52
- }
53
- }
54
- return output;
55
- }
56
- function buildSchema(kernel) {
57
- const customFields = buildEntityCustomFieldMap(kernel);
58
- const customFieldSDL = customFields.map((field) => `${field.gqlName}: ${field.gqlType}`).join("\n ");
59
- const typeDefs = /* GraphQL */ `
60
- type Query {
61
- entity(idOrSlug: String!): Entity
62
- entities(type: String, status: String, page: Int, limit: Int): EntityList!
63
- cart(id: ID!): Cart
64
- order(id: ID, orderNumber: String): Order
65
- orders(page: Int, limit: Int, status: String): OrderList!
66
- }
67
-
68
- type Mutation {
69
- createEntity(type: String!, slug: String!, title: String!, description: String, basePrice: Int): Entity
70
- updateEntity(id: ID!, slug: String, status: String, isVisible: Boolean): Entity
71
- addToCart(cartId: ID!, entityId: ID!, variantId: ID, quantity: Int): Cart
72
- checkout(
73
- cartId: ID!
74
- paymentMethodId: String!
75
- customerId: String
76
- customerGroupIds: [String!]
77
- promotionCodes: [String!]
78
- currency: String
79
- ): Order
80
- }
81
-
82
- type Pagination {
83
- page: Int!
84
- limit: Int!
85
- totalItems: Int!
86
- totalPages: Int!
87
- hasNext: Boolean!
88
- hasPrev: Boolean!
89
- }
90
-
91
- type EntityList {
92
- items: [Entity!]!
93
- pagination: Pagination!
94
- }
95
-
96
- type OrderList {
97
- items: [Order!]!
98
- pagination: Pagination!
99
- }
100
-
101
- type Entity {
102
- id: ID!
103
- type: String!
104
- slug: String!
105
- status: String!
106
- isVisible: Boolean!
107
- metadata: String
108
- createdAt: String!
109
- updatedAt: String!
110
- publishedAt: String
111
- ${customFieldSDL}
112
- }
113
-
114
- type CartLineItem {
115
- id: ID!
116
- entityId: ID!
117
- variantId: ID
118
- quantity: Int!
119
- unitPriceSnapshot: Int!
120
- currency: String!
121
- addedAt: String!
122
- }
123
-
124
- type Cart {
125
- id: ID!
126
- customerId: String
127
- status: String!
128
- currency: String!
129
- createdAt: String!
130
- updatedAt: String!
131
- expiresAt: String!
132
- lineItems: [CartLineItem!]!
133
- }
134
-
135
- type OrderLineItem {
136
- id: ID!
137
- orderId: ID!
138
- entityId: ID!
139
- entityType: String!
140
- variantId: ID
141
- sku: String
142
- title: String!
143
- quantity: Int!
144
- unitPrice: Int!
145
- totalPrice: Int!
146
- taxAmount: Int!
147
- discountAmount: Int!
148
- fulfillmentStatus: String!
149
- }
150
-
151
- type Order {
152
- id: ID!
153
- orderNumber: String!
154
- customerId: String
155
- status: String!
156
- currency: String!
157
- subtotal: Int!
158
- taxTotal: Int!
159
- shippingTotal: Int!
160
- discountTotal: Int!
161
- grandTotal: Int!
162
- placedAt: String!
163
- fulfilledAt: String
164
- cancelledAt: String
165
- lineItems: [OrderLineItem!]!
166
- }
167
- `;
168
- const customFieldResolvers = Object.fromEntries(customFields.map((field) => [
169
- field.gqlName,
170
- (entity) => {
171
- const values = kernel.store.customFields.get(entity.id) ?? [];
172
- const hit = values.find((item) => item.fieldName === field.sourceName);
173
- if (!hit)
174
- return null;
175
- if (field.gqlType === "Float")
176
- return Number(hit.value);
177
- if (field.gqlType === "Boolean")
178
- return Boolean(hit.value);
179
- return String(hit.value);
180
- },
181
- ]));
182
- const resolvers = {
183
- Query: {
184
- entity: async (_root, args) => {
185
- const result = args.idOrSlug.includes("-")
186
- ? await kernel.services.catalog.getById(args.idOrSlug)
187
- : await kernel.services.catalog.getBySlug(args.idOrSlug);
188
- return result.ok ? result.value : null;
189
- },
190
- entities: async (_root, args) => {
191
- const result = await kernel.services.catalog.list({
192
- filter: {
193
- ...(args.type !== undefined ? { type: args.type } : {}),
194
- ...(args.status !== undefined ? { status: args.status } : {}),
195
- },
196
- pagination: {
197
- page: args.page ?? 1,
198
- limit: args.limit ?? 20,
199
- },
200
- });
201
- if (!result.ok) {
202
- return {
203
- items: [],
204
- pagination: {
205
- page: args.page ?? 1,
206
- limit: args.limit ?? 20,
207
- totalItems: 0,
208
- totalPages: 0,
209
- hasNext: false,
210
- hasPrev: false,
211
- },
212
- };
213
- }
214
- return result.value;
215
- },
216
- cart: async (_root, args) => {
217
- const result = await kernel.services.cart.getById(args.id);
218
- return result.ok ? result.value : null;
219
- },
220
- order: async (_root, args) => {
221
- const actor = getGraphQLActor(kernel);
222
- if (args.id) {
223
- const result = await kernel.services.orders.getById(args.id, actor);
224
- return result.ok ? result.value : null;
225
- }
226
- if (args.orderNumber) {
227
- const result = await kernel.services.orders.getByNumber(args.orderNumber, actor);
228
- return result.ok ? result.value : null;
229
- }
230
- return null;
231
- },
232
- orders: async (_root, args) => {
233
- const actor = getGraphQLActor(kernel);
234
- const result = await kernel.services.orders.list({
235
- page: args.page ?? 1,
236
- limit: args.limit ?? 20,
237
- ...(args.status !== undefined ? { status: args.status } : {}),
238
- }, actor);
239
- if (!result.ok) {
240
- return {
241
- items: [],
242
- pagination: {
243
- page: args.page ?? 1,
244
- limit: args.limit ?? 20,
245
- totalItems: 0,
246
- totalPages: 0,
247
- hasNext: false,
248
- hasPrev: false,
249
- },
250
- };
251
- }
252
- return result.value;
253
- },
254
- },
255
- Mutation: {
256
- createEntity: async (_root, args) => {
257
- const actor = getGraphQLActor(kernel);
258
- const result = await kernel.services.catalog.create({
259
- type: args.type,
260
- slug: args.slug,
261
- attributes: {
262
- title: args.title,
263
- ...(args.description !== undefined ? { description: args.description } : {}),
264
- },
265
- metadata: {
266
- ...(args.basePrice !== undefined ? { basePrice: args.basePrice } : {}),
267
- },
268
- }, actor);
269
- return result.ok ? result.value : null;
270
- },
271
- updateEntity: async (_root, args) => {
272
- const actor = getGraphQLActor(kernel);
273
- const result = await kernel.services.catalog.update(args.id, {
274
- ...(args.slug !== undefined ? { slug: args.slug } : {}),
275
- ...(args.status !== undefined ? { status: args.status } : {}),
276
- ...(args.isVisible !== undefined ? { isVisible: args.isVisible } : {}),
277
- }, actor);
278
- return result.ok ? result.value : null;
279
- },
280
- addToCart: async (_root, args) => {
281
- const actor = getGraphQLActor(kernel);
282
- const added = await kernel.services.cart.addItem({
283
- cartId: args.cartId,
284
- entityId: args.entityId,
285
- quantity: args.quantity ?? 1,
286
- ...(args.variantId !== undefined ? { variantId: args.variantId } : {}),
287
- }, actor);
288
- if (!added.ok)
289
- return null;
290
- const cart = await kernel.services.cart.getById(args.cartId);
291
- return cart.ok ? cart.value : null;
292
- },
293
- checkout: async (_root, args) => {
294
- const actor = getGraphQLActor(kernel);
295
- const checkoutData = {
296
- checkoutId: makeId(),
297
- cartId: args.cartId,
298
- currency: args.currency ?? "USD",
299
- paymentMethodId: args.paymentMethodId,
300
- lineItems: [],
301
- subtotal: 0,
302
- discountTotal: 0,
303
- taxTotal: 0,
304
- shippingTotal: 0,
305
- total: 0,
306
- ...(args.customerId !== undefined ? { customerId: args.customerId } : {}),
307
- ...(args.customerGroupIds !== undefined ? { customerGroupIds: args.customerGroupIds } : {}),
308
- ...(args.promotionCodes !== undefined ? { promotionCodes: args.promotionCodes } : {}),
309
- };
310
- const beforeHooks = [
311
- validateCartNotEmpty,
312
- resolveCurrentPrices,
313
- checkInventoryAvailability,
314
- applyPromotionCodes,
315
- calculateTax,
316
- calculateShipping,
317
- validatePaymentMethod,
318
- authorizePayment,
319
- ...kernel.hooks.resolve("checkout.beforeCreate"),
320
- ];
321
- const afterHooks = [...kernel.hooks.resolve("checkout.afterCreate")];
322
- const context = {
323
- actor,
324
- tx: null,
325
- logger: kernel.logger,
326
- services: kernel.services,
327
- metadata: {
328
- moduleName: "checkout",
329
- },
330
- };
331
- try {
332
- const processed = await kernel.database.transaction(async (_tx) => {
333
- context.tx = _tx;
334
- return runBeforeHooks(beforeHooks, checkoutData, "create", context);
335
- });
336
- const orderPayload = {
337
- currency: processed.currency,
338
- subtotal: processed.subtotal,
339
- taxTotal: processed.taxTotal,
340
- shippingTotal: processed.shippingTotal,
341
- discountTotal: processed.discountTotal,
342
- grandTotal: processed.total,
343
- metadata: {
344
- cartId: processed.cartId,
345
- paymentIntentId: processed.paymentIntentId,
346
- checkoutId: processed.checkoutId,
347
- promotionCodes: processed.promotionCodes,
348
- appliedPromotions: processed.appliedPromotions,
349
- },
350
- lineItems: processed.lineItems.map((lineItem) => ({
351
- entityId: lineItem.entityId,
352
- entityType: lineItem.entityType ?? "product",
353
- title: lineItem.title ?? lineItem.entityId,
354
- quantity: lineItem.quantity,
355
- unitPrice: lineItem.resolvedUnitPrice ?? 0,
356
- totalPrice: lineItem.resolvedTotal ?? 0,
357
- ...(lineItem.variantId !== undefined ? { variantId: lineItem.variantId } : {}),
358
- })),
359
- ...(processed.customerId !== undefined ? { customerId: processed.customerId } : {}),
360
- };
361
- const order = await kernel.services.orders.create(orderPayload, actor);
362
- if (!order.ok)
363
- return null;
364
- if (order.ok && (processed.appliedPromotions?.length ?? 0) > 0) {
365
- await kernel.services.promotions.recordUsage({
366
- promotions: processed.appliedPromotions ?? [],
367
- orderId: order.value.id,
368
- ...(processed.customerId !== undefined ? { customerId: processed.customerId } : {}),
369
- });
370
- }
371
- await runAfterHooks(afterHooks, null, order.value, "create", context);
372
- return order.value;
373
- }
374
- catch {
375
- return null;
376
- }
377
- },
378
- },
379
- Entity: {
380
- metadata: (entity) => JSON.stringify(entity.metadata ?? {}),
381
- createdAt: (entity) => toIso(entity.createdAt),
382
- updatedAt: (entity) => toIso(entity.updatedAt),
383
- publishedAt: (entity) => toIso(entity.publishedAt),
384
- ...customFieldResolvers,
385
- },
386
- Cart: {
387
- createdAt: (cart) => toIso(cart.createdAt),
388
- updatedAt: (cart) => toIso(cart.updatedAt),
389
- expiresAt: (cart) => toIso(cart.expiresAt),
390
- },
391
- CartLineItem: {
392
- addedAt: (item) => toIso(item.addedAt),
393
- },
394
- Order: {
395
- placedAt: (order) => toIso(order.placedAt),
396
- fulfilledAt: (order) => toIso(order.fulfilledAt),
397
- cancelledAt: (order) => toIso(order.cancelledAt),
398
- },
399
- };
400
- return createSchema({
401
- typeDefs,
402
- resolvers,
403
- });
404
- }
405
- export function createGraphQLHandler(kernel) {
406
- const schema = buildSchema(kernel);
407
- const yoga = createYoga({
408
- schema,
409
- graphqlEndpoint: "/graphql",
410
- landingPage: false,
411
- });
412
- const router = new Hono();
413
- router.all("/", async (c) => yoga.fetch(c.req.raw, c.env));
414
- return router;
415
- }
@@ -1,20 +0,0 @@
1
- import type { BaseRepository } from "./repository-factory";
2
- /**
3
- * Creates an in-memory implementation of BaseRepository for testing.
4
- *
5
- * Data is stored in a Map<string, TRow>. The `_store` property is exposed
6
- * for test assertions (e.g., checking store size, seeding data).
7
- *
8
- * Usage:
9
- * ```typescript
10
- * const repo = createInMemoryRepository<Promotion, PromotionInsert>()
11
- * await repo.create({ id: "promo-1", name: "Summer Sale", ... })
12
- * const found = await repo.findById("promo-1")
13
- * ```
14
- */
15
- export declare function createInMemoryRepository<TRow extends {
16
- id: string;
17
- }, TInsert>(): BaseRepository<TRow, TInsert> & {
18
- _store: Map<string, TRow>;
19
- };
20
- //# sourceMappingURL=in-memory-repository-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-repository-factory.d.ts","sourceRoot":"","sources":["../../../src/kernel/factory/in-memory-repository-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAEjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC3B,OAAO,KACJ,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,CAoFjE"}
@@ -1,83 +0,0 @@
1
- import { CommerceNotFoundError } from "../errors";
2
- /**
3
- * Creates an in-memory implementation of BaseRepository for testing.
4
- *
5
- * Data is stored in a Map<string, TRow>. The `_store` property is exposed
6
- * for test assertions (e.g., checking store size, seeding data).
7
- *
8
- * Usage:
9
- * ```typescript
10
- * const repo = createInMemoryRepository<Promotion, PromotionInsert>()
11
- * await repo.create({ id: "promo-1", name: "Summer Sale", ... })
12
- * const found = await repo.findById("promo-1")
13
- * ```
14
- */
15
- export function createInMemoryRepository() {
16
- const store = new Map();
17
- function generateId() {
18
- // Use crypto.randomUUID when available, fall back to timestamp-based
19
- if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
20
- return crypto.randomUUID();
21
- }
22
- return `mem-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
23
- }
24
- function applyFilters(rows, filters) {
25
- if (!filters)
26
- return rows;
27
- return rows.filter((row) => Object.entries(filters).every(([key, value]) => value === undefined || row[key] === value));
28
- }
29
- function applyPagination(rows, options) {
30
- if (!options)
31
- return rows;
32
- const offset = options.offset ?? 0;
33
- const sliced = rows.slice(offset);
34
- if (options.limit !== undefined) {
35
- return sliced.slice(0, options.limit);
36
- }
37
- return sliced;
38
- }
39
- const repo = {
40
- _store: store,
41
- async findById(id) {
42
- return store.get(id);
43
- },
44
- async findMany(filters, options) {
45
- const all = Array.from(store.values());
46
- const filtered = applyFilters(all, filters);
47
- return applyPagination(filtered, options);
48
- },
49
- async findAndCount(filters, options) {
50
- const all = Array.from(store.values());
51
- const filtered = applyFilters(all, filters);
52
- const paginated = applyPagination(filtered, options);
53
- return { rows: paginated, total: filtered.length };
54
- },
55
- async create(data) {
56
- const id = data.id ??
57
- generateId();
58
- const row = { ...data, id };
59
- store.set(id, row);
60
- return row;
61
- },
62
- async createMany(data) {
63
- const results = [];
64
- for (const d of data) {
65
- results.push(await repo.create(d));
66
- }
67
- return results;
68
- },
69
- async update(id, data) {
70
- const existing = store.get(id);
71
- if (!existing) {
72
- throw new CommerceNotFoundError(`Record ${id} not found.`);
73
- }
74
- const updated = { ...existing, ...data };
75
- store.set(id, updated);
76
- return updated;
77
- },
78
- async delete(id) {
79
- store.delete(id);
80
- },
81
- };
82
- return repo;
83
- }
@@ -1,9 +0,0 @@
1
- import type { CommercePluginManifest } from "./manifest";
2
- export type CapabilityHandler = unknown;
3
- export declare class PluginCapabilityRegistry {
4
- private registry;
5
- register(manifest: CommercePluginManifest, capabilities: Record<string, CapabilityHandler>): void;
6
- get<TCapability = unknown>(key: string): TCapability | undefined;
7
- list(): string[];
8
- }
9
- //# sourceMappingURL=capability-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../../../src/kernel/plugin/capability-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAUxC,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAwC;IAExD,QAAQ,CACN,QAAQ,EAAE,sBAAsB,EAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC9C,IAAI;IAeP,GAAG,CAAC,WAAW,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIhE,IAAI,IAAI,MAAM,EAAE;CAGjB"}
@@ -1,28 +0,0 @@
1
- function majorVersion(version) {
2
- const parsed = Number.parseInt(version.split(".")[0] ?? "1", 10);
3
- if (Number.isNaN(parsed) || parsed < 0) {
4
- return "1";
5
- }
6
- return String(parsed);
7
- }
8
- export class PluginCapabilityRegistry {
9
- registry = new Map();
10
- register(manifest, capabilities) {
11
- const major = majorVersion(manifest.version);
12
- for (const [name, handler] of Object.entries(capabilities)) {
13
- const normalized = name.includes("/")
14
- ? name
15
- : `${manifest.id}/${name}@${major}`;
16
- if (this.registry.has(normalized)) {
17
- throw new Error(`Capability key collision: \"${normalized}\".`);
18
- }
19
- this.registry.set(normalized, handler);
20
- }
21
- }
22
- get(key) {
23
- return this.registry.get(key);
24
- }
25
- list() {
26
- return [...this.registry.keys()].sort();
27
- }
28
- }
@@ -1,6 +0,0 @@
1
- import type { CommercePluginManifest } from "./manifest";
2
- export declare class PluginDependencyError extends Error {
3
- constructor(message: string);
4
- }
5
- export declare function resolvePluginInitializationOrder(manifests: CommercePluginManifest[]): CommercePluginManifest[];
6
- //# sourceMappingURL=dependency-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../src/kernel/plugin/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,sBAAsB,EAAE,GAClC,sBAAsB,EAAE,CA6D1B"}
@@ -1,55 +0,0 @@
1
- export class PluginDependencyError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = "PluginDependencyError";
5
- }
6
- }
7
- export function resolvePluginInitializationOrder(manifests) {
8
- const byId = new Map();
9
- for (const manifest of manifests) {
10
- if (byId.has(manifest.id)) {
11
- throw new PluginDependencyError(`Duplicate plugin id \"${manifest.id}\".`);
12
- }
13
- byId.set(manifest.id, manifest);
14
- }
15
- const indegree = new Map();
16
- const edges = new Map();
17
- for (const manifest of manifests) {
18
- indegree.set(manifest.id, 0);
19
- edges.set(manifest.id, []);
20
- }
21
- for (const manifest of manifests) {
22
- for (const dependency of manifest.dependsOn ?? []) {
23
- if (!byId.has(dependency)) {
24
- throw new PluginDependencyError(`Plugin \"${manifest.id}\" depends on missing plugin \"${dependency}\".`);
25
- }
26
- edges.get(dependency).push(manifest.id);
27
- indegree.set(manifest.id, (indegree.get(manifest.id) ?? 0) + 1);
28
- }
29
- }
30
- const queue = [...indegree.entries()]
31
- .filter(([, degree]) => degree === 0)
32
- .map(([pluginId]) => pluginId)
33
- .sort();
34
- const ordered = [];
35
- while (queue.length > 0) {
36
- const pluginId = queue.shift();
37
- ordered.push(byId.get(pluginId));
38
- for (const child of edges.get(pluginId) ?? []) {
39
- const next = (indegree.get(child) ?? 0) - 1;
40
- indegree.set(child, next);
41
- if (next === 0) {
42
- queue.push(child);
43
- queue.sort();
44
- }
45
- }
46
- }
47
- if (ordered.length !== manifests.length) {
48
- const stuck = [...indegree.entries()]
49
- .filter(([, degree]) => degree > 0)
50
- .map(([id]) => id)
51
- .sort();
52
- throw new PluginDependencyError(`Plugin dependency cycle detected among: ${stuck.join(", ")}.`);
53
- }
54
- return ordered;
55
- }
@@ -1,19 +0,0 @@
1
- import type { CubeDefinition } from "./types";
2
- /**
3
- * Built-in cube definitions for the 4 core analytics models.
4
- *
5
- * Each cube maps a Cube.js-shaped name (e.g., "Orders.revenue") to a
6
- * PostgreSQL table + column. The DrizzleAnalyticsAdapter compiles these
7
- * into parameterized SQL queries.
8
- */
9
- export declare const ORDERS_CUBE: CubeDefinition;
10
- export declare const ORDER_LINE_ITEMS_CUBE: CubeDefinition;
11
- export declare const INVENTORY_CUBE: CubeDefinition;
12
- export declare const CUSTOMERS_CUBE: CubeDefinition;
13
- export declare const VENDOR_ORDERS_CUBE: CubeDefinition;
14
- export declare const VENDOR_BALANCE_CUBE: CubeDefinition;
15
- export declare const VENDOR_REVIEWS_CUBE: CubeDefinition;
16
- export declare const BUILTIN_CUBES: CubeDefinition[];
17
- /** Marketplace cubes — registered when marketplace plugin is active */
18
- export declare const MARKETPLACE_CUBES: CubeDefinition[];
19
- //# sourceMappingURL=cubes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cubes.d.ts","sourceRoot":"","sources":["../../../src/modules/analytics/cubes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAE7D;;;;;;GAMG;AAEH,eAAO,MAAM,WAAW,EAAE,cAwBzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cA6BnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cA2B5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cA0B5B,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,cAmBhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAkBjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAiBjC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAAc,EAKzC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAI7C,CAAC"}