@reactionary/source 0.0.48 → 0.0.52

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 (175) hide show
  1. package/core/package.json +4 -3
  2. package/core/src/cache/cache.interface.ts +1 -1
  3. package/core/src/cache/memory-cache.ts +2 -2
  4. package/core/src/cache/noop-cache.ts +1 -1
  5. package/core/src/cache/redis-cache.ts +1 -1
  6. package/core/src/client/client-builder.ts +4 -4
  7. package/core/src/client/client.ts +12 -12
  8. package/core/src/decorators/reactionary.decorator.ts +22 -2
  9. package/core/src/index.ts +14 -14
  10. package/core/src/initialization.ts +1 -1
  11. package/core/src/providers/analytics.provider.ts +2 -2
  12. package/core/src/providers/base.provider.ts +5 -5
  13. package/core/src/providers/cart.provider.ts +6 -6
  14. package/core/src/providers/category.provider.ts +4 -9
  15. package/core/src/providers/checkout.provider.ts +156 -0
  16. package/core/src/providers/identity.provider.ts +5 -5
  17. package/core/src/providers/index.ts +13 -12
  18. package/core/src/providers/inventory.provider.ts +4 -4
  19. package/core/src/providers/order.provider.ts +31 -0
  20. package/core/src/providers/price.provider.ts +5 -5
  21. package/core/src/providers/product.provider.ts +5 -5
  22. package/core/src/providers/profile.provider.ts +5 -5
  23. package/core/src/providers/search.provider.ts +4 -4
  24. package/core/src/providers/store.provider.ts +4 -4
  25. package/core/src/schemas/capabilities.schema.ts +2 -1
  26. package/core/src/schemas/models/analytics.model.ts +1 -1
  27. package/core/src/schemas/models/cart.model.ts +3 -28
  28. package/core/src/schemas/models/category.model.ts +2 -2
  29. package/core/src/schemas/models/checkout.model.ts +66 -0
  30. package/core/src/schemas/models/cost.model.ts +21 -0
  31. package/core/src/schemas/models/identifiers.model.ts +23 -2
  32. package/core/src/schemas/models/identity.model.ts +8 -5
  33. package/core/src/schemas/models/index.ts +19 -15
  34. package/core/src/schemas/models/inventory.model.ts +2 -2
  35. package/core/src/schemas/models/order.model.ts +46 -0
  36. package/core/src/schemas/models/payment.model.ts +5 -12
  37. package/core/src/schemas/models/price.model.ts +3 -3
  38. package/core/src/schemas/models/product.model.ts +6 -3
  39. package/core/src/schemas/models/profile.model.ts +2 -2
  40. package/core/src/schemas/models/search.model.ts +2 -3
  41. package/core/src/schemas/models/shipping-method.model.ts +34 -3
  42. package/core/src/schemas/models/store.model.ts +2 -2
  43. package/core/src/schemas/mutations/analytics.mutation.ts +2 -2
  44. package/core/src/schemas/mutations/cart.mutation.ts +5 -5
  45. package/core/src/schemas/mutations/checkout.mutation.ts +50 -0
  46. package/core/src/schemas/mutations/identity.mutation.ts +1 -1
  47. package/core/src/schemas/mutations/index.ts +10 -10
  48. package/core/src/schemas/mutations/profile.mutation.ts +1 -1
  49. package/core/src/schemas/queries/cart.query.ts +2 -2
  50. package/core/src/schemas/queries/category.query.ts +3 -3
  51. package/core/src/schemas/queries/checkout.query.ts +22 -0
  52. package/core/src/schemas/queries/identity.query.ts +1 -1
  53. package/core/src/schemas/queries/index.ts +13 -12
  54. package/core/src/schemas/queries/inventory.query.ts +2 -2
  55. package/core/src/schemas/queries/order.query.ts +9 -0
  56. package/core/src/schemas/queries/price.query.ts +2 -2
  57. package/core/src/schemas/queries/product.query.ts +9 -2
  58. package/core/src/schemas/queries/profile.query.ts +1 -1
  59. package/core/src/schemas/queries/search.query.ts +2 -2
  60. package/core/src/schemas/queries/store.query.ts +1 -1
  61. package/core/src/schemas/session.schema.ts +3 -3
  62. package/core/tsconfig.json +3 -2
  63. package/examples/next/next.config.js +17 -6
  64. package/examples/next/src/app/page.tsx +1 -2
  65. package/examples/node/package.json +2 -1
  66. package/examples/node/src/basic/basic-node-setup.spec.ts +1 -1
  67. package/examples/node/tsconfig.json +2 -1
  68. package/examples/node/tsconfig.spec.json +3 -2
  69. package/package.json +3 -1
  70. package/providers/algolia/package.json +2 -1
  71. package/providers/algolia/src/core/initialize.ts +5 -5
  72. package/providers/algolia/src/index.ts +5 -5
  73. package/providers/algolia/src/providers/product.provider.ts +8 -2
  74. package/providers/algolia/src/providers/search.provider.ts +1 -1
  75. package/providers/algolia/src/test/search.provider.spec.ts +1 -1
  76. package/providers/algolia/tsconfig.json +2 -1
  77. package/providers/algolia/tsconfig.spec.json +3 -2
  78. package/providers/commercetools/{jest.config.ts → jest.config.cjs} +1 -1
  79. package/providers/commercetools/package.json +3 -2
  80. package/providers/commercetools/src/core/client.ts +63 -32
  81. package/providers/commercetools/src/core/initialize.ts +20 -16
  82. package/providers/commercetools/src/index.ts +10 -10
  83. package/providers/commercetools/src/providers/cart.provider.ts +14 -19
  84. package/providers/commercetools/src/providers/category.provider.ts +3 -12
  85. package/providers/commercetools/src/providers/checkout.provider.ts +644 -0
  86. package/providers/commercetools/src/providers/identity.provider.ts +8 -8
  87. package/providers/commercetools/src/providers/index.ts +12 -9
  88. package/providers/commercetools/src/providers/inventory.provider.ts +2 -4
  89. package/providers/commercetools/src/providers/order.provider.ts +163 -0
  90. package/providers/commercetools/src/providers/price.provider.ts +3 -3
  91. package/providers/commercetools/src/providers/product.provider.ts +24 -6
  92. package/providers/commercetools/src/providers/profile.provider.ts +2 -2
  93. package/providers/commercetools/src/providers/search.provider.ts +3 -5
  94. package/providers/commercetools/src/providers/store.provider.ts +3 -3
  95. package/providers/commercetools/src/schema/capabilities.schema.ts +2 -1
  96. package/providers/commercetools/src/schema/commercetools.schema.ts +7 -5
  97. package/providers/commercetools/src/schema/configuration.schema.ts +2 -0
  98. package/providers/commercetools/src/test/cart.provider.spec.ts +24 -4
  99. package/providers/commercetools/src/test/category.provider.spec.ts +3 -3
  100. package/providers/commercetools/src/test/checkout.provider.spec.ts +312 -0
  101. package/providers/commercetools/src/test/identity.provider.spec.ts +3 -3
  102. package/providers/commercetools/src/test/inventory.provider.spec.ts +2 -2
  103. package/providers/commercetools/src/test/price.provider.spec.ts +4 -4
  104. package/providers/commercetools/src/test/product.provider.spec.ts +22 -5
  105. package/providers/commercetools/src/test/profile.provider.spec.ts +3 -3
  106. package/providers/commercetools/src/test/search.provider.spec.ts +2 -2
  107. package/providers/commercetools/src/test/store.provider.spec.ts +2 -2
  108. package/providers/commercetools/src/test/test-utils.ts +14 -0
  109. package/providers/commercetools/tsconfig.json +2 -1
  110. package/providers/commercetools/tsconfig.spec.json +4 -3
  111. package/providers/fake/{jest.config.ts → jest.config.cjs} +1 -1
  112. package/providers/fake/package.json +2 -2
  113. package/providers/fake/src/core/initialize.ts +6 -6
  114. package/providers/fake/src/index.ts +4 -4
  115. package/providers/fake/src/providers/analytics.provider.ts +1 -1
  116. package/providers/fake/src/providers/cart.provider.ts +2 -2
  117. package/providers/fake/src/providers/category.provider.ts +7 -3
  118. package/providers/fake/src/providers/identity.provider.ts +1 -1
  119. package/providers/fake/src/providers/index.ts +9 -9
  120. package/providers/fake/src/providers/inventory.provider.ts +1 -1
  121. package/providers/fake/src/providers/price.provider.ts +1 -1
  122. package/providers/fake/src/providers/product.provider.ts +10 -4
  123. package/providers/fake/src/providers/search.provider.ts +2 -5
  124. package/providers/fake/src/providers/store.provider.ts +2 -3
  125. package/providers/fake/src/test/cart.provider.spec.ts +3 -3
  126. package/providers/fake/src/test/category.provider.spec.ts +2 -2
  127. package/providers/fake/src/test/price.provider.spec.ts +2 -2
  128. package/providers/fake/src/test/product.provider.spec.ts +8 -8
  129. package/providers/fake/src/test/test-utils.ts +1 -1
  130. package/providers/fake/tsconfig.json +2 -1
  131. package/providers/fake/tsconfig.spec.json +1 -3
  132. package/providers/posthog/package.json +4 -4
  133. package/providers/posthog/project.json +2 -2
  134. package/providers/posthog/src/core/initialize.ts +2 -2
  135. package/providers/posthog/src/index.ts +3 -3
  136. package/providers/posthog/tsconfig.json +2 -1
  137. package/tsconfig.base.json +3 -4
  138. package/.claude/settings.local.json +0 -28
  139. package/core/src/providers/cart-payment.provider.ts +0 -57
  140. package/core/src/schemas/mutations/cart-payment.mutation.ts +0 -21
  141. package/core/src/schemas/queries/cart-payment.query.ts +0 -12
  142. package/otel/README.md +0 -227
  143. package/otel/eslint.config.mjs +0 -23
  144. package/otel/package.json +0 -11
  145. package/otel/pnpm-lock.yaml +0 -805
  146. package/otel/project.json +0 -33
  147. package/otel/src/index.ts +0 -22
  148. package/otel/src/metrics.ts +0 -76
  149. package/otel/src/provider-instrumentation.ts +0 -108
  150. package/otel/src/test/otel.spec.ts +0 -8
  151. package/otel/src/trace-decorator.ts +0 -226
  152. package/otel/src/tracer.ts +0 -83
  153. package/otel/src/trpc-middleware.ts +0 -128
  154. package/otel/tsconfig.json +0 -23
  155. package/otel/tsconfig.lib.json +0 -23
  156. package/otel/tsconfig.spec.json +0 -28
  157. package/otel/vite.config.ts +0 -24
  158. package/providers/commercetools/src/providers/cart-payment.provider.ts +0 -193
  159. package/providers/commercetools/src/test/cart-payment.provider.spec.ts +0 -145
  160. package/trpc/README.md +0 -7
  161. package/trpc/__mocks__/superjson.js +0 -25
  162. package/trpc/eslint.config.mjs +0 -19
  163. package/trpc/jest.config.ts +0 -14
  164. package/trpc/package.json +0 -14
  165. package/trpc/project.json +0 -31
  166. package/trpc/src/client.ts +0 -175
  167. package/trpc/src/index.ts +0 -44
  168. package/trpc/src/integration.spec.ts +0 -223
  169. package/trpc/src/server.ts +0 -125
  170. package/trpc/src/test-utils.ts +0 -31
  171. package/trpc/src/transparent-client.spec.ts +0 -162
  172. package/trpc/src/types.ts +0 -144
  173. package/trpc/tsconfig.json +0 -16
  174. package/trpc/tsconfig.lib.json +0 -10
  175. package/trpc/tsconfig.spec.json +0 -15
@@ -19,20 +19,20 @@ import type {
19
19
  ,
20
20
  Cache
21
21
  } from '@reactionary/core';
22
- import type { CommercetoolsConfiguration } from '../schema/configuration.schema';
22
+
23
+ import type { CommercetoolsConfiguration } from '../schema/configuration.schema.js';
23
24
  import type { z } from 'zod';
24
- import { CommercetoolsClient } from '../core/client';
25
+ import { CommercetoolsClient } from '../core/client.js';
25
26
  import type {
26
27
  Cart as CTCart,
27
28
  MyCartUpdateAction,
28
29
  } from '@commercetools/platform-sdk';
29
- import { traced } from '@reactionary/otel';
30
30
  import type {
31
- CommercetoolsCartIdentifier} from '../schema/commercetools.schema';
31
+ CommercetoolsCartIdentifier} from '../schema/commercetools.schema.js';
32
32
  import {
33
33
  CommercetoolsCartIdentifierSchema,
34
34
  CommercetoolsOrderIdentifierSchema,
35
- } from '../schema/commercetools.schema';
35
+ } from '../schema/commercetools.schema.js';
36
36
 
37
37
  export class CommercetoolsCartProvider<
38
38
  T extends Cart = Cart
@@ -48,7 +48,6 @@ export class CommercetoolsCartProvider<
48
48
  this.config = config;
49
49
  }
50
50
 
51
- @traced()
52
51
  public override async getById(
53
52
  payload: CartQueryById,
54
53
  reqCtx: RequestContext
@@ -66,7 +65,6 @@ export class CommercetoolsCartProvider<
66
65
  }
67
66
  }
68
67
 
69
- @traced()
70
68
  public override async add(
71
69
  payload: CartMutationItemAdd,
72
70
  reqCtx: RequestContext
@@ -94,7 +92,6 @@ export class CommercetoolsCartProvider<
94
92
  );
95
93
  }
96
94
 
97
- @traced()
98
95
  public override async remove(
99
96
  payload: CartMutationItemRemove,
100
97
  reqCtx: RequestContext
@@ -114,7 +111,6 @@ export class CommercetoolsCartProvider<
114
111
  );
115
112
  }
116
113
 
117
- @traced()
118
114
  public override async changeQuantity(
119
115
  payload: CartMutationItemQuantityChange,
120
116
  reqCtx: RequestContext
@@ -141,7 +137,6 @@ export class CommercetoolsCartProvider<
141
137
  );
142
138
  }
143
139
 
144
- @traced()
145
140
  public override async getActiveCartId(
146
141
  reqCtx: RequestContext
147
142
  ): Promise<CartIdentifier> {
@@ -156,6 +151,7 @@ export class CommercetoolsCartProvider<
156
151
  version: carts.body.version || 0
157
152
  });
158
153
  } catch (e: any) {
154
+
159
155
  return CommercetoolsCartIdentifierSchema.parse({
160
156
  key: '',
161
157
  version: 0
@@ -163,7 +159,6 @@ export class CommercetoolsCartProvider<
163
159
  }
164
160
  }
165
161
 
166
- @traced()
167
162
  public override async deleteCart(
168
163
  payload: CartMutationDeleteCart,
169
164
  reqCtx: RequestContext
@@ -187,7 +182,6 @@ export class CommercetoolsCartProvider<
187
182
  return this.getById({ cart: activeCartId }, reqCtx);
188
183
  }
189
184
 
190
- @traced()
191
185
  public override async setShippingInfo(
192
186
  payload: CartMutationSetShippingInfo,
193
187
  reqCtx: RequestContext
@@ -224,7 +218,6 @@ export class CommercetoolsCartProvider<
224
218
  return this.applyActions(payload.cart, actions, reqCtx);
225
219
  }
226
220
 
227
- @traced()
228
221
  public override setBillingAddress(
229
222
  payload: CartMutationSetBillingAddress,
230
223
  reqCtx: RequestContext
@@ -259,7 +252,6 @@ export class CommercetoolsCartProvider<
259
252
  );
260
253
  }
261
254
 
262
- @traced()
263
255
  public override applyCouponCode(
264
256
  payload: CartMutationApplyCoupon,
265
257
  reqCtx: RequestContext
@@ -279,7 +271,6 @@ export class CommercetoolsCartProvider<
279
271
  );
280
272
  }
281
273
 
282
- @traced()
283
274
  public override removeCouponCode(
284
275
  payload: CartMutationRemoveCoupon,
285
276
  reqCtx: RequestContext
@@ -302,7 +293,6 @@ export class CommercetoolsCartProvider<
302
293
  );
303
294
  }
304
295
 
305
- @traced()
306
296
  public override async checkout(
307
297
  payload: CartMutationCheckout,
308
298
  reqCtx: RequestContext
@@ -326,7 +316,6 @@ export class CommercetoolsCartProvider<
326
316
  });
327
317
  }
328
318
 
329
- @traced()
330
319
  public override async changeCurrency(
331
320
  payload: CartMutationChangeCurrency,
332
321
  reqCtx: RequestContext
@@ -415,7 +404,7 @@ export class CommercetoolsCartProvider<
415
404
  const ctId = cart as CommercetoolsCartIdentifier;
416
405
 
417
406
 
418
-
407
+ try {
419
408
  const response = await client.carts
420
409
  .withId({ ID: ctId.key })
421
410
  .post({
@@ -426,7 +415,14 @@ export class CommercetoolsCartProvider<
426
415
  })
427
416
  .execute();
428
417
 
418
+ if (response.error) {
419
+ console.error(response.error);
420
+ }
429
421
  return this.parseSingle(response.body, reqCtx);
422
+ } catch (e: any) {
423
+ console.error('Error applying actions to cart:', e);
424
+ throw e;
425
+ }
430
426
 
431
427
  }
432
428
 
@@ -439,7 +435,6 @@ export class CommercetoolsCartProvider<
439
435
  * @param anonymousCall
440
436
  * @returns
441
437
  */
442
- @traced()
443
438
  protected async getClient(reqCtx: RequestContext) {
444
439
  const client = await new CommercetoolsClient(this.config).getClient(reqCtx);
445
440
 
@@ -1,10 +1,9 @@
1
1
  import { CategoryProvider, createPaginatedResponseSchema } from "@reactionary/core";
2
- import type { Session, CategoryQueryById, CategoryQueryBySlug, CategoryQueryForBreadcrumb, CategoryQueryForChildCategories, CategoryQueryForTopCategories, RequestContext , Cache, Category} from "@reactionary/core";
2
+ import type { CategoryQueryById, CategoryQueryBySlug, CategoryQueryForBreadcrumb, CategoryQueryForChildCategories, CategoryQueryForTopCategories, RequestContext , Cache, Category} from "@reactionary/core";
3
3
  import type z from "zod";
4
- import type { CommercetoolsConfiguration } from "../schema/configuration.schema";
5
- import { CommercetoolsClient } from "../core/client";
4
+ import type { CommercetoolsConfiguration } from "../schema/configuration.schema.js";
5
+ import { CommercetoolsClient } from "../core/client.js";
6
6
  import type { ByProjectKeyCategoriesRequestBuilder, CategoryPagedQueryResponse, Category as CTCategory } from "@commercetools/platform-sdk";
7
- import { traced } from "@reactionary/otel";
8
7
 
9
8
  export class CommercetoolsCategoryProvider<
10
9
  T extends Category = Category,
@@ -29,7 +28,6 @@ export class CommercetoolsCategoryProvider<
29
28
  * @param session
30
29
  * @returns
31
30
  */
32
- @traced()
33
31
  public override async getById(payload: CategoryQueryById, reqCtx: RequestContext): Promise<T> {
34
32
  const client = await this.getClient(reqCtx);
35
33
  try {
@@ -49,7 +47,6 @@ export class CommercetoolsCategoryProvider<
49
47
  * @param session
50
48
  * @returns
51
49
  */
52
- @traced()
53
50
  public override async getBySlug(payload: CategoryQueryBySlug, reqCtx: RequestContext): Promise<T | null> {
54
51
  const client = await this.getClient(reqCtx);
55
52
  try {
@@ -79,7 +76,6 @@ export class CommercetoolsCategoryProvider<
79
76
  * @param session
80
77
  * @returns
81
78
  */
82
- @traced()
83
79
  public override async getBreadcrumbPathToCategory(payload: CategoryQueryForBreadcrumb, reqCtx: RequestContext): Promise<T[]> {
84
80
  const client = await this.getClient(reqCtx);
85
81
  const path: T[] = [];
@@ -116,7 +112,6 @@ export class CommercetoolsCategoryProvider<
116
112
  * @param session
117
113
  * @returns
118
114
  */
119
- @traced()
120
115
  public override async findChildCategories(payload: CategoryQueryForChildCategories, reqCtx: RequestContext) {
121
116
 
122
117
  // ok, so for Commercetools we can't actually query by the parents key, so we have to first resolve the key to an ID, then query by that.
@@ -155,7 +150,6 @@ export class CommercetoolsCategoryProvider<
155
150
  return createPaginatedResponseSchema(this.schema).parse({});
156
151
  }
157
152
 
158
- @traced()
159
153
  public override async findTopCategories(payload: CategoryQueryForTopCategories, reqCtx: RequestContext) {
160
154
 
161
155
  const client = await this.getClient(reqCtx);
@@ -190,7 +184,6 @@ export class CommercetoolsCategoryProvider<
190
184
  * Handler for parsing a response from a remote provider and converting it
191
185
  * into the typed domain model.
192
186
  */
193
- @traced()
194
187
  protected override parseSingle(_body: unknown, reqCtx: RequestContext): T {
195
188
  const body = _body as CTCategory;
196
189
  const languageContext = reqCtx.languageContext;
@@ -221,8 +214,6 @@ export class CommercetoolsCategoryProvider<
221
214
  return this.assert(model);
222
215
  }
223
216
 
224
-
225
- @traced()
226
217
  protected override parsePaginatedResult(_body: unknown, reqCtx: RequestContext) {
227
218
  const body = _body as CategoryPagedQueryResponse;
228
219