job-pro 1.0.80 → 1.0.82
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/index.js +15 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1288,13 +1288,16 @@ async function main() {
|
|
|
1288
1288
|
const results = await Promise.all(scope.map(async (company) => {
|
|
1289
1289
|
// lilith uses CDP (puppeteer launches Chrome) — its withTimeout
|
|
1290
1290
|
// returns but the browser handle keeps the event loop alive, so
|
|
1291
|
-
// the process never exits
|
|
1292
|
-
//
|
|
1293
|
-
|
|
1291
|
+
// the process never exits during a 50-company sweep. Skip when
|
|
1292
|
+
// we're running a default/broad sweep; only probe lilith if the
|
|
1293
|
+
// user explicitly scoped --companies and lilith is the ONLY one
|
|
1294
|
+
// (so they're knowingly waiting for a CDP launch).
|
|
1295
|
+
const lilithScopedExplicit = scope.length === 1 && scope[0] === "lilith";
|
|
1296
|
+
if (company === "lilith" && !lilithScopedExplicit) {
|
|
1294
1297
|
// lilith is in ENDPOINT_VERIFIED but we skip the probe (would
|
|
1295
1298
|
// hang puppeteer). Surface the already_verified status so the
|
|
1296
1299
|
// icon shows ⚠ ("schema verified, probe skipped") not "?".
|
|
1297
|
-
return { company, classification: "probe-error", detail: "skipped — CDP adapter (puppeteer); pass --companies=lilith
|
|
1300
|
+
return { company, classification: "probe-error", detail: "skipped — CDP adapter (puppeteer); pass --companies=lilith alone to probe", already_verified: true };
|
|
1298
1301
|
}
|
|
1299
1302
|
const adapter = ADAPTERS[company];
|
|
1300
1303
|
if (!adapter)
|
|
@@ -1367,17 +1370,19 @@ async function main() {
|
|
|
1367
1370
|
};
|
|
1368
1371
|
console.log(`\njob-pro recon — endpoint probe across ${results.length} adapters`);
|
|
1369
1372
|
if (!summary) {
|
|
1370
|
-
console.log(` (anon POST with {} body; schema-verified
|
|
1373
|
+
console.log(` (anon POST with {} body; schema-verified ✓ 🟢, session captured 🔐)\n`);
|
|
1371
1374
|
for (const r of results) {
|
|
1372
1375
|
const tag = r.status ? `${r.status}` : "—";
|
|
1373
1376
|
const vTag = r.already_verified ? " 🟢" : "";
|
|
1374
|
-
//
|
|
1375
|
-
//
|
|
1376
|
-
//
|
|
1377
|
-
|
|
1377
|
+
// Session presence (~/.jobpro/<co>.session.json). 🔐 means user
|
|
1378
|
+
// already captured; 🚫 means they need to run `job-pro extension`.
|
|
1379
|
+
// multipart-anon adapters don't need a session so no tag.
|
|
1380
|
+
const isAnon = r.submit_kind === "multipart-anon";
|
|
1381
|
+
const isExternal = r.classification === "external";
|
|
1382
|
+
const sessTag = isAnon || isExternal ? " " : (loadSession(r.company) ? "🔐" : "🚫");
|
|
1378
1383
|
const probeOK = r.classification === "verified-real" || r.classification === "external";
|
|
1379
1384
|
const icon = r.already_verified && !probeOK ? "⚠" : ICON[r.classification];
|
|
1380
|
-
console.log(` ${icon} ${r.company.padEnd(width)}
|
|
1385
|
+
console.log(` ${icon} ${r.company.padEnd(width)} ${sessTag} ${tag.padEnd(4)} ${r.classification.padEnd(17)}${vTag} ${r.detail}`);
|
|
1381
1386
|
}
|
|
1382
1387
|
}
|
|
1383
1388
|
console.log(`\n Tally:`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "job-pro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.82",
|
|
4
4
|
"description": "Query Chinese big-tech campus recruiting + auto-apply from your terminal. 50 companies, all 50 live (46 via official APIs, 4 via Liepin third-party fallback). 45/50 with end-to-end verified apply endpoints; 5 structurally-external (Liepin IM × 4 + Unitree WeChat). No signup, no token, no server.",
|
|
5
5
|
"homepage": "https://job.ha7ch.com",
|
|
6
6
|
"repository": "https://github.com/HA7CH/job-pro",
|