1688-cli 0.1.38 → 0.1.39

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/CHANGELOG.md CHANGED
@@ -3,6 +3,35 @@
3
3
  All notable changes to this project are documented here.
4
4
  This project follows [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [0.1.39] - 2026-05-15
7
+
8
+ ### Fixed
9
+ - **`search` retry capture lifecycle.** The mtop response interceptor
10
+ was being torn down before the in-page retry click could replay the
11
+ `getOfferList` request, so retried pages produced no captured payload
12
+ and surfaced as empty pages. The capture handle now stays attached
13
+ across the full retry window (`src/session/search-capture.ts`,
14
+ `src/commands/search.ts`).
15
+
16
+ ### Changed
17
+ - **Centralized 1688 mtop response capture.** Per-command interceptor
18
+ bookkeeping (cart, image-search, offer, order-list/logistics, search,
19
+ similar) now goes through `src/session/response-capture.ts` and the
20
+ search-specific `src/session/search-capture.ts` /
21
+ `src/session/search-mtop.ts`. Page-event wiring, payload matching,
22
+ and teardown live in one place; commands shrank significantly
23
+ (search.ts alone went from ~600 to ~390 lines). Covered by
24
+ `tests/response-capture.test.ts`, `tests/search-capture.test.ts`,
25
+ `tests/search-mtop.test.ts`, `tests/mtop.test.ts`,
26
+ `tests/artifacts.test.ts`.
27
+ - **Centralized deadline polling in `src/session/wait.ts`.** The
28
+ ad-hoc `Date.now()` deadline loops left in commands after 0.1.38's
29
+ consolidation now share a single helper, with extra coverage in
30
+ `tests/wait.test.ts`.
31
+
32
+ ### Docs
33
+ - README title/header polish: clearer focus on the AI-agent use case.
34
+
6
35
  ## [0.1.38] - 2026-05-14
7
36
 
8
37
  ### Changed
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 1688-cli: Alibaba 1688.com CLI - Product Search, Inquiry, Cart, Checkout, Order Tracking & Seller Chat for AI Agents & Humans
1
+ # 1688 CLI: AI Agents Friendly Alibaba 1688.com CLI - Product Search, Inquiry, Cart, Checkout, Order Tracking & Seller Chat
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/1688-cli.svg)](https://www.npmjs.com/package/1688-cli)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/1688-cli.svg)](https://www.npmjs.com/package/1688-cli)
@@ -2,27 +2,23 @@ import { dispatch } from '../session/dispatch.js';
2
2
  import { emit, info } from '../io/output.js';
3
3
  import { CliError } from '../io/errors.js';
4
4
  import { withRecovery } from '../session/recovery.js';
5
- import { sleep, waitUntil } from '../session/wait.js';
5
+ import { sleep } from '../session/wait.js';
6
+ import { parseMtopJsonp } from '../session/mtop.js';
7
+ import { startResponseCapture, } from '../session/response-capture.js';
6
8
  import { clickConfirmDialogButton } from '../session/cart-locators.js';
7
9
  import { clickAddCartButton, fillFirstSkuQuantityInput, } from '../session/offer-locators.js';
8
10
  import { executeRaw as cartListExecute, } from './cart-list.js';
9
11
  const SKU_API_RE = /wosc\.queryofferskuselectormodel/i;
10
- function parseMtop(text) {
11
- const t = text.trim();
12
- const m = t.match(/^\s*mtopjsonp\d+\(([\s\S]*)\)\s*$/);
13
- return JSON.parse(m ? m[1] : t);
14
- }
15
12
  async function captureSkuMap(page, timeoutMs) {
16
- let skuMap = null;
17
- const onResp = async (resp) => {
18
- if (!SKU_API_RE.test(resp.url()))
19
- return;
20
- try {
21
- const text = await resp.text();
22
- const json = parseMtop(text);
13
+ const capture = startResponseCapture({
14
+ page,
15
+ timeoutMs,
16
+ matcher: SKU_API_RE,
17
+ parse: async (resp) => {
18
+ const json = parseMtopJsonp(await resp.text());
23
19
  const raw = json?.data?.skuSelectorBizModel?.skuInfoMap;
24
20
  if (!raw)
25
- return;
21
+ return null;
26
22
  const m = new Map();
27
23
  for (const [, v] of Object.entries(raw)) {
28
24
  if (v.skuId && v.specId) {
@@ -35,24 +31,13 @@ async function captureSkuMap(page, timeoutMs) {
35
31
  });
36
32
  }
37
33
  }
38
- if (m.size > 0)
39
- skuMap = m;
40
- }
41
- catch {
42
- /* ignore */
43
- }
34
+ return m.size > 0 ? m : null;
35
+ },
36
+ });
37
+ return {
38
+ skuMap: (await capture.wait()) ?? new Map(),
39
+ responseCapture: capture.diagnostics(),
44
40
  };
45
- page.on('response', onResp);
46
- try {
47
- await waitUntil(() => skuMap !== null || page.isClosed(), {
48
- timeoutMs,
49
- intervalMs: 200,
50
- });
51
- return skuMap ?? new Map();
52
- }
53
- finally {
54
- page.off('response', onResp);
55
- }
56
41
  }
57
42
  export async function execute(ctx, args) {
58
43
  if (!/^\d+$/.test(args.offerId)) {
@@ -132,9 +117,13 @@ async function executeCartAdd(ctx, args) {
132
117
  // Look up the specId for the requested skuId by intercepting the SKU
133
118
  // mtop response, then push it into the page's hijack state.
134
119
  info('Resolving specId...');
135
- const skuMap = await captureSkuMap(page, 18000);
120
+ const { skuMap, responseCapture } = await captureSkuMap(page, 18000);
136
121
  if (skuMap.size === 0) {
137
- throw new CliError(11, 'NO_SKU_DATA', 'Could not capture SKU mapping (page may be risk-controlled).');
122
+ throw new CliError(11, 'NO_SKU_DATA', 'Could not capture SKU mapping (page may be risk-controlled).', {
123
+ category: 'response_capture',
124
+ retryable: true,
125
+ responseCapture,
126
+ });
138
127
  }
139
128
  const sku = skuMap.get(args.skuId);
140
129
  if (!sku) {
@@ -163,33 +152,29 @@ async function executeCartAdd(ctx, args) {
163
152
  await sleep(600);
164
153
  info('Clicking 加采购车...');
165
154
  // Listen for the addCargo response so we can detect success quickly.
166
- let addCargoResult = null;
167
- const onResp = async (resp) => {
168
- if (!/addcargo/i.test(resp.url()))
169
- return;
170
- try {
171
- const text = await resp.text();
172
- const m = text.match(/^\s*mtopjsonp\w+\(([\s\S]*)\)\s*$/);
173
- const json = JSON.parse(m ? m[1] : text);
155
+ const addCargoCapture = startResponseCapture({
156
+ page,
157
+ timeoutMs: 10000,
158
+ matcher: /addcargo/i,
159
+ parse: async (resp) => {
160
+ const json = parseMtopJsonp(await resp.text());
174
161
  const ret = json?.ret ?? [];
175
162
  const ok = Array.isArray(ret) &&
176
163
  ret.length > 0 &&
177
164
  /SUCCESS/i.test(ret[0]);
178
- addCargoResult = { ok, ret };
179
- }
180
- catch {
181
- /* ignore */
182
- }
183
- };
184
- page.on('response', onResp);
185
- await clickAddCartButton(page);
186
- await sleep(600);
187
- await clickConfirmDialogButton(page).catch(() => undefined);
188
- await waitUntil(() => addCargoResult !== null, {
189
- timeoutMs: 10000,
190
- intervalMs: 200,
165
+ return { ok, ret };
166
+ },
191
167
  });
192
- page.off('response', onResp);
168
+ let addCargoResult;
169
+ try {
170
+ await clickAddCartButton(page);
171
+ await sleep(600);
172
+ await clickConfirmDialogButton(page).catch(() => undefined);
173
+ addCargoResult = await addCargoCapture.wait();
174
+ }
175
+ finally {
176
+ addCargoCapture.dispose();
177
+ }
193
178
  // Also check that our hijack actually fired (sanity).
194
179
  const hijackFired = await page.evaluate(() => {
195
180
  const w = window;
@@ -1 +1 @@
1
- {"version":3,"file":"cart-add.js","sourceRoot":"","sources":["../../src/commands/cart-add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cart-add.js","sourceRoot":"","sources":["../../src/commands/cart-add.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { dispatch } from '../session/dispatch.js';
3
3
  import { emit, info } from '../io/output.js';
4
4
  import { CliError } from '../io/errors.js';
5
5
  import { withRecovery } from '../session/recovery.js';
6
- import { withTimeout } from '../session/wait.js';
6
+ import { parseMtopJsonp } from '../session/mtop.js';
7
+ import { startResponseCapture } from '../session/response-capture.js';
7
8
  const CART_URL = 'https://cart.1688.com/';
8
9
  const RENDER_API_RE = /mtop\.1688\.buycenter\.mtoppurchaseastoreservice\.render/i;
9
10
  export async function execute(ctx, args) {
@@ -11,50 +12,42 @@ export async function execute(ctx, args) {
11
12
  }
12
13
  export async function executeRaw(ctx) {
13
14
  const page = await ctx.newPage();
14
- let resolveCapture;
15
- const captured = new Promise((r) => {
16
- resolveCapture = r;
15
+ const capture = startResponseCapture({
16
+ page,
17
+ timeoutMs: 25000,
18
+ matcher: RENDER_API_RE,
19
+ parse: async (resp) => {
20
+ const parsed = parseMtopJsonp(await resp.text());
21
+ if (typeof parsed?.data?.model !== 'string')
22
+ return null;
23
+ return JSON.parse(parsed.data.model);
24
+ },
17
25
  });
18
- const onResp = async (resp) => {
19
- if (!RENDER_API_RE.test(resp.url()))
20
- return;
26
+ try {
27
+ info('Loading cart...');
21
28
  try {
22
- const text = await resp.text();
23
- const parsed = parseMtop(text);
24
- if (typeof parsed?.data?.model === 'string') {
25
- resolveCapture(JSON.parse(parsed.data.model));
26
- }
29
+ await page.goto(CART_URL, { waitUntil: 'domcontentloaded', timeout: 30000 });
27
30
  }
28
- catch {
29
- /* ignore parse errors */
31
+ catch (e) {
32
+ throw new CliError(9, 'NETWORK_ERROR', `Failed to load cart page: ${e.message}`);
30
33
  }
31
- };
32
- page.on('response', onResp);
33
- info('Loading cart...');
34
- try {
35
- await page.goto(CART_URL, { waitUntil: 'domcontentloaded', timeout: 30000 });
36
- }
37
- catch (e) {
38
- throw new CliError(9, 'NETWORK_ERROR', `Failed to load cart page: ${e.message}`);
39
- }
40
- if (/login\.1688\.com|login\.taobao\.com/.test(page.url())) {
41
- throw new CliError(3, 'NOT_LOGGED_IN', 'Session expired. Run `1688 login`.');
34
+ if (/login\.1688\.com|login\.taobao\.com/.test(page.url())) {
35
+ throw new CliError(3, 'NOT_LOGGED_IN', 'Session expired. Run `1688 login`.');
36
+ }
37
+ const model = await capture.wait();
38
+ if (!model) {
39
+ throw new CliError(11, 'NO_CART_DATA', 'Cart response was not captured. The page may have changed or been risk-controlled.', {
40
+ category: 'response_capture',
41
+ retryable: true,
42
+ responseCapture: capture.diagnostics(),
43
+ });
44
+ }
45
+ return parseCart(model);
42
46
  }
43
- const model = await withTimeout(captured, {
44
- timeoutMs: 25000,
45
- fallback: null,
46
- });
47
- page.off('response', onResp);
48
- await page.close().catch(() => { });
49
- if (!model) {
50
- throw new CliError(11, 'NO_CART_DATA', 'Cart response was not captured. The page may have changed or been risk-controlled.');
47
+ finally {
48
+ capture.dispose();
49
+ await page.close().catch(() => { });
51
50
  }
52
- return parseCart(model);
53
- }
54
- function parseMtop(text) {
55
- const t = text.trim();
56
- const m = t.match(/^\s*mtopjsonp\d+\(([\s\S]*)\)\s*$/);
57
- return JSON.parse(m ? m[1] : t);
58
51
  }
59
52
  function parseCart(model) {
60
53
  const data = model.data ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"cart-list.js","sourceRoot":"","sources":["../../src/commands/cart-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cart-list.js","sourceRoot":"","sources":["../../src/commands/cart-list.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,7 @@ import { emit, info } from '../io/output.js';
6
6
  import { CliError } from '../io/errors.js';
7
7
  import { withRecovery } from '../session/recovery.js';
8
8
  import { clickImageSearchButton, clickImageUploadButton, } from '../session/image-search-locators.js';
9
- import { sleep } from '../session/wait.js';
10
- import { SEARCH_MTOP_API, SEARCH_APP_ID, parseMtopJsonp, mapOffer, } from './search.js';
9
+ import { startSearchOfferCapture } from '../session/search-capture.js';
11
10
  const UPLOAD_PAGE = 'https://s.1688.com/youyuan/index.htm';
12
11
  const RESULT_URL = (imageId) => `https://s.1688.com/selloffer/offer_search.htm?imageId=${imageId}`;
13
12
  export async function execute(ctx, args) {
@@ -67,55 +66,25 @@ async function uploadAndGetImageId(ctx, imagePath) {
67
66
  }
68
67
  async function searchByImageId(ctx, imageId) {
69
68
  const page = await ctx.newPage();
70
- // Same mtop interception pattern as text `search` — image-search and
71
- // keyword-search share the WirelessRecommend.recommend endpoint (appId=32517).
72
- let captured = [];
73
- const onResp = async (resp) => {
74
- const u = resp.url();
75
- if (!u.includes(SEARCH_MTOP_API))
76
- return;
77
- try {
78
- const dataParam = new URLSearchParams(new URL(u).search).get('data') ?? '';
79
- const dataObj = JSON.parse(dataParam);
80
- if (String(dataObj.appId) !== SEARCH_APP_ID)
81
- return;
82
- }
83
- catch {
84
- return;
85
- }
86
- try {
87
- const body = await resp.text();
88
- const json = parseMtopJsonp(body);
89
- const items = json?.data?.data?.OFFER?.items ?? [];
90
- const offers = items
91
- .map(mapOffer)
92
- .filter((o) => o !== null);
93
- if (offers.length > captured.length)
94
- captured = offers;
95
- }
96
- catch {
97
- /* malformed — skip */
98
- }
99
- };
100
- page.on('response', onResp);
69
+ const capture = startSearchOfferCapture({
70
+ page,
71
+ keep: 'largest',
72
+ });
101
73
  try {
102
- await page.goto(RESULT_URL(imageId), {
103
- waitUntil: 'domcontentloaded',
104
- timeout: 30000,
74
+ const captureResult = await capture.waitForAction(async () => {
75
+ await page.goto(RESULT_URL(imageId), {
76
+ waitUntil: 'domcontentloaded',
77
+ timeout: 30000,
78
+ });
79
+ }, {
80
+ timeoutMs: 15000,
81
+ isClosed: () => page.isClosed(),
82
+ isBlocked: () => /\/punish|x5secdata=/.test(page.url()),
105
83
  });
106
- const deadline = Date.now() + 15000;
107
- while (Date.now() < deadline) {
108
- if (page.isClosed()) {
109
- throw new CliError(130, 'CANCELED', 'Browser closed.');
110
- }
111
- if (captured.length > 0)
112
- break;
113
- if (/\/punish|x5secdata=/.test(page.url()))
114
- break;
115
- await sleep(300);
84
+ if (captureResult.status === 'browser_closed') {
85
+ throw new CliError(130, 'CANCELED', 'Browser closed.');
116
86
  }
117
- page.off('response', onResp);
118
- return captured;
87
+ return captureResult.offers;
119
88
  }
120
89
  finally {
121
90
  await page.close().catch(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"image-search.js","sourceRoot":"","sources":["../../src/commands/image-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-search.js","sourceRoot":"","sources":["../../src/commands/image-search.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import { dispatch } from '../session/dispatch.js';
2
2
  import { emit, info } from '../io/output.js';
3
3
  import { CliError } from '../io/errors.js';
4
4
  import { withRecovery } from '../session/recovery.js';
5
- import { sleep, withTimeout } from '../session/wait.js';
5
+ import { sleep } from '../session/wait.js';
6
+ import { parseMtop } from '../session/mtop.js';
7
+ import { startResponseCapture } from '../session/response-capture.js';
6
8
  const SKU_API_RE = /wosc\.queryofferskuselectormodel/i;
7
9
  let DETAIL_SEQ = 0;
8
10
  export async function execute(ctx, args) {
@@ -13,33 +15,27 @@ export async function execute(ctx, args) {
13
15
  }
14
16
  export async function executeRaw(ctx, args) {
15
17
  const page = await ctx.newPage();
16
- let resolveSku;
17
- const skuPromise = new Promise((r) => {
18
- resolveSku = r;
19
- });
20
- const onResp = async (resp) => {
21
- if (SKU_API_RE.test(resp.url())) {
22
- try {
23
- const text = await resp.text();
24
- if (process.env.BB1688_PROBE === '1') {
25
- try {
26
- const fs = await import('node:fs/promises');
27
- await fs.writeFile('/tmp/1688-sku-raw.json', text);
28
- process.stderr.write(`[probe] saved sku → /tmp/1688-sku-raw.json (${text.length} bytes)\n`);
29
- }
30
- catch {
31
- /* ignore */
32
- }
18
+ const skuCapture = startResponseCapture({
19
+ page,
20
+ timeoutMs: 18000,
21
+ matcher: SKU_API_RE,
22
+ parse: async (resp) => {
23
+ const text = await resp.text();
24
+ if (process.env.BB1688_PROBE === '1') {
25
+ try {
26
+ const fs = await import('node:fs/promises');
27
+ await fs.writeFile('/tmp/1688-sku-raw.json', text);
28
+ process.stderr.write(`[probe] saved sku /tmp/1688-sku-raw.json (${text.length} bytes)\n`);
29
+ }
30
+ catch {
31
+ /* ignore */
33
32
  }
34
- const json = parseMtop(text);
35
- if (json?.data?.skuSelectorBizModel)
36
- resolveSku(json.data.skuSelectorBizModel);
37
- }
38
- catch {
39
- /* ignore */
40
33
  }
41
- return;
42
- }
34
+ const json = parseMtop(text);
35
+ return json?.data?.skuSelectorBizModel ?? null;
36
+ },
37
+ });
38
+ const onResp = async (resp) => {
43
39
  // Probe: save every offerdetail.service response so we can see which
44
40
  // call carries productAttributes.
45
41
  if (process.env.BB1688_PROBE === '1' &&
@@ -140,28 +136,25 @@ export async function executeRaw(ctx, args) {
140
136
  });
141
137
  }
142
138
  const url = `https://detail.1688.com/offer/${args.offerId}.html`;
143
- info(`Fetching offer ${args.offerId}...`);
144
139
  try {
145
- await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
146
- }
147
- catch (e) {
148
- throw new CliError(9, 'NETWORK_ERROR', `Failed to load offer page: ${e.message}`);
140
+ info(`Fetching offer ${args.offerId}...`);
141
+ try {
142
+ await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
143
+ }
144
+ catch (e) {
145
+ throw new CliError(9, 'NETWORK_ERROR', `Failed to load offer page: ${e.message}`);
146
+ }
147
+ if (/login\.1688\.com|login\.taobao\.com/.test(page.url())) {
148
+ throw new CliError(3, 'NOT_LOGGED_IN', 'Session expired. Run `1688 login`.');
149
+ }
150
+ const sku = await skuCapture.wait();
151
+ const pageInfo = await readPageInfo(page);
152
+ return assemble(args.offerId, url, sku, pageInfo);
149
153
  }
150
- if (/login\.1688\.com|login\.taobao\.com/.test(page.url())) {
151
- throw new CliError(3, 'NOT_LOGGED_IN', 'Session expired. Run `1688 login`.');
154
+ finally {
155
+ skuCapture.dispose();
156
+ page.off('response', onResp);
152
157
  }
153
- const sku = (await withTimeout(skuPromise, {
154
- timeoutMs: 18000,
155
- fallback: null,
156
- }));
157
- page.off('response', onResp);
158
- const pageInfo = await readPageInfo(page);
159
- return assemble(args.offerId, url, sku, pageInfo);
160
- }
161
- function parseMtop(text) {
162
- const t = text.trim();
163
- const m = t.match(/^\s*mtopjsonp\d+\(([\s\S]*)\)\s*$/);
164
- return JSON.parse(m ? m[1] : t);
165
158
  }
166
159
  /**
167
160
  * Extract product info from the inline `window.context.result.data` JS