1688-cli 0.1.41 → 0.1.43
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/AGENTS.md +112 -318
- package/ARCHITECTURE.md +107 -0
- package/CHANGELOG.md +79 -0
- package/README.md +186 -18
- package/dist/cli.js +131 -25
- package/dist/cli.js.map +1 -1
- package/dist/commands/cart-list.js +2 -1
- package/dist/commands/cart-list.js.map +1 -1
- package/dist/commands/checkout-confirm.js +8 -8
- package/dist/commands/checkout-confirm.js.map +1 -1
- package/dist/commands/compare.js +107 -0
- package/dist/commands/compare.js.map +1 -0
- package/dist/commands/doctor.js +64 -47
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inbox.js +1 -1
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/login.js +14 -14
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +6 -4
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/offer.js +7 -5
- package/dist/commands/offer.js.map +1 -1
- package/dist/commands/order-list.js +4 -2
- package/dist/commands/order-list.js.map +1 -1
- package/dist/commands/order-logistics.js +4 -2
- package/dist/commands/order-logistics.js.map +1 -1
- package/dist/commands/profile.js +25 -9
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/research.js +142 -0
- package/dist/commands/research.js.map +1 -0
- package/dist/commands/search.js +59 -18
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/seller-chat.js +1 -1
- package/dist/commands/seller-chat.js.map +1 -1
- package/dist/commands/seller-inquire.js +1 -1
- package/dist/commands/seller-inquire.js.map +1 -1
- package/dist/commands/seller-messages.js +8 -5
- package/dist/commands/seller-messages.js.map +1 -1
- package/dist/commands/sourcing-utils.js +438 -0
- package/dist/commands/sourcing-utils.js.map +1 -0
- package/dist/commands/supplier-inspect.js +559 -0
- package/dist/commands/supplier-inspect.js.map +1 -0
- package/dist/commands/supplier-search.js +522 -0
- package/dist/commands/supplier-search.js.map +1 -0
- package/dist/commands/whoami.js +6 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/daemon/client.js +10 -6
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/manager.js +53 -37
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/protocol.js +2 -1
- package/dist/daemon/protocol.js.map +1 -1
- package/dist/daemon/server.js +26 -22
- package/dist/daemon/server.js.map +1 -1
- package/dist/session/context.js +1 -1
- package/dist/session/context.js.map +1 -1
- package/dist/session/dispatch.js +25 -22
- package/dist/session/dispatch.js.map +1 -1
- package/dist/session/im-ws.js +8 -5
- package/dist/session/im-ws.js.map +1 -1
- package/dist/session/lock.js +14 -14
- package/dist/session/lock.js.map +1 -1
- package/dist/session/paths.js +50 -16
- package/dist/session/paths.js.map +1 -1
- package/dist/session/search-mtop.js +53 -0
- package/dist/session/search-mtop.js.map +1 -1
- package/dist/session/shared.js +17 -7
- package/dist/session/shared.js.map +1 -1
- package/dist/session/state.js +7 -7
- package/dist/session/state.js.map +1 -1
- package/dist/session/supplier-search.js +403 -0
- package/dist/session/supplier-search.js.map +1 -0
- package/dist/util/encoding.js +8 -0
- package/dist/util/encoding.js.map +1 -0
- package/dist/util/temp.js +6 -0
- package/dist/util/temp.js.map +1 -0
- package/docs/AGENT_MAPS_PLAN.md +171 -0
- package/docs/AGENT_WORKING_PRINCIPLES.md +143 -0
- package/docs/COMMANDS.md +205 -0
- package/docs/FEATURES.md +45 -0
- package/docs/JSON_CONTRACTS.md +476 -0
- package/docs/QUALITY_SCORE.md +61 -0
- package/docs/README.md +36 -0
- package/docs/RELIABILITY.md +69 -0
- package/docs/SAFETY.md +99 -0
- package/docs/WORKFLOW.md +82 -0
- package/docs/exec-plans/README.md +9 -0
- package/docs/exec-plans/active/README.md +4 -0
- package/docs/exec-plans/completed/2026-05-28-sourcing-research-v1.md +125 -0
- package/docs/exec-plans/completed/2026-05-31-supplier-inspect-v1.md +113 -0
- package/docs/exec-plans/completed/2026-06-04-supplier-search-v1.md +81 -0
- package/docs/exec-plans/completed/2026-06-07-windows-cli-compatibility.md +138 -0
- package/docs/exec-plans/completed/2026-06-16-profile-daemon.md +146 -0
- package/docs/exec-plans/completed/README.md +4 -0
- package/docs/exec-plans/tech-debt-tracker.md +5 -0
- package/docs/generated/command-index.md +54 -0
- package/docs/generated/json-shapes.md +111 -0
- package/docs/generated/module-map.md +13 -0
- package/docs/generated/test-index.md +34 -0
- package/docs/playbooks/add-command.md +15 -0
- package/docs/playbooks/add-mtop-capture.md +13 -0
- package/docs/playbooks/change-json-output.md +11 -0
- package/docs/playbooks/debug-risk-control.md +12 -0
- package/docs/playbooks/update-cli-release.md +61 -0
- package/docs/records/release-omissions.md +34 -0
- package/docs/specs/checkout-and-orders.md +30 -0
- package/docs/specs/index.md +9 -0
- package/docs/specs/profile-daemon.md +114 -0
- package/docs/specs/seller-im.md +28 -0
- package/docs/specs/sourcing-research.md +186 -0
- package/docs/specs/supplier-inspect.md +144 -0
- package/docs/specs/supplier-search.md +179 -0
- package/docs/specs/windows-cli-compatibility.md +123 -0
- package/package.json +21 -4
- package/scripts/check_agent_map.mjs +87 -0
- package/scripts/check_release.mjs +40 -0
- package/scripts/fix_bin_mode.mjs +18 -0
- package/scripts/generate_agent_context.mjs +253 -0
- package/scripts/postinstall.mjs +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/daemon/client.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/daemon/client.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/manager.js
CHANGED
|
@@ -2,17 +2,19 @@ import { spawn } from 'node:child_process';
|
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import { pidFile, socketPath, daemonLogFile, daemonVersionFile, ensureRoot, } from '../session/paths.js';
|
|
5
|
+
import { defaultProfileName, pidFile, socketPath, daemonLogFile, daemonVersionFile, ensureRoot, ensureProfileRuntimeDir, lockFile, } from '../session/paths.js';
|
|
6
6
|
import { daemonCall, isDaemonReachable } from './client.js';
|
|
7
7
|
import { CliError } from '../io/errors.js';
|
|
8
8
|
import { waitUntil } from '../session/wait.js';
|
|
9
9
|
import pkg from '../../package.json' with { type: 'json' };
|
|
10
|
-
export async function status() {
|
|
11
|
-
const
|
|
12
|
-
const
|
|
10
|
+
export async function status(profile) {
|
|
11
|
+
const profileName = defaultProfileName(profile);
|
|
12
|
+
const pid = await readPid(profileName);
|
|
13
|
+
const version = await readDaemonVersion(profileName);
|
|
13
14
|
const expectedVersion = pkg.version;
|
|
14
15
|
if (pid === null) {
|
|
15
16
|
return {
|
|
17
|
+
profile: profileName,
|
|
16
18
|
running: false,
|
|
17
19
|
version,
|
|
18
20
|
expectedVersion,
|
|
@@ -22,17 +24,18 @@ export async function status() {
|
|
|
22
24
|
const alive = isProcessAlive(pid);
|
|
23
25
|
if (!alive) {
|
|
24
26
|
return {
|
|
27
|
+
profile: profileName,
|
|
25
28
|
running: false,
|
|
26
29
|
version,
|
|
27
30
|
expectedVersion,
|
|
28
31
|
versionMatches: version === expectedVersion,
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
|
-
const reachable = await isDaemonReachable();
|
|
34
|
+
const reachable = await isDaemonReachable(profileName);
|
|
32
35
|
let stats = undefined;
|
|
33
36
|
if (reachable) {
|
|
34
37
|
try {
|
|
35
|
-
stats = await daemonCall('status', {});
|
|
38
|
+
stats = await daemonCall('status', {}, undefined, profileName);
|
|
36
39
|
}
|
|
37
40
|
catch {
|
|
38
41
|
/* ignore */
|
|
@@ -43,6 +46,7 @@ export async function status() {
|
|
|
43
46
|
: undefined;
|
|
44
47
|
const resolvedVersion = typeof statsVersion === 'string' ? statsVersion : version;
|
|
45
48
|
return {
|
|
49
|
+
profile: profileName,
|
|
46
50
|
running: true,
|
|
47
51
|
pid,
|
|
48
52
|
reachable,
|
|
@@ -52,15 +56,17 @@ export async function status() {
|
|
|
52
56
|
stats,
|
|
53
57
|
};
|
|
54
58
|
}
|
|
55
|
-
export async function start() {
|
|
59
|
+
export async function start(profile) {
|
|
60
|
+
const profileName = defaultProfileName(profile);
|
|
56
61
|
await ensureRoot();
|
|
57
|
-
|
|
62
|
+
await ensureProfileRuntimeDir(profileName);
|
|
63
|
+
const existing = await status(profileName);
|
|
58
64
|
if (existing.running) {
|
|
59
65
|
if (existing.versionMatches === false) {
|
|
60
|
-
await stop();
|
|
66
|
+
await stop(profileName);
|
|
61
67
|
}
|
|
62
68
|
else {
|
|
63
|
-
throw new CliError(5, 'DAEMON_RUNNING', `Daemon already running (pid ${existing.pid}).`);
|
|
69
|
+
throw new CliError(5, 'DAEMON_RUNNING', `Daemon already running for profile "${profileName}" (pid ${existing.pid}).`);
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
// Locate the CLI entrypoint to re-exec as "1688 serve".
|
|
@@ -69,47 +75,49 @@ export async function start() {
|
|
|
69
75
|
const here = fileURLToPath(import.meta.url);
|
|
70
76
|
const cliPath = path.join(path.dirname(here), '..', 'cli.js');
|
|
71
77
|
// Detach from the parent; redirect output to a log file.
|
|
72
|
-
const logFd = await fs.open(daemonLogFile(), 'a');
|
|
73
|
-
const child = spawn(process.execPath, [cliPath, 'serve'], {
|
|
78
|
+
const logFd = await fs.open(daemonLogFile(profileName), 'a');
|
|
79
|
+
const child = spawn(process.execPath, [cliPath, 'serve', '--profile', profileName], {
|
|
74
80
|
detached: true,
|
|
75
81
|
stdio: ['ignore', logFd.fd, logFd.fd],
|
|
76
82
|
env: { ...process.env, BB1688_DAEMON_BG: '1' },
|
|
77
83
|
});
|
|
78
84
|
child.unref();
|
|
79
85
|
await logFd.close();
|
|
80
|
-
const reachable = await waitUntil(isDaemonReachable, {
|
|
86
|
+
const reachable = await waitUntil(() => isDaemonReachable(profileName), {
|
|
81
87
|
timeoutMs: 15000,
|
|
82
88
|
intervalMs: 250,
|
|
83
89
|
});
|
|
84
90
|
if (reachable) {
|
|
85
|
-
const pid = (await readPid()) ?? child.pid ?? -1;
|
|
86
|
-
return { pid };
|
|
91
|
+
const pid = (await readPid(profileName)) ?? child.pid ?? -1;
|
|
92
|
+
return { pid, profile: profileName };
|
|
87
93
|
}
|
|
88
|
-
throw new CliError(9, 'DAEMON_START_TIMEOUT',
|
|
94
|
+
throw new CliError(9, 'DAEMON_START_TIMEOUT', `Daemon for profile "${profileName}" did not start within 15s. Check ${daemonLogFile(profileName)}.`);
|
|
89
95
|
}
|
|
90
|
-
export async function ensureFreshDaemon() {
|
|
91
|
-
const
|
|
96
|
+
export async function ensureFreshDaemon(profile) {
|
|
97
|
+
const profileName = defaultProfileName(profile);
|
|
98
|
+
const existing = await status(profileName);
|
|
92
99
|
if (!existing.running) {
|
|
93
|
-
const started = await start();
|
|
100
|
+
const started = await start(profileName);
|
|
94
101
|
return { ...started, restarted: false };
|
|
95
102
|
}
|
|
96
103
|
if (existing.versionMatches === false) {
|
|
97
|
-
await stop();
|
|
98
|
-
const started = await start();
|
|
104
|
+
await stop(profileName);
|
|
105
|
+
const started = await start(profileName);
|
|
99
106
|
return { ...started, restarted: true };
|
|
100
107
|
}
|
|
101
|
-
return { pid: existing.pid ?? -1, restarted: false };
|
|
108
|
+
return { pid: existing.pid ?? -1, profile: profileName, restarted: false };
|
|
102
109
|
}
|
|
103
|
-
export async function stop() {
|
|
104
|
-
const
|
|
110
|
+
export async function stop(profile) {
|
|
111
|
+
const profileName = defaultProfileName(profile);
|
|
112
|
+
const pid = await readPid(profileName);
|
|
105
113
|
if (pid === null || !isProcessAlive(pid)) {
|
|
106
|
-
await cleanupArtifacts();
|
|
107
|
-
return { stopped: false };
|
|
114
|
+
await cleanupArtifacts(profileName);
|
|
115
|
+
return { stopped: false, profile: profileName };
|
|
108
116
|
}
|
|
109
117
|
// Prefer asking via socket; fall back to SIGTERM.
|
|
110
|
-
if (await isDaemonReachable()) {
|
|
118
|
+
if (await isDaemonReachable(profileName)) {
|
|
111
119
|
try {
|
|
112
|
-
await daemonCall('shutdown', {});
|
|
120
|
+
await daemonCall('shutdown', {}, undefined, profileName);
|
|
113
121
|
}
|
|
114
122
|
catch {
|
|
115
123
|
/* will fall through to SIGTERM */
|
|
@@ -135,14 +143,22 @@ export async function stop() {
|
|
|
135
143
|
/* ignore */
|
|
136
144
|
}
|
|
137
145
|
}
|
|
138
|
-
await cleanupArtifacts();
|
|
139
|
-
return { stopped: true };
|
|
146
|
+
await cleanupArtifacts(profileName);
|
|
147
|
+
return { stopped: true, profile: profileName };
|
|
140
148
|
}
|
|
141
|
-
async function
|
|
149
|
+
export async function cleanupLock(profile) {
|
|
150
|
+
await fs.rm(lockFile(profile) + '.lock', { recursive: true, force: true });
|
|
151
|
+
}
|
|
152
|
+
async function cleanupArtifacts(profile) {
|
|
153
|
+
const profileName = defaultProfileName(profile);
|
|
142
154
|
// Windows named pipes have no filesystem entry — skip the socket path.
|
|
143
155
|
const targets = process.platform === 'win32'
|
|
144
|
-
? [pidFile(), daemonVersionFile()]
|
|
145
|
-
: [
|
|
156
|
+
? [pidFile(profileName), daemonVersionFile(profileName)]
|
|
157
|
+
: [
|
|
158
|
+
socketPath(profileName),
|
|
159
|
+
pidFile(profileName),
|
|
160
|
+
daemonVersionFile(profileName),
|
|
161
|
+
];
|
|
146
162
|
for (const p of targets) {
|
|
147
163
|
try {
|
|
148
164
|
await fs.unlink(p);
|
|
@@ -152,9 +168,9 @@ async function cleanupArtifacts() {
|
|
|
152
168
|
}
|
|
153
169
|
}
|
|
154
170
|
}
|
|
155
|
-
async function readPid() {
|
|
171
|
+
async function readPid(profile) {
|
|
156
172
|
try {
|
|
157
|
-
const s = await fs.readFile(pidFile(), 'utf8');
|
|
173
|
+
const s = await fs.readFile(pidFile(profile), 'utf8');
|
|
158
174
|
const n = parseInt(s.trim(), 10);
|
|
159
175
|
return Number.isInteger(n) ? n : null;
|
|
160
176
|
}
|
|
@@ -162,9 +178,9 @@ async function readPid() {
|
|
|
162
178
|
return null;
|
|
163
179
|
}
|
|
164
180
|
}
|
|
165
|
-
async function readDaemonVersion() {
|
|
181
|
+
async function readDaemonVersion(profile) {
|
|
166
182
|
try {
|
|
167
|
-
const s = await fs.readFile(daemonVersionFile(), 'utf8');
|
|
183
|
+
const s = await fs.readFile(daemonVersionFile(profile), 'utf8');
|
|
168
184
|
return s.trim() || null;
|
|
169
185
|
}
|
|
170
186
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/daemon/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/daemon/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/protocol.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
// Wire protocol for the 1688 daemon. Newline-delimited JSON over a Unix socket
|
|
1
|
+
// Wire protocol for the 1688 daemon. Newline-delimited JSON over a Unix socket
|
|
2
|
+
// on macOS/Linux or a named pipe on Windows.
|
|
2
3
|
export function makeRequestId() {
|
|
3
4
|
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
4
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/daemon/protocol.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/daemon/protocol.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6CAA6C;AAyB7C,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC"}
|
package/dist/daemon/server.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import net from 'node:net';
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
|
-
import { socketPath, pidFile, daemonVersionFile, ensureRoot, } from '../session/paths.js';
|
|
3
|
+
import { defaultProfileName, socketPath, pidFile, daemonVersionFile, ensureRoot, ensureProfileRuntimeDir, } from '../session/paths.js';
|
|
4
4
|
import { getSharedContext, getSharedContextStatus, releaseSharedContext, runOnSharedCtx, } from '../session/shared.js';
|
|
5
5
|
import { loadExecutor } from '../session/dispatch.js';
|
|
6
6
|
import { CliError } from '../io/errors.js';
|
|
7
7
|
import { throttle } from './throttle.js';
|
|
8
8
|
import pkg from '../../package.json' with { type: 'json' };
|
|
9
9
|
const stats = {
|
|
10
|
+
profile: 'default',
|
|
10
11
|
version: pkg.version,
|
|
11
12
|
startedAt: new Date().toISOString(),
|
|
12
13
|
pid: process.pid,
|
|
@@ -30,31 +31,34 @@ let lastActivityMs = Date.now();
|
|
|
30
31
|
let server = null;
|
|
31
32
|
let shuttingDown = false;
|
|
32
33
|
export async function start(opts = {}) {
|
|
34
|
+
const profile = defaultProfileName(opts.profile);
|
|
33
35
|
const idleMs = opts.idleTimeoutMs ?? 30 * 60 * 1000;
|
|
34
36
|
await ensureRoot();
|
|
37
|
+
await ensureProfileRuntimeDir(profile);
|
|
38
|
+
stats.profile = profile;
|
|
35
39
|
// Clean any stale socket. If pidfile points to a live process, refuse.
|
|
36
|
-
await refuseIfAlive();
|
|
40
|
+
await refuseIfAlive(profile);
|
|
37
41
|
// Windows named pipes have no filesystem entry — skip the unlink.
|
|
38
42
|
if (process.platform !== 'win32') {
|
|
39
43
|
try {
|
|
40
|
-
await fs.unlink(socketPath());
|
|
44
|
+
await fs.unlink(socketPath(profile));
|
|
41
45
|
}
|
|
42
46
|
catch {
|
|
43
47
|
/* not present, fine */
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
|
-
await fs.writeFile(pidFile(), String(process.pid));
|
|
47
|
-
await fs.writeFile(daemonVersionFile(), pkg.version);
|
|
48
|
-
log(`pid ${process.pid}, socket ${socketPath()}`);
|
|
50
|
+
await fs.writeFile(pidFile(profile), String(process.pid));
|
|
51
|
+
await fs.writeFile(daemonVersionFile(profile), pkg.version);
|
|
52
|
+
log(`profile ${profile}, pid ${process.pid}, socket ${socketPath(profile)}`);
|
|
49
53
|
if (opts.prewarm) {
|
|
50
54
|
log('prewarming Chromium...');
|
|
51
|
-
await getSharedContext();
|
|
55
|
+
await getSharedContext(profile);
|
|
52
56
|
log('Chromium ready');
|
|
53
57
|
}
|
|
54
58
|
server = net.createServer((sock) => handleClient(sock));
|
|
55
59
|
await new Promise((resolve, reject) => {
|
|
56
60
|
server.once('error', reject);
|
|
57
|
-
server.listen(socketPath(), () => {
|
|
61
|
+
server.listen(socketPath(profile), () => {
|
|
58
62
|
server.off('error', reject);
|
|
59
63
|
resolve();
|
|
60
64
|
});
|
|
@@ -65,14 +69,14 @@ export async function start(opts = {}) {
|
|
|
65
69
|
activeClients === 0 &&
|
|
66
70
|
Date.now() - lastActivityMs > idleMs) {
|
|
67
71
|
log(`idle for ${Math.round(idleMs / 60000)}min — shutting down`);
|
|
68
|
-
void shutdown();
|
|
72
|
+
void shutdown(profile);
|
|
69
73
|
}
|
|
70
74
|
}, 10_000);
|
|
71
75
|
idleTimer.unref();
|
|
72
76
|
for (const sig of ['SIGTERM', 'SIGINT']) {
|
|
73
77
|
process.on(sig, () => {
|
|
74
78
|
log(`received ${sig}`);
|
|
75
|
-
void shutdown();
|
|
79
|
+
void shutdown(profile);
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
}
|
|
@@ -137,7 +141,7 @@ async function handleRequest(req) {
|
|
|
137
141
|
};
|
|
138
142
|
}
|
|
139
143
|
if (req.cmd === 'shutdown') {
|
|
140
|
-
setTimeout(() => void shutdown(), 50);
|
|
144
|
+
setTimeout(() => void shutdown(stats.profile), 50);
|
|
141
145
|
return { id: req.id, ok: true, data: { stopping: true } };
|
|
142
146
|
}
|
|
143
147
|
if (DAEMON_BLOCKED_COMMANDS.has(req.cmd)) {
|
|
@@ -150,7 +154,7 @@ async function handleRequest(req) {
|
|
|
150
154
|
requestId: req.id,
|
|
151
155
|
cmd: req.cmd,
|
|
152
156
|
args: req.args,
|
|
153
|
-
});
|
|
157
|
+
}, stats.profile);
|
|
154
158
|
recordSuccess();
|
|
155
159
|
return { id: req.id, ok: true, data };
|
|
156
160
|
}
|
|
@@ -185,9 +189,9 @@ async function enforceHealthPause() {
|
|
|
185
189
|
stats.health.pausedUntil = null;
|
|
186
190
|
return;
|
|
187
191
|
}
|
|
188
|
-
throw new CliError(9, 'DAEMON_PAUSED', `Daemon is paused until ${pausedUntil} after repeated 1688 failures.`, {
|
|
192
|
+
throw new CliError(9, 'DAEMON_PAUSED', `Daemon for profile "${stats.profile}" is paused until ${pausedUntil} after repeated 1688 failures.`, {
|
|
189
193
|
category: 'daemon_health',
|
|
190
|
-
recoverHint:
|
|
194
|
+
recoverHint: `Wait for the pause to expire, or run \`1688 daemon reload --profile ${stats.profile}\` after manually resolving login/risk-control issues.`,
|
|
191
195
|
retryable: true,
|
|
192
196
|
pausedUntil,
|
|
193
197
|
failureKind: stats.health.lastFailureKind,
|
|
@@ -236,10 +240,10 @@ function recordFailure(e) {
|
|
|
236
240
|
stats.health.pausedUntil = new Date(now + 2 * 60_000).toISOString();
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
|
-
async function refuseIfAlive() {
|
|
243
|
+
async function refuseIfAlive(profile) {
|
|
240
244
|
let pidStr;
|
|
241
245
|
try {
|
|
242
|
-
pidStr = await fs.readFile(pidFile(), 'utf8');
|
|
246
|
+
pidStr = await fs.readFile(pidFile(profile), 'utf8');
|
|
243
247
|
}
|
|
244
248
|
catch {
|
|
245
249
|
return;
|
|
@@ -249,7 +253,7 @@ async function refuseIfAlive() {
|
|
|
249
253
|
return;
|
|
250
254
|
try {
|
|
251
255
|
process.kill(pid, 0); // probe — throws if not alive
|
|
252
|
-
throw new CliError(5, 'DAEMON_RUNNING', `Daemon already running (pid ${pid}). Use \`1688 daemon stop\` first.`);
|
|
256
|
+
throw new CliError(5, 'DAEMON_RUNNING', `Daemon already running for profile "${profile}" (pid ${pid}). Use \`1688 daemon stop --profile ${profile}\` first.`);
|
|
253
257
|
}
|
|
254
258
|
catch (e) {
|
|
255
259
|
if (e.code === 'DAEMON_RUNNING')
|
|
@@ -257,31 +261,31 @@ async function refuseIfAlive() {
|
|
|
257
261
|
// ESRCH — stale pidfile, ignore.
|
|
258
262
|
}
|
|
259
263
|
}
|
|
260
|
-
async function shutdown() {
|
|
264
|
+
async function shutdown(profile = stats.profile) {
|
|
261
265
|
if (shuttingDown)
|
|
262
266
|
return;
|
|
263
267
|
shuttingDown = true;
|
|
264
|
-
log(
|
|
268
|
+
log(`shutting down profile ${profile}`);
|
|
265
269
|
if (server) {
|
|
266
270
|
await new Promise((r) => server.close(() => r()));
|
|
267
271
|
}
|
|
268
272
|
await releaseSharedContext();
|
|
269
273
|
if (process.platform !== 'win32') {
|
|
270
274
|
try {
|
|
271
|
-
await fs.unlink(socketPath());
|
|
275
|
+
await fs.unlink(socketPath(profile));
|
|
272
276
|
}
|
|
273
277
|
catch {
|
|
274
278
|
/* ignore */
|
|
275
279
|
}
|
|
276
280
|
}
|
|
277
281
|
try {
|
|
278
|
-
await fs.unlink(pidFile());
|
|
282
|
+
await fs.unlink(pidFile(profile));
|
|
279
283
|
}
|
|
280
284
|
catch {
|
|
281
285
|
/* ignore */
|
|
282
286
|
}
|
|
283
287
|
try {
|
|
284
|
-
await fs.unlink(daemonVersionFile());
|
|
288
|
+
await fs.unlink(daemonVersionFile(profile));
|
|
285
289
|
}
|
|
286
290
|
catch {
|
|
287
291
|
/* ignore */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
package/dist/session/context.js
CHANGED
|
@@ -28,7 +28,7 @@ const LAUNCH_OPTS = {
|
|
|
28
28
|
timezoneId: 'Asia/Shanghai',
|
|
29
29
|
};
|
|
30
30
|
export async function withSession(opts, fn, meta) {
|
|
31
|
-
const release = await acquireLock();
|
|
31
|
+
const release = await acquireLock(opts.profile);
|
|
32
32
|
const dir = profilePath(opts.profile);
|
|
33
33
|
await fs.mkdir(dir, { recursive: true });
|
|
34
34
|
await clearStaleSingleton(dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/session/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,0EAA0E;AAC1E,MAAM,aAAa,GAAG,OAAO,EAAE,CAAC;AAChC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAC7D,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAO5B,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,eAAe;CAC5B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAiB,EACjB,EAAuC,EACvC,IAAc;IAEd,MAAM,OAAO,GAAG,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/session/context.ts"],"names":[],"mappings":"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"}
|
package/dist/session/dispatch.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
// Routes a command either through the daemon (fast) or inline
|
|
2
|
-
// self-contained). Headed mode
|
|
1
|
+
// Routes a command either through the selected profile daemon (fast) or inline
|
|
2
|
+
// (slow but self-contained). Headed mode stays inline.
|
|
3
3
|
import { withSession } from './context.js';
|
|
4
4
|
import { isDaemonReachable, daemonCall } from '../daemon/client.js';
|
|
5
5
|
import { makeRequestId } from '../daemon/protocol.js';
|
|
6
6
|
import { info } from '../io/output.js';
|
|
7
|
+
import { defaultProfileName } from './paths.js';
|
|
7
8
|
import { appendEventBestEffort, endEvent, eventFromError, startEvent, } from './events.js';
|
|
8
9
|
// Lazy-imported registry of command executors. Each entry must export `execute`.
|
|
9
10
|
// login/logout are deliberately omitted — they have interactive flows (QR render,
|
|
@@ -25,6 +26,8 @@ const REGISTRY = {
|
|
|
25
26
|
inbox: () => import('../commands/inbox.js').then((m) => m.execute),
|
|
26
27
|
'detail-feglobals': () => import('../commands/seller-inquire.js').then((m) => m.scrapeFeGlobals),
|
|
27
28
|
similar: () => import('../commands/similar.js').then((m) => m.execute),
|
|
29
|
+
'supplier-inspect': () => import('../commands/supplier-inspect.js').then((m) => m.execute),
|
|
30
|
+
'supplier-search': () => import('../commands/supplier-search.js').then((m) => m.execute),
|
|
28
31
|
};
|
|
29
32
|
export async function loadExecutor(name) {
|
|
30
33
|
const loader = REGISTRY[name];
|
|
@@ -33,28 +36,28 @@ export async function loadExecutor(name) {
|
|
|
33
36
|
return (await loader());
|
|
34
37
|
}
|
|
35
38
|
export async function dispatch(name, args, opts = {}) {
|
|
39
|
+
const profile = defaultProfileName(opts.profile);
|
|
36
40
|
const requestId = makeRequestId();
|
|
37
41
|
const startedAt = Date.now();
|
|
38
|
-
await appendEventBestEffort(startEvent({ requestId, cmd: name, profile
|
|
42
|
+
await appendEventBestEffort(startEvent({ requestId, cmd: name, profile }));
|
|
39
43
|
const finishOk = async () => {
|
|
40
|
-
await appendEventBestEffort(endEvent({ requestId, cmd: name, startedAt, profile
|
|
44
|
+
await appendEventBestEffort(endEvent({ requestId, cmd: name, startedAt, profile }));
|
|
41
45
|
};
|
|
42
46
|
const finishError = async (error) => {
|
|
43
|
-
await appendEventBestEffort(eventFromError({ requestId, cmd: name, startedAt, profile
|
|
47
|
+
await appendEventBestEffort(eventFromError({ requestId, cmd: name, startedAt, profile, error }));
|
|
44
48
|
};
|
|
45
49
|
const skipDaemon = opts.headed === true ||
|
|
46
|
-
!!opts.profile ||
|
|
47
50
|
opts.noDaemon === true ||
|
|
48
51
|
process.env.BB1688_NO_DAEMON === '1';
|
|
49
52
|
if (!skipDaemon) {
|
|
50
53
|
// Auto-start daemon if not running. Keeps the "warm browser" promise
|
|
51
54
|
// after `npm i -g` (postinstall kills the daemon) without requiring the
|
|
52
55
|
// user to re-run `1688 login` or `daemon start` manually.
|
|
53
|
-
if (!(await isDaemonReachable())) {
|
|
56
|
+
if (!(await isDaemonReachable(profile))) {
|
|
54
57
|
try {
|
|
55
58
|
const { ensureFreshDaemon } = await import('../daemon/manager.js');
|
|
56
|
-
info(
|
|
57
|
-
await ensureFreshDaemon();
|
|
59
|
+
info(`Starting daemon for profile "${profile}" (one-time)...`);
|
|
60
|
+
await ensureFreshDaemon(profile);
|
|
58
61
|
}
|
|
59
62
|
catch {
|
|
60
63
|
// Couldn't start — fall through to inline.
|
|
@@ -63,18 +66,18 @@ export async function dispatch(name, args, opts = {}) {
|
|
|
63
66
|
else {
|
|
64
67
|
try {
|
|
65
68
|
const { ensureFreshDaemon } = await import('../daemon/manager.js');
|
|
66
|
-
const result = await ensureFreshDaemon();
|
|
69
|
+
const result = await ensureFreshDaemon(profile);
|
|
67
70
|
if (result.restarted) {
|
|
68
|
-
info(
|
|
71
|
+
info(`Restarted daemon for profile "${profile}" to match current CLI version.`);
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
74
|
catch {
|
|
72
75
|
// Couldn't refresh — fall through to the normal daemon/inline logic.
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
|
-
if (await isDaemonReachable()) {
|
|
78
|
+
if (await isDaemonReachable(profile)) {
|
|
76
79
|
try {
|
|
77
|
-
const data = await daemonCall(name, args, requestId);
|
|
80
|
+
const data = await daemonCall(name, args, requestId, profile);
|
|
78
81
|
await finishOk();
|
|
79
82
|
return data;
|
|
80
83
|
}
|
|
@@ -90,10 +93,10 @@ export async function dispatch(name, args, opts = {}) {
|
|
|
90
93
|
// Inline path. If a daemon is alive, it holds the lock — we must pause it
|
|
91
94
|
// for the duration so this inline call can grab the lock and open its own
|
|
92
95
|
// browser context on the shared profile. Restart on exit.
|
|
93
|
-
const daemonMgr = await maybePauseDaemon();
|
|
96
|
+
const daemonMgr = await maybePauseDaemon(profile);
|
|
94
97
|
try {
|
|
95
98
|
const fn = await loadExecutor(name);
|
|
96
|
-
const data = await withSession({ headless: !opts.headed, profile
|
|
99
|
+
const data = await withSession({ headless: !opts.headed, profile }, (ctx) => fn(ctx, args), { requestId, cmd: name, args });
|
|
97
100
|
await finishOk();
|
|
98
101
|
return data;
|
|
99
102
|
}
|
|
@@ -105,22 +108,22 @@ export async function dispatch(name, args, opts = {}) {
|
|
|
105
108
|
await daemonMgr.resume();
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
|
-
async function maybePauseDaemon() {
|
|
111
|
+
async function maybePauseDaemon(profile) {
|
|
109
112
|
try {
|
|
110
113
|
const { status, stop, start } = await import('../daemon/manager.js');
|
|
111
|
-
const st = await status();
|
|
114
|
+
const st = await status(profile);
|
|
112
115
|
if (!st.running)
|
|
113
116
|
return { resume: async () => { } };
|
|
114
|
-
info(
|
|
115
|
-
await stop();
|
|
117
|
+
info(`Pausing daemon for profile "${profile}" for inline run...`);
|
|
118
|
+
await stop(profile);
|
|
116
119
|
return {
|
|
117
120
|
resume: async () => {
|
|
118
121
|
try {
|
|
119
|
-
info(
|
|
120
|
-
await start();
|
|
122
|
+
info(`Resuming daemon for profile "${profile}"...`);
|
|
123
|
+
await start(profile);
|
|
121
124
|
}
|
|
122
125
|
catch (e) {
|
|
123
|
-
info(`(Daemon resume failed: ${e.message})`);
|
|
126
|
+
info(`(Daemon resume failed for profile "${profile}": ${e.message})`);
|
|
124
127
|
}
|
|
125
128
|
},
|
|
126
129
|
};
|