@smartytalent/mcp-tools 0.9.47 → 0.9.49

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 +188 -16
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -5191,6 +5191,29 @@
5191
5191
  "type": "string",
5192
5192
  "description": "Source of the job posting (e.g. email, erecruiter)"
5193
5193
  },
5194
+ "recruitmentType": {
5195
+ "type": "string",
5196
+ "enum": [
5197
+ "public",
5198
+ "confidential",
5199
+ "internal"
5200
+ ],
5201
+ "description": "Package 8 (2026-10-05): the kind of search of the brief the job was built from; absent = public. A confidential or internal job never stands on the public listing and its application page is not published at the activation; RecOps shares it (the order `jobs:activate` with meta.publishApply)."
5202
+ },
5203
+ "applyPage": {
5204
+ "type": "object",
5205
+ "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.",
5206
+ "properties": {
5207
+ "url": {
5208
+ "type": "string",
5209
+ "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
5210
+ },
5211
+ "publishedAt": {
5212
+ "type": "string",
5213
+ "format": "date-time"
5214
+ }
5215
+ }
5216
+ },
5194
5217
  "languageCode": {
5195
5218
  "type": "string",
5196
5219
  "description": "Primary language code for the job posting (e.g. en-US, pl-PL)"
@@ -6103,6 +6126,29 @@
6103
6126
  "type": "string",
6104
6127
  "description": "Source of the job posting (e.g. email, erecruiter)"
6105
6128
  },
6129
+ "recruitmentType": {
6130
+ "type": "string",
6131
+ "enum": [
6132
+ "public",
6133
+ "confidential",
6134
+ "internal"
6135
+ ],
6136
+ "description": "Package 8 (2026-10-05): the kind of search of the brief the job was built from; absent = public. A confidential or internal job never stands on the public listing and its application page is not published at the activation; RecOps shares it (the order `jobs:activate` with meta.publishApply)."
6137
+ },
6138
+ "applyPage": {
6139
+ "type": "object",
6140
+ "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.",
6141
+ "properties": {
6142
+ "url": {
6143
+ "type": "string",
6144
+ "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
6145
+ },
6146
+ "publishedAt": {
6147
+ "type": "string",
6148
+ "format": "date-time"
6149
+ }
6150
+ }
6151
+ },
6106
6152
  "languageCode": {
6107
6153
  "type": "string",
6108
6154
  "description": "Primary language code for the job posting (e.g. en-US, pl-PL)"
@@ -14030,6 +14076,15 @@
14030
14076
  "type": "string",
14031
14077
  "description": "Employment type (e.g. B2B, employment contract)"
14032
14078
  },
14079
+ "recruitmentType": {
14080
+ "type": "string",
14081
+ "enum": [
14082
+ "public",
14083
+ "confidential",
14084
+ "internal"
14085
+ ],
14086
+ "description": "Package 8 (2026-10-05): the kind of search, stored ONLY when the hiring manager said it (in his e-mail, a reply or the intake conversation); absent = public. Copied onto the job at its build; a confidential or internal job never stands on the public listing and its application page waits for RecOps."
14087
+ },
14033
14088
  "seniority": {
14034
14089
  "type": "string",
14035
14090
  "description": "Seniority level for the role (e.g. junior, mid, senior)"
@@ -14094,22 +14149,23 @@
14094
14149
  },
14095
14150
  "source": {
14096
14151
  "type": "string",
14097
- "description": "Where the requirement came from: the hiring manager's own words (hm; an absent field means the same), a file or a web page he sent (document, link; named by sourceLabel), or the previous process (baseline, reserved).",
14152
+ "description": "Where the requirement came from: the hiring manager's own words (hm; an absent field means the same), a file or a web page he sent (document, link; named by sourceLabel), a guest of the intake conversation (guest, package 8; named by sourceLabel, to be confirmed by the manager), or the previous process (baseline, reserved).",
14098
14153
  "enum": [
14099
14154
  "hm",
14100
14155
  "document",
14101
14156
  "link",
14102
- "baseline"
14157
+ "baseline",
14158
+ "guest"
14103
14159
  ]
14104
14160
  },
14105
14161
  "sourceLabel": {
14106
14162
  "type": "string",
14107
14163
  "maxLength": 120,
14108
- "description": "The label of the document or the page the requirement was read from (the file name, the page title). Present only with source document or link."
14164
+ "description": "The label of the document or the page the requirement was read from (the file name, the page title), or the guest's name. Present only with source document, link or guest."
14109
14165
  },
14110
14166
  "toConfirm": {
14111
14167
  "type": "boolean",
14112
- "description": "True while the requirement stands only in a document and the hiring manager has not spoken about it; its tier is preferred at most until he does. Stored only as true: his later word on the criterion sets source to hm and removes this field."
14168
+ "description": "True while the requirement stands only in a document or in a guest's words and the hiring manager has not spoken about it; its tier is preferred at most until he does. Stored only as true: his later word on the criterion sets source to hm and removes this field."
14113
14169
  }
14114
14170
  }
14115
14171
  }
@@ -14204,7 +14260,7 @@
14204
14260
  "type": "string"
14205
14261
  },
14206
14262
  "decisionMaker": {
14207
- "type": "string"
14263
+ "description": "Who decides on the hire, a translated text { locale: string } (since 2026-10-05; a brief written earlier gives its text as { en-US: text }). The type is left open for one release: an API before package 8 gave the en-US text as a plain string, so a reader takes either shape."
14208
14264
  },
14209
14265
  "recruiter": {
14210
14266
  "type": "string"
@@ -14537,6 +14593,15 @@
14537
14593
  "type": "string",
14538
14594
  "description": "Employment type (e.g. B2B, employment contract)"
14539
14595
  },
14596
+ "recruitmentType": {
14597
+ "type": "string",
14598
+ "enum": [
14599
+ "public",
14600
+ "confidential",
14601
+ "internal"
14602
+ ],
14603
+ "description": "Package 8 (2026-10-05): the kind of search, stored ONLY when the hiring manager said it (in his e-mail, a reply or the intake conversation); absent = public. Copied onto the job at its build; a confidential or internal job never stands on the public listing and its application page waits for RecOps."
14604
+ },
14540
14605
  "seniority": {
14541
14606
  "type": "string",
14542
14607
  "description": "Seniority level for the role (e.g. junior, mid, senior)"
@@ -14601,22 +14666,23 @@
14601
14666
  },
14602
14667
  "source": {
14603
14668
  "type": "string",
14604
- "description": "Where the requirement came from: the hiring manager's own words (hm; an absent field means the same), a file or a web page he sent (document, link; named by sourceLabel), or the previous process (baseline, reserved).",
14669
+ "description": "Where the requirement came from: the hiring manager's own words (hm; an absent field means the same), a file or a web page he sent (document, link; named by sourceLabel), a guest of the intake conversation (guest, package 8; named by sourceLabel, to be confirmed by the manager), or the previous process (baseline, reserved).",
14605
14670
  "enum": [
14606
14671
  "hm",
14607
14672
  "document",
14608
14673
  "link",
14609
- "baseline"
14674
+ "baseline",
14675
+ "guest"
14610
14676
  ]
14611
14677
  },
14612
14678
  "sourceLabel": {
14613
14679
  "type": "string",
14614
14680
  "maxLength": 120,
14615
- "description": "The label of the document or the page the requirement was read from (the file name, the page title). Present only with source document or link."
14681
+ "description": "The label of the document or the page the requirement was read from (the file name, the page title), or the guest's name. Present only with source document, link or guest."
14616
14682
  },
14617
14683
  "toConfirm": {
14618
14684
  "type": "boolean",
14619
- "description": "True while the requirement stands only in a document and the hiring manager has not spoken about it; its tier is preferred at most until he does. Stored only as true: his later word on the criterion sets source to hm and removes this field."
14685
+ "description": "True while the requirement stands only in a document or in a guest's words and the hiring manager has not spoken about it; its tier is preferred at most until he does. Stored only as true: his later word on the criterion sets source to hm and removes this field."
14620
14686
  }
14621
14687
  }
14622
14688
  }
@@ -14711,7 +14777,7 @@
14711
14777
  "type": "string"
14712
14778
  },
14713
14779
  "decisionMaker": {
14714
- "type": "string"
14780
+ "description": "Who decides on the hire, a translated text { locale: string } (since 2026-10-05; a brief written earlier gives its text as { en-US: text }). The type is left open for one release: an API before package 8 gave the en-US text as a plain string, so a reader takes either shape."
14715
14781
  },
14716
14782
  "recruiter": {
14717
14783
  "type": "string"
@@ -21230,6 +21296,33 @@
21230
21296
  "additionalProperties": true,
21231
21297
  "description": "AI only. Per-bot runtime config: mode, language, targetLanguage, persona, faceId, context (job-context auto-enrichment seed). Echoed back so FE can confirm what the bot received."
21232
21298
  },
21299
+ "consent": {
21300
+ "type": "object",
21301
+ "description": "Request only (package 8, 2026-10-05). The brief's manager agrees to the recording of the\nintake conversation before it starts: `recording: true`, `text` = the words of the button\nexactly as the page showed them, `locale` = the page's language tag. Stored once on the\nmeeting (the first consent stays; a later one changes nothing). A brief's conversation\nwithout a consent given now or stored before answers 400 `SM_ERROR_CONSENT_REQUIRED`;\nthe virtual employee starts only after it.",
21302
+ "required": [
21303
+ "recording",
21304
+ "text",
21305
+ "locale"
21306
+ ],
21307
+ "properties": {
21308
+ "recording": {
21309
+ "type": "boolean",
21310
+ "enum": [
21311
+ true
21312
+ ]
21313
+ },
21314
+ "text": {
21315
+ "type": "string",
21316
+ "minLength": 1,
21317
+ "maxLength": 500
21318
+ },
21319
+ "locale": {
21320
+ "type": "string",
21321
+ "minLength": 2,
21322
+ "maxLength": 20
21323
+ }
21324
+ }
21325
+ },
21233
21326
  "taskArn": {
21234
21327
  "type": "string",
21235
21328
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -21423,6 +21516,33 @@
21423
21516
  "additionalProperties": true,
21424
21517
  "description": "AI only. Per-bot runtime config: mode, language, targetLanguage, persona, faceId, context (job-context auto-enrichment seed). Echoed back so FE can confirm what the bot received."
21425
21518
  },
21519
+ "consent": {
21520
+ "type": "object",
21521
+ "description": "Request only (package 8, 2026-10-05). The brief's manager agrees to the recording of the\nintake conversation before it starts: `recording: true`, `text` = the words of the button\nexactly as the page showed them, `locale` = the page's language tag. Stored once on the\nmeeting (the first consent stays; a later one changes nothing). A brief's conversation\nwithout a consent given now or stored before answers 400 `SM_ERROR_CONSENT_REQUIRED`;\nthe virtual employee starts only after it.",
21522
+ "required": [
21523
+ "recording",
21524
+ "text",
21525
+ "locale"
21526
+ ],
21527
+ "properties": {
21528
+ "recording": {
21529
+ "type": "boolean",
21530
+ "enum": [
21531
+ true
21532
+ ]
21533
+ },
21534
+ "text": {
21535
+ "type": "string",
21536
+ "minLength": 1,
21537
+ "maxLength": 500
21538
+ },
21539
+ "locale": {
21540
+ "type": "string",
21541
+ "minLength": 2,
21542
+ "maxLength": 20
21543
+ }
21544
+ }
21545
+ },
21426
21546
  "taskArn": {
21427
21547
  "type": "string",
21428
21548
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -21603,6 +21723,33 @@
21603
21723
  "additionalProperties": true,
21604
21724
  "description": "AI only. Per-bot runtime config: mode, language, targetLanguage, persona, faceId, context (job-context auto-enrichment seed). Echoed back so FE can confirm what the bot received."
21605
21725
  },
21726
+ "consent": {
21727
+ "type": "object",
21728
+ "description": "Request only (package 8, 2026-10-05). The brief's manager agrees to the recording of the\nintake conversation before it starts: `recording: true`, `text` = the words of the button\nexactly as the page showed them, `locale` = the page's language tag. Stored once on the\nmeeting (the first consent stays; a later one changes nothing). A brief's conversation\nwithout a consent given now or stored before answers 400 `SM_ERROR_CONSENT_REQUIRED`;\nthe virtual employee starts only after it.",
21729
+ "required": [
21730
+ "recording",
21731
+ "text",
21732
+ "locale"
21733
+ ],
21734
+ "properties": {
21735
+ "recording": {
21736
+ "type": "boolean",
21737
+ "enum": [
21738
+ true
21739
+ ]
21740
+ },
21741
+ "text": {
21742
+ "type": "string",
21743
+ "minLength": 1,
21744
+ "maxLength": 500
21745
+ },
21746
+ "locale": {
21747
+ "type": "string",
21748
+ "minLength": 2,
21749
+ "maxLength": 20
21750
+ }
21751
+ }
21752
+ },
21606
21753
  "taskArn": {
21607
21754
  "type": "string",
21608
21755
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -21699,21 +21846,19 @@
21699
21846
  "mode": {
21700
21847
  "type": "string",
21701
21848
  "enum": [
21702
- "assistant",
21703
- "assistant-openai",
21704
21849
  "transcription",
21850
+ "translator",
21705
21851
  "translator-openai"
21706
21852
  ],
21707
- "default": "assistant",
21708
- "description": "Picks the provider + session.type baked into the ephemeral\ntoken.\n'assistant' = Azure eu00, sm-gpt-realtime-2.1,\n session.type=realtime (browser-side Boe).\n'assistant-openai' = OpenAI direct, gpt-realtime-2.1,\n session.type=realtime. Redundant with 'assistant' now that\n Azure eu00 hosts realtime-2 too; kept as a one-release\n safety valve while the Azure preview deployment soaks.\n'transcription' = Azure eu01, sm-gpt-realtime-whisper,\n session.type=transcription (live captions, audio-in /\n text-out only).\n'translator-openai' = OpenAI direct, gpt-realtime-translate,\n session.type=translation (audio-in, translated audio +\n source-language transcript fanned out on data channel).\n Requires targetLanguage."
21853
+ "description": "Required. Picks the provider + session.type baked into the\nephemeral token. A missing or retired value ('assistant',\n'assistant-openai' - the browser-side assistant was retired\n2026-10-05) answers 400 SM_ERROR_AI_SESSION_MODE before any\nChime attendee is created.\n'transcription' = Azure eu00, sm-gpt-live-transcribe,\n session.type=transcription (live captions, audio-in /\n text-out only). The transcriber segments on its own\n (server_vad) and is pinned to the MEETING's language\n (meeting.defaultLocale), never the UI's. The SDP exchange\n goes to realtimeSession.webrtcUrl (.../openai/v1/realtime/calls).\n'translator' = Azure eu00, sm-gpt-realtime-translate,\n session.type=translation (audio-in, translated audio +\n source-language transcript fanned out on the data channel).\n Requires targetLanguage. The SDP exchange goes to\n realtimeSession.webrtcUrl (.../openai/v1/realtime/translations/calls),\n realtimeSession.deployment names the Azure deployment.\n'translator-openai' = the same on OpenAI direct\n (gpt-realtime-translate); retired once the meet app mints\n 'translator'."
21709
21854
  },
21710
21855
  "language": {
21711
21856
  "type": "string",
21712
- "description": "Reply language for Boe's assistant behaviour (e.g. English). Only applies when mode=assistant."
21857
+ "description": "The captions' spoken language when the room picks one (mode=transcription): a platform language as a tag or a bare language ('en-US', 'pl'); the session takes the primary subtag. Omitted = the meeting's own language (meeting.defaultLocale). A language outside the platform answers 400 SM_ERROR_AI_SESSION_LANGUAGE. Ignored by the translator modes."
21713
21858
  },
21714
21859
  "targetLanguage": {
21715
21860
  "type": "string",
21716
- "description": "BCP-47 code for the language the translator should produce (e.g. 'pl', 'es', 'en'). Required when mode=translator-openai; ignored otherwise. Defaults to 'en' if omitted."
21861
+ "description": "The language the translator should produce, a BCP-47 tag or a bare language ('en-US', 'pl'); the session takes the primary subtag ('en'). Required when mode=translator / translator-openai; ignored otherwise. Defaults to 'en' if omitted."
21717
21862
  }
21718
21863
  }
21719
21864
  }
@@ -21868,6 +22013,33 @@
21868
22013
  "additionalProperties": true,
21869
22014
  "description": "AI only. Per-bot runtime config: mode, language, targetLanguage, persona, faceId, context (job-context auto-enrichment seed). Echoed back so FE can confirm what the bot received."
21870
22015
  },
22016
+ "consent": {
22017
+ "type": "object",
22018
+ "description": "Request only (package 8, 2026-10-05). The brief's manager agrees to the recording of the\nintake conversation before it starts: `recording: true`, `text` = the words of the button\nexactly as the page showed them, `locale` = the page's language tag. Stored once on the\nmeeting (the first consent stays; a later one changes nothing). A brief's conversation\nwithout a consent given now or stored before answers 400 `SM_ERROR_CONSENT_REQUIRED`;\nthe virtual employee starts only after it.",
22019
+ "required": [
22020
+ "recording",
22021
+ "text",
22022
+ "locale"
22023
+ ],
22024
+ "properties": {
22025
+ "recording": {
22026
+ "type": "boolean",
22027
+ "enum": [
22028
+ true
22029
+ ]
22030
+ },
22031
+ "text": {
22032
+ "type": "string",
22033
+ "minLength": 1,
22034
+ "maxLength": 500
22035
+ },
22036
+ "locale": {
22037
+ "type": "string",
22038
+ "minLength": 2,
22039
+ "maxLength": 20
22040
+ }
22041
+ }
22042
+ },
21871
22043
  "taskArn": {
21872
22044
  "type": "string",
21873
22045
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/mcp-tools",
3
- "version": "0.9.47",
3
+ "version": "0.9.49",
4
4
  "description": "MCP tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",