@smartytalent/openai-tools 0.9.54 → 0.9.55

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/tools.json +56 -20
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -202,7 +202,7 @@
202
202
  "automation": {
203
203
  "title": "TenantAttributesSettingsAutomationSchema",
204
204
  "type": "object",
205
- "description": "The organisation's DEFAULT automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24), the same seven keys and values as job.settings.automation: auto = Boe runs the stage, manual = a human runs it (a task on the RecOps board), off = the stage is not part of the process. A job overrides these in BOTH directions (a tenant on manual pilots auto on one job); absent = the platform default (sourcing manual, everything else auto). PATCH merges this block PER KEY (a key sent as null clears the default). Validated in code like the job block: interview and offer accept auto|manual, surveys accepts auto|off, the rest auto|manual|off. NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it.",
205
+ "description": "The organisation's DEFAULT automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24), the same eight keys and values as job.settings.automation: auto = Boe runs the stage, manual = a human runs it (a task on the RecOps board), off = the stage is not part of the process. A job overrides these in BOTH directions (a tenant on manual pilots auto on one job); absent = the platform default (sourcing manual, everything else auto). This block is where an organisation's process PROFILE lives, e.g. 'screening only' (stage 3, 2026-10-06): every key off except the CV screening, advertising off. PATCH merges this block PER KEY (several keys in one PATCH are fine; a key sent as null clears that default). Validated in code like the job block: every key accepts auto|manual|off (S.K. 2026-10-06: no exceptions); an unknown key or value is a 400 naming it. Writable through the tenant PATCH (sysowner / owner / admin). NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it.",
206
206
  "properties": {
207
207
  "sourcing": {
208
208
  "type": "string",
@@ -218,19 +218,23 @@
218
218
  },
219
219
  "interview": {
220
220
  "type": "string",
221
- "description": "auto | manual"
221
+ "description": "auto | manual | off (off since 2026-10-06)"
222
222
  },
223
223
  "offer": {
224
224
  "type": "string",
225
- "description": "auto | manual"
225
+ "description": "auto | manual | off (off since 2026-10-06)"
226
226
  },
227
227
  "surveys": {
228
228
  "type": "string",
229
- "description": "auto | off"
229
+ "description": "auto | manual | off (manual since 2026-10-06)"
230
230
  },
231
231
  "feedback": {
232
232
  "type": "string",
233
233
  "description": "auto | manual | off"
234
+ },
235
+ "advertising": {
236
+ "type": "string",
237
+ "description": "auto | manual | off (new 2026-10-06; absent = auto). The job's ads and its public apply page, see job.settings.automation.advertising."
234
238
  }
235
239
  }
236
240
  },
@@ -773,7 +777,7 @@
773
777
  "automation": {
774
778
  "title": "TenantAttributesSettingsAutomationSchema",
775
779
  "type": "object",
776
- "description": "The organisation's DEFAULT automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24), the same seven keys and values as job.settings.automation: auto = Boe runs the stage, manual = a human runs it (a task on the RecOps board), off = the stage is not part of the process. A job overrides these in BOTH directions (a tenant on manual pilots auto on one job); absent = the platform default (sourcing manual, everything else auto). PATCH merges this block PER KEY (a key sent as null clears the default). Validated in code like the job block: interview and offer accept auto|manual, surveys accepts auto|off, the rest auto|manual|off. NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it.",
780
+ "description": "The organisation's DEFAULT automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24), the same eight keys and values as job.settings.automation: auto = Boe runs the stage, manual = a human runs it (a task on the RecOps board), off = the stage is not part of the process. A job overrides these in BOTH directions (a tenant on manual pilots auto on one job); absent = the platform default (sourcing manual, everything else auto). This block is where an organisation's process PROFILE lives, e.g. 'screening only' (stage 3, 2026-10-06): every key off except the CV screening, advertising off. PATCH merges this block PER KEY (several keys in one PATCH are fine; a key sent as null clears that default). Validated in code like the job block: every key accepts auto|manual|off (S.K. 2026-10-06: no exceptions); an unknown key or value is a 400 naming it. Writable through the tenant PATCH (sysowner / owner / admin). NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it.",
777
781
  "properties": {
778
782
  "sourcing": {
779
783
  "type": "string",
@@ -789,19 +793,23 @@
789
793
  },
790
794
  "interview": {
791
795
  "type": "string",
792
- "description": "auto | manual"
796
+ "description": "auto | manual | off (off since 2026-10-06)"
793
797
  },
794
798
  "offer": {
795
799
  "type": "string",
796
- "description": "auto | manual"
800
+ "description": "auto | manual | off (off since 2026-10-06)"
797
801
  },
798
802
  "surveys": {
799
803
  "type": "string",
800
- "description": "auto | off"
804
+ "description": "auto | manual | off (manual since 2026-10-06)"
801
805
  },
802
806
  "feedback": {
803
807
  "type": "string",
804
808
  "description": "auto | manual | off"
809
+ },
810
+ "advertising": {
811
+ "type": "string",
812
+ "description": "auto | manual | off (new 2026-10-06; absent = auto). The job's ads and its public apply page, see job.settings.automation.advertising."
805
813
  }
806
814
  }
807
815
  },
@@ -5128,11 +5136,19 @@
5128
5136
  },
5129
5137
  "applyPage": {
5130
5138
  "type": "object",
5131
- "description": "Package 8 (2026-10-05): the public application page of the job, stamped at every publication (a public job at its activation, a confidential or internal one when RecOps shared it). Absent = not published.",
5139
+ "description": "Package 8 (2026-10-05): the public application page of the job, stamped at every publication (a public job at its activation, a confidential or internal one when RecOps shared it, a form-only page when RecOps shared the full one). Absent = not published.",
5132
5140
  "properties": {
5133
5141
  "url": {
5134
5142
  "type": "string",
5135
- "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
5143
+ "description": "Where a candidate lands: the full page https://apply.{domain}/{language tag}/{tenant short code}/{job short code}, or the form address (formUrl) when the page is published form only."
5144
+ },
5145
+ "formUrl": {
5146
+ "type": "string",
5147
+ "description": "The form-only address of the same page, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}/form (stage 3, 2026-10-06): present on every page published since, the link RecOps copies for a form-only job."
5148
+ },
5149
+ "formOnly": {
5150
+ "type": "boolean",
5151
+ "description": "true when this publication is FORM ONLY (stage 3, 2026-10-06): the job's settings.automation.advertising is off, or manual and RecOps has not shared the full page yet. The public data then carries no ad content (no copy, no images), the job is not on the careers listing and the full address redirects to the form. false or absent = the full page."
5136
5152
  },
5137
5153
  "publishedAt": {
5138
5154
  "type": "string",
@@ -5616,7 +5632,7 @@
5616
5632
  "automation": {
5617
5633
  "title": "JobAttributesSettingsAutomationSchema",
5618
5634
  "type": "object",
5619
- "description": "Per-job automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24): who runs each stage of THIS recruitment process. Values per key: auto = Boe runs the stage, manual = a human runs it (Boe leaves a task on the RecOps board and waits), off = the stage is not part of this process (the candidate moves on). Every key is optional: absent = the organisation's default (tenant.settings.automation), else the platform default (sourcing manual, everything else auto); the job overrides the tenant in BOTH directions. Read by the automation:resolve action at the head of the candidate-facing workflows and by feedback:resolve (feedback). PATCH merges this block PER KEY (send one switch at a time; a key sent as null clears the override). Writable only by sysowner / owner / admin / recops - any other role gets 403 on a payload that carries it, on POST and PATCH. Validated in code: interview and offer accept auto|manual, surveys accepts auto|off, the rest auto|manual|off; an unknown key or value is a 400 naming it. `feedback` here is the ONE control of feedback e-mails (S.K. 2026-09-24): the deprecated settings.feedback.enabled counts only while this key is absent on both the job and the tenant. The job build (Create Job From Brief) never generates this block: it keeps the row's values and seeds `off` for the stages the manager declared out of the process in the intake (brief.intakeContext.process).",
5635
+ "description": "Per-job automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24): who runs each stage of THIS recruitment process. Values per key, the same three for every key (S.K. 2026-10-06): auto = Boe runs the stage, manual = a human runs it (Boe leaves a task on the RecOps board and waits), off = the stage is not part of this process. For sourcing / screeningCall / assessment off means the candidate moves on to the next stage the process has; for interview / offer off means the process ends before that stage and the candidate stays where they are, with the verdict. Every key is optional: absent = the organisation's default (tenant.settings.automation), else the platform default (sourcing manual, everything else auto); the job overrides the tenant in BOTH directions. A job whose phone screening, assessment, interview and offer are all effectively off is a 'screening only' process (stage 3, 2026-10-06): Boe screens the CV and stops (no phone screening, assessment, interview ask or offer, no rejection on the verdict), RecOps is notified of every verdict and decides. That is not a stored key: it is derived from the four keys (automation:resolve output screeningOnly), so a UI tile sets the keys. Read by the automation:resolve action at the head of the candidate-facing workflows, by feedback:resolve (feedback), by the ad build and by the apply page publication (advertising). PATCH merges this block PER KEY: several keys in one PATCH are fine, a key sent as null clears that override (a client model that serialises every unset key as null clears them all; build the request with only the keys you mean). Writable only by sysowner / owner / admin / recops - any other role gets 403 on a payload that carries it, on POST and PATCH. Validated in code: every key accepts auto|manual|off; an unknown key or value is a 400 naming it. `feedback` here is the ONE control of feedback e-mails (S.K. 2026-09-24): the deprecated settings.feedback.enabled counts only while this key is absent on both the job and the tenant. The job build (Create Job From Brief) never generates this block: it keeps the row's values and seeds `off` for the stages the manager declared out of the process in the intake (brief.intakeContext.process); a brief whose job is built while assessment is off builds no assessment.",
5620
5636
  "properties": {
5621
5637
  "sourcing": {
5622
5638
  "type": "string",
@@ -5632,19 +5648,23 @@
5632
5648
  },
5633
5649
  "interview": {
5634
5650
  "type": "string",
5635
- "description": "auto | manual. The HM consent ask and the autonomous interview booking: manual = no HM e-mail, no booking, a board task, the candidate stays at interview (the shortlist). No off in v1."
5651
+ "description": "auto | manual | off. The HM consent ask and the autonomous interview booking: manual = no HM e-mail, no booking, a board task, the candidate stays at interview (the shortlist); off (2026-10-06) = the process ends before the interview: a candidate who passed the earlier stages stays at the stage they reached, with the verdict, and is never moved to interview by Boe; no HM e-mail, no booking, no board task. A candidate a human moves to interview anyway gets no HM ask either (a note says the stage is off)."
5636
5652
  },
5637
5653
  "offer": {
5638
5654
  "type": "string",
5639
- "description": "auto | manual. After the HM's yes: auto = offer document draft + congratulation e-mail, manual = the stage move and the audit note only, plus a board task. No off in v1."
5655
+ "description": "auto | manual | off. After the HM's yes: auto = offer document draft + congratulation e-mail, manual = the stage move and the audit note only, plus a board task; off (2026-10-06) = the process ends before the offer: the HM's yes is noted on the candidate, who stays at interview; no offer draft, no e-mail, no stage move, no board task."
5640
5656
  },
5641
5657
  "surveys": {
5642
5658
  "type": "string",
5643
- "description": "auto | off. cNPS surveys: off = no survey invitation after a hire and no survey link in rejection e-mails."
5659
+ "description": "auto | manual | off. cNPS surveys: auto = Boe sends the survey invitation after a hire and rejection e-mails carry the survey link; manual (2026-10-06) = Boe sends no survey: one board task per hire (send the survey yourself) and no survey link in rejection e-mails; off = no survey invitation after a hire and no survey link in rejection e-mails."
5644
5660
  },
5645
5661
  "feedback": {
5646
5662
  "type": "string",
5647
5663
  "description": "auto | manual | off. Candidate feedback e-mails the feedback policy allows: auto = composed, scheduled and sent by the workflow, manual = composed by Boe and HELD as a draft in the candidate's thread with a board task, released by the operator's emails:send order, off = no feedback e-mail."
5664
+ },
5665
+ "advertising": {
5666
+ "type": "string",
5667
+ "description": "auto | manual | off (new 2026-10-06; absent everywhere = auto). The job's ads and its public apply page. auto = the ads are built as drafts at the job build, accepted at the activation, and the full apply page and the careers listing entry go up with them (today's behaviour). manual = the ads are built as drafts, the activation publishes the page FORM ONLY (applyPage.formOnly, not on the careers listing), the ads stay drafts and one board task asks RecOps; RecOps publishes the full page and the listing entry with the share order (jobs:activate with meta.publishApply on the active job); a later re-activation publishes the form only again. off = no ads are built (neither at the job build nor at the activation) and the page is published form only. No code posts to job boards: RecOps copies the built ads by hand."
5648
5668
  }
5649
5669
  }
5650
5670
  }
@@ -6090,11 +6110,19 @@
6090
6110
  },
6091
6111
  "applyPage": {
6092
6112
  "type": "object",
6093
- "description": "Package 8 (2026-10-05): the public application page of the job, stamped at every publication (a public job at its activation, a confidential or internal one when RecOps shared it). Absent = not published.",
6113
+ "description": "Package 8 (2026-10-05): the public application page of the job, stamped at every publication (a public job at its activation, a confidential or internal one when RecOps shared it, a form-only page when RecOps shared the full one). Absent = not published.",
6094
6114
  "properties": {
6095
6115
  "url": {
6096
6116
  "type": "string",
6097
- "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
6117
+ "description": "Where a candidate lands: the full page https://apply.{domain}/{language tag}/{tenant short code}/{job short code}, or the form address (formUrl) when the page is published form only."
6118
+ },
6119
+ "formUrl": {
6120
+ "type": "string",
6121
+ "description": "The form-only address of the same page, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}/form (stage 3, 2026-10-06): present on every page published since, the link RecOps copies for a form-only job."
6122
+ },
6123
+ "formOnly": {
6124
+ "type": "boolean",
6125
+ "description": "true when this publication is FORM ONLY (stage 3, 2026-10-06): the job's settings.automation.advertising is off, or manual and RecOps has not shared the full page yet. The public data then carries no ad content (no copy, no images), the job is not on the careers listing and the full address redirects to the form. false or absent = the full page."
6098
6126
  },
6099
6127
  "publishedAt": {
6100
6128
  "type": "string",
@@ -6578,7 +6606,7 @@
6578
6606
  "automation": {
6579
6607
  "title": "JobAttributesSettingsAutomationSchema",
6580
6608
  "type": "object",
6581
- "description": "Per-job automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24): who runs each stage of THIS recruitment process. Values per key: auto = Boe runs the stage, manual = a human runs it (Boe leaves a task on the RecOps board and waits), off = the stage is not part of this process (the candidate moves on). Every key is optional: absent = the organisation's default (tenant.settings.automation), else the platform default (sourcing manual, everything else auto); the job overrides the tenant in BOTH directions. Read by the automation:resolve action at the head of the candidate-facing workflows and by feedback:resolve (feedback). PATCH merges this block PER KEY (send one switch at a time; a key sent as null clears the override). Writable only by sysowner / owner / admin / recops - any other role gets 403 on a payload that carries it, on POST and PATCH. Validated in code: interview and offer accept auto|manual, surveys accepts auto|off, the rest auto|manual|off; an unknown key or value is a 400 naming it. `feedback` here is the ONE control of feedback e-mails (S.K. 2026-09-24): the deprecated settings.feedback.enabled counts only while this key is absent on both the job and the tenant. The job build (Create Job From Brief) never generates this block: it keeps the row's values and seeds `off` for the stages the manager declared out of the process in the intake (brief.intakeContext.process).",
6609
+ "description": "Per-job automation switches (PLAN_PROCESS_AUTOMATION, 2026-09-24): who runs each stage of THIS recruitment process. Values per key, the same three for every key (S.K. 2026-10-06): auto = Boe runs the stage, manual = a human runs it (Boe leaves a task on the RecOps board and waits), off = the stage is not part of this process. For sourcing / screeningCall / assessment off means the candidate moves on to the next stage the process has; for interview / offer off means the process ends before that stage and the candidate stays where they are, with the verdict. Every key is optional: absent = the organisation's default (tenant.settings.automation), else the platform default (sourcing manual, everything else auto); the job overrides the tenant in BOTH directions. A job whose phone screening, assessment, interview and offer are all effectively off is a 'screening only' process (stage 3, 2026-10-06): Boe screens the CV and stops (no phone screening, assessment, interview ask or offer, no rejection on the verdict), RecOps is notified of every verdict and decides. That is not a stored key: it is derived from the four keys (automation:resolve output screeningOnly), so a UI tile sets the keys. Read by the automation:resolve action at the head of the candidate-facing workflows, by feedback:resolve (feedback), by the ad build and by the apply page publication (advertising). PATCH merges this block PER KEY: several keys in one PATCH are fine, a key sent as null clears that override (a client model that serialises every unset key as null clears them all; build the request with only the keys you mean). Writable only by sysowner / owner / admin / recops - any other role gets 403 on a payload that carries it, on POST and PATCH. Validated in code: every key accepts auto|manual|off; an unknown key or value is a 400 naming it. `feedback` here is the ONE control of feedback e-mails (S.K. 2026-09-24): the deprecated settings.feedback.enabled counts only while this key is absent on both the job and the tenant. The job build (Create Job From Brief) never generates this block: it keeps the row's values and seeds `off` for the stages the manager declared out of the process in the intake (brief.intakeContext.process); a brief whose job is built while assessment is off builds no assessment.",
6582
6610
  "properties": {
6583
6611
  "sourcing": {
6584
6612
  "type": "string",
@@ -6594,19 +6622,23 @@
6594
6622
  },
6595
6623
  "interview": {
6596
6624
  "type": "string",
6597
- "description": "auto | manual. The HM consent ask and the autonomous interview booking: manual = no HM e-mail, no booking, a board task, the candidate stays at interview (the shortlist). No off in v1."
6625
+ "description": "auto | manual | off. The HM consent ask and the autonomous interview booking: manual = no HM e-mail, no booking, a board task, the candidate stays at interview (the shortlist); off (2026-10-06) = the process ends before the interview: a candidate who passed the earlier stages stays at the stage they reached, with the verdict, and is never moved to interview by Boe; no HM e-mail, no booking, no board task. A candidate a human moves to interview anyway gets no HM ask either (a note says the stage is off)."
6598
6626
  },
6599
6627
  "offer": {
6600
6628
  "type": "string",
6601
- "description": "auto | manual. After the HM's yes: auto = offer document draft + congratulation e-mail, manual = the stage move and the audit note only, plus a board task. No off in v1."
6629
+ "description": "auto | manual | off. After the HM's yes: auto = offer document draft + congratulation e-mail, manual = the stage move and the audit note only, plus a board task; off (2026-10-06) = the process ends before the offer: the HM's yes is noted on the candidate, who stays at interview; no offer draft, no e-mail, no stage move, no board task."
6602
6630
  },
6603
6631
  "surveys": {
6604
6632
  "type": "string",
6605
- "description": "auto | off. cNPS surveys: off = no survey invitation after a hire and no survey link in rejection e-mails."
6633
+ "description": "auto | manual | off. cNPS surveys: auto = Boe sends the survey invitation after a hire and rejection e-mails carry the survey link; manual (2026-10-06) = Boe sends no survey: one board task per hire (send the survey yourself) and no survey link in rejection e-mails; off = no survey invitation after a hire and no survey link in rejection e-mails."
6606
6634
  },
6607
6635
  "feedback": {
6608
6636
  "type": "string",
6609
6637
  "description": "auto | manual | off. Candidate feedback e-mails the feedback policy allows: auto = composed, scheduled and sent by the workflow, manual = composed by Boe and HELD as a draft in the candidate's thread with a board task, released by the operator's emails:send order, off = no feedback e-mail."
6638
+ },
6639
+ "advertising": {
6640
+ "type": "string",
6641
+ "description": "auto | manual | off (new 2026-10-06; absent everywhere = auto). The job's ads and its public apply page. auto = the ads are built as drafts at the job build, accepted at the activation, and the full apply page and the careers listing entry go up with them (today's behaviour). manual = the ads are built as drafts, the activation publishes the page FORM ONLY (applyPage.formOnly, not on the careers listing), the ads stay drafts and one board task asks RecOps; RecOps publishes the full page and the listing entry with the share order (jobs:activate with meta.publishApply on the active job); a later re-activation publishes the form only again. off = no ads are built (neither at the job build nor at the activation) and the page is published form only. No code posts to job boards: RecOps copies the built ads by hand."
6610
6642
  }
6611
6643
  }
6612
6644
  }
@@ -6820,6 +6852,10 @@
6820
6852
  "pageBefore": {
6821
6853
  "type": "string",
6822
6854
  "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
6855
+ },
6856
+ "sort": {
6857
+ "type": "string",
6858
+ "description": "Order of the list. Leading `-` means descending.\n `-created` / `created` / `-modified` / `modified`: by time, as on the other lists.\n `-overallMatchRating`: the best rated first (stage 3, 2026-10-06): the band of the CV\n verdict (overallMatchRating, 1-5), then the verdict's score (meta.verdict.score), then\n the newest first, then the candidate id. Candidates without a rating come last.\n `overallMatchRating`: the rated candidates in the reverse order, those without a\n rating still last.\nThe rating order needs `filterJobId` (a 400 without it): the job's candidates are read\nwhole and ordered before the page is cut, so the order is stable across pages, with\npageNumber / pageSize (exact totals) or the cursor links of the answer."
6823
6859
  }
6824
6860
  }
6825
6861
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/openai-tools",
3
- "version": "0.9.54",
3
+ "version": "0.9.55",
4
4
  "description": "OpenAI function/tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",