@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,74 +0,0 @@
1
- /**
2
- * One-call plugin E2E test setup.
3
- *
4
- * Boots a PGlite kernel (or real PG if overridden), programmatically pushes
5
- * the merged schema (core + plugin tables) via drizzle-kit/api, mounts the
6
- * test actor middleware on an OpenAPIHono instance, and registers all plugin
7
- * routes --- matching the production server.ts boot sequence.
8
- *
9
- * Usage:
10
- * import { createPluginTestApp, jsonHeaders, testAdminActor } from "@unifiedcommerce/core";
11
- * const { app } = await createPluginTestApp(myPlugin());
12
- * const res = await app.request("/api/my-route", {
13
- * method: "POST",
14
- * headers: jsonHeaders(testAdminActor),
15
- * body: JSON.stringify({ ... }),
16
- * });
17
- * expect(res.status).toBe(201);
18
- */
19
- import { OpenAPIHono } from "@hono/zod-openapi";
20
- import { createRequire } from "node:module";
21
- import { createTestConfig } from "./create-test-config.js";
22
- import { createKernel } from "../runtime/kernel.js";
23
- import { buildSchema } from "../kernel/database/migrate.js";
24
- import { ensureDefaultOrg } from "../auth/org.js";
25
- // drizzle-kit/api uses CJS internally; createRequire provides ESM compat.
26
- const require = createRequire(import.meta.url);
27
- /**
28
- * Creates a fully-wired test application for plugin E2E testing.
29
- *
30
- * @param plugin - The plugin under test (e.g., `appointmentPlugin()`)
31
- * @param configOverrides - Optional config overrides. Pass `databaseAdapter`
32
- * to use a real PostgreSQL instance instead of PGlite.
33
- */
34
- export async function createPluginTestApp(plugin, configOverrides = {}) {
35
- // 1. Build config with plugin applied (PGlite auto-provisioned if no adapter)
36
- const config = await createTestConfig({
37
- plugins: [plugin],
38
- ...configOverrides,
39
- });
40
- // 2. Boot kernel (creates core services, hook registry)
41
- const kernel = createKernel(config);
42
- // 3. Merge core + plugin schemas
43
- const mergedSchema = buildSchema(config);
44
- // 4. Programmatic schema push via drizzle-kit/api
45
- // Diffs current DB state against pgTable definitions, generates DDL, applies it.
46
- // On fresh PGlite: creates all tables. On existing DB: creates only missing tables.
47
- const drizzleKit = require("drizzle-kit/api");
48
- const { apply } = await drizzleKit.pushSchema(mergedSchema, kernel.database.db);
49
- await apply();
50
- // Ensure the default organization exists for plugin tests
51
- await ensureDefaultOrg(kernel.database.db);
52
- // 5. Create OpenAPIHono --- matching production server.ts
53
- // Plugin routes register via manifest.ts which calls app.openapi().
54
- const app = new OpenAPIHono();
55
- // 6. Test actor middleware: parse x-test-actor header -> set on context
56
- app.use("*", async (c, next) => {
57
- const header = c.req.header("x-test-actor");
58
- if (header) {
59
- try {
60
- c.set("actor", JSON.parse(header));
61
- }
62
- catch { /* malformed JSON --- fall through without actor */ }
63
- }
64
- await next();
65
- });
66
- // 7. Register plugin routes (deferred via config.routes)
67
- const routes = config.routes;
68
- routes?.(app, kernel);
69
- return {
70
- app,
71
- kernel,
72
- db: kernel.database.db,
73
- };
74
- }
@@ -1,8 +0,0 @@
1
- import type { CommerceConfig } from "../config/types.js";
2
- import { createKernel } from "../runtime/kernel.js";
3
- export interface RepositoryTestHarness {
4
- config: CommerceConfig;
5
- kernel: ReturnType<typeof createKernel>;
6
- }
7
- export declare function createRepositoryTestHarness(overrides?: Partial<CommerceConfig>): Promise<RepositoryTestHarness>;
8
- //# sourceMappingURL=create-repository-test-harness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-repository-test-harness.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-repository-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACzC;AAED,wBAAsB,2BAA2B,CAC/C,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAIhC"}
@@ -1,7 +0,0 @@
1
- import { createTestConfig } from "./create-test-config.js";
2
- import { createKernel } from "../runtime/kernel.js";
3
- export async function createRepositoryTestHarness(overrides = {}) {
4
- const config = await createTestConfig(overrides);
5
- const kernel = createKernel(config);
6
- return { config, kernel };
7
- }
@@ -1,18 +0,0 @@
1
- import type { CommerceConfig } from "../config/types.js";
2
- export declare function createTestConfig(overrides?: Partial<CommerceConfig>): Promise<CommerceConfig>;
3
- /**
4
- * Creates a test config backed by PGlite (in-memory PostgreSQL).
5
- *
6
- * This provides production parity for tests by using real SQL execution
7
- * and PostgreSQL behavior while remaining fast and self-contained.
8
- *
9
- * @param overrides - Optional config overrides
10
- * @returns A promise resolving to an object containing:
11
- * - config: The CommerceConfig to pass to createKernel
12
- * - cleanup: Async function to reset data between tests
13
- */
14
- export declare function createPGliteTestConfig(overrides?: Partial<CommerceConfig>): Promise<{
15
- config: CommerceConfig;
16
- cleanup: () => Promise<void>;
17
- }>;
18
- //# sourceMappingURL=create-test-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-test-config.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-test-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgDzD,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC,cAAc,CAAC,CA+GzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAUnE"}
@@ -1,172 +0,0 @@
1
- import { defineConfig } from "../config/define-config.js";
2
- import { Ok } from "../kernel/result.js";
3
- function createInMemoryStorageAdapter() {
4
- const files = new Map();
5
- const baseUrl = "http://localhost:3000/test-assets";
6
- return {
7
- providerId: "test-memory-storage",
8
- async upload(key, data, contentType) {
9
- const body = data instanceof ArrayBuffer
10
- ? data
11
- : await new Response(data).arrayBuffer();
12
- files.set(key, { data: body, contentType });
13
- return Ok({
14
- key,
15
- url: `${baseUrl}/${key}`,
16
- contentType,
17
- size: body.byteLength,
18
- });
19
- },
20
- async getUrl(key) {
21
- return Ok(`${baseUrl}/${key}`);
22
- },
23
- async getSignedUrl(key, expiresIn) {
24
- return Ok(`${baseUrl}/${key}?expiresIn=${expiresIn}`);
25
- },
26
- async delete(key) {
27
- files.delete(key);
28
- return Ok(undefined);
29
- },
30
- async list(prefix) {
31
- return Ok(Array.from(files.entries())
32
- .filter(([key]) => key.startsWith(prefix))
33
- .map(([key, file]) => ({
34
- key,
35
- url: `${baseUrl}/${key}`,
36
- contentType: file.contentType,
37
- size: file.data.byteLength,
38
- })));
39
- },
40
- };
41
- }
42
- export async function createTestConfig(overrides = {}) {
43
- // Auto-provision PGlite when no databaseAdapter is provided
44
- if (!overrides.databaseAdapter) {
45
- const { createPGliteTestAdapter } = await import("./create-pglite-adapter.js");
46
- const { adapter } = await createPGliteTestAdapter();
47
- overrides = { ...overrides, databaseAdapter: adapter };
48
- }
49
- return defineConfig({
50
- version: "0.0.1-test",
51
- storeName: "Test Store",
52
- database: {
53
- provider: "postgresql",
54
- },
55
- auth: {
56
- requireEmailVerification: false,
57
- apiKeys: { enabled: true, defaultPermissions: ["catalog:read"] },
58
- posPin: { enabled: true },
59
- roles: {
60
- owner: { permissions: ["*:*"] },
61
- admin: { permissions: ["*:*"] },
62
- staff: {
63
- permissions: [
64
- "catalog:create",
65
- "catalog:update",
66
- "catalog:delete",
67
- "catalog:read",
68
- "inventory:adjust",
69
- "orders:create",
70
- "orders:read",
71
- "orders:update",
72
- "cart:create",
73
- "cart:update",
74
- "customers:update:self",
75
- ],
76
- },
77
- ai_agent: {
78
- permissions: [
79
- "catalog:read",
80
- "catalog:create",
81
- "inventory:read",
82
- "inventory:adjust",
83
- "orders:read",
84
- "cart:create",
85
- "cart:update",
86
- "mcp:access",
87
- ],
88
- },
89
- },
90
- customerPermissions: [
91
- "catalog:read",
92
- "cart:create",
93
- "cart:read",
94
- "cart:update",
95
- "orders:create",
96
- "orders:read:own",
97
- "customers:read:self",
98
- "customers:update:self",
99
- ],
100
- },
101
- entities: {
102
- product: {
103
- fields: [
104
- { name: "weight", type: "number" },
105
- { name: "brand", type: "text" },
106
- ],
107
- variants: { enabled: true, optionTypes: ["size", "color"] },
108
- fulfillment: "physical",
109
- },
110
- digitalDownload: {
111
- fields: [{ name: "fileAssetId", type: "text" }],
112
- variants: { enabled: false },
113
- fulfillment: "digital-download",
114
- },
115
- course: {
116
- fields: [{ name: "modules", type: "json" }],
117
- variants: { enabled: false },
118
- fulfillment: "digital-access",
119
- },
120
- },
121
- cart: {
122
- ttlMinutes: 5,
123
- hooks: {},
124
- },
125
- checkout: {
126
- hooks: {
127
- beforeCreate: [],
128
- afterCreate: [],
129
- },
130
- },
131
- orders: {
132
- hooks: {
133
- beforeCreate: [],
134
- afterCreate: [],
135
- beforeStatusChange: [],
136
- afterStatusChange: [],
137
- },
138
- },
139
- inventory: {
140
- hooks: {
141
- afterAdjust: [],
142
- },
143
- },
144
- email: {
145
- async send() {
146
- // no-op for tests
147
- },
148
- },
149
- storage: createInMemoryStorageAdapter(),
150
- ...overrides,
151
- });
152
- }
153
- /**
154
- * Creates a test config backed by PGlite (in-memory PostgreSQL).
155
- *
156
- * This provides production parity for tests by using real SQL execution
157
- * and PostgreSQL behavior while remaining fast and self-contained.
158
- *
159
- * @param overrides - Optional config overrides
160
- * @returns A promise resolving to an object containing:
161
- * - config: The CommerceConfig to pass to createKernel
162
- * - cleanup: Async function to reset data between tests
163
- */
164
- export async function createPGliteTestConfig(overrides = {}) {
165
- const { createPGliteTestAdapter } = await import("./create-pglite-adapter.js");
166
- const { adapter, cleanup } = await createPGliteTestAdapter();
167
- const config = await createTestConfig({
168
- databaseAdapter: adapter,
169
- ...overrides,
170
- });
171
- return { config, cleanup };
172
- }
@@ -1,3 +0,0 @@
1
- import type { CommerceConfig } from "../config/types.js";
2
- export declare function createTestKernel(overrides?: Partial<CommerceConfig>): Promise<import("../runtime/kernel.js").Kernel>;
3
- //# sourceMappingURL=create-test-kernel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-test-kernel.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-test-kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,wBAAsB,gBAAgB,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,kDAE7E"}
@@ -1,5 +0,0 @@
1
- import { createKernel } from "../runtime/kernel.js";
2
- import { createTestConfig } from "./create-test-config.js";
3
- export async function createTestKernel(overrides = {}) {
4
- return createKernel(await createTestConfig(overrides));
5
- }
@@ -1,42 +0,0 @@
1
- import { HookRegistry } from "../kernel/hooks/registry.js";
2
- import type { CommerceConfig, MCPTool } from "../config/types.js";
3
- interface PluginContextShape {
4
- hooks: HookRegistry;
5
- config: CommerceConfig;
6
- services: Record<string, unknown>;
7
- routes: {
8
- add(method: string, path: string, handler: (...args: unknown[]) => unknown): void;
9
- };
10
- mcp: {
11
- registerTool(tool: MCPTool): void;
12
- };
13
- analytics: {
14
- registerModel(model: unknown): void;
15
- };
16
- database: {
17
- registerSchema(schema: Record<string, unknown>): void;
18
- query: unknown;
19
- transaction<T>(fn: (tx: unknown) => Promise<T>): Promise<T>;
20
- };
21
- logger: {
22
- info(message: string, data?: unknown): void;
23
- warn(message: string, data?: unknown): void;
24
- error(message: string, data?: unknown): void;
25
- };
26
- }
27
- export interface TestPluginContext extends PluginContextShape {
28
- registeredRoutes: Array<{
29
- method: string;
30
- path: string;
31
- handler: (...args: unknown[]) => unknown;
32
- }>;
33
- registeredMCPTools: MCPTool[];
34
- registeredAnalyticsModels: unknown[];
35
- registeredSchemas: Array<Record<string, unknown>>;
36
- }
37
- export declare function createTestPluginContext(options?: {
38
- config?: Partial<CommerceConfig>;
39
- services?: Record<string, unknown>;
40
- }): Promise<TestPluginContext>;
41
- export {};
42
- //# sourceMappingURL=create-test-plugin-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-test-plugin-context.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-test-plugin-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElE,UAAU,kBAAkB;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9F,GAAG,EAAE;QAAE,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE;QAAE,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IACnD,QAAQ,EAAE;QACR,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACtD,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE;QAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;CACpJ;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC,CAAC;IACpG,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,yBAAyB,EAAE,OAAO,EAAE,CAAC;IACrC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4C7B"}
@@ -1,46 +0,0 @@
1
- import { HookRegistry } from "../kernel/hooks/registry.js";
2
- import { createLogger } from "../utils/logger.js";
3
- import { createTestConfig } from "./create-test-config.js";
4
- export async function createTestPluginContext(options) {
5
- const hooks = new HookRegistry();
6
- const config = await createTestConfig(options?.config ?? {});
7
- const services = options?.services ?? {};
8
- const registeredRoutes = [];
9
- const registeredMCPTools = [];
10
- const registeredAnalyticsModels = [];
11
- const registeredSchemas = [];
12
- return {
13
- hooks,
14
- config,
15
- services,
16
- routes: {
17
- add(method, path, handler) {
18
- registeredRoutes.push({ method: method.toUpperCase(), path, handler });
19
- },
20
- },
21
- mcp: {
22
- registerTool(tool) {
23
- registeredMCPTools.push(tool);
24
- },
25
- },
26
- analytics: {
27
- registerModel(model) {
28
- registeredAnalyticsModels.push(model);
29
- },
30
- },
31
- database: {
32
- registerSchema(schema) {
33
- registeredSchemas.push(schema);
34
- },
35
- query: {},
36
- async transaction(fn) {
37
- return fn({});
38
- },
39
- },
40
- logger: createLogger("test-plugin-context"),
41
- registeredRoutes,
42
- registeredMCPTools,
43
- registeredAnalyticsModels,
44
- registeredSchemas,
45
- };
46
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * Integration test utilities for REST API endpoints.
3
- *
4
- * Provides helper functions to test Hono routes with a real kernel,
5
- * PGlite database, and authentication middleware.
6
- */
7
- import { Hono } from "hono";
8
- import { createKernel } from "../runtime/kernel.js";
9
- import type { CommerceConfig } from "../config/types.js";
10
- import type { Actor } from "../auth/types.js";
11
- import type { AuthInstance } from "../auth/setup.js";
12
- type ServerEnv = {
13
- Variables: {
14
- auth: AuthInstance;
15
- actor: Actor | null;
16
- };
17
- };
18
- /**
19
- * Creates a test server with PGlite-backed kernel for REST API testing.
20
- */
21
- export declare function createTestServer(overrides?: Partial<CommerceConfig>): Promise<{
22
- server: Hono<ServerEnv>;
23
- kernel: ReturnType<typeof createKernel>;
24
- auth: AuthInstance;
25
- cleanup: () => Promise<void>;
26
- }>;
27
- /**
28
- * Helper to parse JSON response from Hono Response
29
- */
30
- export declare function parseJsonResponse<T = unknown>(response: Response): Promise<T>;
31
- /**
32
- * Common test actor with staff permissions
33
- */
34
- export declare const testActor: Actor;
35
- /**
36
- * Test actor with read-only permissions
37
- */
38
- export declare const readonlyActor: Actor;
39
- /**
40
- * Test actor with no permissions
41
- */
42
- export declare const noPermActor: Actor;
43
- /**
44
- * Helper to create a mock request with actor context
45
- */
46
- export declare function createMockRequest(server: Hono<ServerEnv>, options: {
47
- method: string;
48
- url: string;
49
- body?: unknown;
50
- headers?: Record<string, string>;
51
- actor?: Actor;
52
- }): Request;
53
- /**
54
- * Helper to make authenticated requests to the test server
55
- */
56
- export declare function makeRequest(server: Hono<ServerEnv>, options: {
57
- method: string;
58
- url: string;
59
- body?: unknown;
60
- headers?: Record<string, string>;
61
- actor?: Actor;
62
- }): Promise<Response>;
63
- export {};
64
- //# sourceMappingURL=rest-api-test-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest-api-test-utils.d.ts","sourceRoot":"","sources":["../../src/test-utils/rest-api-test-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,KAAK,SAAS,GAAG;IACf,SAAS,EAAE;QACT,IAAI,EAAE,YAAY,CAAC;QACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;KACrB,CAAC;CACH,CAAC;AAiDF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC;IACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CAqDD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAEnF;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KA4BvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,WAwBA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EACvB,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,qBAYF"}
@@ -1,207 +0,0 @@
1
- /**
2
- * Integration test utilities for REST API endpoints.
3
- *
4
- * Provides helper functions to test Hono routes with a real kernel,
5
- * PGlite database, and authentication middleware.
6
- */
7
- import { Hono } from "hono";
8
- import { createKernel } from "../runtime/kernel.js";
9
- import { createAuth } from "../auth/setup.js";
10
- import { authMiddleware } from "../auth/middleware.js";
11
- import { createRestRoutes } from "../interfaces/rest/index.js";
12
- import { createPGliteTestConfig } from "./create-test-config.js";
13
- import { CommerceValidationError } from "../kernel/errors.js";
14
- import { Ok, Err } from "../kernel/result.js";
15
- const mockPaymentAdapter = {
16
- providerId: "test-payments",
17
- async createPaymentIntent(params) {
18
- return Ok({
19
- id: "pi_test_" + Date.now(),
20
- status: "requires_capture",
21
- amount: params.amount,
22
- currency: params.currency,
23
- clientSecret: "secret_test",
24
- });
25
- },
26
- async capturePayment() {
27
- return Ok({ id: "pi_test_" + Date.now(), status: "succeeded", amountCaptured: 1000 });
28
- },
29
- async refundPayment() {
30
- return Ok({ id: "re_test_" + Date.now(), status: "succeeded", amountRefunded: 1000 });
31
- },
32
- async cancelPaymentIntent() {
33
- return Ok(undefined);
34
- },
35
- async verifyWebhook(request) {
36
- // Extract signature from headers
37
- const signature = request.headers.get("stripe-signature") || request.headers.get("webhook-signature");
38
- // Extract payload from request body
39
- let payload;
40
- try {
41
- payload = await request.clone().json();
42
- }
43
- catch {
44
- return Err(new CommerceValidationError("Webhook payload is invalid or missing"));
45
- }
46
- // Simulate signature verification for production-hardened testing
47
- // Reject invalid signatures like "invalid_signature"
48
- if (signature === "invalid_signature") {
49
- return Err(new CommerceValidationError("Invalid webhook signature"));
50
- }
51
- // Reject requests with no required fields
52
- if (!payload || !payload.type) {
53
- return Err(new CommerceValidationError("Webhook payload is missing required fields"));
54
- }
55
- return Ok({ id: "evt_test_" + Date.now(), type: String(payload.type), data: (payload.data ?? {}) });
56
- },
57
- };
58
- /**
59
- * Creates a test server with PGlite-backed kernel for REST API testing.
60
- */
61
- export async function createTestServer(overrides = {}) {
62
- const { config, cleanup } = await createPGliteTestConfig({
63
- payments: [mockPaymentAdapter],
64
- ...overrides,
65
- });
66
- const kernel = createKernel(config);
67
- const auth = createAuth(kernel.database, config);
68
- const app = new Hono();
69
- // Set auth in context (like createServer does)
70
- app.use("*", async (c, next) => {
71
- c.set("auth", auth);
72
- await next();
73
- });
74
- // Test middleware: allow direct actor injection via x-test-actor header for testing
75
- app.use("*", async (c, next) => {
76
- const testActorHeader = c.req.header("x-test-actor");
77
- if (testActorHeader) {
78
- try {
79
- const actor = JSON.parse(testActorHeader);
80
- c.set("actor", actor);
81
- await next();
82
- return;
83
- }
84
- catch {
85
- // Invalid JSON, continue to auth middleware
86
- }
87
- }
88
- await next();
89
- });
90
- // Add auth middleware
91
- app.use("*", authMiddleware(auth, config));
92
- // Error handling middleware - catch thrown errors and convert to JSON
93
- app.use("*", async (c, next) => {
94
- try {
95
- await next();
96
- }
97
- catch (error) {
98
- // Import error handling utilities
99
- const { mapErrorToResponse, mapErrorToStatus } = await import("../interfaces/rest/utils.js");
100
- return c.json(mapErrorToResponse(error), mapErrorToStatus(error));
101
- }
102
- });
103
- // Add REST routes
104
- app.route("/api", createRestRoutes(kernel));
105
- return { server: app, kernel, auth, cleanup };
106
- }
107
- /**
108
- * Helper to parse JSON response from Hono Response
109
- */
110
- export async function parseJsonResponse(response) {
111
- return response.json();
112
- }
113
- /**
114
- * Common test actor with staff permissions
115
- */
116
- export const testActor = {
117
- type: "user",
118
- userId: "00000000-0000-0000-0000-000000000001",
119
- email: "test@example.com",
120
- name: "Test Staff",
121
- vendorId: null,
122
- organizationId: "org_default",
123
- role: "staff",
124
- permissions: [
125
- "catalog:create",
126
- "catalog:update",
127
- "catalog:read",
128
- "inventory:adjust",
129
- "inventory:read",
130
- "orders:create",
131
- "orders:read",
132
- "orders:update",
133
- "cart:create",
134
- "cart:update",
135
- "cart:read",
136
- "customers:update:self",
137
- "webhooks:manage",
138
- "pricing:manage",
139
- "promotions:manage",
140
- "promotions:read",
141
- "audit:read",
142
- "media:write",
143
- ],
144
- };
145
- /**
146
- * Test actor with read-only permissions
147
- */
148
- export const readonlyActor = {
149
- type: "user",
150
- userId: "00000000-0000-0000-0000-000000000002",
151
- email: "readonly@example.com",
152
- name: "Read Only User",
153
- vendorId: null,
154
- organizationId: "org_default",
155
- role: "customer",
156
- permissions: ["catalog:read", "cart:read", "orders:read:own"],
157
- };
158
- /**
159
- * Test actor with no permissions
160
- */
161
- export const noPermActor = {
162
- type: "user",
163
- userId: "00000000-0000-0000-0000-000000000003",
164
- email: "noperm@example.com",
165
- name: "No Perm",
166
- vendorId: null,
167
- organizationId: "org_default",
168
- role: "customer",
169
- permissions: [],
170
- };
171
- /**
172
- * Helper to create a mock request with actor context
173
- */
174
- export function createMockRequest(server, options) {
175
- const url = new URL(options.url, "http://localhost");
176
- const headers = {
177
- "content-type": "application/json",
178
- ...options.headers,
179
- };
180
- // Add actor as header for test middleware
181
- if (options.actor) {
182
- headers["x-test-actor"] = JSON.stringify(options.actor);
183
- }
184
- // Build the request
185
- const requestInit = {
186
- method: options.method,
187
- headers,
188
- };
189
- if (options.body) {
190
- requestInit.body = JSON.stringify(options.body);
191
- }
192
- const request = new Request(url, requestInit);
193
- return request;
194
- }
195
- /**
196
- * Helper to make authenticated requests to the test server
197
- */
198
- export async function makeRequest(server, options) {
199
- // Create request with actor header (defaults to testActor)
200
- const request = createMockRequest(server, {
201
- ...options,
202
- actor: options.actor ?? testActor,
203
- });
204
- // Route the request through Hono
205
- const response = await server.fetch(request);
206
- return response;
207
- }