@smartytalent/openai-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
@@ -5009,6 +5009,29 @@
5009
5009
  "type": "string",
5010
5010
  "description": "Source of the job posting (e.g. email, erecruiter)"
5011
5011
  },
5012
+ "recruitmentType": {
5013
+ "type": "string",
5014
+ "enum": [
5015
+ "public",
5016
+ "confidential",
5017
+ "internal"
5018
+ ],
5019
+ "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)."
5020
+ },
5021
+ "applyPage": {
5022
+ "type": "object",
5023
+ "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.",
5024
+ "properties": {
5025
+ "url": {
5026
+ "type": "string",
5027
+ "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
5028
+ },
5029
+ "publishedAt": {
5030
+ "type": "string",
5031
+ "format": "date-time"
5032
+ }
5033
+ }
5034
+ },
5012
5035
  "languageCode": {
5013
5036
  "type": "string",
5014
5037
  "description": "Primary language code for the job posting (e.g. en-US, pl-PL)"
@@ -5915,6 +5938,29 @@
5915
5938
  "type": "string",
5916
5939
  "description": "Source of the job posting (e.g. email, erecruiter)"
5917
5940
  },
5941
+ "recruitmentType": {
5942
+ "type": "string",
5943
+ "enum": [
5944
+ "public",
5945
+ "confidential",
5946
+ "internal"
5947
+ ],
5948
+ "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)."
5949
+ },
5950
+ "applyPage": {
5951
+ "type": "object",
5952
+ "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.",
5953
+ "properties": {
5954
+ "url": {
5955
+ "type": "string",
5956
+ "description": "The page's public address, https://apply.{domain}/{language tag}/{tenant short code}/{job short code}."
5957
+ },
5958
+ "publishedAt": {
5959
+ "type": "string",
5960
+ "format": "date-time"
5961
+ }
5962
+ }
5963
+ },
5918
5964
  "languageCode": {
5919
5965
  "type": "string",
5920
5966
  "description": "Primary language code for the job posting (e.g. en-US, pl-PL)"
@@ -13626,6 +13672,15 @@
13626
13672
  "type": "string",
13627
13673
  "description": "Employment type (e.g. B2B, employment contract)"
13628
13674
  },
13675
+ "recruitmentType": {
13676
+ "type": "string",
13677
+ "enum": [
13678
+ "public",
13679
+ "confidential",
13680
+ "internal"
13681
+ ],
13682
+ "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."
13683
+ },
13629
13684
  "seniority": {
13630
13685
  "type": "string",
13631
13686
  "description": "Seniority level for the role (e.g. junior, mid, senior)"
@@ -13690,22 +13745,23 @@
13690
13745
  },
13691
13746
  "source": {
13692
13747
  "type": "string",
13693
- "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).",
13748
+ "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).",
13694
13749
  "enum": [
13695
13750
  "hm",
13696
13751
  "document",
13697
13752
  "link",
13698
- "baseline"
13753
+ "baseline",
13754
+ "guest"
13699
13755
  ]
13700
13756
  },
13701
13757
  "sourceLabel": {
13702
13758
  "type": "string",
13703
13759
  "maxLength": 120,
13704
- "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."
13760
+ "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."
13705
13761
  },
13706
13762
  "toConfirm": {
13707
13763
  "type": "boolean",
13708
- "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."
13764
+ "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."
13709
13765
  }
13710
13766
  }
13711
13767
  }
@@ -13800,7 +13856,7 @@
13800
13856
  "type": "string"
13801
13857
  },
13802
13858
  "decisionMaker": {
13803
- "type": "string"
13859
+ "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."
13804
13860
  },
13805
13861
  "recruiter": {
13806
13862
  "type": "string"
@@ -14125,6 +14181,15 @@
14125
14181
  "type": "string",
14126
14182
  "description": "Employment type (e.g. B2B, employment contract)"
14127
14183
  },
14184
+ "recruitmentType": {
14185
+ "type": "string",
14186
+ "enum": [
14187
+ "public",
14188
+ "confidential",
14189
+ "internal"
14190
+ ],
14191
+ "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."
14192
+ },
14128
14193
  "seniority": {
14129
14194
  "type": "string",
14130
14195
  "description": "Seniority level for the role (e.g. junior, mid, senior)"
@@ -14189,22 +14254,23 @@
14189
14254
  },
14190
14255
  "source": {
14191
14256
  "type": "string",
14192
- "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).",
14257
+ "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).",
14193
14258
  "enum": [
14194
14259
  "hm",
14195
14260
  "document",
14196
14261
  "link",
14197
- "baseline"
14262
+ "baseline",
14263
+ "guest"
14198
14264
  ]
14199
14265
  },
14200
14266
  "sourceLabel": {
14201
14267
  "type": "string",
14202
14268
  "maxLength": 120,
14203
- "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."
14269
+ "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."
14204
14270
  },
14205
14271
  "toConfirm": {
14206
14272
  "type": "boolean",
14207
- "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."
14273
+ "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."
14208
14274
  }
14209
14275
  }
14210
14276
  }
@@ -14299,7 +14365,7 @@
14299
14365
  "type": "string"
14300
14366
  },
14301
14367
  "decisionMaker": {
14302
- "type": "string"
14368
+ "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."
14303
14369
  },
14304
14370
  "recruiter": {
14305
14371
  "type": "string"
@@ -20652,6 +20718,33 @@
20652
20718
  "additionalProperties": true,
20653
20719
  "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."
20654
20720
  },
20721
+ "consent": {
20722
+ "type": "object",
20723
+ "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.",
20724
+ "required": [
20725
+ "recording",
20726
+ "text",
20727
+ "locale"
20728
+ ],
20729
+ "properties": {
20730
+ "recording": {
20731
+ "type": "boolean",
20732
+ "enum": [
20733
+ true
20734
+ ]
20735
+ },
20736
+ "text": {
20737
+ "type": "string",
20738
+ "minLength": 1,
20739
+ "maxLength": 500
20740
+ },
20741
+ "locale": {
20742
+ "type": "string",
20743
+ "minLength": 2,
20744
+ "maxLength": 20
20745
+ }
20746
+ }
20747
+ },
20655
20748
  "taskArn": {
20656
20749
  "type": "string",
20657
20750
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -20839,6 +20932,33 @@
20839
20932
  "additionalProperties": true,
20840
20933
  "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."
20841
20934
  },
20935
+ "consent": {
20936
+ "type": "object",
20937
+ "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.",
20938
+ "required": [
20939
+ "recording",
20940
+ "text",
20941
+ "locale"
20942
+ ],
20943
+ "properties": {
20944
+ "recording": {
20945
+ "type": "boolean",
20946
+ "enum": [
20947
+ true
20948
+ ]
20949
+ },
20950
+ "text": {
20951
+ "type": "string",
20952
+ "minLength": 1,
20953
+ "maxLength": 500
20954
+ },
20955
+ "locale": {
20956
+ "type": "string",
20957
+ "minLength": 2,
20958
+ "maxLength": 20
20959
+ }
20960
+ }
20961
+ },
20842
20962
  "taskArn": {
20843
20963
  "type": "string",
20844
20964
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -21015,6 +21135,33 @@
21015
21135
  "additionalProperties": true,
21016
21136
  "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."
21017
21137
  },
21138
+ "consent": {
21139
+ "type": "object",
21140
+ "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.",
21141
+ "required": [
21142
+ "recording",
21143
+ "text",
21144
+ "locale"
21145
+ ],
21146
+ "properties": {
21147
+ "recording": {
21148
+ "type": "boolean",
21149
+ "enum": [
21150
+ true
21151
+ ]
21152
+ },
21153
+ "text": {
21154
+ "type": "string",
21155
+ "minLength": 1,
21156
+ "maxLength": 500
21157
+ },
21158
+ "locale": {
21159
+ "type": "string",
21160
+ "minLength": 2,
21161
+ "maxLength": 20
21162
+ }
21163
+ }
21164
+ },
21018
21165
  "taskArn": {
21019
21166
  "type": "string",
21020
21167
  "description": "AI only. ECS task ARN for the bot (operational). Server-managed."
@@ -21107,21 +21254,19 @@
21107
21254
  "mode": {
21108
21255
  "type": "string",
21109
21256
  "enum": [
21110
- "assistant",
21111
- "assistant-openai",
21112
21257
  "transcription",
21258
+ "translator",
21113
21259
  "translator-openai"
21114
21260
  ],
21115
- "default": "assistant",
21116
- "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."
21261
+ "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'."
21117
21262
  },
21118
21263
  "language": {
21119
21264
  "type": "string",
21120
- "description": "Reply language for Boe's assistant behaviour (e.g. English). Only applies when mode=assistant."
21265
+ "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."
21121
21266
  },
21122
21267
  "targetLanguage": {
21123
21268
  "type": "string",
21124
- "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."
21269
+ "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."
21125
21270
  }
21126
21271
  }
21127
21272
  }
@@ -21270,6 +21415,33 @@
21270
21415
  "additionalProperties": true,
21271
21416
  "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."
21272
21417
  },
21418
+ "consent": {
21419
+ "type": "object",
21420
+ "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.",
21421
+ "required": [
21422
+ "recording",
21423
+ "text",
21424
+ "locale"
21425
+ ],
21426
+ "properties": {
21427
+ "recording": {
21428
+ "type": "boolean",
21429
+ "enum": [
21430
+ true
21431
+ ]
21432
+ },
21433
+ "text": {
21434
+ "type": "string",
21435
+ "minLength": 1,
21436
+ "maxLength": 500
21437
+ },
21438
+ "locale": {
21439
+ "type": "string",
21440
+ "minLength": 2,
21441
+ "maxLength": 20
21442
+ }
21443
+ }
21444
+ },
21273
21445
  "taskArn": {
21274
21446
  "type": "string",
21275
21447
  "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/openai-tools",
3
- "version": "0.9.47",
3
+ "version": "0.9.49",
4
4
  "description": "OpenAI function/tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",