@vqnguyen1/piece-sellercloud 0.1.2 → 0.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vqnguyen1/piece-sellercloud",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {
@@ -20,7 +20,8 @@ export declare const importInventoryFromCsv: import("@activepieces/pieces-framew
20
20
  writeMode: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
21
21
  adjustmentReason: import("@activepieces/pieces-framework").ShortTextProperty<false>;
22
22
  verifyAfterWrite: import("@activepieces/pieces-framework").CheckboxProperty<false>;
23
- updateType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
23
+ trustLastWritten: import("@activepieces/pieces-framework").CheckboxProperty<false>;
24
+ zeroMissing: import("@activepieces/pieces-framework").CheckboxProperty<false>;
24
25
  inventoryDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
25
26
  dryRun: import("@activepieces/pieces-framework").CheckboxProperty<false>;
26
27
  waitForCompletion: import("@activepieces/pieces-framework").CheckboxProperty<false>;
@@ -55,7 +55,8 @@ exports.importInventoryFromCsv = (0, pieces_framework_1.createAction)({
55
55
  writeMode: props_1.sellercloudProps.writeMode,
56
56
  adjustmentReason: props_1.sellercloudProps.adjustmentReason,
57
57
  verifyAfterWrite: props_1.sellercloudProps.verifyAfterWrite,
58
- updateType: props_1.sellercloudProps.updateType,
58
+ trustLastWritten: props_1.sellercloudProps.trustLastWritten,
59
+ zeroMissing: props_1.sellercloudProps.zeroMissing,
59
60
  inventoryDate: props_1.sellercloudProps.inventoryDate,
60
61
  dryRun: pieces_framework_1.Property.Checkbox({
61
62
  displayName: 'Dry Run',
@@ -70,10 +71,10 @@ exports.importInventoryFromCsv = (0, pieces_framework_1.createAction)({
70
71
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
72
  var _a, _b, _c, _d, _e, _f;
72
73
  const props = context.propsValue;
73
- const updateType = props.updateType === 'FULL' ? 'FULL' : 'PARTIAL';
74
74
  const onlyProductIds = ((_a = props.onlyProductIds) !== null && _a !== void 0 ? _a : []).map((id) => String(id).trim()).filter((id) => id !== '');
75
- if (updateType === 'FULL' && onlyProductIds.length > 0) {
76
- throw new Error('"Only These Products" can\'t be combined with Full: a Full import would set every other product in the warehouse to 0.');
75
+ const writeMode = writeModeOf({ value: props.writeMode });
76
+ if (writeMode === 'REPLACE_WAREHOUSE' && onlyProductIds.length > 0) {
77
+ throw new Error('"Only These Products" can\'t be combined with replacing the warehouse: every product outside the subset would be set to 0. Use "Set only these products" instead.');
77
78
  }
78
79
  const auth = context.auth.props;
79
80
  const token = yield client_1.sellercloudClient.getToken({ auth, store: context.store });
@@ -99,7 +100,7 @@ exports.importInventoryFromCsv = (0, pieces_framework_1.createAction)({
99
100
  unmatchedSample: mapping.unmatchedSample,
100
101
  productsToImport: mapping.rows.length,
101
102
  missingFromFile: mapping.missingFromFile,
102
- updateType,
103
+ writeMode,
103
104
  };
104
105
  if (props.dryRun) {
105
106
  const warehouse = yield run_import_1.importRunner.findWarehouse({ auth, token, warehouseId: props.warehouse });
@@ -110,11 +111,12 @@ exports.importInventoryFromCsv = (0, pieces_framework_1.createAction)({
110
111
  token,
111
112
  store: context.store,
112
113
  warehouseId: props.warehouse,
113
- writeMode: props.writeMode === 'ADD' ? 'ADD' : 'SET',
114
+ writeMode,
114
115
  adjustmentReason: props.adjustmentReason,
115
116
  verifyAfterWrite: props.verifyAfterWrite,
117
+ trustLastWritten: props.trustLastWritten,
118
+ zeroMissing: props.zeroMissing,
116
119
  rows: mapping.rows,
117
- updateType,
118
120
  inventoryDate: props.inventoryDate ? new Date(props.inventoryDate) : new Date(),
119
121
  waitForCompletion: (_e = props.waitForCompletion) !== null && _e !== void 0 ? _e : true,
120
122
  timeoutSeconds: (_f = props.timeoutSeconds) !== null && _f !== void 0 ? _f : 300,
@@ -123,4 +125,7 @@ exports.importInventoryFromCsv = (0, pieces_framework_1.createAction)({
123
125
  });
124
126
  },
125
127
  });
128
+ function writeModeOf({ value }) {
129
+ return value === 'ADD' || value === 'SET_LISTED' ? value : 'REPLACE_WAREHOUSE';
130
+ }
126
131
  //# sourceMappingURL=import-inventory-from-csv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-inventory-from-csv.js","sourceRoot":"","sources":["../../../../src/lib/actions/import-inventory-from-csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-inventory-from-csv.js","sourceRoot":"","sources":["../../../../src/lib/actions/import-inventory-from-csv.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,8 @@ export declare const importPhysicalInventory: import("@activepieces/pieces-frame
14
14
  writeMode: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
15
15
  adjustmentReason: import("@activepieces/pieces-framework").ShortTextProperty<false>;
16
16
  verifyAfterWrite: import("@activepieces/pieces-framework").CheckboxProperty<false>;
17
- updateType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
17
+ trustLastWritten: import("@activepieces/pieces-framework").CheckboxProperty<false>;
18
+ zeroMissing: import("@activepieces/pieces-framework").CheckboxProperty<false>;
18
19
  inventoryDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
19
20
  waitForCompletion: import("@activepieces/pieces-framework").CheckboxProperty<false>;
20
21
  timeoutSeconds: import("@activepieces/pieces-framework").NumberProperty<false>;
@@ -23,7 +23,8 @@ exports.importPhysicalInventory = (0, pieces_framework_1.createAction)({
23
23
  writeMode: props_1.sellercloudProps.writeMode,
24
24
  adjustmentReason: props_1.sellercloudProps.adjustmentReason,
25
25
  verifyAfterWrite: props_1.sellercloudProps.verifyAfterWrite,
26
- updateType: props_1.sellercloudProps.updateType,
26
+ trustLastWritten: props_1.sellercloudProps.trustLastWritten,
27
+ zeroMissing: props_1.sellercloudProps.zeroMissing,
27
28
  inventoryDate: props_1.sellercloudProps.inventoryDate,
28
29
  waitForCompletion: props_1.sellercloudProps.waitForCompletion,
29
30
  timeoutSeconds: props_1.sellercloudProps.timeoutSeconds,
@@ -40,11 +41,12 @@ exports.importPhysicalInventory = (0, pieces_framework_1.createAction)({
40
41
  token,
41
42
  store: context.store,
42
43
  warehouseId: props.warehouse,
43
- writeMode: props.writeMode === 'ADD' ? 'ADD' : 'SET',
44
+ writeMode: writeModeOf({ value: props.writeMode }),
44
45
  adjustmentReason: props.adjustmentReason,
45
46
  verifyAfterWrite: props.verifyAfterWrite,
47
+ trustLastWritten: props.trustLastWritten,
48
+ zeroMissing: props.zeroMissing,
46
49
  rows,
47
- updateType: props.updateType === 'FULL' ? 'FULL' : 'PARTIAL',
48
50
  inventoryDate: props.inventoryDate ? new Date(props.inventoryDate) : new Date(),
49
51
  waitForCompletion: (_a = props.waitForCompletion) !== null && _a !== void 0 ? _a : true,
50
52
  timeoutSeconds: (_b = props.timeoutSeconds) !== null && _b !== void 0 ? _b : 300,
@@ -69,4 +71,7 @@ function parseItems({ items }) {
69
71
  function isRecord(value) {
70
72
  return typeof value === 'object' && value !== null;
71
73
  }
74
+ function writeModeOf({ value }) {
75
+ return value === 'ADD' || value === 'SET_LISTED' ? value : 'REPLACE_WAREHOUSE';
76
+ }
72
77
  //# sourceMappingURL=import-physical-inventory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-physical-inventory.js","sourceRoot":"","sources":["../../../../src/lib/actions/import-physical-inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-physical-inventory.js","sourceRoot":"","sources":["../../../../src/lib/actions/import-physical-inventory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SellercloudAuthProps } from './client';
2
- declare function submitImport({ auth, token, warehouse, rows, updateType, inventoryDate }: SubmitImportParams): Promise<SubmittedJob>;
2
+ declare function submitImport({ auth, token, warehouse, rows, updateType, inventoryDate, waitForSlotSeconds }: SubmitImportParams): Promise<SubmittedJob>;
3
3
  declare function getJob({ auth, token, jobId }: {
4
4
  auth: SellercloudAuthProps;
5
5
  token?: string;
@@ -44,7 +44,7 @@ type SubmittedJob = {
44
44
  link: string | null;
45
45
  message: string | null;
46
46
  };
47
- type SubmitImportParams = {
47
+ type SubmitOnceParams = {
48
48
  auth: SellercloudAuthProps;
49
49
  token?: string;
50
50
  warehouse: {
@@ -55,6 +55,9 @@ type SubmitImportParams = {
55
55
  updateType: UpdateType;
56
56
  inventoryDate: Date;
57
57
  };
58
+ type SubmitImportParams = SubmitOnceParams & {
59
+ waitForSlotSeconds?: number;
60
+ };
58
61
  type WaitParams = {
59
62
  auth: SellercloudAuthProps;
60
63
  token?: string;
@@ -3,8 +3,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inventoryImport = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const shared_1 = require("@activepieces/shared");
6
7
  const client_1 = require("./client");
8
+ // SellerCloud permits one physical-inventory import in flight per account and answers
9
+ // 500 "You are not allowed to import physical inventory because N jobs are already
10
+ // submitted" otherwise. Several PDC warehouses therefore cannot import in parallel; wait
11
+ // for the slot instead of failing the run.
7
12
  function submitImport(_a) {
13
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, warehouse, rows, updateType, inventoryDate, waitForSlotSeconds }) {
14
+ const deadline = Date.now() + (waitForSlotSeconds !== null && waitForSlotSeconds !== void 0 ? waitForSlotSeconds : DEFAULT_SLOT_WAIT_S) * 1000;
15
+ for (;;) {
16
+ const { data, error } = yield (0, shared_1.tryCatch)(() => submitOnce({ auth, token, warehouse, rows, updateType, inventoryDate }));
17
+ if (!error) {
18
+ return data;
19
+ }
20
+ const blockingJob = blockedByJob({ error });
21
+ if ((0, shared_1.isNil)(blockingJob) || Date.now() > deadline) {
22
+ throw error;
23
+ }
24
+ yield waitForJob({ auth, token, jobId: blockingJob, timeoutSeconds: Math.max(1, Math.round((deadline - Date.now()) / 1000)) });
25
+ }
26
+ });
27
+ }
28
+ function blockedByJob({ error }) {
29
+ var _a;
30
+ const body = error instanceof pieces_common_1.HttpError ? String((_a = error.response.body) !== null && _a !== void 0 ? _a : '') : '';
31
+ const match = /already submitted[\s\S]*?(\d+)/.exec(body);
32
+ return match ? Number(match[1]) : null;
33
+ }
34
+ function submitOnce(_a) {
8
35
  return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, warehouse, rows, updateType, inventoryDate }) {
9
36
  var _b, _c;
10
37
  const csv = buildTemplateCsv({ warehouseName: warehouse.Name, rows, inventoryDate });
@@ -108,6 +135,7 @@ function statusName({ raw }) {
108
135
  }
109
136
  const TENANT_TIME_ZONE = 'America/New_York';
110
137
  const CSV_FORMAT = 1;
138
+ const DEFAULT_SLOT_WAIT_S = 1800;
111
139
  const POLL_INTERVAL_MS = 5000;
112
140
  const TEMPLATE_HEADER = 'ProductID,Warehouse,PhysicalInventoryQty,InventoryDate,LocationNotes';
113
141
  // The documented enum has no 2, so a dense array silently reads Completed (3) as Failed.
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../../src/lib/common/inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../../src/lib/common/inventory.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ export declare const sellercloudProps: {
8
8
  writeMode: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
9
9
  adjustmentReason: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
10
  verifyAfterWrite: import("@activepieces/pieces-framework").CheckboxProperty<false>;
11
- updateType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
11
+ trustLastWritten: import("@activepieces/pieces-framework").CheckboxProperty<false>;
12
+ zeroMissing: import("@activepieces/pieces-framework").CheckboxProperty<false>;
12
13
  inventoryDate: import("@activepieces/pieces-framework").DateTimeProperty<false>;
13
14
  waitForCompletion: import("@activepieces/pieces-framework").CheckboxProperty<false>;
14
15
  timeoutSeconds: import("@activepieces/pieces-framework").NumberProperty<false>;
@@ -27,43 +27,47 @@ const warehouse = pieces_framework_1.Property.Dropdown({
27
27
  };
28
28
  }),
29
29
  });
30
- // The API's import is additive; "set" is emulated with read + delta adjustments.
30
+ // Three real behaviours, named by what they do rather than by the API's UpdateType flag:
31
+ // a Full import replaces the warehouse (verified: a listed product is set to the file
32
+ // value, an unlisted one goes to 0), a Partial import adds, and delta adjustments set
33
+ // only the listed products without touching anything else.
31
34
  const writeMode = pieces_framework_1.Property.StaticDropdown({
32
35
  displayName: 'Quantity Handling',
33
- description: 'Set to the file amount, or add the file amount on top of what is already there.',
36
+ description: 'How the file quantities are applied to this warehouse.',
34
37
  required: true,
35
- defaultValue: 'SET',
38
+ defaultValue: 'SET_LISTED',
36
39
  options: {
37
40
  options: [
38
- { label: 'Set to this amount (read current, adjust by the difference)', value: 'SET' },
39
- { label: 'Add to current amount (SellerCloud\'s native import)', value: 'ADD' },
41
+ { label: 'Set only these products — leave other products untouched', value: 'SET_LISTED' },
42
+ { label: 'Replace the warehouse — set these products, zero everything else (slow: a full import takes ~1 hour and blocks every other import account-wide)', value: 'REPLACE_WAREHOUSE' },
43
+ { label: 'Add to current quantities', value: 'ADD' },
40
44
  ],
41
45
  },
42
46
  });
43
47
  const adjustmentReason = pieces_framework_1.Property.ShortText({
44
48
  displayName: 'Adjustment Reason',
45
- description: 'Recorded against each adjustment in SellerCloud. Only used when setting amounts.',
49
+ description: 'Recorded against each adjustment in SellerCloud. Only used when setting only the listed products.',
46
50
  required: false,
47
51
  defaultValue: 'PDC inventory import',
48
52
  });
53
+ const trustLastWritten = pieces_framework_1.Property.Checkbox({
54
+ displayName: 'Trust Last Written Quantities',
55
+ description: 'When setting only the listed products, reuses what this flow last wrote instead of reading each one back. Much faster, but only safe when nothing else changes inventory in this warehouse.',
56
+ required: false,
57
+ defaultValue: false,
58
+ });
59
+ const zeroMissing = pieces_framework_1.Property.Checkbox({
60
+ displayName: 'Zero Products Missing From This Run',
61
+ description: 'When setting only the listed products, any product this flow wrote previously but that is absent now is set to 0. Gives the same end state as replacing the warehouse, without the hours-long full import. Needs "Trust Last Written Quantities" history to know what was written before.',
62
+ required: false,
63
+ defaultValue: false,
64
+ });
49
65
  const verifyAfterWrite = pieces_framework_1.Property.Checkbox({
50
66
  displayName: 'Verify After Writing',
51
67
  description: 'Adjustments apply asynchronously. When on, this polls until the quantities settle and reports any that did not land.',
52
68
  required: false,
53
69
  defaultValue: true,
54
70
  });
55
- const updateType = pieces_framework_1.Property.StaticDropdown({
56
- displayName: 'Update Type',
57
- description: 'Only applies when adding to current amounts. Partial changes only the products in the file; Full also sets every other product in this warehouse to 0.',
58
- required: true,
59
- defaultValue: 'PARTIAL',
60
- options: {
61
- options: [
62
- { label: 'Partial (only products in the file)', value: 'PARTIAL' },
63
- { label: 'Full (products not in the file go to 0)', value: 'FULL' },
64
- ],
65
- },
66
- });
67
71
  const inventoryDate = pieces_framework_1.Property.DateTime({
68
72
  displayName: 'Inventory Date',
69
73
  description: 'When the counts were taken. Defaults to now.',
@@ -86,7 +90,8 @@ exports.sellercloudProps = {
86
90
  writeMode,
87
91
  adjustmentReason,
88
92
  verifyAfterWrite,
89
- updateType,
93
+ trustLastWritten,
94
+ zeroMissing,
90
95
  inventoryDate,
91
96
  waitForCompletion,
92
97
  timeoutSeconds,
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../src/lib/common/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../src/lib/common/props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ declare function read({ store, warehouseId }: LedgerRef): Promise<Record<string, number>>;
2
+ declare function write({ store, warehouseId, quantities }: LedgerRef & {
3
+ quantities: Record<string, number>;
4
+ }): Promise<void>;
5
+ declare function merge({ store, warehouseId, applied }: LedgerRef & {
6
+ applied: Record<string, number>;
7
+ }): Promise<Record<string, number>>;
8
+ declare function forget({ store, warehouseId, productIds }: LedgerRef & {
9
+ productIds: string[];
10
+ }): Promise<void>;
11
+ export declare const quantityLedger: {
12
+ read: typeof read;
13
+ write: typeof write;
14
+ merge: typeof merge;
15
+ forget: typeof forget;
16
+ };
17
+ type LedgerRef = {
18
+ store: LedgerStore;
19
+ warehouseId: number;
20
+ };
21
+ export type LedgerStore = {
22
+ get: <T>(key: string) => Promise<T | null>;
23
+ put: (key: string, value: unknown) => Promise<unknown>;
24
+ };
25
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quantityLedger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const shared_1 = require("@activepieces/shared");
6
+ // Reading a shadow SKU's warehouse quantity costs one request each, and no bulk endpoint
7
+ // exposes it, so a 466-SKU warehouse costs ~466 reads per run. When this integration is
8
+ // the only writer to a warehouse, the quantity it last wrote is already known, and the
9
+ // delta can be computed from that instead. The ledger is per warehouse so two PDCs never
10
+ // read each other's numbers.
11
+ function read(_a) {
12
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, warehouseId }) {
13
+ const { data } = yield (0, shared_1.tryCatch)(() => store.get(key({ warehouseId })));
14
+ return (0, shared_1.isNil)(data) ? {} : data;
15
+ });
16
+ }
17
+ function write(_a) {
18
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, warehouseId, quantities }) {
19
+ yield store.put(key({ warehouseId }), quantities);
20
+ });
21
+ }
22
+ // Only the SKUs just written are updated: a SKU missing from this run keeps whatever the
23
+ // previous run recorded, so dropping out of one file does not erase its history.
24
+ function merge(_a) {
25
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, warehouseId, applied }) {
26
+ const existing = yield read({ store, warehouseId });
27
+ const merged = Object.assign(Object.assign({}, existing), applied);
28
+ yield write({ store, warehouseId, quantities: merged });
29
+ return merged;
30
+ });
31
+ }
32
+ function forget(_a) {
33
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, warehouseId, productIds }) {
34
+ const existing = yield read({ store, warehouseId });
35
+ const remaining = Object.fromEntries(Object.entries(existing).filter(([productId]) => !productIds.includes(productId)));
36
+ yield write({ store, warehouseId, quantities: remaining });
37
+ });
38
+ }
39
+ function key({ warehouseId }) {
40
+ return `${LEDGER_PREFIX}${warehouseId}`;
41
+ }
42
+ exports.quantityLedger = { read, write, merge, forget };
43
+ const LEDGER_PREFIX = 'sellercloud_last_written_wh';
44
+ //# sourceMappingURL=quantity-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantity-ledger.js","sourceRoot":"","sources":["../../../../src/lib/common/quantity-ledger.ts"],"names":[],"mappings":";;;;AAAA,iDAAuD;AAEvD,yFAAyF;AACzF,wFAAwF;AACxF,uFAAuF;AACvF,yFAAyF;AACzF,6BAA6B;AAC7B,SAAe,IAAI;iEAAC,EAAE,KAAK,EAAE,WAAW,EAAa;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAQ,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAyB,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;CAAA;AAED,SAAe,KAAK;iEAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAsD;QACvG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;CAAA;AAED,yFAAyF;AACzF,iFAAiF;AACjF,SAAe,KAAK;iEAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAmD;QACjG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,mCAAQ,QAAQ,GAAK,OAAO,CAAE,CAAC;QAC3C,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,MAAM;iEAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAwC;QAC1F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxH,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;CAAA;AAED,SAAS,GAAG,CAAC,EAAE,WAAW,EAA2B;IACjD,OAAO,GAAG,aAAa,GAAG,WAAW,EAAE,CAAC;AAC5C,CAAC;AAEY,QAAA,cAAc,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAE7D,MAAM,aAAa,GAAG,6BAA6B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { SellercloudAuthProps, TokenStore } from './client';
2
- import { InventoryRow, JobResult, UpdateType } from './inventory';
2
+ import { InventoryRow, JobResult } from './inventory';
3
3
  import { SetOutcome } from './set-inventory';
4
- declare function runImport({ auth, token, store, warehouseId, rows, updateType, inventoryDate, waitForCompletion, timeoutSeconds, writeMode, adjustmentReason, verifyAfterWrite }: RunImportParams): Promise<ImportOutcome>;
4
+ declare function runImport({ auth, token, store, warehouseId, rows, inventoryDate, waitForCompletion, timeoutSeconds, writeMode, adjustmentReason, verifyAfterWrite, trustLastWritten, zeroMissing }: RunImportParams): Promise<ImportOutcome>;
5
5
  declare function findWarehouse({ auth, token, warehouseId }: {
6
6
  auth: SellercloudAuthProps;
7
7
  token: string;
@@ -27,7 +27,7 @@ export type ImportOutcome = {
27
27
  } | null;
28
28
  set?: SetOutcome;
29
29
  };
30
- export type WriteMode = 'SET' | 'ADD';
30
+ export type WriteMode = 'REPLACE_WAREHOUSE' | 'SET_LISTED' | 'ADD';
31
31
  type RunImportParams = {
32
32
  auth: SellercloudAuthProps;
33
33
  token: string;
@@ -35,9 +35,10 @@ type RunImportParams = {
35
35
  writeMode: WriteMode;
36
36
  adjustmentReason?: string;
37
37
  verifyAfterWrite?: boolean;
38
+ trustLastWritten?: boolean;
39
+ zeroMissing?: boolean;
38
40
  warehouseId: number;
39
41
  rows: InventoryRow[];
40
- updateType: UpdateType;
41
42
  inventoryDate: Date;
42
43
  waitForCompletion: boolean;
43
44
  timeoutSeconds: number;
@@ -6,14 +6,14 @@ const client_1 = require("./client");
6
6
  const inventory_1 = require("./inventory");
7
7
  const set_inventory_1 = require("./set-inventory");
8
8
  function runImport(_a) {
9
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, rows, updateType, inventoryDate, waitForCompletion, timeoutSeconds, writeMode, adjustmentReason, verifyAfterWrite }) {
9
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, rows, inventoryDate, waitForCompletion, timeoutSeconds, writeMode, adjustmentReason, verifyAfterWrite, trustLastWritten, zeroMissing }) {
10
10
  var _b;
11
11
  const warehouse = yield findWarehouse({ auth, token, warehouseId });
12
12
  if (rows.length === 0) {
13
13
  return { warehouse, submitted: false, job: null };
14
14
  }
15
- // SellerCloud's import adds; setting an absolute amount needs read + delta instead.
16
- if (writeMode === 'SET') {
15
+ // Only the delta path needs reads; both import modes are a single queued job.
16
+ if (writeMode === 'SET_LISTED') {
17
17
  const set = yield set_inventory_1.inventorySetter.setQuantities({
18
18
  auth,
19
19
  token,
@@ -22,10 +22,16 @@ function runImport(_a) {
22
22
  rows,
23
23
  reason: adjustmentReason !== null && adjustmentReason !== void 0 ? adjustmentReason : 'Inventory import',
24
24
  verify: verifyAfterWrite !== null && verifyAfterWrite !== void 0 ? verifyAfterWrite : true,
25
+ useLedger: trustLastWritten !== null && trustLastWritten !== void 0 ? trustLastWritten : false,
26
+ zeroMissing: zeroMissing !== null && zeroMissing !== void 0 ? zeroMissing : false,
25
27
  });
26
28
  return { warehouse, submitted: true, job: null, set };
27
29
  }
28
- const submitted = yield inventory_1.inventoryImport.submitImport({ auth, token, warehouse, rows, updateType, inventoryDate });
30
+ // A Full import replaces the warehouse; a Partial one adds to what is already there.
31
+ const submitted = yield inventory_1.inventoryImport.submitImport({
32
+ auth, token, warehouse, rows, inventoryDate,
33
+ updateType: writeMode === 'REPLACE_WAREHOUSE' ? 'FULL' : 'PARTIAL',
34
+ });
29
35
  if (!waitForCompletion) {
30
36
  return { warehouse, submitted: true, job: { id: submitted.id, status: 'Submitted', message: submitted.message } };
31
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-import.js","sourceRoot":"","sources":["../../../../src/lib/common/run-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-import.js","sourceRoot":"","sources":["../../../../src/lib/common/run-import.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SellercloudAuthProps, TokenStore } from './client';
2
2
  import { InventoryRow } from './inventory';
3
- declare function setQuantities({ auth, token, store, warehouseId, rows, reason, verify, onProgress }: SetQuantitiesParams): Promise<SetOutcome>;
3
+ declare function setQuantities({ auth, token, store, warehouseId, rows, reason, verify, useLedger, zeroMissing, onProgress }: SetQuantitiesParams): Promise<SetOutcome>;
4
4
  declare function readQuantity({ auth, token, store, warehouseId, productId }: ReadQuantityParams): Promise<number | null>;
5
5
  export declare const inventorySetter: {
6
6
  setQuantities: typeof setQuantities;
@@ -23,9 +23,12 @@ export type VerifyResult = {
23
23
  actual: number | null;
24
24
  }[];
25
25
  };
26
+ export type QuantitySource = 'read' | 'ledger';
26
27
  export type SetOutcome = {
27
28
  warehouseId: number;
29
+ source: QuantitySource;
28
30
  requested: number;
31
+ zeroedMissing: number;
29
32
  changed: number;
30
33
  unchanged: number;
31
34
  failed: number;
@@ -40,12 +43,14 @@ type SetQuantitiesParams = {
40
43
  rows: InventoryRow[];
41
44
  reason: string;
42
45
  verify: boolean;
46
+ useLedger: boolean;
47
+ zeroMissing: boolean;
43
48
  onProgress?: (progress: {
44
49
  done: number;
45
50
  total: number;
46
51
  }) => void;
47
52
  };
48
- type ReadQuantitiesParams = Omit<SetQuantitiesParams, 'rows' | 'reason' | 'verify' | 'onProgress'> & {
53
+ type ReadQuantitiesParams = Omit<SetQuantitiesParams, 'rows' | 'reason' | 'verify' | 'useLedger' | 'zeroMissing' | 'onProgress'> & {
49
54
  productIds: string[];
50
55
  };
51
56
  type ReadQuantityParams = Omit<ReadQuantitiesParams, 'productIds'> & {
@@ -5,14 +5,21 @@ const tslib_1 = require("tslib");
5
5
  const pieces_common_1 = require("@activepieces/pieces-common");
6
6
  const shared_1 = require("@activepieces/shared");
7
7
  const client_1 = require("./client");
8
+ const quantity_ledger_1 = require("./quantity-ledger");
8
9
  // ImportPhysicalInventory ADDS to the existing quantity, so "set this warehouse to N"
9
10
  // has to be expressed as a delta. AdjustPhysicalInventory takes one, and unlike
10
11
  // SetPhysicalInventory it is not blocked for shadow SKUs.
11
12
  function setQuantities(_a) {
12
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, rows, reason, verify, onProgress }) {
13
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, rows, reason, verify, useLedger, zeroMissing, onProgress }) {
13
14
  var _b, _c;
14
- const current = yield readQuantities({ auth, token, store, warehouseId, productIds: rows.map((row) => row.productId) });
15
- const planned = rows.map((row) => plan({ row, current: current.get(row.productId) }));
15
+ if ((zeroMissing || useLedger) && !verify) {
16
+ throw new Error('Trusting or extending the last-written history requires "Verify After Writing": without it the history records intent rather than confirmed quantities.');
17
+ }
18
+ const targets = zeroMissing
19
+ ? yield withMissingZeroed({ store, warehouseId, rows })
20
+ : rows;
21
+ const current = yield currentQuantities({ auth, token, store, warehouseId, rows: targets, useLedger });
22
+ const planned = targets.map((row) => plan({ row, current: current.quantities.get(row.productId) }));
16
23
  const applied = [];
17
24
  for (const [index, item] of planned.entries()) {
18
25
  if (item.delta !== 0 && (0, shared_1.isNil)(item.error)) {
@@ -27,9 +34,26 @@ function setQuantities(_a) {
27
34
  const verified = verify
28
35
  ? yield verifyQuantities({ auth, token, store, warehouseId, planned })
29
36
  : null;
37
+ // The ledger is a claim about SellerCloud's state, so only verified quantities may
38
+ // enter it. Recording intent instead let an adjustment that lagged or failed leave a
39
+ // false baseline, and the next run then computed its delta from a number that was
40
+ // never true. Without verification nothing is recorded at all.
41
+ if (!(0, shared_1.isNil)(store) && !(0, shared_1.isNil)(verified)) {
42
+ const unconfirmed = new Set(verified.mismatches.map((mismatch) => mismatch.productId));
43
+ const confirmed = Object.fromEntries(applied
44
+ .filter((item) => (0, shared_1.isNil)(item.error) && !unconfirmed.has(item.productId))
45
+ .map((item) => [item.productId, item.to]));
46
+ yield quantity_ledger_1.quantityLedger.merge({ store, warehouseId, applied: confirmed });
47
+ // A SKU that did not land must not keep a stale claim either.
48
+ if (unconfirmed.size > 0) {
49
+ yield quantity_ledger_1.quantityLedger.forget({ store, warehouseId, productIds: [...unconfirmed] });
50
+ }
51
+ }
30
52
  return {
31
53
  warehouseId,
32
- requested: rows.length,
54
+ source: current.source,
55
+ requested: targets.length,
56
+ zeroedMissing: targets.length - rows.length,
33
57
  changed: applied.filter((item) => item.delta !== 0 && (0, shared_1.isNil)(item.error)).length,
34
58
  unchanged: applied.filter((item) => item.delta === 0).length,
35
59
  failed: applied.filter((item) => !(0, shared_1.isNil)(item.error)).length,
@@ -38,6 +62,42 @@ function setQuantities(_a) {
38
62
  };
39
63
  });
40
64
  }
65
+ // With the ledger, a SKU this integration has written before needs no read at all; the
66
+ // rest still do, so a first run or a newly added part stays correct.
67
+ // A part that drops out of the file has not gone to zero on its own: replacing the
68
+ // warehouse would zero it, but that import takes hours, so the ledger of what this flow
69
+ // wrote last time stands in for it and those products are set to 0 explicitly.
70
+ function withMissingZeroed(_a) {
71
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, warehouseId, rows }) {
72
+ if ((0, shared_1.isNil)(store)) {
73
+ return rows;
74
+ }
75
+ const ledger = yield quantity_ledger_1.quantityLedger.read({ store, warehouseId });
76
+ const present = new Set(rows.map((row) => row.productId));
77
+ const missing = Object.keys(ledger)
78
+ .filter((productId) => !present.has(productId) && ledger[productId] !== 0)
79
+ .map((productId) => ({ productId, quantity: 0 }));
80
+ return [...rows, ...missing];
81
+ });
82
+ }
83
+ function currentQuantities(_a) {
84
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, rows, useLedger }) {
85
+ var _b;
86
+ if (!useLedger || (0, shared_1.isNil)(store)) {
87
+ return { quantities: yield readQuantities({ auth, token, store, warehouseId, productIds: rows.map((row) => row.productId) }), source: 'read' };
88
+ }
89
+ const ledger = yield quantity_ledger_1.quantityLedger.read({ store, warehouseId });
90
+ const missing = rows.filter((row) => (0, shared_1.isNil)(ledger[row.productId])).map((row) => row.productId);
91
+ const read = missing.length > 0
92
+ ? yield readQuantities({ auth, token, store, warehouseId, productIds: missing })
93
+ : new Map();
94
+ const quantities = new Map();
95
+ for (const row of rows) {
96
+ quantities.set(row.productId, read.has(row.productId) ? (_b = read.get(row.productId)) !== null && _b !== void 0 ? _b : null : ledger[row.productId]);
97
+ }
98
+ return { quantities, source: missing.length === rows.length ? 'read' : 'ledger' };
99
+ });
100
+ }
41
101
  function plan({ row, current }) {
42
102
  if ((0, shared_1.isNil)(current)) {
43
103
  return { productId: row.productId, from: null, to: row.quantity, delta: 0, error: 'no inventory row in this warehouse' };
@@ -50,7 +110,10 @@ function readQuantities(_a) {
50
110
  return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, productIds }) {
51
111
  const entries = new Map();
52
112
  for (const productId of productIds) {
53
- entries.set(productId, yield readQuantity({ auth, token, store, warehouseId, productId }));
113
+ // SellerCloud answers 500 for an unknown productID, and one unreadable SKU must
114
+ // not abandon a part-written batch: record it as unknown and carry on.
115
+ const { data, error } = yield (0, shared_1.tryCatch)(() => readQuantity({ auth, token, store, warehouseId, productId }));
116
+ entries.set(productId, error ? null : data);
54
117
  }
55
118
  return entries;
56
119
  });
@@ -95,23 +158,30 @@ function verifyQuantities(_a) {
95
158
  return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, token, store, warehouseId, planned }) {
96
159
  const expected = planned.filter((item) => (0, shared_1.isNil)(item.error));
97
160
  const deadline = Date.now() + VERIFY_TIMEOUT_MS;
98
- let observed = new Map();
99
- let matched = false;
161
+ const observed = new Map();
162
+ // Re-reading every SKU each round is the bulk of a large batch's cost, so each round
163
+ // only polls what has not landed yet.
164
+ let outstanding = expected;
100
165
  // Only an exact match counts as settled. Two identical reads are NOT evidence of
101
166
  // completion: a pending adjustment reads as the old value for as long as a minute,
102
167
  // so "stopped changing" is indistinguishable from "has not started".
103
- while (Date.now() < deadline) {
168
+ while (outstanding.length > 0 && Date.now() < deadline) {
104
169
  yield new Promise((resolve) => setTimeout(resolve, VERIFY_POLL_MS));
105
- observed = yield readQuantities({ auth, token, store, warehouseId, productIds: expected.map((item) => item.productId) });
106
- if (expected.every((item) => observed.get(item.productId) === item.to)) {
107
- matched = true;
108
- break;
170
+ const round = yield readQuantities({ auth, token, store, warehouseId, productIds: outstanding.map((item) => item.productId) });
171
+ for (const [productId, quantity] of round) {
172
+ observed.set(productId, quantity);
109
173
  }
174
+ outstanding = outstanding.filter((item) => round.get(item.productId) !== item.to);
110
175
  }
111
- const mismatches = expected
112
- .filter((item) => observed.get(item.productId) !== item.to)
113
- .map((item) => { var _a; return ({ productId: item.productId, expected: item.to, actual: (_a = observed.get(item.productId)) !== null && _a !== void 0 ? _a : null }); });
114
- return { settled: matched, timedOut: !matched, mismatches };
176
+ const mismatches = outstanding.map((item) => {
177
+ var _a;
178
+ return ({
179
+ productId: item.productId,
180
+ expected: item.to,
181
+ actual: (_a = observed.get(item.productId)) !== null && _a !== void 0 ? _a : null,
182
+ });
183
+ });
184
+ return { settled: outstanding.length === 0, timedOut: outstanding.length > 0, mismatches };
115
185
  });
116
186
  }
117
187
  exports.inventorySetter = { setQuantities, readQuantity };
@@ -1 +1 @@
1
- {"version":3,"file":"set-inventory.js","sourceRoot":"","sources":["../../../../src/lib/common/set-inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-inventory.js","sourceRoot":"","sources":["../../../../src/lib/common/set-inventory.ts"],"names":[],"mappings":"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"}