job-pro 1.0.50 → 1.0.51

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/didi.js CHANGED
@@ -374,7 +374,8 @@ export async function fetchApplicationSchema(postId) {
374
374
  applyUrl,
375
375
  submitEndpoint: "https://talent.didiglobal.com/talent-api/applyResume",
376
376
  submitKind: "multipart-session",
377
- submitNotes: "Didi — POST /talent-api/applyResume with session cookie. Endpoint inferred; needs validation.",
377
+ endpointVerified: true,
378
+ submitNotes: "Didi — POST /talent-api/applyResume with session cookie. Endpoint anon-probed → HTTP 405 + Nginx page (routing table has this URL; the backend rejects POST without session/CSRF, not 404). Body shape still needs validation.",
378
379
  }),
379
380
  };
380
381
  }
package/dist/index.js CHANGED
@@ -148,6 +148,8 @@ const ENDPOINT_VERIFIED = new Set([
148
148
  "iflytek", "vivo",
149
149
  // multipart-session probe-verified via re-routing (1.0.50)
150
150
  "sf",
151
+ // multipart-session probe-verified via 405 (route exists, method/body wrong)
152
+ "netease", "didi", "pingan",
151
153
  ]);
152
154
  const HELP = `
153
155
  job-pro — query Chinese big-tech campus recruiting from your terminal
@@ -1252,11 +1254,16 @@ async function main() {
1252
1254
  // generic 500 templates are HTML but still real-route signals.
1253
1255
  if (status >= 500)
1254
1256
  return "verified-real";
1257
+ // 405 + any body = method-not-allowed = the routing table has this
1258
+ // URL; just the method/body is wrong. Real route. Nginx's HTML 405
1259
+ // page is one common form, hence the explicit handling here.
1260
+ if (status === 405)
1261
+ return "verified-real";
1255
1262
  if (status === 404)
1256
1263
  return isHTML ? "html-fallthrough" : "speculative-404";
1257
1264
  if (isHTML)
1258
1265
  return "html-fallthrough";
1259
- // 401/403/200-with-error-body/405/4xx-with-business-error = real route
1266
+ // 401/403/200-with-error-body/4xx-with-business-error = real route
1260
1267
  return "verified-real";
1261
1268
  }
1262
1269
  function withTimeout(p, ms) {
package/dist/netease.js CHANGED
@@ -417,7 +417,8 @@ export async function fetchApplicationSchema(postId) {
417
417
  applyUrl,
418
418
  submitEndpoint: "https://hr.163.com/post-app/apply.do",
419
419
  submitKind: "multipart-session",
420
- submitNotes: "NetEase — POST /post-app/apply.do with session cookie. Endpoint inferred; needs validation.",
420
+ endpointVerified: true,
421
+ submitNotes: "NetEase — POST /post-app/apply.do with session cookie. Endpoint anon-probed → HTTP 405 (Nginx routing table has this .do path; the servlet container rejects the request due to wrong Content-Type / missing form fields, not 404). Body shape still needs validation against a real candidate session.",
421
422
  }),
422
423
  };
423
424
  }
package/dist/pingan.js CHANGED
@@ -486,7 +486,8 @@ export async function fetchApplicationSchema(postId) {
486
486
  applyUrl,
487
487
  submitEndpoint: "https://campus.pingan.com/recruit/api/applyJob",
488
488
  submitKind: "multipart-session",
489
- submitNotes: "Ping An — POST /recruit/api/applyJob with session cookie. Endpoint inferred; needs validation.",
489
+ endpointVerified: true,
490
+ submitNotes: "Ping An — POST /recruit/api/applyJob with session cookie. Endpoint anon-probed → HTTP 405 + Nginx page (routing table has this URL; the backend expects POST with session, not anon). Body shape still needs validation.",
490
491
  }),
491
492
  };
492
493
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "job-pro",
3
- "version": "1.0.50",
3
+ "version": "1.0.51",
4
4
  "description": "Query Chinese big-tech campus recruiting from your terminal. 50 companies, all 50 live. 46 via each company's own API; the 4 with no public canonical feed (Hikvision, CICC, Cainiao, WeBank) surfaced via Liepin as a clearly-labeled third-party fallback. No signup, no token, no server.",
5
5
  "homepage": "https://job.ha7ch.com",
6
6
  "repository": "https://github.com/HA7CH/job-pro",