@smartytalent/openai-tools 0.9.8 → 0.9.9
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.
- package/dist/tools.json +269 -6
- package/package.json +1 -1
package/dist/tools.json
CHANGED
|
@@ -362,7 +362,7 @@
|
|
|
362
362
|
},
|
|
363
363
|
"limits": {
|
|
364
364
|
"type": "object",
|
|
365
|
-
"description": "Anti-abuse limits for the inbound
|
|
365
|
+
"description": "Anti-abuse limits for the inbound channels (inbound-call arc; email-intake daily budgets since EM-P1). Declared ahead of enforcement so generated clients carry the key (the typed settings schema is a whitelist - undeclared keys are silently dropped by the SDK). Sysowner-only on PATCH (cost-protection config, the boeMetering precedent); the call values are inert until the P4 limiter ships, the emailIntake* budgets are enforced by the inbound email Lambda.",
|
|
366
366
|
"properties": {
|
|
367
367
|
"callsPerCliHour": {
|
|
368
368
|
"type": "integer",
|
|
@@ -397,6 +397,18 @@
|
|
|
397
397
|
"type": "integer",
|
|
398
398
|
"minimum": 1,
|
|
399
399
|
"description": "Daily outbound-SMS budget for the tenant across the inbound-call channel (2b rails; container default applies when unset)"
|
|
400
|
+
},
|
|
401
|
+
"emailIntakeRepliesDay": {
|
|
402
|
+
"type": "integer",
|
|
403
|
+
"minimum": 1,
|
|
404
|
+
"default": 200,
|
|
405
|
+
"description": "Budget of automated intake mails the email channel may handle on the tenant's behalf (EM-P1 guard 3, every tenant from day one - no opt-in flag). Enforced over a ROLLING 24 h window, not a UTC day - the door reopens 24 h after the oldest counted mail, not at midnight. Counted from `intake_admitted` signals (one per mail admitted to the classifier, so silent branches consume budget too); over budget = silence + `rejected_rate_limit` signal + one Google Chat alarm per 24 h. Code default applies when unset."
|
|
406
|
+
},
|
|
407
|
+
"emailIntakeSubmissionsDay": {
|
|
408
|
+
"type": "integer",
|
|
409
|
+
"minimum": 1,
|
|
410
|
+
"default": 50,
|
|
411
|
+
"description": "Budget of submissions the email intake may create for the tenant (EM-P1 guard 3). Enforced over a ROLLING 24 h window, not a UTC day. Counted from `intake_submitted` signals; over budget = silence + `rejected_rate_limit` signal. Code default applies when unset."
|
|
400
412
|
}
|
|
401
413
|
}
|
|
402
414
|
}
|
|
@@ -881,7 +893,7 @@
|
|
|
881
893
|
},
|
|
882
894
|
"limits": {
|
|
883
895
|
"type": "object",
|
|
884
|
-
"description": "Anti-abuse limits for the inbound
|
|
896
|
+
"description": "Anti-abuse limits for the inbound channels (inbound-call arc; email-intake daily budgets since EM-P1). Declared ahead of enforcement so generated clients carry the key (the typed settings schema is a whitelist - undeclared keys are silently dropped by the SDK). Sysowner-only on PATCH (cost-protection config, the boeMetering precedent); the call values are inert until the P4 limiter ships, the emailIntake* budgets are enforced by the inbound email Lambda.",
|
|
885
897
|
"properties": {
|
|
886
898
|
"callsPerCliHour": {
|
|
887
899
|
"type": "integer",
|
|
@@ -916,6 +928,18 @@
|
|
|
916
928
|
"type": "integer",
|
|
917
929
|
"minimum": 1,
|
|
918
930
|
"description": "Daily outbound-SMS budget for the tenant across the inbound-call channel (2b rails; container default applies when unset)"
|
|
931
|
+
},
|
|
932
|
+
"emailIntakeRepliesDay": {
|
|
933
|
+
"type": "integer",
|
|
934
|
+
"minimum": 1,
|
|
935
|
+
"default": 200,
|
|
936
|
+
"description": "Budget of automated intake mails the email channel may handle on the tenant's behalf (EM-P1 guard 3, every tenant from day one - no opt-in flag). Enforced over a ROLLING 24 h window, not a UTC day - the door reopens 24 h after the oldest counted mail, not at midnight. Counted from `intake_admitted` signals (one per mail admitted to the classifier, so silent branches consume budget too); over budget = silence + `rejected_rate_limit` signal + one Google Chat alarm per 24 h. Code default applies when unset."
|
|
937
|
+
},
|
|
938
|
+
"emailIntakeSubmissionsDay": {
|
|
939
|
+
"type": "integer",
|
|
940
|
+
"minimum": 1,
|
|
941
|
+
"default": 50,
|
|
942
|
+
"description": "Budget of submissions the email intake may create for the tenant (EM-P1 guard 3). Enforced over a ROLLING 24 h window, not a UTC day. Counted from `intake_submitted` signals; over budget = silence + `rejected_rate_limit` signal. Code default applies when unset."
|
|
919
943
|
}
|
|
920
944
|
}
|
|
921
945
|
}
|
|
@@ -4580,6 +4604,10 @@
|
|
|
4580
4604
|
"title"
|
|
4581
4605
|
],
|
|
4582
4606
|
"properties": {
|
|
4607
|
+
"ownerId": {
|
|
4608
|
+
"type": "string",
|
|
4609
|
+
"description": "userId of the job owner (set server-side at create; the Boe user on workflow-built jobs). Read-only."
|
|
4610
|
+
},
|
|
4583
4611
|
"title": {
|
|
4584
4612
|
"title": "JobAttributesTitleSchema",
|
|
4585
4613
|
"description": "The job title/position. Language-keyed object where keys are locale codes (e.g. en-US, pl-PL).",
|
|
@@ -5406,6 +5434,10 @@
|
|
|
5406
5434
|
"title"
|
|
5407
5435
|
],
|
|
5408
5436
|
"properties": {
|
|
5437
|
+
"ownerId": {
|
|
5438
|
+
"type": "string",
|
|
5439
|
+
"description": "userId of the job owner (set server-side at create; the Boe user on workflow-built jobs). Read-only."
|
|
5440
|
+
},
|
|
5409
5441
|
"title": {
|
|
5410
5442
|
"title": "JobAttributesTitleSchema",
|
|
5411
5443
|
"description": "The job title/position. Language-keyed object where keys are locale codes (e.g. en-US, pl-PL).",
|
|
@@ -8099,6 +8131,28 @@
|
|
|
8099
8131
|
}
|
|
8100
8132
|
}
|
|
8101
8133
|
},
|
|
8134
|
+
"labels": {
|
|
8135
|
+
"title": "EmailRelationshipsLabelsSchema",
|
|
8136
|
+
"description": "Labels (label service definitions) attached to this email. To-many; wire contract declared ahead of use (D-D, 2026-08-31) - always empty in EM-P1, the email-labels package stamps system labels later. Per-user manual labelling stays in /v1/states flags.labels and is NOT mirrored here.",
|
|
8137
|
+
"type": "object",
|
|
8138
|
+
"properties": {
|
|
8139
|
+
"data": {
|
|
8140
|
+
"type": "array",
|
|
8141
|
+
"items": {
|
|
8142
|
+
"title": "EmailRelationshipsLabelsDataSchema",
|
|
8143
|
+
"type": "object",
|
|
8144
|
+
"properties": {
|
|
8145
|
+
"type": {
|
|
8146
|
+
"type": "string"
|
|
8147
|
+
},
|
|
8148
|
+
"id": {
|
|
8149
|
+
"type": "string"
|
|
8150
|
+
}
|
|
8151
|
+
}
|
|
8152
|
+
}
|
|
8153
|
+
}
|
|
8154
|
+
}
|
|
8155
|
+
},
|
|
8102
8156
|
"candidate": {
|
|
8103
8157
|
"title": "EmailRelationshipsCandidateSchema",
|
|
8104
8158
|
"type": "object",
|
|
@@ -8117,6 +8171,25 @@
|
|
|
8117
8171
|
}
|
|
8118
8172
|
}
|
|
8119
8173
|
},
|
|
8174
|
+
"talent": {
|
|
8175
|
+
"title": "EmailRelationshipsTalentSchema",
|
|
8176
|
+
"description": "The Talent (durable person) this email belongs to. To-one, nullable. Stamped at create by email:persist_inbound / the inbound email Lambda when the sender resolved to a known talent or candidate; rows written before the talent existed (a guest's application mail, the consent ask, the YES) stay unlinked - the conversation owns the linkage (SPEC_TALENT_COMMS_OWNERSHIP). No filterTalent on listEmails yet: list a talent's mail through its conversations.",
|
|
8177
|
+
"type": "object",
|
|
8178
|
+
"properties": {
|
|
8179
|
+
"data": {
|
|
8180
|
+
"title": "EmailRelationshipsTalentDataSchema",
|
|
8181
|
+
"type": "object",
|
|
8182
|
+
"properties": {
|
|
8183
|
+
"type": {
|
|
8184
|
+
"type": "string"
|
|
8185
|
+
},
|
|
8186
|
+
"id": {
|
|
8187
|
+
"type": "string"
|
|
8188
|
+
}
|
|
8189
|
+
}
|
|
8190
|
+
}
|
|
8191
|
+
}
|
|
8192
|
+
},
|
|
8120
8193
|
"conversations": {
|
|
8121
8194
|
"title": "EmailRelationshipsConversationsSchema",
|
|
8122
8195
|
"type": "object",
|
|
@@ -12109,7 +12182,7 @@
|
|
|
12109
12182
|
},
|
|
12110
12183
|
"meta": {
|
|
12111
12184
|
"type": "object",
|
|
12112
|
-
"description": "Free-form metadata. meta.external carries ATS import correlation ({source, jobShortCode, talentShortCode, applicationShortCode, ttl}); meta.userId is stamped server-side on create. CREATE-ONLY today: the update path ignores meta."
|
|
12185
|
+
"description": "Free-form metadata. meta.external carries ATS import correlation ({source, jobShortCode, talentShortCode, applicationShortCode, ttl}); meta.email carries email-intake correlation on channel='email' submissions ({conversationId, emailId (the application mail), consentEmailId (the YES), messageId, threadRef 'SMT-<consentAskedEmailId>', consentVerbatim (capped), consentAt, askEmailId, askTextVersion, yesS3Key, senderAuth}) - the consent proof, kept for the life of the row (no TTL); meta.userId is stamped server-side on create. CREATE-ONLY today: the update path ignores meta."
|
|
12113
12186
|
},
|
|
12114
12187
|
"timestamps": {
|
|
12115
12188
|
"title": "ResourceTimestampsSchema",
|
|
@@ -12601,7 +12674,7 @@
|
|
|
12601
12674
|
},
|
|
12602
12675
|
"meta": {
|
|
12603
12676
|
"type": "object",
|
|
12604
|
-
"description": "Free-form metadata. meta.external carries ATS import correlation ({source, jobShortCode, talentShortCode, applicationShortCode, ttl}); meta.userId is stamped server-side on create. CREATE-ONLY today: the update path ignores meta."
|
|
12677
|
+
"description": "Free-form metadata. meta.external carries ATS import correlation ({source, jobShortCode, talentShortCode, applicationShortCode, ttl}); meta.email carries email-intake correlation on channel='email' submissions ({conversationId, emailId (the application mail), consentEmailId (the YES), messageId, threadRef 'SMT-<consentAskedEmailId>', consentVerbatim (capped), consentAt, askEmailId, askTextVersion, yesS3Key, senderAuth}) - the consent proof, kept for the life of the row (no TTL); meta.userId is stamped server-side on create. CREATE-ONLY today: the update path ignores meta."
|
|
12605
12678
|
},
|
|
12606
12679
|
"timestamps": {
|
|
12607
12680
|
"title": "ResourceTimestampsSchema",
|
|
@@ -19958,7 +20031,8 @@
|
|
|
19958
20031
|
},
|
|
19959
20032
|
"meta": {
|
|
19960
20033
|
"type": "object",
|
|
19961
|
-
"additionalProperties": true
|
|
20034
|
+
"additionalProperties": true,
|
|
20035
|
+
"description": "Free-form metadata. meta.reference is the RFC 5322 Message-ID chain of the thread (appended by the conversation eventbus on email events; the outbound sender reads it for In-Reply-To/References). meta.intake marks an email-intake thread and is absent on every other conversation: {version, kind: job_application|talent_pool, status: awaiting_consent|submitted|incomplete|declined|expired, jobId|null, jobShort, jobTitle, formId, language, senderEmail, applicationEmailId, consentAskedEmailId|null, consentEmailId|null, submissionId|null, submittedAt|null, expiresAt, missingFields[] (incomplete), askTextVersion, consentQuestion, draft {answers, wire, cv {s3Key, filename, contentType, size}} (awaiting_consent only)} - written only by the inbound email Lambda; workflows never touch it. talentId/candidateId/jobId are NOT meta or attributes on the wire - read relationships.talent/candidate/job."
|
|
19962
20036
|
},
|
|
19963
20037
|
"timestamps": {
|
|
19964
20038
|
"title": "ResourceTimestampsSchema",
|
|
@@ -20082,6 +20156,28 @@
|
|
|
20082
20156
|
}
|
|
20083
20157
|
}
|
|
20084
20158
|
},
|
|
20159
|
+
"labels": {
|
|
20160
|
+
"title": "ConversationRelationshipsLabelsSchema",
|
|
20161
|
+
"description": "Labels (label service definitions) attached to this conversation. To-many; wire contract declared ahead of use (D-D, 2026-08-31) - always empty in EM-P1, the email-labels package stamps system labels later. Not PATCH-mergeable (the conversation update door merges to-one keys only); per-user manual labelling stays in /v1/states flags.labels.",
|
|
20162
|
+
"type": "object",
|
|
20163
|
+
"properties": {
|
|
20164
|
+
"data": {
|
|
20165
|
+
"type": "array",
|
|
20166
|
+
"items": {
|
|
20167
|
+
"title": "ConversationRelationshipsLabelsDataSchema",
|
|
20168
|
+
"type": "object",
|
|
20169
|
+
"properties": {
|
|
20170
|
+
"type": {
|
|
20171
|
+
"type": "string"
|
|
20172
|
+
},
|
|
20173
|
+
"id": {
|
|
20174
|
+
"type": "string"
|
|
20175
|
+
}
|
|
20176
|
+
}
|
|
20177
|
+
}
|
|
20178
|
+
}
|
|
20179
|
+
}
|
|
20180
|
+
},
|
|
20085
20181
|
"talent": {
|
|
20086
20182
|
"title": "ConversationRelationshipsTalentSchema",
|
|
20087
20183
|
"type": "object",
|
|
@@ -20233,7 +20329,8 @@
|
|
|
20233
20329
|
},
|
|
20234
20330
|
"meta": {
|
|
20235
20331
|
"type": "object",
|
|
20236
|
-
"additionalProperties": true
|
|
20332
|
+
"additionalProperties": true,
|
|
20333
|
+
"description": "Free-form metadata. meta.reference is the RFC 5322 Message-ID chain of the thread (appended by the conversation eventbus on email events; the outbound sender reads it for In-Reply-To/References). meta.intake marks an email-intake thread and is absent on every other conversation: {version, kind: job_application|talent_pool, status: awaiting_consent|submitted|incomplete|declined|expired, jobId|null, jobShort, jobTitle, formId, language, senderEmail, applicationEmailId, consentAskedEmailId|null, consentEmailId|null, submissionId|null, submittedAt|null, expiresAt, missingFields[] (incomplete), askTextVersion, consentQuestion, draft {answers, wire, cv {s3Key, filename, contentType, size}} (awaiting_consent only)} - written only by the inbound email Lambda; workflows never touch it. talentId/candidateId/jobId are NOT meta or attributes on the wire - read relationships.talent/candidate/job."
|
|
20237
20334
|
},
|
|
20238
20335
|
"timestamps": {
|
|
20239
20336
|
"title": "ResourceTimestampsSchema",
|
|
@@ -20250,6 +20347,172 @@
|
|
|
20250
20347
|
}
|
|
20251
20348
|
}
|
|
20252
20349
|
}
|
|
20350
|
+
},
|
|
20351
|
+
"relationships": {
|
|
20352
|
+
"title": "ConversationRelationshipsSchema",
|
|
20353
|
+
"type": "object",
|
|
20354
|
+
"properties": {
|
|
20355
|
+
"candidate": {
|
|
20356
|
+
"title": "ConversationRelationshipsCandidateSchema",
|
|
20357
|
+
"type": "object",
|
|
20358
|
+
"properties": {
|
|
20359
|
+
"data": {
|
|
20360
|
+
"title": "ConversationRelationshipsCandidateDataSchema",
|
|
20361
|
+
"type": "object",
|
|
20362
|
+
"properties": {
|
|
20363
|
+
"type": {
|
|
20364
|
+
"type": "string"
|
|
20365
|
+
},
|
|
20366
|
+
"id": {
|
|
20367
|
+
"type": "string"
|
|
20368
|
+
}
|
|
20369
|
+
}
|
|
20370
|
+
}
|
|
20371
|
+
}
|
|
20372
|
+
},
|
|
20373
|
+
"emails": {
|
|
20374
|
+
"title": "ConversationRelationshipsEmailsSchema",
|
|
20375
|
+
"type": "object",
|
|
20376
|
+
"properties": {
|
|
20377
|
+
"data": {
|
|
20378
|
+
"type": "array",
|
|
20379
|
+
"items": {
|
|
20380
|
+
"title": "ConversationRelationshipsEmailsDataSchema",
|
|
20381
|
+
"type": "object",
|
|
20382
|
+
"properties": {
|
|
20383
|
+
"type": {
|
|
20384
|
+
"type": "string"
|
|
20385
|
+
},
|
|
20386
|
+
"id": {
|
|
20387
|
+
"type": "string"
|
|
20388
|
+
}
|
|
20389
|
+
}
|
|
20390
|
+
}
|
|
20391
|
+
}
|
|
20392
|
+
}
|
|
20393
|
+
},
|
|
20394
|
+
"chats": {
|
|
20395
|
+
"title": "ConversationRelationshipsChatsSchema",
|
|
20396
|
+
"type": "object",
|
|
20397
|
+
"properties": {
|
|
20398
|
+
"data": {
|
|
20399
|
+
"type": "array",
|
|
20400
|
+
"items": {
|
|
20401
|
+
"title": "ConversationRelationshipsChatsDataSchema",
|
|
20402
|
+
"type": "object",
|
|
20403
|
+
"properties": {
|
|
20404
|
+
"type": {
|
|
20405
|
+
"type": "string"
|
|
20406
|
+
},
|
|
20407
|
+
"id": {
|
|
20408
|
+
"type": "string"
|
|
20409
|
+
}
|
|
20410
|
+
}
|
|
20411
|
+
}
|
|
20412
|
+
}
|
|
20413
|
+
}
|
|
20414
|
+
},
|
|
20415
|
+
"calls": {
|
|
20416
|
+
"title": "ConversationRelationshipsCallsSchema",
|
|
20417
|
+
"type": "object",
|
|
20418
|
+
"properties": {
|
|
20419
|
+
"data": {
|
|
20420
|
+
"type": "array",
|
|
20421
|
+
"items": {
|
|
20422
|
+
"title": "ConversationRelationshipsCallsDataSchema",
|
|
20423
|
+
"type": "object",
|
|
20424
|
+
"properties": {
|
|
20425
|
+
"type": {
|
|
20426
|
+
"type": "string"
|
|
20427
|
+
},
|
|
20428
|
+
"id": {
|
|
20429
|
+
"type": "string"
|
|
20430
|
+
}
|
|
20431
|
+
}
|
|
20432
|
+
}
|
|
20433
|
+
}
|
|
20434
|
+
}
|
|
20435
|
+
},
|
|
20436
|
+
"meetings": {
|
|
20437
|
+
"title": "ConversationRelationshipsMeetingsSchema",
|
|
20438
|
+
"type": "object",
|
|
20439
|
+
"properties": {
|
|
20440
|
+
"data": {
|
|
20441
|
+
"type": "array",
|
|
20442
|
+
"items": {
|
|
20443
|
+
"title": "ConversationRelationshipsMeetingsDataSchema",
|
|
20444
|
+
"type": "object",
|
|
20445
|
+
"properties": {
|
|
20446
|
+
"type": {
|
|
20447
|
+
"type": "string"
|
|
20448
|
+
},
|
|
20449
|
+
"id": {
|
|
20450
|
+
"type": "string"
|
|
20451
|
+
}
|
|
20452
|
+
}
|
|
20453
|
+
}
|
|
20454
|
+
}
|
|
20455
|
+
}
|
|
20456
|
+
},
|
|
20457
|
+
"labels": {
|
|
20458
|
+
"title": "ConversationRelationshipsLabelsSchema",
|
|
20459
|
+
"description": "Labels (label service definitions) attached to this conversation. To-many; wire contract declared ahead of use (D-D, 2026-08-31) - always empty in EM-P1, the email-labels package stamps system labels later. Not PATCH-mergeable (the conversation update door merges to-one keys only); per-user manual labelling stays in /v1/states flags.labels.",
|
|
20460
|
+
"type": "object",
|
|
20461
|
+
"properties": {
|
|
20462
|
+
"data": {
|
|
20463
|
+
"type": "array",
|
|
20464
|
+
"items": {
|
|
20465
|
+
"title": "ConversationRelationshipsLabelsDataSchema",
|
|
20466
|
+
"type": "object",
|
|
20467
|
+
"properties": {
|
|
20468
|
+
"type": {
|
|
20469
|
+
"type": "string"
|
|
20470
|
+
},
|
|
20471
|
+
"id": {
|
|
20472
|
+
"type": "string"
|
|
20473
|
+
}
|
|
20474
|
+
}
|
|
20475
|
+
}
|
|
20476
|
+
}
|
|
20477
|
+
}
|
|
20478
|
+
},
|
|
20479
|
+
"talent": {
|
|
20480
|
+
"title": "ConversationRelationshipsTalentSchema",
|
|
20481
|
+
"type": "object",
|
|
20482
|
+
"properties": {
|
|
20483
|
+
"data": {
|
|
20484
|
+
"title": "ConversationRelationshipsTalentDataSchema",
|
|
20485
|
+
"type": "object",
|
|
20486
|
+
"properties": {
|
|
20487
|
+
"type": {
|
|
20488
|
+
"type": "string"
|
|
20489
|
+
},
|
|
20490
|
+
"id": {
|
|
20491
|
+
"type": "string"
|
|
20492
|
+
}
|
|
20493
|
+
}
|
|
20494
|
+
}
|
|
20495
|
+
}
|
|
20496
|
+
},
|
|
20497
|
+
"job": {
|
|
20498
|
+
"title": "ConversationRelationshipsJobSchema",
|
|
20499
|
+
"type": "object",
|
|
20500
|
+
"properties": {
|
|
20501
|
+
"data": {
|
|
20502
|
+
"title": "ConversationRelationshipsJobDataSchema",
|
|
20503
|
+
"type": "object",
|
|
20504
|
+
"properties": {
|
|
20505
|
+
"type": {
|
|
20506
|
+
"type": "string"
|
|
20507
|
+
},
|
|
20508
|
+
"id": {
|
|
20509
|
+
"type": "string"
|
|
20510
|
+
}
|
|
20511
|
+
}
|
|
20512
|
+
}
|
|
20513
|
+
}
|
|
20514
|
+
}
|
|
20515
|
+
}
|
|
20253
20516
|
}
|
|
20254
20517
|
}
|
|
20255
20518
|
}
|