@smartytalent/openai-tools 0.9.36 → 0.9.38

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 +286 -20
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -187,7 +187,7 @@
187
187
  },
188
188
  "operation": {
189
189
  "type": "object",
190
- "description": "Tenant-level outbound-sync defaults (ATS integrations): {syncStage, syncNotes, syncRatings, syncTags, syncReports, syncConversationReports, syncMessages} - overridden per job by job.settings.operation. NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it."
190
+ "description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): ignored by the backend and stripped on write. The ATS sync defaults live on the virtual employee's connection (POST /v1/users/{boeUserId}/connections/{ats}) and a recruitment project overrides them in job.connections; no tenant row ever carried this block and nothing reads it. Removed in a later, breaking release; declared until then because the generated model whitelists keys."
191
191
  },
192
192
  "feedback": {
193
193
  "title": "TenantAttributesSettingsFeedbackSchema",
@@ -757,7 +757,7 @@
757
757
  },
758
758
  "operation": {
759
759
  "type": "object",
760
- "description": "Tenant-level outbound-sync defaults (ATS integrations): {syncStage, syncNotes, syncRatings, syncTags, syncReports, syncConversationReports, syncMessages} - overridden per job by job.settings.operation. NOTE: the generated model whitelists keys, so this property MUST be declared for the SDK to carry it."
760
+ "description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): ignored by the backend and stripped on write. The ATS sync defaults live on the virtual employee's connection (POST /v1/users/{boeUserId}/connections/{ats}) and a recruitment project overrides them in job.connections; no tenant row ever carried this block and nothing reads it. Removed in a later, breaking release; declared until then because the generated model whitelists keys."
761
761
  },
762
762
  "feedback": {
763
763
  "title": "TenantAttributesSettingsFeedbackSchema",
@@ -1832,7 +1832,8 @@
1832
1832
  },
1833
1833
  "connections": {
1834
1834
  "type": "object",
1835
- "additionalProperties": true
1835
+ "additionalProperties": true,
1836
+ "description": "READ-ONLY since 2026-09-24 (PLAN_BOE_CONNECTIONS): the virtual employee's connections map as stored (secret references and the entries' defaults; `self` = the Boe's own API key reference). A non-empty `connections` on POST / PATCH /v1/users is a 400 with code SM_ERROR_CONNECTIONS_DOOR: connections are managed through GET/POST/PATCH/DELETE /v1/users/{userId}/connections/{integrationId}, which tests the credentials before storing them. The raw map leaves the wire in a later, breaking release; read the door's listing instead."
1836
1837
  },
1837
1838
  "identities": {
1838
1839
  "type": "array",
@@ -2173,7 +2174,8 @@
2173
2174
  },
2174
2175
  "connections": {
2175
2176
  "type": "object",
2176
- "additionalProperties": true
2177
+ "additionalProperties": true,
2178
+ "description": "READ-ONLY since 2026-09-24 (PLAN_BOE_CONNECTIONS): the virtual employee's connections map as stored (secret references and the entries' defaults; `self` = the Boe's own API key reference). A non-empty `connections` on POST / PATCH /v1/users is a 400 with code SM_ERROR_CONNECTIONS_DOOR: connections are managed through GET/POST/PATCH/DELETE /v1/users/{userId}/connections/{integrationId}, which tests the credentials before storing them. The raw map leaves the wire in a later, breaking release; read the door's listing instead."
2177
2179
  },
2178
2180
  "identities": {
2179
2181
  "type": "array",
@@ -2730,6 +2732,188 @@
2730
2732
  }
2731
2733
  }
2732
2734
  },
2735
+ {
2736
+ "type": "function",
2737
+ "function": {
2738
+ "name": "list_integrations",
2739
+ "description": "List Integrations",
2740
+ "parameters": {
2741
+ "type": "object",
2742
+ "properties": {}
2743
+ }
2744
+ }
2745
+ },
2746
+ {
2747
+ "type": "function",
2748
+ "function": {
2749
+ "name": "integrations_options",
2750
+ "description": "Integrations Options",
2751
+ "parameters": {
2752
+ "type": "object",
2753
+ "properties": {}
2754
+ }
2755
+ }
2756
+ },
2757
+ {
2758
+ "type": "function",
2759
+ "function": {
2760
+ "name": "list_user_connections",
2761
+ "description": "List The Virtual Employee's Connections",
2762
+ "parameters": {
2763
+ "type": "object",
2764
+ "properties": {}
2765
+ }
2766
+ }
2767
+ },
2768
+ {
2769
+ "type": "function",
2770
+ "function": {
2771
+ "name": "user_connections_options",
2772
+ "description": "User Connections Options",
2773
+ "parameters": {
2774
+ "type": "object",
2775
+ "properties": {}
2776
+ }
2777
+ }
2778
+ },
2779
+ {
2780
+ "type": "function",
2781
+ "function": {
2782
+ "name": "create_user_connection",
2783
+ "description": "Connect An Integration",
2784
+ "parameters": {
2785
+ "title": "UserConnectionRequestSchema",
2786
+ "type": "object",
2787
+ "description": "POST: `values` (the credential fields of the catalogue's connection schema) plus the default flags of an ATS or `default` of a job board. PATCH: the flags / `default` only (a flag sent as null clears it). Unknown keys are a 400.",
2788
+ "properties": {
2789
+ "data": {
2790
+ "type": "object",
2791
+ "properties": {
2792
+ "type": {
2793
+ "type": "string"
2794
+ },
2795
+ "attributes": {
2796
+ "title": "UserConnectionRequestAttributesSchema",
2797
+ "type": "object",
2798
+ "properties": {
2799
+ "values": {
2800
+ "type": "object",
2801
+ "additionalProperties": true,
2802
+ "description": "The credential fields named by the catalogue (eRecruiter: accessKey; Teamtailor: apiKey, signatureKey, stackHost, companyUuid, reviewUserId). POST only; write-only, never echoed."
2803
+ },
2804
+ "default": {
2805
+ "type": "boolean",
2806
+ "description": "Job boards only."
2807
+ },
2808
+ "syncStage": {
2809
+ "type": "boolean"
2810
+ },
2811
+ "syncNotes": {
2812
+ "type": "boolean"
2813
+ },
2814
+ "syncRatings": {
2815
+ "type": "boolean"
2816
+ },
2817
+ "syncTags": {
2818
+ "type": "boolean"
2819
+ },
2820
+ "syncReports": {
2821
+ "type": "boolean"
2822
+ },
2823
+ "syncConversationReports": {
2824
+ "type": "boolean"
2825
+ },
2826
+ "syncMessages": {
2827
+ "type": "boolean"
2828
+ }
2829
+ }
2830
+ }
2831
+ }
2832
+ }
2833
+ }
2834
+ }
2835
+ }
2836
+ },
2837
+ {
2838
+ "type": "function",
2839
+ "function": {
2840
+ "name": "update_user_connection",
2841
+ "description": "Update A Connection's Defaults",
2842
+ "parameters": {
2843
+ "title": "UserConnectionRequestSchema",
2844
+ "type": "object",
2845
+ "description": "POST: `values` (the credential fields of the catalogue's connection schema) plus the default flags of an ATS or `default` of a job board. PATCH: the flags / `default` only (a flag sent as null clears it). Unknown keys are a 400.",
2846
+ "properties": {
2847
+ "data": {
2848
+ "type": "object",
2849
+ "properties": {
2850
+ "type": {
2851
+ "type": "string"
2852
+ },
2853
+ "attributes": {
2854
+ "title": "UserConnectionRequestAttributesSchema",
2855
+ "type": "object",
2856
+ "properties": {
2857
+ "values": {
2858
+ "type": "object",
2859
+ "additionalProperties": true,
2860
+ "description": "The credential fields named by the catalogue (eRecruiter: accessKey; Teamtailor: apiKey, signatureKey, stackHost, companyUuid, reviewUserId). POST only; write-only, never echoed."
2861
+ },
2862
+ "default": {
2863
+ "type": "boolean",
2864
+ "description": "Job boards only."
2865
+ },
2866
+ "syncStage": {
2867
+ "type": "boolean"
2868
+ },
2869
+ "syncNotes": {
2870
+ "type": "boolean"
2871
+ },
2872
+ "syncRatings": {
2873
+ "type": "boolean"
2874
+ },
2875
+ "syncTags": {
2876
+ "type": "boolean"
2877
+ },
2878
+ "syncReports": {
2879
+ "type": "boolean"
2880
+ },
2881
+ "syncConversationReports": {
2882
+ "type": "boolean"
2883
+ },
2884
+ "syncMessages": {
2885
+ "type": "boolean"
2886
+ }
2887
+ }
2888
+ }
2889
+ }
2890
+ }
2891
+ }
2892
+ }
2893
+ }
2894
+ },
2895
+ {
2896
+ "type": "function",
2897
+ "function": {
2898
+ "name": "delete_user_connection",
2899
+ "description": "Disconnect An Integration",
2900
+ "parameters": {
2901
+ "type": "object",
2902
+ "properties": {}
2903
+ }
2904
+ }
2905
+ },
2906
+ {
2907
+ "type": "function",
2908
+ "function": {
2909
+ "name": "user_connection_options",
2910
+ "description": "User Connection Options",
2911
+ "parameters": {
2912
+ "type": "object",
2913
+ "properties": {}
2914
+ }
2915
+ }
2916
+ },
2733
2917
  {
2734
2918
  "type": "function",
2735
2919
  "function": {
@@ -5109,6 +5293,14 @@
5109
5293
  }
5110
5294
  }
5111
5295
  },
5296
+ "connections": {
5297
+ "title": "JobAttributesConnectionsSchema",
5298
+ "type": "object",
5299
+ "description": "The recruitment project's LINKS to the external systems its virtual employee is connected to (PLAN_BOE_CONNECTIONS, 2026-09-24), a flat map keyed by the integration id of GET /v1/integrations. An ATS entry carries ONLY overrides of the sync-flag defaults stored on the Boe's connection (WHETHER a candidate syncs is decided by the candidate's source and the Boe's connection, never here; a project that wants nothing synced sets every flag to false). A job-board entry carries `enabled`, the override of the Boe entry's `default`, read once when the ad is built (no rebuild). A top-level attribute on purpose, not part of settings: its own validation (400 naming the key; an ATS entry with `enabled`, a job-board entry with a flag, an ATS the Boe has not connected, `apply`), its own PER-KEY merge on PATCH (a key sent as null clears the override, an entry sent as null clears the entry) and its own writer gate (sysowner / owner / admin / recops, 403 below); the AI build never touches it.",
5300
+ "additionalProperties": {
5301
+ "$ref": "#/components/schemas/JobConnectionSchema"
5302
+ }
5303
+ },
5112
5304
  "settings": {
5113
5305
  "title": "JobAttributesSettingsSchema",
5114
5306
  "type": "object",
@@ -5204,6 +5396,7 @@
5204
5396
  "operation": {
5205
5397
  "title": "JobAttributesSettingsOperationSchema",
5206
5398
  "type": "object",
5399
+ "description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): the ATS sync flags moved to the top-level `connections.<ats>` of the job (overrides per ATS) with their defaults on the virtual employee's connection. Still writable per key and read through ONLY for a flag the job's ATS entry does not carry (changeStage -> syncStage, createNote -> syncNotes, createRate -> syncRatings, createTag -> syncTags, createConversationReport -> syncConversationReports); the AI build no longer generates it. Removed in a later, breaking release.",
5207
5400
  "properties": {
5208
5401
  "changeStage": {
5209
5402
  "type": "boolean"
@@ -6003,6 +6196,14 @@
6003
6196
  }
6004
6197
  }
6005
6198
  },
6199
+ "connections": {
6200
+ "title": "JobAttributesConnectionsSchema",
6201
+ "type": "object",
6202
+ "description": "The recruitment project's LINKS to the external systems its virtual employee is connected to (PLAN_BOE_CONNECTIONS, 2026-09-24), a flat map keyed by the integration id of GET /v1/integrations. An ATS entry carries ONLY overrides of the sync-flag defaults stored on the Boe's connection (WHETHER a candidate syncs is decided by the candidate's source and the Boe's connection, never here; a project that wants nothing synced sets every flag to false). A job-board entry carries `enabled`, the override of the Boe entry's `default`, read once when the ad is built (no rebuild). A top-level attribute on purpose, not part of settings: its own validation (400 naming the key; an ATS entry with `enabled`, a job-board entry with a flag, an ATS the Boe has not connected, `apply`), its own PER-KEY merge on PATCH (a key sent as null clears the override, an entry sent as null clears the entry) and its own writer gate (sysowner / owner / admin / recops, 403 below); the AI build never touches it.",
6203
+ "additionalProperties": {
6204
+ "$ref": "#/components/schemas/JobConnectionSchema"
6205
+ }
6206
+ },
6006
6207
  "settings": {
6007
6208
  "title": "JobAttributesSettingsSchema",
6008
6209
  "type": "object",
@@ -6098,6 +6299,7 @@
6098
6299
  "operation": {
6099
6300
  "title": "JobAttributesSettingsOperationSchema",
6100
6301
  "type": "object",
6302
+ "description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): the ATS sync flags moved to the top-level `connections.<ats>` of the job (overrides per ATS) with their defaults on the virtual employee's connection. Still writable per key and read through ONLY for a flag the job's ATS entry does not carry (changeStage -> syncStage, createNote -> syncNotes, createRate -> syncRatings, createTag -> syncTags, createConversationReport -> syncConversationReports); the AI build no longer generates it. Removed in a later, breaking release.",
6101
6303
  "properties": {
6102
6304
  "changeStage": {
6103
6305
  "type": "boolean"
@@ -21864,7 +22066,7 @@
21864
22066
  "properties": {
21865
22067
  "filterStatus": {
21866
22068
  "type": "string",
21867
- "description": "Returns reports with the given status. Pass it explicitly - the backend applies NO default, so without it pending and failed rows come back too. The report app's history query is `filterStatus=active&sort=-created` (newest first; the status index carries the sort). One filter at a time: the backend serves a single index per request.",
22069
+ "description": "Returns reports with the given status. Pass it explicitly - the backend applies NO default, so without it pending and failed rows come back too. The report app's history query is `filterStatus=active&sort=-created&pageNumber=1` (newest first): the sort is honoured next to filterStatus ONLY with page-number pagination (`pageNumber`); the cursor pagination (`pageAfter` / `pageBefore`, the default without pageNumber) keeps the index order and ignores `sort` (measured on dev03 2026-09-24). One filter at a time: the backend serves a single index per request.",
21868
22070
  "enum": [
21869
22071
  "active",
21870
22072
  "inactive",
@@ -21879,7 +22081,7 @@
21879
22081
  },
21880
22082
  "sort": {
21881
22083
  "type": "string",
21882
- "description": "`created` / `-created` / `modified` / `-modified`. Honoured alone and next to filterStatus; ignored next to filterResourceId (index order) and the date windows keep their own index order."
22084
+ "description": "`created` / `-created` / `modified` / `-modified`. Honoured alone (any pagination) and next to filterStatus with page-number pagination only (`pageNumber`; the cursor pagination ignores it there); ignored next to filterResourceId (index order); the date windows keep their own index order."
21883
22085
  },
21884
22086
  "filterCreatedFrom": {
21885
22087
  "type": "string",
@@ -21975,12 +22177,14 @@
21975
22177
  ]
21976
22178
  },
21977
22179
  "reportContent": {
21978
- "type": "string",
21979
- "description": "Merged analytics and AI analysis content"
22180
+ "type": "object",
22181
+ "additionalProperties": true,
22182
+ "description": "Merged analytics and AI analysis content, an OBJECT (declared as a string until 2026-09-24): keyed by locale for a non-English tenant (`en-US` + the tenant language, each holding the sections kpis / alerts / notes / insights / dailyData / topJobs / ...), the sections directly at the top level for an en-US tenant; `{}` while the row is pending."
21980
22183
  },
21981
22184
  "settings": {
21982
- "type": "string",
21983
- "description": "The analysis window the broker stamps at creation (startDate, endDate, reportPeriod, displayName and the period's own fields such as isoWeek or monthName). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
22185
+ "type": "object",
22186
+ "additionalProperties": true,
22187
+ "description": "The analysis window the broker stamps at creation, an OBJECT (declared as a string until 2026-09-24): startDate, endDate (naive calendar stamps `YYYY-MM-DD HH:MM:SS`), reportPeriod, displayName and the period's own fields (day / month / year, isoWeek / isoYear / dateRange, monthName / daysCount). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
21984
22188
  },
21985
22189
  "shortCode": {
21986
22190
  "type": "string",
@@ -22002,8 +22206,9 @@
22002
22206
  ]
22003
22207
  },
22004
22208
  "ttl": {
22005
- "type": "string",
22006
- "description": "Time-to-live value for automatic report expiration"
22209
+ "type": "integer",
22210
+ "format": "int64",
22211
+ "description": "Epoch seconds at which DynamoDB expires the row (an INTEGER, declared as a string until 2026-09-24): created + 400 days on every scheduled report since 2026-09-24; null on rows born before that."
22007
22212
  },
22008
22213
  "timestamps": {
22009
22214
  "title": "ResourceTimestampsSchema",
@@ -22136,12 +22341,14 @@
22136
22341
  ]
22137
22342
  },
22138
22343
  "reportContent": {
22139
- "type": "string",
22140
- "description": "Merged analytics and AI analysis content"
22344
+ "type": "object",
22345
+ "additionalProperties": true,
22346
+ "description": "Merged analytics and AI analysis content, an OBJECT (declared as a string until 2026-09-24): keyed by locale for a non-English tenant (`en-US` + the tenant language, each holding the sections kpis / alerts / notes / insights / dailyData / topJobs / ...), the sections directly at the top level for an en-US tenant; `{}` while the row is pending."
22141
22347
  },
22142
22348
  "settings": {
22143
- "type": "string",
22144
- "description": "The analysis window the broker stamps at creation (startDate, endDate, reportPeriod, displayName and the period's own fields such as isoWeek or monthName). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
22349
+ "type": "object",
22350
+ "additionalProperties": true,
22351
+ "description": "The analysis window the broker stamps at creation, an OBJECT (declared as a string until 2026-09-24): startDate, endDate (naive calendar stamps `YYYY-MM-DD HH:MM:SS`), reportPeriod, displayName and the period's own fields (day / month / year, isoWeek / isoYear / dateRange, monthName / daysCount). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
22145
22352
  },
22146
22353
  "shortCode": {
22147
22354
  "type": "string",
@@ -22163,8 +22370,9 @@
22163
22370
  ]
22164
22371
  },
22165
22372
  "ttl": {
22166
- "type": "string",
22167
- "description": "Time-to-live value for automatic report expiration"
22373
+ "type": "integer",
22374
+ "format": "int64",
22375
+ "description": "Epoch seconds at which DynamoDB expires the row (an INTEGER, declared as a string until 2026-09-24): created + 400 days on every scheduled report since 2026-09-24; null on rows born before that."
22168
22376
  },
22169
22377
  "timestamps": {
22170
22378
  "title": "ResourceTimestampsSchema",
@@ -22374,7 +22582,36 @@
22374
22582
  }
22375
22583
  },
22376
22584
  "settings": {
22377
- "type": "object"
22585
+ "title": "AdAttributesSettingsSchema",
22586
+ "type": "object",
22587
+ "description": "The build snapshot (PLAN_BOE_CONNECTIONS, 2026-09-24): which job boards this ad was built for and why. Written by the pipeline's finalize, never by a client; a platform switched on or off AFTER the build changes nothing here (no rebuild in this version).",
22588
+ "properties": {
22589
+ "platforms": {
22590
+ "type": "array",
22591
+ "items": {
22592
+ "type": "string"
22593
+ },
22594
+ "description": "The job-board ids the ad targets (catalogue order); the apply page is always built and not listed."
22595
+ },
22596
+ "sources": {
22597
+ "type": "object",
22598
+ "description": "Per job board of the catalogue: job (the job's connections entry decided) | boe (the Boe entry's default decided) | default (the Boe carries no job-board entry, every platform is built)."
22599
+ },
22600
+ "imageVariants": {
22601
+ "type": "array",
22602
+ "items": {
22603
+ "type": "string"
22604
+ },
22605
+ "description": "The master images rendered: landscape always, square only when a chosen platform crops from it (linkedin, olx)."
22606
+ },
22607
+ "exports": {
22608
+ "type": "array",
22609
+ "items": {
22610
+ "type": "string"
22611
+ },
22612
+ "description": "The crop exports produced: the apply trio (apply, apply_card, apply_share) plus the chosen platforms' exports."
22613
+ }
22614
+ }
22378
22615
  },
22379
22616
  "timestamps": {
22380
22617
  "title": "ResourceTimestampsSchema",
@@ -22556,7 +22793,36 @@
22556
22793
  }
22557
22794
  },
22558
22795
  "settings": {
22559
- "type": "object"
22796
+ "title": "AdAttributesSettingsSchema",
22797
+ "type": "object",
22798
+ "description": "The build snapshot (PLAN_BOE_CONNECTIONS, 2026-09-24): which job boards this ad was built for and why. Written by the pipeline's finalize, never by a client; a platform switched on or off AFTER the build changes nothing here (no rebuild in this version).",
22799
+ "properties": {
22800
+ "platforms": {
22801
+ "type": "array",
22802
+ "items": {
22803
+ "type": "string"
22804
+ },
22805
+ "description": "The job-board ids the ad targets (catalogue order); the apply page is always built and not listed."
22806
+ },
22807
+ "sources": {
22808
+ "type": "object",
22809
+ "description": "Per job board of the catalogue: job (the job's connections entry decided) | boe (the Boe entry's default decided) | default (the Boe carries no job-board entry, every platform is built)."
22810
+ },
22811
+ "imageVariants": {
22812
+ "type": "array",
22813
+ "items": {
22814
+ "type": "string"
22815
+ },
22816
+ "description": "The master images rendered: landscape always, square only when a chosen platform crops from it (linkedin, olx)."
22817
+ },
22818
+ "exports": {
22819
+ "type": "array",
22820
+ "items": {
22821
+ "type": "string"
22822
+ },
22823
+ "description": "The crop exports produced: the apply trio (apply, apply_card, apply_share) plus the chosen platforms' exports."
22824
+ }
22825
+ }
22560
22826
  },
22561
22827
  "timestamps": {
22562
22828
  "title": "ResourceTimestampsSchema",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/openai-tools",
3
- "version": "0.9.36",
3
+ "version": "0.9.38",
4
4
  "description": "OpenAI function/tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",