@unifiedcommerce/core 0.4.2 → 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 (563) 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/src/interfaces/rest/index.ts +4 -18
  7. package/src/runtime/server.ts +33 -0
  8. package/dist/adapters/console-email.d.ts +0 -23
  9. package/dist/adapters/console-email.d.ts.map +0 -1
  10. package/dist/adapters/console-email.js +0 -38
  11. package/dist/auth/access.d.ts +0 -101
  12. package/dist/auth/access.d.ts.map +0 -1
  13. package/dist/auth/access.js +0 -128
  14. package/dist/auth/auth-schema.d.ts +0 -1475
  15. package/dist/auth/auth-schema.d.ts.map +0 -1
  16. package/dist/auth/auth-schema.js +0 -124
  17. package/dist/auth/middleware.d.ts +0 -5
  18. package/dist/auth/middleware.d.ts.map +0 -1
  19. package/dist/auth/middleware.js +0 -141
  20. package/dist/auth/org.d.ts +0 -22
  21. package/dist/auth/org.d.ts.map +0 -1
  22. package/dist/auth/org.js +0 -36
  23. package/dist/auth/permissions.d.ts +0 -4
  24. package/dist/auth/permissions.d.ts.map +0 -1
  25. package/dist/auth/permissions.js +0 -24
  26. package/dist/auth/setup.d.ts +0 -29
  27. package/dist/auth/setup.d.ts.map +0 -1
  28. package/dist/auth/setup.js +0 -117
  29. package/dist/auth/system-actor.d.ts +0 -7
  30. package/dist/auth/system-actor.d.ts.map +0 -1
  31. package/dist/auth/system-actor.js +0 -17
  32. package/dist/auth/types.d.ts +0 -11
  33. package/dist/auth/types.d.ts.map +0 -1
  34. package/dist/auth/types.js +0 -1
  35. package/dist/config/defaults.d.ts +0 -3
  36. package/dist/config/defaults.d.ts.map +0 -1
  37. package/dist/config/defaults.js +0 -80
  38. package/dist/config/define-config.d.ts +0 -9
  39. package/dist/config/define-config.d.ts.map +0 -1
  40. package/dist/config/define-config.js +0 -44
  41. package/dist/config/types.d.ts +0 -327
  42. package/dist/config/types.d.ts.map +0 -1
  43. package/dist/config/types.js +0 -1
  44. package/dist/generated/plugin-manifest.d.ts +0 -48
  45. package/dist/generated/plugin-manifest.d.ts.map +0 -1
  46. package/dist/generated/plugin-manifest.js +0 -20
  47. package/dist/hooks/checkout-completion.d.ts +0 -58
  48. package/dist/hooks/checkout-completion.d.ts.map +0 -1
  49. package/dist/hooks/checkout-completion.js +0 -137
  50. package/dist/hooks/checkout.d.ts +0 -99
  51. package/dist/hooks/checkout.d.ts.map +0 -1
  52. package/dist/hooks/checkout.js +0 -317
  53. package/dist/hooks/order-emails.d.ts +0 -16
  54. package/dist/hooks/order-emails.d.ts.map +0 -1
  55. package/dist/hooks/order-emails.js +0 -44
  56. package/dist/index.d.ts +0 -77
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/index.js +0 -45
  59. package/dist/interfaces/mcp/agent-prompt.d.ts +0 -16
  60. package/dist/interfaces/mcp/agent-prompt.d.ts.map +0 -1
  61. package/dist/interfaces/mcp/agent-prompt.js +0 -172
  62. package/dist/interfaces/mcp/context-enrichment.d.ts +0 -39
  63. package/dist/interfaces/mcp/context-enrichment.d.ts.map +0 -1
  64. package/dist/interfaces/mcp/context-enrichment.js +0 -119
  65. package/dist/interfaces/mcp/server.d.ts +0 -5
  66. package/dist/interfaces/mcp/server.d.ts.map +0 -1
  67. package/dist/interfaces/mcp/server.js +0 -30
  68. package/dist/interfaces/mcp/tool-builder.d.ts +0 -120
  69. package/dist/interfaces/mcp/tool-builder.d.ts.map +0 -1
  70. package/dist/interfaces/mcp/tool-builder.js +0 -224
  71. package/dist/interfaces/mcp/tools/analytics.d.ts +0 -42
  72. package/dist/interfaces/mcp/tools/analytics.d.ts.map +0 -1
  73. package/dist/interfaces/mcp/tools/analytics.js +0 -70
  74. package/dist/interfaces/mcp/tools/cart.d.ts +0 -14
  75. package/dist/interfaces/mcp/tools/cart.d.ts.map +0 -1
  76. package/dist/interfaces/mcp/tools/cart.js +0 -47
  77. package/dist/interfaces/mcp/tools/catalog.d.ts +0 -53
  78. package/dist/interfaces/mcp/tools/catalog.d.ts.map +0 -1
  79. package/dist/interfaces/mcp/tools/catalog.js +0 -284
  80. package/dist/interfaces/mcp/tools/index.d.ts +0 -3
  81. package/dist/interfaces/mcp/tools/index.d.ts.map +0 -1
  82. package/dist/interfaces/mcp/tools/index.js +0 -20
  83. package/dist/interfaces/mcp/tools/inventory.d.ts +0 -27
  84. package/dist/interfaces/mcp/tools/inventory.d.ts.map +0 -1
  85. package/dist/interfaces/mcp/tools/inventory.js +0 -143
  86. package/dist/interfaces/mcp/tools/orders.d.ts +0 -18
  87. package/dist/interfaces/mcp/tools/orders.d.ts.map +0 -1
  88. package/dist/interfaces/mcp/tools/orders.js +0 -82
  89. package/dist/interfaces/mcp/tools/pricing.d.ts +0 -29
  90. package/dist/interfaces/mcp/tools/pricing.d.ts.map +0 -1
  91. package/dist/interfaces/mcp/tools/pricing.js +0 -90
  92. package/dist/interfaces/mcp/tools/promotions.d.ts +0 -44
  93. package/dist/interfaces/mcp/tools/promotions.d.ts.map +0 -1
  94. package/dist/interfaces/mcp/tools/promotions.js +0 -109
  95. package/dist/interfaces/mcp/tools/registry.d.ts +0 -32
  96. package/dist/interfaces/mcp/tools/registry.d.ts.map +0 -1
  97. package/dist/interfaces/mcp/tools/registry.js +0 -55
  98. package/dist/interfaces/mcp/tools/search.d.ts +0 -14
  99. package/dist/interfaces/mcp/tools/search.d.ts.map +0 -1
  100. package/dist/interfaces/mcp/tools/search.js +0 -39
  101. package/dist/interfaces/mcp/tools/webhooks.d.ts +0 -15
  102. package/dist/interfaces/mcp/tools/webhooks.d.ts.map +0 -1
  103. package/dist/interfaces/mcp/tools/webhooks.js +0 -48
  104. package/dist/interfaces/mcp/transport.d.ts +0 -20
  105. package/dist/interfaces/mcp/transport.d.ts.map +0 -1
  106. package/dist/interfaces/mcp/transport.js +0 -99
  107. package/dist/interfaces/rest/customer-portal.d.ts +0 -5
  108. package/dist/interfaces/rest/customer-portal.d.ts.map +0 -1
  109. package/dist/interfaces/rest/customer-portal.js +0 -206
  110. package/dist/interfaces/rest/router.d.ts +0 -164
  111. package/dist/interfaces/rest/router.d.ts.map +0 -1
  112. package/dist/interfaces/rest/router.js +0 -259
  113. package/dist/interfaces/rest/routes/admin-jobs.d.ts +0 -5
  114. package/dist/interfaces/rest/routes/admin-jobs.d.ts.map +0 -1
  115. package/dist/interfaces/rest/routes/admin-jobs.js +0 -48
  116. package/dist/interfaces/rest/routes/audit.d.ts +0 -5
  117. package/dist/interfaces/rest/routes/audit.d.ts.map +0 -1
  118. package/dist/interfaces/rest/routes/audit.js +0 -43
  119. package/dist/interfaces/rest/routes/carts.d.ts +0 -5
  120. package/dist/interfaces/rest/routes/carts.d.ts.map +0 -1
  121. package/dist/interfaces/rest/routes/carts.js +0 -55
  122. package/dist/interfaces/rest/routes/catalog.d.ts +0 -5
  123. package/dist/interfaces/rest/routes/catalog.d.ts.map +0 -1
  124. package/dist/interfaces/rest/routes/catalog.js +0 -256
  125. package/dist/interfaces/rest/routes/checkout.d.ts +0 -5
  126. package/dist/interfaces/rest/routes/checkout.d.ts.map +0 -1
  127. package/dist/interfaces/rest/routes/checkout.js +0 -216
  128. package/dist/interfaces/rest/routes/customers.d.ts +0 -5
  129. package/dist/interfaces/rest/routes/customers.d.ts.map +0 -1
  130. package/dist/interfaces/rest/routes/customers.js +0 -74
  131. package/dist/interfaces/rest/routes/entity-aliases.d.ts +0 -18
  132. package/dist/interfaces/rest/routes/entity-aliases.d.ts.map +0 -1
  133. package/dist/interfaces/rest/routes/entity-aliases.js +0 -39
  134. package/dist/interfaces/rest/routes/inventory.d.ts +0 -5
  135. package/dist/interfaces/rest/routes/inventory.d.ts.map +0 -1
  136. package/dist/interfaces/rest/routes/inventory.js +0 -72
  137. package/dist/interfaces/rest/routes/media.d.ts +0 -5
  138. package/dist/interfaces/rest/routes/media.d.ts.map +0 -1
  139. package/dist/interfaces/rest/routes/media.js +0 -65
  140. package/dist/interfaces/rest/routes/orders.d.ts +0 -5
  141. package/dist/interfaces/rest/routes/orders.d.ts.map +0 -1
  142. package/dist/interfaces/rest/routes/orders.js +0 -64
  143. package/dist/interfaces/rest/routes/payments.d.ts +0 -5
  144. package/dist/interfaces/rest/routes/payments.d.ts.map +0 -1
  145. package/dist/interfaces/rest/routes/payments.js +0 -45
  146. package/dist/interfaces/rest/routes/pricing.d.ts +0 -5
  147. package/dist/interfaces/rest/routes/pricing.d.ts.map +0 -1
  148. package/dist/interfaces/rest/routes/pricing.js +0 -48
  149. package/dist/interfaces/rest/routes/promotions.d.ts +0 -5
  150. package/dist/interfaces/rest/routes/promotions.d.ts.map +0 -1
  151. package/dist/interfaces/rest/routes/promotions.js +0 -76
  152. package/dist/interfaces/rest/routes/search.d.ts +0 -5
  153. package/dist/interfaces/rest/routes/search.d.ts.map +0 -1
  154. package/dist/interfaces/rest/routes/search.js +0 -60
  155. package/dist/interfaces/rest/routes/webhooks.d.ts +0 -5
  156. package/dist/interfaces/rest/routes/webhooks.d.ts.map +0 -1
  157. package/dist/interfaces/rest/routes/webhooks.js +0 -39
  158. package/dist/interfaces/rest/schemas/admin-jobs.d.ts +0 -327
  159. package/dist/interfaces/rest/schemas/admin-jobs.d.ts.map +0 -1
  160. package/dist/interfaces/rest/schemas/admin-jobs.js +0 -37
  161. package/dist/interfaces/rest/schemas/audit.d.ts +0 -59
  162. package/dist/interfaces/rest/schemas/audit.d.ts.map +0 -1
  163. package/dist/interfaces/rest/schemas/audit.js +0 -43
  164. package/dist/interfaces/rest/schemas/carts.d.ts +0 -1456
  165. package/dist/interfaces/rest/schemas/carts.d.ts.map +0 -1
  166. package/dist/interfaces/rest/schemas/carts.js +0 -109
  167. package/dist/interfaces/rest/schemas/catalog.d.ts +0 -5452
  168. package/dist/interfaces/rest/schemas/catalog.d.ts.map +0 -1
  169. package/dist/interfaces/rest/schemas/catalog.js +0 -397
  170. package/dist/interfaces/rest/schemas/checkout.d.ts +0 -160
  171. package/dist/interfaces/rest/schemas/checkout.d.ts.map +0 -1
  172. package/dist/interfaces/rest/schemas/checkout.js +0 -60
  173. package/dist/interfaces/rest/schemas/customer-portal.d.ts +0 -2203
  174. package/dist/interfaces/rest/schemas/customer-portal.d.ts.map +0 -1
  175. package/dist/interfaces/rest/schemas/customer-portal.js +0 -177
  176. package/dist/interfaces/rest/schemas/customers.d.ts +0 -422
  177. package/dist/interfaces/rest/schemas/customers.d.ts.map +0 -1
  178. package/dist/interfaces/rest/schemas/customers.js +0 -150
  179. package/dist/interfaces/rest/schemas/inventory.d.ts +0 -561
  180. package/dist/interfaces/rest/schemas/inventory.d.ts.map +0 -1
  181. package/dist/interfaces/rest/schemas/inventory.js +0 -148
  182. package/dist/interfaces/rest/schemas/media.d.ts +0 -303
  183. package/dist/interfaces/rest/schemas/media.d.ts.map +0 -1
  184. package/dist/interfaces/rest/schemas/media.js +0 -69
  185. package/dist/interfaces/rest/schemas/orders.d.ts +0 -1792
  186. package/dist/interfaces/rest/schemas/orders.d.ts.map +0 -1
  187. package/dist/interfaces/rest/schemas/orders.js +0 -93
  188. package/dist/interfaces/rest/schemas/pricing.d.ts +0 -256
  189. package/dist/interfaces/rest/schemas/pricing.d.ts.map +0 -1
  190. package/dist/interfaces/rest/schemas/pricing.js +0 -72
  191. package/dist/interfaces/rest/schemas/promotions.d.ts +0 -363
  192. package/dist/interfaces/rest/schemas/promotions.d.ts.map +0 -1
  193. package/dist/interfaces/rest/schemas/promotions.js +0 -98
  194. package/dist/interfaces/rest/schemas/responses.d.ts +0 -4086
  195. package/dist/interfaces/rest/schemas/responses.d.ts.map +0 -1
  196. package/dist/interfaces/rest/schemas/responses.js +0 -74
  197. package/dist/interfaces/rest/schemas/search.d.ts +0 -247
  198. package/dist/interfaces/rest/schemas/search.d.ts.map +0 -1
  199. package/dist/interfaces/rest/schemas/search.js +0 -55
  200. package/dist/interfaces/rest/schemas/shared.d.ts +0 -95
  201. package/dist/interfaces/rest/schemas/shared.d.ts.map +0 -1
  202. package/dist/interfaces/rest/schemas/shared.js +0 -51
  203. package/dist/interfaces/rest/schemas/webhooks.d.ts +0 -221
  204. package/dist/interfaces/rest/schemas/webhooks.d.ts.map +0 -1
  205. package/dist/interfaces/rest/schemas/webhooks.js +0 -62
  206. package/dist/interfaces/rest/utils.d.ts +0 -45
  207. package/dist/interfaces/rest/utils.d.ts.map +0 -1
  208. package/dist/interfaces/rest/utils.js +0 -71
  209. package/dist/interfaces/rest/webhook-router.d.ts +0 -41
  210. package/dist/interfaces/rest/webhook-router.d.ts.map +0 -1
  211. package/dist/interfaces/rest/webhook-router.js +0 -36
  212. package/dist/kernel/compensation/executor.d.ts +0 -21
  213. package/dist/kernel/compensation/executor.d.ts.map +0 -1
  214. package/dist/kernel/compensation/executor.js +0 -36
  215. package/dist/kernel/compensation/types.d.ts +0 -25
  216. package/dist/kernel/compensation/types.d.ts.map +0 -1
  217. package/dist/kernel/compensation/types.js +0 -1
  218. package/dist/kernel/database/adapter.d.ts +0 -18
  219. package/dist/kernel/database/adapter.d.ts.map +0 -1
  220. package/dist/kernel/database/adapter.js +0 -3
  221. package/dist/kernel/database/drizzle-db.d.ts +0 -49
  222. package/dist/kernel/database/drizzle-db.d.ts.map +0 -1
  223. package/dist/kernel/database/drizzle-db.js +0 -20
  224. package/dist/kernel/database/migrate.d.ts +0 -38
  225. package/dist/kernel/database/migrate.d.ts.map +0 -1
  226. package/dist/kernel/database/migrate.js +0 -61
  227. package/dist/kernel/database/plugin-types.d.ts +0 -32
  228. package/dist/kernel/database/plugin-types.d.ts.map +0 -1
  229. package/dist/kernel/database/plugin-types.js +0 -10
  230. package/dist/kernel/database/schema.d.ts +0 -24
  231. package/dist/kernel/database/schema.d.ts.map +0 -1
  232. package/dist/kernel/database/schema.js +0 -36
  233. package/dist/kernel/database/scoped-db.d.ts +0 -20
  234. package/dist/kernel/database/scoped-db.d.ts.map +0 -1
  235. package/dist/kernel/database/scoped-db.js +0 -62
  236. package/dist/kernel/database/tx-context.d.ts +0 -15
  237. package/dist/kernel/database/tx-context.d.ts.map +0 -1
  238. package/dist/kernel/database/tx-context.js +0 -19
  239. package/dist/kernel/error-mapper.d.ts +0 -3
  240. package/dist/kernel/error-mapper.d.ts.map +0 -1
  241. package/dist/kernel/error-mapper.js +0 -12
  242. package/dist/kernel/errors.d.ts +0 -38
  243. package/dist/kernel/errors.d.ts.map +0 -1
  244. package/dist/kernel/errors.js +0 -69
  245. package/dist/kernel/factory/repository-factory.d.ts +0 -71
  246. package/dist/kernel/factory/repository-factory.d.ts.map +0 -1
  247. package/dist/kernel/factory/repository-factory.js +0 -138
  248. package/dist/kernel/hooks/create-context.d.ts +0 -25
  249. package/dist/kernel/hooks/create-context.d.ts.map +0 -1
  250. package/dist/kernel/hooks/create-context.js +0 -22
  251. package/dist/kernel/hooks/executor.d.ts +0 -12
  252. package/dist/kernel/hooks/executor.d.ts.map +0 -1
  253. package/dist/kernel/hooks/executor.js +0 -50
  254. package/dist/kernel/hooks/registry.d.ts +0 -28
  255. package/dist/kernel/hooks/registry.d.ts.map +0 -1
  256. package/dist/kernel/hooks/registry.js +0 -58
  257. package/dist/kernel/hooks/types.d.ts +0 -37
  258. package/dist/kernel/hooks/types.d.ts.map +0 -1
  259. package/dist/kernel/hooks/types.js +0 -1
  260. package/dist/kernel/http-error.d.ts +0 -30
  261. package/dist/kernel/http-error.d.ts.map +0 -1
  262. package/dist/kernel/http-error.js +0 -35
  263. package/dist/kernel/jobs/adapter.d.ts +0 -25
  264. package/dist/kernel/jobs/adapter.d.ts.map +0 -1
  265. package/dist/kernel/jobs/adapter.js +0 -9
  266. package/dist/kernel/jobs/drizzle-adapter.d.ts +0 -15
  267. package/dist/kernel/jobs/drizzle-adapter.d.ts.map +0 -1
  268. package/dist/kernel/jobs/drizzle-adapter.js +0 -42
  269. package/dist/kernel/jobs/runner.d.ts +0 -24
  270. package/dist/kernel/jobs/runner.d.ts.map +0 -1
  271. package/dist/kernel/jobs/runner.js +0 -114
  272. package/dist/kernel/jobs/schema.d.ts +0 -280
  273. package/dist/kernel/jobs/schema.d.ts.map +0 -1
  274. package/dist/kernel/jobs/schema.js +0 -37
  275. package/dist/kernel/jobs/types.d.ts +0 -30
  276. package/dist/kernel/jobs/types.d.ts.map +0 -1
  277. package/dist/kernel/jobs/types.js +0 -1
  278. package/dist/kernel/local-api.d.ts +0 -103
  279. package/dist/kernel/local-api.d.ts.map +0 -1
  280. package/dist/kernel/local-api.js +0 -89
  281. package/dist/kernel/plugin/manifest.d.ts +0 -90
  282. package/dist/kernel/plugin/manifest.d.ts.map +0 -1
  283. package/dist/kernel/plugin/manifest.js +0 -169
  284. package/dist/kernel/query/executor.d.ts +0 -21
  285. package/dist/kernel/query/executor.d.ts.map +0 -1
  286. package/dist/kernel/query/executor.js +0 -128
  287. package/dist/kernel/query/registry.d.ts +0 -33
  288. package/dist/kernel/query/registry.d.ts.map +0 -1
  289. package/dist/kernel/query/registry.js +0 -20
  290. package/dist/kernel/result.d.ts +0 -36
  291. package/dist/kernel/result.d.ts.map +0 -1
  292. package/dist/kernel/result.js +0 -16
  293. package/dist/kernel/schema/extra-columns.d.ts +0 -23
  294. package/dist/kernel/schema/extra-columns.d.ts.map +0 -1
  295. package/dist/kernel/schema/extra-columns.js +0 -10
  296. package/dist/kernel/service-registry.d.ts +0 -109
  297. package/dist/kernel/service-registry.d.ts.map +0 -1
  298. package/dist/kernel/service-registry.js +0 -26
  299. package/dist/kernel/service-timing.d.ts +0 -25
  300. package/dist/kernel/service-timing.d.ts.map +0 -1
  301. package/dist/kernel/service-timing.js +0 -62
  302. package/dist/kernel/state-machine/machine.d.ts +0 -24
  303. package/dist/kernel/state-machine/machine.d.ts.map +0 -1
  304. package/dist/kernel/state-machine/machine.js +0 -70
  305. package/dist/modules/analytics/drizzle-adapter.d.ts +0 -13
  306. package/dist/modules/analytics/drizzle-adapter.d.ts.map +0 -1
  307. package/dist/modules/analytics/drizzle-adapter.js +0 -358
  308. package/dist/modules/analytics/hooks.d.ts +0 -13
  309. package/dist/modules/analytics/hooks.d.ts.map +0 -1
  310. package/dist/modules/analytics/hooks.js +0 -12
  311. package/dist/modules/analytics/models.d.ts +0 -14
  312. package/dist/modules/analytics/models.d.ts.map +0 -1
  313. package/dist/modules/analytics/models.js +0 -118
  314. package/dist/modules/analytics/repository/index.d.ts +0 -5
  315. package/dist/modules/analytics/repository/index.d.ts.map +0 -1
  316. package/dist/modules/analytics/repository/index.js +0 -1
  317. package/dist/modules/analytics/service.d.ts +0 -45
  318. package/dist/modules/analytics/service.d.ts.map +0 -1
  319. package/dist/modules/analytics/service.js +0 -196
  320. package/dist/modules/analytics/types.d.ts +0 -119
  321. package/dist/modules/analytics/types.d.ts.map +0 -1
  322. package/dist/modules/analytics/types.js +0 -25
  323. package/dist/modules/audit/hooks.d.ts +0 -7
  324. package/dist/modules/audit/hooks.d.ts.map +0 -1
  325. package/dist/modules/audit/hooks.js +0 -67
  326. package/dist/modules/audit/schema.d.ts +0 -178
  327. package/dist/modules/audit/schema.d.ts.map +0 -1
  328. package/dist/modules/audit/schema.js +0 -21
  329. package/dist/modules/audit/service.d.ts +0 -38
  330. package/dist/modules/audit/service.d.ts.map +0 -1
  331. package/dist/modules/audit/service.js +0 -109
  332. package/dist/modules/cart/access.d.ts +0 -11
  333. package/dist/modules/cart/access.d.ts.map +0 -1
  334. package/dist/modules/cart/access.js +0 -18
  335. package/dist/modules/cart/matcher.d.ts +0 -20
  336. package/dist/modules/cart/matcher.d.ts.map +0 -1
  337. package/dist/modules/cart/matcher.js +0 -2
  338. package/dist/modules/cart/repository/index.d.ts +0 -45
  339. package/dist/modules/cart/repository/index.d.ts.map +0 -1
  340. package/dist/modules/cart/repository/index.js +0 -158
  341. package/dist/modules/cart/schema.d.ts +0 -359
  342. package/dist/modules/cart/schema.d.ts.map +0 -1
  343. package/dist/modules/cart/schema.js +0 -40
  344. package/dist/modules/cart/schemas.d.ts +0 -29
  345. package/dist/modules/cart/schemas.d.ts.map +0 -1
  346. package/dist/modules/cart/schemas.js +0 -14
  347. package/dist/modules/cart/service.d.ts +0 -63
  348. package/dist/modules/cart/service.d.ts.map +0 -1
  349. package/dist/modules/cart/service.js +0 -339
  350. package/dist/modules/catalog/repository/index.d.ts +0 -106
  351. package/dist/modules/catalog/repository/index.d.ts.map +0 -1
  352. package/dist/modules/catalog/repository/index.js +0 -455
  353. package/dist/modules/catalog/schema.d.ts +0 -1193
  354. package/dist/modules/catalog/schema.d.ts.map +0 -1
  355. package/dist/modules/catalog/schema.js +0 -149
  356. package/dist/modules/catalog/schemas.d.ts +0 -81
  357. package/dist/modules/catalog/schemas.d.ts.map +0 -1
  358. package/dist/modules/catalog/schemas.js +0 -62
  359. package/dist/modules/catalog/service.d.ts +0 -160
  360. package/dist/modules/catalog/service.d.ts.map +0 -1
  361. package/dist/modules/catalog/service.js +0 -759
  362. package/dist/modules/customers/repository/index.d.ts +0 -47
  363. package/dist/modules/customers/repository/index.d.ts.map +0 -1
  364. package/dist/modules/customers/repository/index.js +0 -206
  365. package/dist/modules/customers/schema.d.ts +0 -560
  366. package/dist/modules/customers/schema.d.ts.map +0 -1
  367. package/dist/modules/customers/schema.js +0 -60
  368. package/dist/modules/customers/service.d.ts +0 -27
  369. package/dist/modules/customers/service.d.ts.map +0 -1
  370. package/dist/modules/customers/service.js +0 -106
  371. package/dist/modules/fulfillment/repository/index.d.ts +0 -63
  372. package/dist/modules/fulfillment/repository/index.d.ts.map +0 -1
  373. package/dist/modules/fulfillment/repository/index.js +0 -268
  374. package/dist/modules/fulfillment/schema.d.ts +0 -655
  375. package/dist/modules/fulfillment/schema.d.ts.map +0 -1
  376. package/dist/modules/fulfillment/schema.js +0 -83
  377. package/dist/modules/fulfillment/service.d.ts +0 -58
  378. package/dist/modules/fulfillment/service.d.ts.map +0 -1
  379. package/dist/modules/fulfillment/service.js +0 -338
  380. package/dist/modules/fulfillment/types.d.ts +0 -44
  381. package/dist/modules/fulfillment/types.d.ts.map +0 -1
  382. package/dist/modules/fulfillment/types.js +0 -1
  383. package/dist/modules/inventory/repository/index.d.ts +0 -81
  384. package/dist/modules/inventory/repository/index.d.ts.map +0 -1
  385. package/dist/modules/inventory/repository/index.js +0 -310
  386. package/dist/modules/inventory/schema.d.ts +0 -570
  387. package/dist/modules/inventory/schema.d.ts.map +0 -1
  388. package/dist/modules/inventory/schema.js +0 -69
  389. package/dist/modules/inventory/schemas.d.ts +0 -31
  390. package/dist/modules/inventory/schemas.d.ts.map +0 -1
  391. package/dist/modules/inventory/schemas.js +0 -28
  392. package/dist/modules/inventory/service.d.ts +0 -69
  393. package/dist/modules/inventory/service.d.ts.map +0 -1
  394. package/dist/modules/inventory/service.js +0 -283
  395. package/dist/modules/media/adapter.d.ts +0 -16
  396. package/dist/modules/media/adapter.d.ts.map +0 -1
  397. package/dist/modules/media/adapter.js +0 -1
  398. package/dist/modules/media/repository/index.d.ts +0 -35
  399. package/dist/modules/media/repository/index.d.ts.map +0 -1
  400. package/dist/modules/media/repository/index.js +0 -176
  401. package/dist/modules/media/schema.d.ts +0 -289
  402. package/dist/modules/media/schema.d.ts.map +0 -1
  403. package/dist/modules/media/schema.js +0 -35
  404. package/dist/modules/media/service.d.ts +0 -42
  405. package/dist/modules/media/service.d.ts.map +0 -1
  406. package/dist/modules/media/service.js +0 -89
  407. package/dist/modules/orders/repository/index.d.ts +0 -48
  408. package/dist/modules/orders/repository/index.d.ts.map +0 -1
  409. package/dist/modules/orders/repository/index.js +0 -199
  410. package/dist/modules/orders/schema.d.ts +0 -672
  411. package/dist/modules/orders/schema.d.ts.map +0 -1
  412. package/dist/modules/orders/schema.js +0 -63
  413. package/dist/modules/orders/service.d.ts +0 -85
  414. package/dist/modules/orders/service.d.ts.map +0 -1
  415. package/dist/modules/orders/service.js +0 -313
  416. package/dist/modules/orders/stale-order-cleanup.d.ts +0 -27
  417. package/dist/modules/orders/stale-order-cleanup.d.ts.map +0 -1
  418. package/dist/modules/orders/stale-order-cleanup.js +0 -55
  419. package/dist/modules/organization/service.d.ts +0 -53
  420. package/dist/modules/organization/service.d.ts.map +0 -1
  421. package/dist/modules/organization/service.js +0 -151
  422. package/dist/modules/payments/adapter.d.ts +0 -42
  423. package/dist/modules/payments/adapter.d.ts.map +0 -1
  424. package/dist/modules/payments/adapter.js +0 -1
  425. package/dist/modules/payments/repository/index.d.ts +0 -5
  426. package/dist/modules/payments/repository/index.d.ts.map +0 -1
  427. package/dist/modules/payments/repository/index.js +0 -1
  428. package/dist/modules/payments/service.d.ts +0 -23
  429. package/dist/modules/payments/service.d.ts.map +0 -1
  430. package/dist/modules/payments/service.js +0 -72
  431. package/dist/modules/pricing/repository/index.d.ts +0 -34
  432. package/dist/modules/pricing/repository/index.d.ts.map +0 -1
  433. package/dist/modules/pricing/repository/index.js +0 -176
  434. package/dist/modules/pricing/schema.d.ts +0 -565
  435. package/dist/modules/pricing/schema.d.ts.map +0 -1
  436. package/dist/modules/pricing/schema.js +0 -57
  437. package/dist/modules/pricing/schemas.d.ts +0 -37
  438. package/dist/modules/pricing/schemas.d.ts.map +0 -1
  439. package/dist/modules/pricing/schemas.js +0 -30
  440. package/dist/modules/pricing/service.d.ts +0 -62
  441. package/dist/modules/pricing/service.d.ts.map +0 -1
  442. package/dist/modules/pricing/service.js +0 -308
  443. package/dist/modules/promotions/repository/index.d.ts +0 -41
  444. package/dist/modules/promotions/repository/index.d.ts.map +0 -1
  445. package/dist/modules/promotions/repository/index.js +0 -204
  446. package/dist/modules/promotions/schema.d.ts +0 -427
  447. package/dist/modules/promotions/schema.d.ts.map +0 -1
  448. package/dist/modules/promotions/schema.js +0 -52
  449. package/dist/modules/promotions/schemas.d.ts +0 -33
  450. package/dist/modules/promotions/schemas.d.ts.map +0 -1
  451. package/dist/modules/promotions/schemas.js +0 -32
  452. package/dist/modules/promotions/service.d.ts +0 -80
  453. package/dist/modules/promotions/service.d.ts.map +0 -1
  454. package/dist/modules/promotions/service.js +0 -347
  455. package/dist/modules/search/adapter.d.ts +0 -51
  456. package/dist/modules/search/adapter.d.ts.map +0 -1
  457. package/dist/modules/search/adapter.js +0 -1
  458. package/dist/modules/search/hooks.d.ts +0 -8
  459. package/dist/modules/search/hooks.d.ts.map +0 -1
  460. package/dist/modules/search/hooks.js +0 -6
  461. package/dist/modules/search/repository/index.d.ts +0 -5
  462. package/dist/modules/search/repository/index.d.ts.map +0 -1
  463. package/dist/modules/search/repository/index.js +0 -1
  464. package/dist/modules/search/service.d.ts +0 -24
  465. package/dist/modules/search/service.d.ts.map +0 -1
  466. package/dist/modules/search/service.js +0 -217
  467. package/dist/modules/shipping/calculator.d.ts +0 -42
  468. package/dist/modules/shipping/calculator.d.ts.map +0 -1
  469. package/dist/modules/shipping/calculator.js +0 -91
  470. package/dist/modules/shipping/repository/index.d.ts +0 -5
  471. package/dist/modules/shipping/repository/index.d.ts.map +0 -1
  472. package/dist/modules/shipping/repository/index.js +0 -1
  473. package/dist/modules/shipping/service.d.ts +0 -28
  474. package/dist/modules/shipping/service.d.ts.map +0 -1
  475. package/dist/modules/shipping/service.js +0 -20
  476. package/dist/modules/tax/adapter.d.ts +0 -58
  477. package/dist/modules/tax/adapter.d.ts.map +0 -1
  478. package/dist/modules/tax/adapter.js +0 -1
  479. package/dist/modules/tax/repository/index.d.ts +0 -5
  480. package/dist/modules/tax/repository/index.d.ts.map +0 -1
  481. package/dist/modules/tax/repository/index.js +0 -1
  482. package/dist/modules/tax/service.d.ts +0 -19
  483. package/dist/modules/tax/service.d.ts.map +0 -1
  484. package/dist/modules/tax/service.js +0 -34
  485. package/dist/modules/webhooks/hook.d.ts +0 -13
  486. package/dist/modules/webhooks/hook.d.ts.map +0 -1
  487. package/dist/modules/webhooks/hook.js +0 -29
  488. package/dist/modules/webhooks/repository/index.d.ts +0 -40
  489. package/dist/modules/webhooks/repository/index.d.ts.map +0 -1
  490. package/dist/modules/webhooks/repository/index.js +0 -175
  491. package/dist/modules/webhooks/schema.d.ts +0 -404
  492. package/dist/modules/webhooks/schema.d.ts.map +0 -1
  493. package/dist/modules/webhooks/schema.js +0 -40
  494. package/dist/modules/webhooks/service.d.ts +0 -23
  495. package/dist/modules/webhooks/service.d.ts.map +0 -1
  496. package/dist/modules/webhooks/service.js +0 -92
  497. package/dist/modules/webhooks/signing.d.ts +0 -2
  498. package/dist/modules/webhooks/signing.d.ts.map +0 -1
  499. package/dist/modules/webhooks/signing.js +0 -5
  500. package/dist/modules/webhooks/ssrf-guard.d.ts +0 -19
  501. package/dist/modules/webhooks/ssrf-guard.d.ts.map +0 -1
  502. package/dist/modules/webhooks/ssrf-guard.js +0 -79
  503. package/dist/modules/webhooks/tasks.d.ts +0 -16
  504. package/dist/modules/webhooks/tasks.d.ts.map +0 -1
  505. package/dist/modules/webhooks/tasks.js +0 -35
  506. package/dist/modules/webhooks/worker.d.ts +0 -21
  507. package/dist/modules/webhooks/worker.d.ts.map +0 -1
  508. package/dist/modules/webhooks/worker.js +0 -113
  509. package/dist/runtime/commerce.d.ts +0 -110
  510. package/dist/runtime/commerce.d.ts.map +0 -1
  511. package/dist/runtime/commerce.js +0 -37
  512. package/dist/runtime/kernel.d.ts +0 -71
  513. package/dist/runtime/kernel.d.ts.map +0 -1
  514. package/dist/runtime/kernel.js +0 -306
  515. package/dist/runtime/logger.d.ts +0 -11
  516. package/dist/runtime/logger.d.ts.map +0 -1
  517. package/dist/runtime/logger.js +0 -32
  518. package/dist/runtime/shutdown.d.ts +0 -15
  519. package/dist/runtime/shutdown.d.ts.map +0 -1
  520. package/dist/runtime/shutdown.js +0 -34
  521. package/dist/test-utils/create-pglite-adapter.d.ts +0 -32
  522. package/dist/test-utils/create-pglite-adapter.d.ts.map +0 -1
  523. package/dist/test-utils/create-pglite-adapter.js +0 -107
  524. package/dist/test-utils/create-plugin-test-app.d.ts +0 -50
  525. package/dist/test-utils/create-plugin-test-app.d.ts.map +0 -1
  526. package/dist/test-utils/create-plugin-test-app.js +0 -74
  527. package/dist/test-utils/create-repository-test-harness.d.ts +0 -8
  528. package/dist/test-utils/create-repository-test-harness.d.ts.map +0 -1
  529. package/dist/test-utils/create-repository-test-harness.js +0 -7
  530. package/dist/test-utils/create-test-config.d.ts +0 -18
  531. package/dist/test-utils/create-test-config.d.ts.map +0 -1
  532. package/dist/test-utils/create-test-config.js +0 -172
  533. package/dist/test-utils/create-test-kernel.d.ts +0 -3
  534. package/dist/test-utils/create-test-kernel.d.ts.map +0 -1
  535. package/dist/test-utils/create-test-kernel.js +0 -5
  536. package/dist/test-utils/create-test-plugin-context.d.ts +0 -42
  537. package/dist/test-utils/create-test-plugin-context.d.ts.map +0 -1
  538. package/dist/test-utils/create-test-plugin-context.js +0 -46
  539. package/dist/test-utils/rest-api-test-utils.d.ts +0 -64
  540. package/dist/test-utils/rest-api-test-utils.d.ts.map +0 -1
  541. package/dist/test-utils/rest-api-test-utils.js +0 -207
  542. package/dist/test-utils/test-actors.d.ts +0 -15
  543. package/dist/test-utils/test-actors.d.ts.map +0 -1
  544. package/dist/test-utils/test-actors.js +0 -57
  545. package/dist/test-utils/typed-hooks.d.ts +0 -43
  546. package/dist/test-utils/typed-hooks.d.ts.map +0 -1
  547. package/dist/test-utils/typed-hooks.js +0 -35
  548. package/dist/testing.d.ts +0 -14
  549. package/dist/testing.d.ts.map +0 -1
  550. package/dist/testing.js +0 -13
  551. package/dist/tsconfig.tsbuildinfo +0 -1
  552. package/dist/types/commerce-types.d.ts +0 -34
  553. package/dist/types/commerce-types.d.ts.map +0 -1
  554. package/dist/types/commerce-types.js +0 -1
  555. package/dist/utils/id.d.ts +0 -2
  556. package/dist/utils/id.d.ts.map +0 -1
  557. package/dist/utils/id.js +0 -3
  558. package/dist/utils/logger.d.ts +0 -3
  559. package/dist/utils/logger.d.ts.map +0 -1
  560. package/dist/utils/logger.js +0 -16
  561. package/dist/utils/pagination.d.ts +0 -11
  562. package/dist/utils/pagination.d.ts.map +0 -1
  563. 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
- }