@lofder/dsers-mcp-product 1.0.0 → 1.0.2

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/dist/provider.js CHANGED
@@ -27,7 +27,7 @@ const DEFAULT_PUSH_CHANNELS = [
27
27
  "facebook_instagram",
28
28
  "amazon",
29
29
  ];
30
- const ALIEXPRESS_ID_PATTERN = /\/item\/(\d+)\.html/i;
30
+ const ALIEXPRESS_ID_PATTERN = /\/(?:item|i)\/(\d+)\.html/i;
31
31
  const ALIBABA_ID_PATTERN = /\/product-detail\/[^_]+_(\d+)\.html/i;
32
32
  const ALI1688_ID_PATTERN = /1688\.com\/(?:offer|product-detail)\/(\d+)\.html/i;
33
33
  export class PrivateDsersProvider {
@@ -53,10 +53,46 @@ export class PrivateDsersProvider {
53
53
  if (targetStore) {
54
54
  notes.push(`Target store hint received: ${targetStore}`);
55
55
  }
56
+ const account_info = {};
57
+ try {
58
+ const ilRes = await product.getImportList(this.client, { page: 1, size: 1 });
59
+ const ilData = ilRes?.data;
60
+ account_info.import_list_count = Array.isArray(ilData) ? ilData.length : (ilData?.total ?? null);
61
+ }
62
+ catch { /* non-critical */ }
63
+ try {
64
+ const planRes = await settings.getCurrentPlan(this.client);
65
+ const pd = planRes?.data ?? {};
66
+ account_info.plan = pd.type ?? pd.planType ?? pd.name ?? null;
67
+ account_info.plan_status = pd.status ?? null;
68
+ account_info.plan_deadline = pd.deadline ?? null;
69
+ }
70
+ catch { /* non-critical */ }
71
+ try {
72
+ const limRes = await settings.getPlanLimits(this.client);
73
+ const ld = limRes?.data ?? {};
74
+ account_info.limits = {
75
+ store_limit: ld.storeLimit,
76
+ product_limit: ld.productLimit,
77
+ import_limit: ld.importLimit,
78
+ import_day_limit: ld.importDayLimit,
79
+ };
80
+ }
81
+ catch { /* non-critical */ }
82
+ try {
83
+ const authCheck = await this.checkAliExpressAuth();
84
+ account_info.aliexpress_auth = {
85
+ valid: authCheck.valid,
86
+ all_expired: authCheck.all_expired,
87
+ detail: authCheck.details,
88
+ };
89
+ }
90
+ catch { /* non-critical */ }
56
91
  return {
57
92
  provider_label: "Private DSers Adapter",
58
93
  source_support: ["aliexpress", "alibaba", "1688"],
59
94
  stores,
95
+ account_info,
60
96
  rule_families: {
61
97
  pricing: {
62
98
  supported: true,
@@ -114,6 +150,9 @@ export class PrivateDsersProvider {
114
150
  this.raiseIfError(parsePayload, "Could not resolve the supplier product URL. Verify the URL is a valid AliExpress, Alibaba, or 1688 product link.");
115
151
  supplyProductId = canonicalId || afTraceId;
116
152
  }
153
+ if (canonicalId && canonicalId !== supplyProductId) {
154
+ supplyProductId = canonicalId;
155
+ }
117
156
  if (!supplyProductId) {
118
157
  throw new Error(`Could not extract a supplier product ID from the URL: ${sourceUrl}. Ensure it contains a numeric product ID.`);
119
158
  }
@@ -121,25 +160,46 @@ export class PrivateDsersProvider {
121
160
  supplyProductId: supplyProductId,
122
161
  supplyAppId: appId,
123
162
  country,
163
+ language: ["EN"],
124
164
  }));
125
165
  if (this.hasReason(importPayload, "ALIBABA_NOT_AVAILABLE")) {
126
166
  throw new Error("The selected Alibaba or 1688 product is recognized, but DSers reports it is currently not available for import.");
127
167
  }
128
168
  if (this.hasReason(importPayload, "PRODUCT_STATUS_NOT_ONSELLING")) {
129
- throw new Error("The selected supplier product is recognized, but DSers reports it is not currently importable under the chosen source app.");
169
+ if (sourceKind === "aliexpress") {
170
+ const authCheck = await this.checkAliExpressAuth();
171
+ if (!authCheck.valid) {
172
+ throw new Error("AliExpress import failed (PRODUCT_STATUS_NOT_ONSELLING). " +
173
+ "Root cause: " + authCheck.details + " " +
174
+ "Action: The DSers account owner must re-authorize their AliExpress account at " +
175
+ "DSers > Settings > Supplier > AliExpress > Reauthorize, then retry the import.");
176
+ }
177
+ }
178
+ throw new Error("The supplier product cannot be imported — DSers reports PRODUCT_STATUS_NOT_ONSELLING. " +
179
+ "Possible causes: (1) the product has been delisted by the supplier, " +
180
+ "(2) the product is unavailable in the selected country/region, " +
181
+ "or (3) the AliExpress authorization may need refreshing. " +
182
+ "Try verifying the product URL in a browser and re-authorizing the AliExpress account in DSers settings.");
130
183
  }
131
184
  const alreadyExists = this.hasReason(importPayload, "IMPORT_LIST_PRODUCT_ALREADY_EXISTS");
132
185
  if (!alreadyExists) {
133
186
  this.raiseIfError(importPayload, `Could not import this ${sourceKind} product. The DSers account may not have the required source app enabled, or the product is unavailable.`);
134
187
  }
135
188
  let importItemId = this.extractImportItemId(importPayload);
189
+ let localProductId = this.extractLocalProductId(importPayload);
136
190
  if (!importItemId) {
137
- const searchIds = new Set([supplyProductId, canonicalId, afTraceId].filter(Boolean));
191
+ if (!localProductId) {
192
+ localProductId = await this.resolveLocalProductId(supplyProductId, appId, country);
193
+ }
194
+ const searchIds = new Set([supplyProductId, canonicalId, afTraceId, localProductId].filter(Boolean));
138
195
  importItemId = await this.recoverImportItemId(searchIds);
139
196
  }
140
197
  if (!importItemId) {
141
198
  throw new Error("Could not locate the imported product draft in the import list. The import may have failed silently.");
142
199
  }
200
+ if (localProductId && localProductId !== supplyProductId) {
201
+ supplyProductId = localProductId;
202
+ }
143
203
  const itemPayload = await safeCall(() => product.getImportListItem(this.client, importItemId));
144
204
  this.raiseIfError(itemPayload, "Could not fetch the imported product draft. The item may have been deleted from the import list.");
145
205
  const [draft, fieldMap, warnings] = this.normalizeImportItem(itemPayload);
@@ -736,6 +796,45 @@ export class PrivateDsersProvider {
736
796
  "id",
737
797
  ]) ?? "").trim();
738
798
  }
799
+ /**
800
+ * Extract the DSers-internal (local) supplyProductId from a successful
801
+ * import response. AliExpress .us URLs use global IDs (3256…) that DSers
802
+ * converts to standard IDs (1005…) at import time.
803
+ */
804
+ extractLocalProductId(payload) {
805
+ const data = payload?.data;
806
+ if (data && typeof data === "object" && !Array.isArray(data)) {
807
+ const localId = String(data.supplyProductId ?? "").trim();
808
+ if (localId && /^\d{5,}$/.test(localId))
809
+ return localId;
810
+ }
811
+ return "";
812
+ }
813
+ /**
814
+ * Look up the product pool to discover the DSers-internal (local) product ID
815
+ * for a given global product ID. `.us` AliExpress URLs yield global IDs
816
+ * (3256…) which DSers maps to standard IDs (1005…) internally.
817
+ */
818
+ async resolveLocalProductId(globalId, appId, country) {
819
+ try {
820
+ const pool = await safeCall(() => product.getPoolProductDetail(this.client, {
821
+ productId: globalId,
822
+ appId: Number(appId) || 0,
823
+ shipTo: country,
824
+ }));
825
+ const data = pool?.data;
826
+ if (data && typeof data === "object") {
827
+ const poolPid = String(data.supplyProductId ?? "").trim();
828
+ if (poolPid && /^\d{5,}$/.test(poolPid) && poolPid !== globalId)
829
+ return poolPid;
830
+ const poolPid2 = String(data.productId ?? "").trim();
831
+ if (poolPid2 && /^\d{5,}$/.test(poolPid2) && poolPid2 !== globalId)
832
+ return poolPid2;
833
+ }
834
+ }
835
+ catch { /* best-effort */ }
836
+ return "";
837
+ }
739
838
  // ── URL & ID parsing ──
740
839
  extractAfTraceId(sourceUrl) {
741
840
  try {
@@ -748,6 +847,61 @@ export class PrivateDsersProvider {
748
847
  return "";
749
848
  }
750
849
  }
850
+ /**
851
+ * Returns {valid, best_account, all_expired} for AliExpress suppliers.
852
+ * Uses the /account-user-bff/v1/suppliers/list endpoint.
853
+ */
854
+ async checkAliExpressAuth() {
855
+ try {
856
+ const payload = await account.listSuppliers(this.client);
857
+ const list = payload?.data?.list ?? payload?.data ?? [];
858
+ const aeAppId = this.aliexpressAppId;
859
+ const aeAccounts = list.filter((s) => String(s.appid) === String(aeAppId));
860
+ if (aeAccounts.length === 0) {
861
+ return {
862
+ valid: false,
863
+ best_account: null,
864
+ all_expired: true,
865
+ details: "No AliExpress supplier accounts linked. Go to DSers > Settings > Supplier to authorize your AliExpress account.",
866
+ };
867
+ }
868
+ const now = Math.floor(Date.now() / 1000);
869
+ let bestAccount = null;
870
+ let bestExpire = 0;
871
+ for (const a of aeAccounts) {
872
+ const expire = parseInt(String(a.expireTime || "0"), 10) || 0;
873
+ if (expire > bestExpire) {
874
+ bestExpire = expire;
875
+ bestAccount = a;
876
+ }
877
+ }
878
+ if (bestExpire > now) {
879
+ const daysLeft = Math.ceil((bestExpire - now) / 86400);
880
+ return {
881
+ valid: true,
882
+ best_account: bestAccount,
883
+ all_expired: false,
884
+ details: `AliExpress authorization valid (${daysLeft} days remaining).`,
885
+ };
886
+ }
887
+ const expiredAgo = Math.ceil((now - bestExpire) / 86400);
888
+ return {
889
+ valid: false,
890
+ best_account: bestAccount,
891
+ all_expired: true,
892
+ details: `All AliExpress authorizations expired (most recent expired ${expiredAgo} day(s) ago). ` +
893
+ "Re-authorize at DSers > Settings > Supplier > AliExpress > Reauthorize.",
894
+ };
895
+ }
896
+ catch {
897
+ return {
898
+ valid: true,
899
+ best_account: null,
900
+ all_expired: false,
901
+ details: "Could not verify AliExpress authorization status.",
902
+ };
903
+ }
904
+ }
751
905
  cleanProductUrl(sourceUrl) {
752
906
  try {
753
907
  const url = new URL(sourceUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -4,12 +4,13 @@ export declare class ImportFlowService {
4
4
  private provider;
5
5
  private store;
6
6
  constructor(provider: ImportProvider, store: JobStore);
7
- getRuleCapabilities(payload: Record<string, any>): Promise<Record<string, any>>;
7
+ getRuleCapabilities(payload?: Record<string, any>): Promise<Record<string, any>>;
8
8
  validateRules(payload: Record<string, any>): Promise<Record<string, any>>;
9
9
  prepareImportCandidate(payload: Record<string, any>): Promise<Record<string, any>>;
10
10
  private prepareSingle;
11
11
  private batchPrepare;
12
12
  getImportPreview(payload: Record<string, any>): Promise<Record<string, any>>;
13
+ reapplyRules(payload: Record<string, any>): Promise<Record<string, any>>;
13
14
  setProductVisibility(payload: Record<string, any>): Promise<Record<string, any>>;
14
15
  confirmPushToStore(payload: Record<string, any>): Promise<Record<string, any>>;
15
16
  private pushSingle;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2I/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAW;gBAEZ,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ;IAK/C,mBAAmB,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAazB,aAAa,CACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAezB,sBAAsB,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAQjB,aAAa;YAkEb,YAAY;IA+CpB,gBAAgB,CACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAUzB,oBAAoB,CACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBzB,kBAAkB,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAajB,UAAU;YA4DV,uBAAuB;YAsCvB,SAAS;YA0CT,YAAY;IAiBpB,YAAY,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAsB/B,OAAO,CAAC,OAAO;CAyChB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2I/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAW;gBAEZ,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ;IAK/C,mBAAmB,CACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAczB,aAAa,CACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAezB,sBAAsB,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAQjB,aAAa;YAkEb,YAAY;IA+CpB,gBAAgB,CACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAUzB,YAAY,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA2CzB,oBAAoB,CACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBzB,kBAAkB,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAajB,UAAU;YA4DV,uBAAuB;YAsCvB,SAAS;YA0CT,YAAY;IAiBpB,YAAY,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAiC/B,OAAO,CAAC,OAAO;CA+ChB"}
package/dist/service.js CHANGED
@@ -127,12 +127,13 @@ export class ImportFlowService {
127
127
  this.store = store;
128
128
  }
129
129
  async getRuleCapabilities(payload) {
130
- const targetStore = payload.target_store;
130
+ const targetStore = payload?.target_store;
131
131
  const caps = await this.provider.getRuleCapabilities(targetStore);
132
132
  return {
133
133
  provider_label: caps.provider_label ?? this.provider.name,
134
134
  source_support: caps.source_support ?? [],
135
135
  stores: caps.stores ?? [],
136
+ account_info: caps.account_info ?? {},
136
137
  rule_families: caps.rule_families ?? {},
137
138
  push_options: caps.push_options ?? {},
138
139
  notes: caps.notes ?? [],
@@ -255,6 +256,43 @@ export class ImportFlowService {
255
256
  const job = this.store.load(jobId);
256
257
  return this.preview(job);
257
258
  }
259
+ async reapplyRules(payload) {
260
+ const jobId = String(payload.job_id ?? "").trim();
261
+ if (!jobId)
262
+ throw new Error("job_id is required. Provide a job_id from a previous dsers.product.import call.");
263
+ const job = this.store.load(jobId);
264
+ if (!job.original_draft)
265
+ throw new Error("Cannot re-apply rules: original draft not found in this job. " +
266
+ "The job may have been created in a previous server session that is no longer available.");
267
+ const rules = payload.rules ?? {};
268
+ const targetStore = payload.target_store ?? job.target_store ?? null;
269
+ const providerCaps = await this.provider.getRuleCapabilities(targetStore);
270
+ const validatedRules = normalizeRules(rules, providerCaps.rule_families);
271
+ if (validatedRules.errors?.length) {
272
+ throw new Error(validatedRules.errors.join("; "));
273
+ }
274
+ const effectiveRules = validatedRules.effective_rules ?? {};
275
+ const ruled = applyRules(job.original_draft, effectiveRules);
276
+ job.draft = ruled.draft;
277
+ job.requested_rules = validatedRules.requested_rules ?? {};
278
+ job.effective_rules_snapshot = effectiveRules;
279
+ job.rules = effectiveRules;
280
+ job.rule_summary = ruled.summary ?? {};
281
+ job.status = "preview_ready";
282
+ job.updated_at = utcNow();
283
+ if (payload.target_store)
284
+ job.target_store = payload.target_store;
285
+ if (payload.visibility_mode)
286
+ job.visibility_mode = payload.visibility_mode;
287
+ job.warnings = [
288
+ ...(job.warnings?.filter((w) => !w.startsWith("Rule re-applied")) ?? []),
289
+ `Rule re-applied at ${job.updated_at}`,
290
+ ...(validatedRules.warnings ?? []),
291
+ ...(ruled.summary?.warnings ?? []),
292
+ ];
293
+ this.store.save(jobId, job);
294
+ return this.preview(job);
295
+ }
258
296
  async setProductVisibility(payload) {
259
297
  const jobId = String(payload.job_id ?? "").trim();
260
298
  const visibilityMode = String(payload.visibility_mode ?? "").trim();
@@ -403,7 +441,7 @@ export class ImportFlowService {
403
441
  if (!jobId)
404
442
  throw new Error("job_id is required. It is returned by dsers.product.import or dsers.store.push.");
405
443
  const job = this.store.load(jobId);
406
- return {
444
+ const result = {
407
445
  job_id: jobId,
408
446
  status: job.status,
409
447
  created_at: job.created_at,
@@ -416,10 +454,23 @@ export class ImportFlowService {
416
454
  ],
417
455
  has_push_result: Boolean(job.push_result),
418
456
  };
457
+ if (job.push_result) {
458
+ const pr = job.push_result;
459
+ result.push_result = {
460
+ status: pr.job_status ?? job.status,
461
+ target_store: job.target_store,
462
+ visibility_applied: pr.visibility_applied ?? job.visibility_mode,
463
+ summary: pr.summary ?? {},
464
+ warnings: pr.warnings ?? [],
465
+ };
466
+ }
467
+ return result;
419
468
  }
420
469
  preview(job) {
421
470
  const original = job.original_draft;
422
471
  const final = job.draft;
472
+ const descBefore = original?.description_html ?? "";
473
+ const descAfter = final?.description_html ?? "";
423
474
  const preview = {
424
475
  job_id: job.job_id,
425
476
  status: job.status,
@@ -430,9 +481,13 @@ export class ImportFlowService {
430
481
  visibility_mode: job.visibility_mode,
431
482
  title_before: original?.title,
432
483
  title_after: final?.title,
433
- description_changed: (original?.description_html ?? "") !== (final?.description_html ?? ""),
484
+ description_changed: descBefore !== descAfter,
485
+ description_html_snippet: descAfter.length > 500
486
+ ? descAfter.slice(0, 500) + "…"
487
+ : descAfter || null,
434
488
  images_before: (original?.images ?? []).length,
435
489
  images_after: (final?.images ?? []).length,
490
+ image_urls: (final?.images ?? []).slice(0, 10).map((img) => typeof img === "string" ? img : img?.src ?? img?.url ?? null).filter(Boolean),
436
491
  variant_count: (final?.variants ?? []).length,
437
492
  price_range_before: priceRange(original ?? {}),
438
493
  price_range_after: priceRange(final ?? {}),
@@ -444,16 +499,12 @@ export class ImportFlowService {
444
499
  warnings: job.warnings ?? [],
445
500
  };
446
501
  if (final?.variants?.length) {
447
- const totalVariants = final.variants.length;
448
- preview.variant_preview = final.variants.slice(0, 5).map((v) => ({
502
+ preview.variant_preview = final.variants.map((v) => ({
449
503
  title: v.title,
450
504
  supplier_price: v.supplier_price,
451
505
  offer_price: v.offer_price,
452
506
  sku: v.sku,
453
507
  }));
454
- if (totalVariants > 5) {
455
- preview.total_variants = totalVariants;
456
- }
457
508
  }
458
509
  return preview;
459
510
  }