job-pro 1.0.35 → 1.0.37
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 +19 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -716,6 +716,25 @@ async function runCompany(adapter, company, rawArgs) {
|
|
|
716
716
|
message: `${staged.unanswered_required.length} required field(s) still unanswered; refusing to submit incomplete application`,
|
|
717
717
|
}, compact);
|
|
718
718
|
}
|
|
719
|
+
// Speculative-endpoint gate (4th safety layer). 19 of 22 bespoke
|
|
720
|
+
// multipart-session endpoints returned 404 on no-auth probe — the
|
|
721
|
+
// inferred URLs are wrong guesses. Refusing by default prevents
|
|
722
|
+
// accidental fires against broken endpoints; users who *want* to
|
|
723
|
+
// shake out what the real endpoint should be opt in via env.
|
|
724
|
+
const allowSpeculative = process.env.JOB_PRO_ALLOW_SPECULATIVE_ENDPOINT === "yes";
|
|
725
|
+
if (staged.submit_kind !== "external" && staged.submit_kind !== "multipart-anon" && staged.endpoint_verified !== true && !allowSpeculative) {
|
|
726
|
+
return emit({
|
|
727
|
+
ok: false,
|
|
728
|
+
source: company,
|
|
729
|
+
post_id: postId,
|
|
730
|
+
mode: "really-submit-blocked",
|
|
731
|
+
staged,
|
|
732
|
+
message: `submit_endpoint for ${company} is speculative — inferred from JS-bundle recon, ` +
|
|
733
|
+
`not end-to-end verified. Most such endpoints (19 of 22 probed) are wrong and ` +
|
|
734
|
+
`would 4xx. Verify with \`apply ${postId} --debug-submit-to <your-echo-url>\` first, ` +
|
|
735
|
+
`or set \`JOB_PRO_ALLOW_SPECULATIVE_ENDPOINT=yes\` if you're knowingly probing.`,
|
|
736
|
+
}, compact);
|
|
737
|
+
}
|
|
719
738
|
// Submission flow selection by submit_kind. Only the generic
|
|
720
739
|
// multipart families are wired to actually fire today; everything
|
|
721
740
|
// else gets a useful refusal message.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "job-pro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.37",
|
|
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",
|