job-pro 1.0.14 → 1.0.15

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.
Files changed (2) hide show
  1. package/dist/index.js +8 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -165,6 +165,7 @@ VERBS (same surface for every company)
165
165
  pass "-" to read resume from stdin
166
166
  resume-check <resume-text-or--> structural sanity check on a resume
167
167
  apply <post_id> stage an application (Phase 2 dry-run)
168
+ --schema dump raw schema (no profile needed)
168
169
  --print-form emit a fillable JSON template
169
170
  --form-file <path> merge per-job answers
170
171
  --interactive prompt for unanswered fields
@@ -421,6 +422,7 @@ async function runCompany(adapter, company, rawArgs) {
421
422
  if (verb === "apply") {
422
423
  const reallySubmit = args.includes("--really-submit");
423
424
  const printForm = args.includes("--print-form");
425
+ const schemaOnly = args.includes("--schema");
424
426
  const interactive = args.includes("--interactive");
425
427
  const remember = args.includes("--remember");
426
428
  const { args: aDebug, value: debugUrl } = popFlagValue(args, "--debug-submit-to");
@@ -507,7 +509,7 @@ async function runCompany(adapter, company, rawArgs) {
507
509
  void aBatch;
508
510
  const postId = args[0];
509
511
  if (!postId)
510
- die(`usage: job-pro ${company} apply <post_id> [--print-form | --form-file <path> | --interactive [--remember] | --batch <file>] [--debug-submit-to <url> | --really-submit]`);
512
+ die(`usage: job-pro ${company} apply <post_id> [--schema | --print-form | --form-file <path> | --interactive [--remember] | --batch <file>] [--debug-submit-to <url> | --really-submit]`);
511
513
  const fetchSchema = adapter.fetchApplicationSchema;
512
514
  if (typeof fetchSchema !== "function") {
513
515
  return emit({
@@ -528,6 +530,11 @@ async function runCompany(adapter, company, rawArgs) {
528
530
  if (!sr.ok || !sr.schema) {
529
531
  return emit({ ok: false, source: company, post_id: postId, message: sr.message ?? "unknown error" }, compact);
530
532
  }
533
+ // --schema short-circuits everything (and crucially doesn't need a
534
+ // profile). Useful for recon: "what fields does this job ask?".
535
+ if (schemaOnly) {
536
+ return emit({ ok: true, source: company, post_id: postId, schema: sr.schema }, compact);
537
+ }
531
538
  const prof = loadProfile();
532
539
  if (!prof.ok) {
533
540
  return emit({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "job-pro",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
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",