@mercurjs/core 2.2.0-canary.11 → 2.2.0-canary.12

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.
@@ -0,0 +1,12 @@
1
+ import { HttpTypes } from "@medusajs/framework/types";
2
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
3
+ /**
4
+ * Mercur override of Medusa's `POST /admin/order-edits/:id/confirm`.
5
+ *
6
+ * Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
7
+ * reservations created on added / qty-bumped items are adjusted to the
8
+ * offer's `inventory_item_link.required_quantity` — same fix the vendor
9
+ * confirm route uses. `confirmed_by` is stamped with `auth_context.actor_id`
10
+ * (admin equivalent of the vendor route's `seller_context.seller_id`).
11
+ */
12
+ export declare const POST: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminOrderEditPreviewResponse>) => Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const workflows_1 = require("../../../../../workflows/order/workflows");
5
+ /**
6
+ * Mercur override of Medusa's `POST /admin/order-edits/:id/confirm`.
7
+ *
8
+ * Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
9
+ * reservations created on added / qty-bumped items are adjusted to the
10
+ * offer's `inventory_item_link.required_quantity` — same fix the vendor
11
+ * confirm route uses. `confirmed_by` is stamped with `auth_context.actor_id`
12
+ * (admin equivalent of the vendor route's `seller_context.seller_id`).
13
+ */
14
+ const POST = async (req, res) => {
15
+ const { id } = req.params;
16
+ const { result } = await (0, workflows_1.confirmOrderEditRequestWorkflow)(req.scope).run({
17
+ input: {
18
+ order_id: id,
19
+ confirmed_by: req.auth_context.actor_id,
20
+ },
21
+ });
22
+ res.json({
23
+ order_preview: result,
24
+ });
25
+ };
26
+ exports.POST = POST;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL29yZGVyLWVkaXRzL1tpZF0vY29uZmlybS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSx3RUFBMEY7QUFFMUY7Ozs7Ozs7O0dBUUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQTRELEVBQzVELEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDJDQUErQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEUsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1NBQ3hDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLGFBQWEsRUFBRSxNQUFnRDtLQUNoRSxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFoQlksUUFBQSxJQUFJLFFBZ0JoQiJ9
@@ -5,5 +5,10 @@ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/
5
5
  * `POST /admin/order-edits/:id/confirm`. Flips a requested edit to
6
6
  * `confirmed` and applies its actions. `confirmed_by` is stamped with
7
7
  * the seller's id (vendor equivalent of admin's `actor_id`).
8
+ *
9
+ * Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
10
+ * reservations created on added / qty-bumped items are adjusted to the
11
+ * offer's `inventory_item_link.required_quantity` (matches the exchange
12
+ * and claim confirm flows).
8
13
  */
9
14
  export declare const POST: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminOrderEditPreviewResponse>) => Promise<void>;
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST = void 0;
4
- const core_flows_1 = require("@medusajs/core-flows");
4
+ const workflows_1 = require("../../../../../workflows/order/workflows");
5
5
  /**
6
6
  * `POST /vendor/order-edits/:id/confirm` — mirrors
7
7
  * `POST /admin/order-edits/:id/confirm`. Flips a requested edit to
8
8
  * `confirmed` and applies its actions. `confirmed_by` is stamped with
9
9
  * the seller's id (vendor equivalent of admin's `actor_id`).
10
+ *
11
+ * Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
12
+ * reservations created on added / qty-bumped items are adjusted to the
13
+ * offer's `inventory_item_link.required_quantity` (matches the exchange
14
+ * and claim confirm flows).
10
15
  */
11
16
  const POST = async (req, res) => {
12
17
  const { id } = req.params;
13
- const { result } = await (0, core_flows_1.confirmOrderEditRequestWorkflow)(req.scope).run({
18
+ const { result } = await (0, workflows_1.confirmOrderEditRequestWorkflow)(req.scope).run({
14
19
  input: {
15
20
  order_id: id,
16
21
  confirmed_by: req.seller_context.seller_id,
@@ -21,4 +26,4 @@ const POST = async (req, res) => {
21
26
  });
22
27
  };
23
28
  exports.POST = POST;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9vcmRlci1lZGl0cy9baWRdL2NvbmZpcm0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXNFO0FBT3RFOzs7OztHQUtHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErQixFQUMvQixHQUE0RCxFQUM1RCxFQUFFO0lBQ0YsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFekIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0Q0FBK0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3RFLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFO1lBQ1osWUFBWSxFQUFFLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUztTQUM1QztLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxhQUFhLEVBQUUsTUFBZ0Q7S0FDaEUsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBaEJZLFFBQUEsSUFBSSxRQWdCaEIifQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9vcmRlci1lZGl0cy9baWRdL2NvbmZpcm0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsd0VBQTBGO0FBRTFGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQTRELEVBQzVELEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDJDQUErQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEUsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTO1NBQzVDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLGFBQWEsRUFBRSxNQUFnRDtLQUNoRSxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFoQlksUUFBQSxJQUFJLFFBZ0JoQiJ9
@@ -26,6 +26,12 @@ const POST = async (req, res) => {
26
26
  const productId = req.params.id;
27
27
  const variantId = req.params.variant_id;
28
28
  const { attribute_values: _av, ...update } = req.validatedBody;
29
+ // `manage_inventory` is a marketplace invariant pinned to `false` at
30
+ // variant creation (see `create-products` / variant create route); it
31
+ // is not vendor-editable, so we deliberately do NOT inject it here.
32
+ // Forcing it in re-staged a phantom no-op change on every edit, which
33
+ // polluted the request block (MER-168). The workflow diffs the rest of
34
+ // the payload and stages only the fields that actually changed.
29
35
  const { result } = await (0, product_edit_update_variants_1.productEditUpdateVariantsWorkflow)(req.scope).run({
30
36
  input: {
31
37
  product_id: productId,
@@ -34,7 +40,7 @@ const POST = async (req, res) => {
34
40
  {
35
41
  type: "update",
36
42
  variant_id: variantId,
37
- fields: { ...update, manage_inventory: false },
43
+ fields: update,
38
44
  },
39
45
  ],
40
46
  },
@@ -71,4 +77,4 @@ const DELETE = async (req, res) => {
71
77
  res.status(202).json({ product_change: product_change ?? result });
72
78
  };
73
79
  exports.DELETE = DELETE;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL1t2YXJpYW50X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFHa0M7QUFHbEMsa0lBQW1JO0FBRzVILE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBMkQsRUFDM0QsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FDaEIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQ2xFLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsZ0JBQWdCLENBQ3pELENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsR0FBRyxPQXNCZjtBQUVEOzs7R0FHRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0QsRUFDL0QsR0FBeUQsRUFDekQsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBQzlDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFBO0lBRXZDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBRTlELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsZ0VBQWlDLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN4RSxLQUFLLEVBQUU7WUFDTCxVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsUUFBUTtZQUNwQixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFLFNBQVM7b0JBQ3JCLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRTtpQkFDL0M7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUN2QixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDMUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsY0FBYyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDcEUsQ0FBQyxDQUFBO0FBbENZLFFBQUEsSUFBSSxRQWtDaEI7QUFFRDs7O0dBR0c7QUFDSSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEdBQXlELEVBQ3pELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUM5QyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtJQUMvQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQTtJQUV2QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGdFQUFpQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDeEUsS0FBSyxFQUFFO1lBQ0wsVUFBVSxFQUFFLFNBQVM7WUFDckIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUN4RDtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FDdkIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQzNCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ3BFLENBQUMsQ0FBQTtBQTFCWSxRQUFBLE1BQU0sVUEwQmxCIn0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL1t2YXJpYW50X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFHa0M7QUFHbEMsa0lBQW1JO0FBRzVILE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBMkQsRUFDM0QsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FDaEIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQ2xFLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsZ0JBQWdCLENBQ3pELENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsR0FBRyxPQXNCZjtBQUVEOzs7R0FHRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0QsRUFDL0QsR0FBeUQsRUFDekQsRUFB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
@@ -0,0 +1,7 @@
1
+ import { OrderPreviewDTO } from "@medusajs/framework/types";
2
+ export type ConfirmOrderEditRequestWorkflowInput = {
3
+ order_id: string;
4
+ confirmed_by?: string;
5
+ };
6
+ export declare const confirmOrderEditRequestWorkflowId = "mercur-confirm-order-edit-request";
7
+ export declare const confirmOrderEditRequestWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ConfirmOrderEditRequestWorkflowInput, OrderPreviewDTO, []>;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.confirmOrderEditRequestWorkflow = exports.confirmOrderEditRequestWorkflowId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const adjustOrderEditReservationsForOffersStepId = "mercur-adjust-order-edit-reservations-for-offers";
8
+ const adjustOrderEditReservationsForOffersStep = (0, workflows_sdk_1.createStep)(adjustOrderEditReservationsForOffersStepId, async (input, { container }) => {
9
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ const { data: orders } = await query.graph({
11
+ entity: "order",
12
+ fields: [
13
+ "id",
14
+ "items.*",
15
+ "items.offer.id",
16
+ "items.offer.inventory_item_link.*",
17
+ "items.offer.inventory_item_link.inventory_item.*",
18
+ "items.offer.inventory_item_link.inventory_item.location_levels.*",
19
+ ],
20
+ filters: { id: input.order_id },
21
+ });
22
+ const order = orders?.[0];
23
+ if (!order?.items?.length) {
24
+ return new workflows_sdk_1.StepResponse({ adjusted: false }, []);
25
+ }
26
+ const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
27
+ const compensation = [];
28
+ for (const item of order.items) {
29
+ const lineItemId = item.id;
30
+ const links = item.offer?.inventory_item_link ?? [];
31
+ if (!lineItemId || links.length === 0) {
32
+ continue;
33
+ }
34
+ const orderedQuantity = Number(item.quantity ?? 0);
35
+ const fulfilledQuantity = Number(item.fulfilled_quantity ?? 0);
36
+ const reservationQuantity = orderedQuantity - fulfilledQuantity;
37
+ if (reservationQuantity <= 0) {
38
+ continue;
39
+ }
40
+ const normalizedLinks = links
41
+ .map((link) => ({
42
+ inventory_item_id: link.inventory_item?.id ?? link.inventory_item_id ?? null,
43
+ required_quantity: Number(link.required_quantity ?? 1),
44
+ location_id: link.inventory_item?.location_levels?.[0]?.location_id ?? null,
45
+ }))
46
+ .filter((l) => !!l.inventory_item_id);
47
+ if (normalizedLinks.length === 0) {
48
+ continue;
49
+ }
50
+ const inventoryItemIdsMissingLocation = normalizedLinks
51
+ .filter((l) => !l.location_id)
52
+ .map((l) => l.inventory_item_id);
53
+ if (inventoryItemIdsMissingLocation.length) {
54
+ const levels = await inventoryService.listInventoryLevels({
55
+ inventory_item_id: inventoryItemIdsMissingLocation,
56
+ });
57
+ const firstLocationByItem = new Map();
58
+ for (const lvl of levels) {
59
+ const itemId = lvl.inventory_item_id;
60
+ if (!firstLocationByItem.has(itemId)) {
61
+ firstLocationByItem.set(itemId, lvl.location_id);
62
+ }
63
+ }
64
+ for (const link of normalizedLinks) {
65
+ if (!link.location_id) {
66
+ link.location_id =
67
+ firstLocationByItem.get(link.inventory_item_id) ?? null;
68
+ }
69
+ }
70
+ }
71
+ const existingReservations = await inventoryService.listReservationItems({
72
+ line_item_id: lineItemId,
73
+ });
74
+ const desiredByInventoryItem = new Map();
75
+ for (const link of normalizedLinks) {
76
+ desiredByInventoryItem.set(link.inventory_item_id, {
77
+ quantity: Number(utils_1.MathBN.mult(reservationQuantity, link.required_quantity).toString()),
78
+ location_id: link.location_id,
79
+ });
80
+ }
81
+ const existingByInventoryItem = new Map();
82
+ for (const r of existingReservations) {
83
+ existingByInventoryItem.set(r.inventory_item_id, r);
84
+ }
85
+ const allMatch = existingReservations.length === desiredByInventoryItem.size &&
86
+ normalizedLinks.every((link) => {
87
+ const existing = existingByInventoryItem.get(link.inventory_item_id);
88
+ if (!existing)
89
+ return false;
90
+ const desiredQty = desiredByInventoryItem.get(link.inventory_item_id)
91
+ .quantity;
92
+ return Number(existing.quantity ?? 0) === desiredQty;
93
+ });
94
+ if (allMatch) {
95
+ continue;
96
+ }
97
+ const inheritedLocation = existingReservations[0];
98
+ const toCreate = normalizedLinks
99
+ .map((link) => {
100
+ const desired = desiredByInventoryItem.get(link.inventory_item_id);
101
+ const locationId = link.location_id ?? inheritedLocation?.location_id ?? null;
102
+ return {
103
+ line_item_id: lineItemId,
104
+ inventory_item_id: link.inventory_item_id,
105
+ location_id: locationId,
106
+ quantity: desired.quantity,
107
+ };
108
+ })
109
+ .filter((r) => !!r.location_id);
110
+ if (toCreate.length === 0) {
111
+ continue;
112
+ }
113
+ for (const r of existingReservations) {
114
+ compensation.push({
115
+ type: "recreate-prior",
116
+ line_item_id: lineItemId,
117
+ inventory_item_id: r
118
+ .inventory_item_id,
119
+ location_id: r.location_id,
120
+ quantity: Number(r.quantity ?? 0),
121
+ });
122
+ }
123
+ if (existingReservations.length) {
124
+ await inventoryService.deleteReservationItems(existingReservations.map((r) => r.id));
125
+ }
126
+ const created = await inventoryService.createReservationItems(toCreate);
127
+ for (const r of created) {
128
+ compensation.push({ type: "delete-created", id: r.id });
129
+ }
130
+ }
131
+ return new workflows_sdk_1.StepResponse({ adjusted: true }, compensation);
132
+ }, async (compensation, { container }) => {
133
+ if (!compensation?.length)
134
+ return;
135
+ const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
136
+ const toDelete = compensation
137
+ .filter((c) => c.type === "delete-created")
138
+ .map((c) => c.id);
139
+ if (toDelete.length) {
140
+ await inventoryService.deleteReservationItems(toDelete);
141
+ }
142
+ const toRecreate = compensation
143
+ .filter((c) => c.type === "recreate-prior")
144
+ .map((c) => ({
145
+ line_item_id: c.line_item_id ?? undefined,
146
+ inventory_item_id: c.inventory_item_id,
147
+ location_id: c.location_id,
148
+ quantity: c.quantity,
149
+ }));
150
+ if (toRecreate.length) {
151
+ await inventoryService.createReservationItems(toRecreate);
152
+ }
153
+ });
154
+ exports.confirmOrderEditRequestWorkflowId = "mercur-confirm-order-edit-request";
155
+ exports.confirmOrderEditRequestWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.confirmOrderEditRequestWorkflowId, function (input) {
156
+ const orderPreview = core_flows_1.confirmOrderEditRequestWorkflow.runAsStep({
157
+ input: {
158
+ order_id: input.order_id,
159
+ confirmed_by: input.confirmed_by,
160
+ },
161
+ });
162
+ adjustOrderEditReservationsForOffersStep({ order_id: input.order_id });
163
+ return new workflows_sdk_1.WorkflowResponse(orderPreview);
164
+ });
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1vcmRlci1lZGl0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9jb25maXJtLW9yZGVyLWVkaXQtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFJa0M7QUFDbEMscUVBSzBDO0FBQzFDLDREQUFvSDtBQThDcEgsTUFBTSwwQ0FBMEMsR0FDOUMsa0RBQWtELENBQUE7QUFFcEQsTUFBTSx3Q0FBd0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELDBDQUEwQyxFQUMxQyxLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLG1DQUFtQztZQUNuQyxrREFBa0Q7WUFDbEQsa0VBQWtFO1NBQ25FO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQVNYLENBQUE7SUFFYixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUF5QixDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxl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
@@ -3,3 +3,4 @@ export * from "./cancel-order-fulfillment";
3
3
  export * from "./confirm-return-receive";
4
4
  export * from "./confirm-exchange-request";
5
5
  export * from "./confirm-claim-request";
6
+ export * from "./confirm-order-edit-request";
@@ -19,4 +19,5 @@ __exportStar(require("./cancel-order-fulfillment"), exports);
19
19
  __exportStar(require("./confirm-return-receive"), exports);
20
20
  __exportStar(require("./confirm-exchange-request"), exports);
21
21
  __exportStar(require("./confirm-claim-request"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBDO0FBQzFDLDZEQUEwQztBQUMxQywyREFBd0M7QUFDeEMsNkRBQTBDO0FBQzFDLDBEQUF1QyJ9
22
+ __exportStar(require("./confirm-order-edit-request"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBDO0FBQzFDLDZEQUEwQztBQUMxQywyREFBd0M7QUFDeEMsNkRBQTBDO0FBQzFDLDBEQUF1QztBQUN2QywrREFBNEMifQ==
@@ -7,6 +7,13 @@ const types_1 = require("@mercurjs/types");
7
7
  const steps_1 = require("../steps");
8
8
  const stage_product_change_1 = require("./stage-product-change");
9
9
  exports.productEditUpdateVariantsWorkflowId = "product-edit-update-variants";
10
+ /**
11
+ * Variant fields that are not vendor-editable and must never be staged
12
+ * as part of a `VARIANT_UPDATE`. `manage_inventory` is a marketplace
13
+ * invariant pinned to `false` at variant creation — surfacing it in the
14
+ * request block (as a phantom `Off → On` row) was the core of MER-168.
15
+ */
16
+ const NON_EDITABLE_VARIANT_FIELDS = new Set(["manage_inventory"]);
10
17
  /**
11
18
  * Vendor "edit product variants" orchestrator. Translates each
12
19
  * `operations[]` entry into a `VARIANT_ADD` / `VARIANT_UPDATE` /
@@ -59,6 +66,26 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
59
66
  for (const v of (currentVariants ?? [])) {
60
67
  currentVariantsById.set(v.id, v);
61
68
  }
69
+ // Mirror the product-level field diff (`product-edit-update-fields`):
70
+ // normalize relation/array shapes to ids/urls before comparing so an
71
+ // unchanged value never produces a spurious change row.
72
+ const normalize = (value) => {
73
+ if (Array.isArray(value)) {
74
+ return value
75
+ .map((item) => {
76
+ if (item && typeof item === "object" && "id" in item) {
77
+ return item.id;
78
+ }
79
+ if (item && typeof item === "object" && "url" in item) {
80
+ return item.url;
81
+ }
82
+ return item;
83
+ })
84
+ .sort();
85
+ }
86
+ return value ?? null;
87
+ };
88
+ const isEqual = (a, b) => JSON.stringify(normalize(a)) === JSON.stringify(normalize(b));
62
89
  for (const op of input.operations ?? []) {
63
90
  switch (op.type) {
64
91
  case "add":
@@ -70,16 +97,38 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
70
97
  break;
71
98
  case "update": {
72
99
  const current = currentVariantsById.get(op.variant_id) ?? {};
100
+ const changedFields = {};
73
101
  const previousFields = {};
74
- for (const field of Object.keys(op.fields ?? {})) {
102
+ for (const [field, proposedValue] of Object.entries(op.fields ?? {})) {
103
+ // Never stage fields the vendor can't edit (e.g.
104
+ // `manage_inventory`).
105
+ if (NON_EDITABLE_VARIANT_FIELDS.has(field))
106
+ continue;
107
+ // `options` is a relation update (option-title → value
108
+ // pairs), not a scalar column we load for diffing. Forward
109
+ // it untouched when provided so the apply step can re-pair
110
+ // variant options; it carries no meaningful previous value.
111
+ if (field === "options") {
112
+ if (proposedValue !== undefined) {
113
+ changedFields.options = proposedValue;
114
+ }
115
+ continue;
116
+ }
117
+ // Skip fields that did not actually change.
118
+ if (isEqual(current[field], proposedValue))
119
+ continue;
120
+ changedFields[field] = proposedValue;
75
121
  previousFields[field] = current[field] ?? null;
76
122
  }
123
+ // Nothing editable changed — don't stage an empty action.
124
+ if (!Object.keys(changedFields).length)
125
+ break;
77
126
  acts.push({
78
127
  product_id: input.product_id,
79
128
  action: types_1.ProductChangeActionType.VARIANT_UPDATE,
80
129
  details: {
81
130
  variant_id: op.variant_id,
82
- fields: op.fields,
131
+ fields: changedFields,
83
132
  previous_fields: previousFields,
84
133
  },
85
134
  });
@@ -105,4 +154,4 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
105
154
  });
106
155
  return new workflows_sdk_1.WorkflowResponse(change);
107
156
  });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS12YXJpYW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1lZGl0L3dvcmtmbG93cy9wcm9kdWN0LWVkaXQtdXBkYXRlLXZhcmlhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsMkNBSXdCO0FBRXhCLG9DQUE2RDtBQUM3RCxpRUFBbUU7QUE2QnRELFFBQUEsbUNBQW1DLEdBQzlDLDhCQUE4QixDQUFBO0FBRWhDOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsaUNBQWlDLEdBSTFDLElBQUEsOEJBQWMsRUFDaEIsMkNBQW1DLEVBQ25DLFVBQVUsS0FBNkM7SUFDckQsSUFBQSwwQ0FBa0MsRUFDaEMsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7S0FDaEMsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVELDREQUE0RDtJQUM1RCw2REFBNkQ7SUFDN0QsMkRBQTJEO0lBQzNELHVCQUF1QjtJQUN2QixNQUFNLGdCQUFnQixHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQzFELEtBQUssQ0FBQyxJQUFJLENBQ1IsSUFBSSxHQUFHLENBQ0wsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztTQUNyQixNQUFNLENBQ0wsQ0FDRSxFQUFFLEVBS0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUMxQjtTQUNBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUM5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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS12YXJpYW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1lZGl0L3dvcmtmbG93cy9wcm9kdWN0LWVkaXQtdXBkYXRlLXZhcmlhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsMkNBSXdCO0FBRXhCLG9DQUE2RDtBQUM3RCxpRUFBbUU7QUE2QnRELFFBQUEsbUNBQW1DLEdBQzlDLDhCQUE4QixDQUFBO0FBRWhDOzs7OztHQUtHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtBQUVqRTs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLGlDQUFpQyxHQUkxQyxJQUFBLDhCQUFjLEVBQ2hCLDJDQUFtQyxFQUNuQyxVQUFVLEtBQTZDO0lBQ3JELElBQUEsMENBQWtDLEVBQ2hDLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ2hDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCw0REFBNEQ7SUFDNUQsNkRBQTZEO0lBQzdELDJEQUEyRDtJQUMzRCx1QkFBdUI7SUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUMxRCxLQUFLLENBQUMsSUFBSSxDQUNSLElBQUksR0FBRyxDQUNMLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDckIsTUFBTSxDQUNMLENBQ0UsRUFBRSxFQUtGLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FDMUI7U0FDQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FDOUIsQ0FDRixDQUNGLENBQUE7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbEQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLE9BQU87WUFDUCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxNQUFNO1lBQ04sU0FBUztZQUNULFNBQVM7WUFDVCxVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixRQUFRO1lBQ1IsUUFBUTtZQUNSLFFBQVE7WUFDUixPQUFPO1lBQ1AsZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixjQUFjO1lBQ2QsVUFBVTtTQUNYO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFO0tBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxDQUFBO0lBRWhELE1BQU0sT0FBTyxHQUFHLElBQUEseUJBQVMsRUFDdkIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQzFCLENBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUM3QixNQUFNLElBQUksR0FFTixFQUFFLENBQUE7UUFFTixNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUdoQyxDQUFBO1FBQ0gsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBRXJDLEVBQUUsQ0FBQztZQUNGLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFFRCxzRUFBc0U7UUFDdEUscUVBQXFFO1FBQ3JFLHdEQUF3RDtRQUN4RCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWMsRUFBVyxFQUFFO1lBQzVDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPLEtBQUs7cUJBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDckQsT0FBUSxJQUF1QixDQUFDLEVBQUUsQ0FBQTtvQkFDcEMsQ0FBQztvQkFDRCxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUN0RCxPQUFRLElBQXdCLENBQUMsR0FBRyxDQUFBO29CQUN0QyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsQ0FBQztxQkFDRCxJQUFJLEVBQUUsQ0FBQTtZQUNYLENBQUM7WUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUE7UUFDdEIsQ0FBQyxDQUFBO1FBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFVLEVBQUUsQ0FBVSxFQUFXLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRS9ELEtBQUssTUFBTSxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSyxLQUFLO29CQUNSLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ1IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUM1QixNQUFNLEVBQUUsK0JBQXVCLENBQUMsV0FBVzt3QkFDM0MsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUU7cUJBQ2pDLENBQUMsQ0FBQTtvQkFDRixNQUFLO2dCQUNQLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDZCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFDNUQsTUFBTSxhQUFhLEdBQTRCLEVBQUUsQ0FBQTtvQkFDakQsTUFBTSxjQUFjLEdBQTRCLEVBQUUsQ0FBQTtvQkFFbEQsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQ2pELEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUNoQixFQUFFLENBQUM7d0JBQ0YsaURBQWlEO3dCQUNqRCx1QkFBdUI7d0JBQ3ZCLElBQUksMkJBQTJCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzs0QkFBRSxTQUFRO3dCQUVwRCx1REFBdUQ7d0JBQ3ZELDJEQUEyRDt3QkFDM0QsMkRBQTJEO3dCQUMzRCw0REFBNEQ7d0JBQzVELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDOzRCQUN4QixJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQ0FDaEMsYUFBYSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUE7NEJBQ3ZDLENBQUM7NEJBQ0QsU0FBUTt3QkFDVixDQUFDO3dCQUVELDRDQUE0Qzt3QkFDNUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsQ0FBQzs0QkFBRSxTQUFRO3dCQUVwRCxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFBO3dCQUNwQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQTtvQkFDaEQsQ0FBQztvQkFFRCwwREFBMEQ7b0JBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU07d0JBQUUsTUFBSztvQkFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDUixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7d0JBQzVCLE1BQU0sRUFBRSwrQkFBdUIsQ0FBQyxjQUFjO3dCQUM5QyxPQUFPLEVBQUU7NEJBQ1AsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVOzRCQUN6QixNQUFNLEVBQUUsYUFBYTs0QkFDckIsZUFBZSxFQUFFLGNBQWM7eUJBQ2hDO3FCQUNGLENBQUMsQ0FBQTtvQkFDRixNQUFLO2dCQUNQLENBQUM7Z0JBQ0QsS0FBSyxRQUFRO29CQUNYLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ1IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUM1QixNQUFNLEVBQUUsK0JBQXVCLENBQUMsY0FBYzt3QkFDOUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7cUJBQ3ZDLENBQUMsQ0FBQTtvQkFDRixNQUFLO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsQ0FDRixDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsaURBQTBCLENBQUMsU0FBUyxDQUFDO1FBQ2xELEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLE9BQU87U0FDUixDQUFDLENBQUM7S0FDSixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDckMsQ0FBQyxDQUNGLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mercurjs/core",
3
- "version": "2.2.0-canary.11",
3
+ "version": "2.2.0-canary.12",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/mercurjs/mercur",