@smartytalent/mcp-tools 0.8.2 → 0.8.3

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 +1146 -223
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -10283,21 +10283,27 @@
10283
10283
  }
10284
10284
  },
10285
10285
  {
10286
- "name": "list_schedules",
10287
- "description": "List Schedules",
10286
+ "name": "list_documents",
10287
+ "description": "List Documents",
10288
10288
  "inputSchema": {
10289
10289
  "type": "object",
10290
10290
  "properties": {
10291
10291
  "filterStatus": {
10292
10292
  "type": "string",
10293
- "description": "Filter by status. Omit to return all.",
10293
+ "description": "Returns documents with the current status.",
10294
10294
  "enum": [
10295
+ "draft",
10295
10296
  "pending",
10296
- "fired",
10297
- "cancelled",
10298
- "failed"
10297
+ "completed",
10298
+ "declined",
10299
+ "expired",
10300
+ "withdrawn"
10299
10301
  ]
10300
10302
  },
10303
+ "filterCandidateId": {
10304
+ "type": "string",
10305
+ "description": "Filter by the candidate the document belongs to."
10306
+ },
10301
10307
  "filterCreatedFrom": {
10302
10308
  "type": "string",
10303
10309
  "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
@@ -10334,22 +10340,22 @@
10334
10340
  },
10335
10341
  "_meta": {
10336
10342
  "method": "GET",
10337
- "path": "/v1/schedules",
10338
- "operationId": "listSchedules"
10343
+ "path": "/v1/documents",
10344
+ "operationId": "listDocuments"
10339
10345
  }
10340
10346
  },
10341
10347
  {
10342
- "name": "create_schedule",
10343
- "description": "Create Schedule",
10348
+ "name": "create_document",
10349
+ "description": "Create Document",
10344
10350
  "inputSchema": {
10345
- "title": "CreateScheduleRequestBody",
10351
+ "title": "CreateDocumentRequestBody",
10346
10352
  "type": "object",
10347
10353
  "required": [
10348
10354
  "data"
10349
10355
  ],
10350
10356
  "properties": {
10351
10357
  "data": {
10352
- "title": "CreateScheduleRequestBodyData",
10358
+ "title": "CreateDocumentRequestBodyData",
10353
10359
  "type": "object",
10354
10360
  "required": [
10355
10361
  "type",
@@ -10359,91 +10365,77 @@
10359
10365
  "type": {
10360
10366
  "type": "string",
10361
10367
  "enum": [
10362
- "schedules"
10368
+ "documents"
10363
10369
  ]
10364
10370
  },
10365
10371
  "attributes": {
10366
- "title": "ScheduleAttributesSchema",
10372
+ "title": "CreateDocumentRequestBodyDataAttributes",
10367
10373
  "type": "object",
10374
+ "required": [
10375
+ "documentType"
10376
+ ],
10368
10377
  "properties": {
10369
- "name": {
10378
+ "documentType": {
10370
10379
  "type": "string",
10371
- "description": "Optional human-readable label for the schedule."
10380
+ "enum": [
10381
+ "employment_offer",
10382
+ "employment_contract",
10383
+ "b2b_contract",
10384
+ "nda",
10385
+ "policy",
10386
+ "consent"
10387
+ ]
10372
10388
  },
10373
- "status": {
10389
+ "process": {
10374
10390
  "type": "string",
10375
10391
  "enum": [
10376
- "pending",
10377
- "fired",
10378
- "cancelled",
10379
- "failed",
10380
- "paused"
10381
- ],
10382
- "description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
10392
+ "offer",
10393
+ "contract",
10394
+ "document"
10395
+ ]
10383
10396
  },
10384
- "fireAt": {
10385
- "type": "string",
10386
- "format": "date-time",
10387
- "description": "ISO 8601 timestamp when the schedule fires. Absolute; compute delayMinutes client-side if needed."
10397
+ "title": {
10398
+ "type": "object",
10399
+ "additionalProperties": {
10400
+ "type": "string"
10401
+ }
10388
10402
  },
10389
- "firedAt": {
10390
- "type": "string",
10391
- "format": "date-time",
10392
- "description": "Set by the dispatcher when the schedule actually fires."
10403
+ "languageCode": {
10404
+ "type": "string"
10393
10405
  },
10394
- "target": {
10395
- "title": "ScheduleTargetSchema",
10396
- "type": "object",
10397
- "description": "What to invoke when the schedule fires.",
10398
- "required": [
10399
- "type",
10400
- "actionName"
10401
- ],
10402
- "properties": {
10403
- "type": {
10404
- "type": "string",
10405
- "enum": [
10406
- "action"
10407
- ],
10408
- "description": "Target kind. Only `action` is supported today; the dispatcher invokes the matching action Lambda."
10409
- },
10410
- "actionName": {
10411
- "type": "string",
10412
- "description": "Action identifier (e.g. `email:send`, `call:initiate`). Resolved by the same convention the workflow engine uses - `resource:verb` maps to `sm-${env}-tb-service-action-function-${resource}-${verb}`."
10413
- },
10414
- "input": {
10415
- "type": "object",
10416
- "description": "Payload passed to the action Lambda. Shape is action-specific."
10417
- }
10406
+ "organizationName": {
10407
+ "type": "string"
10408
+ },
10409
+ "body": {
10410
+ "type": "array",
10411
+ "items": {
10412
+ "type": "object"
10418
10413
  }
10419
10414
  },
10420
- "result": {
10421
- "type": "object",
10422
- "description": "Dispatcher's recorded result after firing (status, messageId, or error detail). Server-managed."
10415
+ "fields": {
10416
+ "type": "array",
10417
+ "items": {
10418
+ "type": "object"
10419
+ }
10423
10420
  },
10424
- "timestamps": {
10425
- "title": "ResourceTimestampsSchema",
10426
- "type": "object",
10427
- "properties": {
10428
- "created": {
10429
- "type": "string",
10430
- "format": "date-time"
10431
- },
10432
- "modified": {
10433
- "type": "string",
10434
- "format": "date-time"
10435
- }
10421
+ "participants": {
10422
+ "type": "array",
10423
+ "items": {
10424
+ "type": "object"
10436
10425
  }
10426
+ },
10427
+ "expiresAt": {
10428
+ "type": "string",
10429
+ "format": "date-time"
10437
10430
  }
10438
10431
  }
10439
10432
  },
10440
10433
  "relationships": {
10441
- "title": "ScheduleRelationshipsSchema",
10434
+ "title": "DocumentRelationshipsSchema",
10442
10435
  "type": "object",
10443
- "description": "Optional audit links. None required; use the ones relevant to the scheduled action.",
10444
10436
  "properties": {
10445
10437
  "candidate": {
10446
- "title": "ScheduleRelationshipsCandidateSchema",
10438
+ "title": "DocumentRelationshipsCandidateSchema",
10447
10439
  "type": "object",
10448
10440
  "properties": {
10449
10441
  "data": {
@@ -10460,7 +10452,7 @@
10460
10452
  }
10461
10453
  },
10462
10454
  "job": {
10463
- "title": "ScheduleRelationshipsJobSchema",
10455
+ "title": "DocumentRelationshipsJobSchema",
10464
10456
  "type": "object",
10465
10457
  "properties": {
10466
10458
  "data": {
@@ -10477,60 +10469,8 @@
10477
10469
  }
10478
10470
  },
10479
10471
  "conversation": {
10480
- "title": "ScheduleRelationshipsConversationSchema",
10481
- "type": "object",
10482
- "properties": {
10483
- "data": {
10484
- "type": "object",
10485
- "properties": {
10486
- "type": {
10487
- "type": "string"
10488
- },
10489
- "id": {
10490
- "type": "string"
10491
- }
10492
- }
10493
- }
10494
- }
10495
- },
10496
- "talent": {
10497
- "title": "ScheduleRelationshipsTalentSchema",
10498
- "type": "object",
10499
- "properties": {
10500
- "data": {
10501
- "type": "object",
10502
- "properties": {
10503
- "type": {
10504
- "type": "string"
10505
- },
10506
- "id": {
10507
- "type": "string"
10508
- }
10509
- }
10510
- }
10511
- }
10512
- },
10513
- "user": {
10514
- "title": "ScheduleRelationshipsUserSchema",
10515
- "type": "object",
10516
- "properties": {
10517
- "data": {
10518
- "type": "object",
10519
- "properties": {
10520
- "type": {
10521
- "type": "string"
10522
- },
10523
- "id": {
10524
- "type": "string"
10525
- }
10526
- }
10527
- }
10528
- }
10529
- },
10530
- "email": {
10531
- "title": "ScheduleRelationshipsEmailSchema",
10472
+ "title": "DocumentRelationshipsConversationSchema",
10532
10473
  "type": "object",
10533
- "description": "The email this schedule was armed for. Set by wait:process so the email service can denormalise scheduleId back onto the email row when SCHEDULE_CREATED fires.",
10534
10474
  "properties": {
10535
10475
  "data": {
10536
10476
  "type": "object",
@@ -10553,151 +10493,774 @@
10553
10493
  },
10554
10494
  "_meta": {
10555
10495
  "method": "POST",
10556
- "path": "/v1/schedules",
10557
- "operationId": "createSchedule"
10496
+ "path": "/v1/documents",
10497
+ "operationId": "createDocument"
10558
10498
  }
10559
10499
  },
10560
10500
  {
10561
- "name": "schedules_options",
10562
- "description": "Schedules Options",
10501
+ "name": "documents_options",
10502
+ "description": "Documents Options",
10563
10503
  "inputSchema": {
10564
10504
  "type": "object",
10565
10505
  "properties": {}
10566
10506
  },
10567
10507
  "_meta": {
10568
10508
  "method": "OPTIONS",
10569
- "path": "/v1/schedules",
10570
- "operationId": "schedulesOptions"
10509
+ "path": "/v1/documents",
10510
+ "operationId": "documentsOptions"
10571
10511
  }
10572
10512
  },
10573
10513
  {
10574
- "name": "show_schedule",
10575
- "description": "Show Schedule",
10514
+ "name": "show_document",
10515
+ "description": "Show Document",
10576
10516
  "inputSchema": {
10577
10517
  "type": "object",
10578
10518
  "properties": {
10579
- "scheduleId": {
10519
+ "documentId": {
10580
10520
  "type": "string",
10581
- "description": "scheduleId parameter"
10521
+ "description": "documentId parameter"
10582
10522
  }
10583
10523
  },
10584
10524
  "required": [
10585
- "scheduleId"
10525
+ "documentId"
10586
10526
  ]
10587
10527
  },
10588
10528
  "_meta": {
10589
10529
  "method": "GET",
10590
- "path": "/v1/schedules/{scheduleId}",
10591
- "operationId": "showSchedule"
10530
+ "path": "/v1/documents/{documentId}",
10531
+ "operationId": "showDocument"
10592
10532
  }
10593
10533
  },
10594
10534
  {
10595
- "name": "update_schedule",
10596
- "description": "Update Schedule",
10535
+ "name": "update_document",
10536
+ "description": "Update Document",
10597
10537
  "inputSchema": {
10598
10538
  "type": "object",
10599
10539
  "properties": {
10600
- "scheduleId": {
10540
+ "documentId": {
10601
10541
  "type": "string",
10602
- "description": "scheduleId parameter"
10542
+ "description": "documentId parameter"
10603
10543
  },
10604
10544
  "requestBody": {
10605
- "title": "UpdateScheduleRequestBody",
10545
+ "title": "UpdateDocumentRequestBody",
10606
10546
  "type": "object",
10607
10547
  "required": [
10608
10548
  "data"
10609
10549
  ],
10610
10550
  "properties": {
10611
10551
  "data": {
10612
- "title": "UpdateScheduleRequestBodyData",
10552
+ "title": "UpdateDocumentRequestBodyData",
10613
10553
  "type": "object",
10614
10554
  "required": [
10615
- "type",
10616
- "id"
10555
+ "type"
10617
10556
  ],
10618
10557
  "properties": {
10619
10558
  "type": {
10620
10559
  "type": "string",
10621
10560
  "enum": [
10622
- "schedules"
10561
+ "documents"
10623
10562
  ]
10624
10563
  },
10625
10564
  "id": {
10626
10565
  "type": "string"
10627
10566
  },
10628
10567
  "attributes": {
10629
- "title": "ScheduleAttributesSchema",
10568
+ "title": "UpdateDocumentRequestBodyDataAttributes",
10630
10569
  "type": "object",
10631
10570
  "properties": {
10632
- "name": {
10633
- "type": "string",
10634
- "description": "Optional human-readable label for the schedule."
10635
- },
10636
10571
  "status": {
10637
10572
  "type": "string",
10638
10573
  "enum": [
10639
10574
  "pending",
10640
- "fired",
10641
- "cancelled",
10642
- "failed",
10643
- "paused"
10575
+ "withdrawn"
10644
10576
  ],
10645
- "description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
10646
- },
10647
- "fireAt": {
10648
- "type": "string",
10649
- "format": "date-time",
10650
- "description": "ISO 8601 timestamp when the schedule fires. Absolute; compute delayMinutes client-side if needed."
10651
- },
10652
- "firedAt": {
10653
- "type": "string",
10654
- "format": "date-time",
10655
- "description": "Set by the dispatcher when the schedule actually fires."
10577
+ "description": "pending = the SEND door (draft only); withdrawn = withdraw a sent document."
10656
10578
  },
10657
- "target": {
10658
- "title": "ScheduleTargetSchema",
10579
+ "title": {
10659
10580
  "type": "object",
10660
- "description": "What to invoke when the schedule fires.",
10661
- "required": [
10662
- "type",
10663
- "actionName"
10664
- ],
10665
- "properties": {
10666
- "type": {
10667
- "type": "string",
10668
- "enum": [
10669
- "action"
10670
- ],
10671
- "description": "Target kind. Only `action` is supported today; the dispatcher invokes the matching action Lambda."
10672
- },
10673
- "actionName": {
10674
- "type": "string",
10675
- "description": "Action identifier (e.g. `email:send`, `call:initiate`). Resolved by the same convention the workflow engine uses - `resource:verb` maps to `sm-${env}-tb-service-action-function-${resource}-${verb}`."
10676
- },
10677
- "input": {
10678
- "type": "object",
10679
- "description": "Payload passed to the action Lambda. Shape is action-specific."
10680
- }
10581
+ "additionalProperties": {
10582
+ "type": "string"
10681
10583
  }
10682
10584
  },
10683
- "result": {
10684
- "type": "object",
10685
- "description": "Dispatcher's recorded result after firing (status, messageId, or error detail). Server-managed."
10585
+ "languageCode": {
10586
+ "type": "string"
10686
10587
  },
10687
- "timestamps": {
10688
- "title": "ResourceTimestampsSchema",
10689
- "type": "object",
10690
- "properties": {
10691
- "created": {
10692
- "type": "string",
10693
- "format": "date-time"
10694
- },
10695
- "modified": {
10696
- "type": "string",
10697
- "format": "date-time"
10698
- }
10588
+ "organizationName": {
10589
+ "type": "string"
10590
+ },
10591
+ "body": {
10592
+ "type": "array",
10593
+ "items": {
10594
+ "type": "object"
10699
10595
  }
10700
- }
10596
+ },
10597
+ "fields": {
10598
+ "type": "array",
10599
+ "items": {
10600
+ "type": "object"
10601
+ }
10602
+ },
10603
+ "participants": {
10604
+ "type": "array",
10605
+ "items": {
10606
+ "type": "object"
10607
+ }
10608
+ },
10609
+ "expiresAt": {
10610
+ "type": "string",
10611
+ "format": "date-time"
10612
+ }
10613
+ }
10614
+ },
10615
+ "relationships": {
10616
+ "title": "DocumentRelationshipsSchema",
10617
+ "type": "object",
10618
+ "properties": {
10619
+ "candidate": {
10620
+ "title": "DocumentRelationshipsCandidateSchema",
10621
+ "type": "object",
10622
+ "properties": {
10623
+ "data": {
10624
+ "type": "object",
10625
+ "properties": {
10626
+ "type": {
10627
+ "type": "string"
10628
+ },
10629
+ "id": {
10630
+ "type": "string"
10631
+ }
10632
+ }
10633
+ }
10634
+ }
10635
+ },
10636
+ "job": {
10637
+ "title": "DocumentRelationshipsJobSchema",
10638
+ "type": "object",
10639
+ "properties": {
10640
+ "data": {
10641
+ "type": "object",
10642
+ "properties": {
10643
+ "type": {
10644
+ "type": "string"
10645
+ },
10646
+ "id": {
10647
+ "type": "string"
10648
+ }
10649
+ }
10650
+ }
10651
+ }
10652
+ },
10653
+ "conversation": {
10654
+ "title": "DocumentRelationshipsConversationSchema",
10655
+ "type": "object",
10656
+ "properties": {
10657
+ "data": {
10658
+ "type": "object",
10659
+ "properties": {
10660
+ "type": {
10661
+ "type": "string"
10662
+ },
10663
+ "id": {
10664
+ "type": "string"
10665
+ }
10666
+ }
10667
+ }
10668
+ }
10669
+ }
10670
+ }
10671
+ }
10672
+ }
10673
+ }
10674
+ }
10675
+ }
10676
+ },
10677
+ "required": [
10678
+ "documentId",
10679
+ "requestBody"
10680
+ ]
10681
+ },
10682
+ "_meta": {
10683
+ "method": "PATCH",
10684
+ "path": "/v1/documents/{documentId}",
10685
+ "operationId": "updateDocument"
10686
+ }
10687
+ },
10688
+ {
10689
+ "name": "delete_document",
10690
+ "description": "Delete Document",
10691
+ "inputSchema": {
10692
+ "type": "object",
10693
+ "properties": {
10694
+ "documentId": {
10695
+ "type": "string",
10696
+ "description": "documentId parameter"
10697
+ }
10698
+ },
10699
+ "required": [
10700
+ "documentId"
10701
+ ]
10702
+ },
10703
+ "_meta": {
10704
+ "method": "DELETE",
10705
+ "path": "/v1/documents/{documentId}",
10706
+ "operationId": "deleteDocument"
10707
+ }
10708
+ },
10709
+ {
10710
+ "name": "document_options",
10711
+ "description": "Document Options",
10712
+ "inputSchema": {
10713
+ "type": "object",
10714
+ "properties": {}
10715
+ },
10716
+ "_meta": {
10717
+ "method": "OPTIONS",
10718
+ "path": "/v1/documents/{documentId}",
10719
+ "operationId": "documentOptions"
10720
+ }
10721
+ },
10722
+ {
10723
+ "name": "show_guest_document",
10724
+ "description": "Show Guest Document",
10725
+ "inputSchema": {
10726
+ "type": "object",
10727
+ "properties": {
10728
+ "tenantId": {
10729
+ "type": "string",
10730
+ "description": "Base tenant id from the emailed link. Part of the guest auth."
10731
+ },
10732
+ "token": {
10733
+ "type": "string",
10734
+ "description": "Per-participant accessToken from the emailed link. Compared with hmac.compare_digest; mismatch returns 404."
10735
+ },
10736
+ "process": {
10737
+ "type": "string",
10738
+ "description": "The link's {process} path segment (offer | contract | document). Mismatch with the row returns 404.",
10739
+ "enum": [
10740
+ "offer",
10741
+ "contract",
10742
+ "document"
10743
+ ]
10744
+ }
10745
+ },
10746
+ "required": [
10747
+ "tenantId",
10748
+ "token"
10749
+ ]
10750
+ },
10751
+ "_meta": {
10752
+ "method": "GET",
10753
+ "path": "/v1/guest/documents/{documentId}",
10754
+ "operationId": "showGuestDocument"
10755
+ }
10756
+ },
10757
+ {
10758
+ "name": "submit_guest_document",
10759
+ "description": "Submit Guest Document",
10760
+ "inputSchema": {
10761
+ "title": "SubmitGuestDocumentRequestBody",
10762
+ "type": "object",
10763
+ "required": [
10764
+ "data",
10765
+ "meta"
10766
+ ],
10767
+ "properties": {
10768
+ "data": {
10769
+ "title": "SubmitGuestDocumentRequestBodyData",
10770
+ "type": "object",
10771
+ "required": [
10772
+ "type",
10773
+ "attributes"
10774
+ ],
10775
+ "properties": {
10776
+ "type": {
10777
+ "type": "string",
10778
+ "enum": [
10779
+ "documents"
10780
+ ]
10781
+ },
10782
+ "id": {
10783
+ "type": "string"
10784
+ },
10785
+ "attributes": {
10786
+ "title": "SubmitGuestDocumentRequestBodyDataAttributes",
10787
+ "type": "object",
10788
+ "required": [
10789
+ "action"
10790
+ ],
10791
+ "properties": {
10792
+ "action": {
10793
+ "type": "string",
10794
+ "enum": [
10795
+ "VIEW",
10796
+ "ACCEPT",
10797
+ "DECLINE"
10798
+ ]
10799
+ },
10800
+ "confirmations": {
10801
+ "type": "array",
10802
+ "items": {
10803
+ "type": "string"
10804
+ }
10805
+ }
10806
+ }
10807
+ }
10808
+ }
10809
+ },
10810
+ "meta": {
10811
+ "title": "GuestDocumentMetaSchema",
10812
+ "description": "Auth context for the unauthenticated PATCH\n/v1/guest/documents/{id}. Both values come from the emailed link,\nnever from a session. tenantId is the BASE tenant id; accessToken\nis the per-participant token minted at send and compared with\nhmac.compare_digest. Any mismatch returns 404, intentionally\nindistinguishable from \"document not found\".",
10813
+ "type": "object",
10814
+ "required": [
10815
+ "tenantId",
10816
+ "accessToken"
10817
+ ],
10818
+ "properties": {
10819
+ "tenantId": {
10820
+ "type": "string"
10821
+ },
10822
+ "accessToken": {
10823
+ "type": "string"
10824
+ }
10825
+ }
10826
+ }
10827
+ }
10828
+ },
10829
+ "_meta": {
10830
+ "method": "PATCH",
10831
+ "path": "/v1/guest/documents/{documentId}",
10832
+ "operationId": "submitGuestDocument"
10833
+ }
10834
+ },
10835
+ {
10836
+ "name": "guest_document_options",
10837
+ "description": "Guest Document Options",
10838
+ "inputSchema": {
10839
+ "type": "object",
10840
+ "properties": {}
10841
+ },
10842
+ "_meta": {
10843
+ "method": "OPTIONS",
10844
+ "path": "/v1/guest/documents/{documentId}",
10845
+ "operationId": "guestDocumentOptions"
10846
+ }
10847
+ },
10848
+ {
10849
+ "name": "list_schedules",
10850
+ "description": "List Schedules",
10851
+ "inputSchema": {
10852
+ "type": "object",
10853
+ "properties": {
10854
+ "filterStatus": {
10855
+ "type": "string",
10856
+ "description": "Filter by status. Omit to return all.",
10857
+ "enum": [
10858
+ "pending",
10859
+ "fired",
10860
+ "cancelled",
10861
+ "failed"
10862
+ ]
10863
+ },
10864
+ "filterCreatedFrom": {
10865
+ "type": "string",
10866
+ "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
10867
+ },
10868
+ "filterCreatedTo": {
10869
+ "type": "string",
10870
+ "description": "Filters results to include only those created up to the specified date and time. The value must be in ISO 8601 format."
10871
+ },
10872
+ "filterModifiedFrom": {
10873
+ "type": "string",
10874
+ "description": "Filters results to include only those modified from the specified date and time. The value must be in ISO 8601 format."
10875
+ },
10876
+ "filterModifiedTo": {
10877
+ "type": "string",
10878
+ "description": "Filters results to include only those modified up to the specified date and time. The value must be in ISO 8601 format."
10879
+ },
10880
+ "pageSize": {
10881
+ "type": "integer",
10882
+ "description": "Specifies the number of items to retrieve per page. The maximum value is 100."
10883
+ },
10884
+ "pageNumber": {
10885
+ "type": "integer",
10886
+ "description": "Specifies the page number to retrieve. Used for traditional pagination."
10887
+ },
10888
+ "pageAfter": {
10889
+ "type": "string",
10890
+ "description": "Opaque base64-encoded cursor returned by a previous list response, used for forward cursor-based pagination. Pass the value verbatim; do not decode or mutate it."
10891
+ },
10892
+ "pageBefore": {
10893
+ "type": "string",
10894
+ "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
10895
+ }
10896
+ }
10897
+ },
10898
+ "_meta": {
10899
+ "method": "GET",
10900
+ "path": "/v1/schedules",
10901
+ "operationId": "listSchedules"
10902
+ }
10903
+ },
10904
+ {
10905
+ "name": "create_schedule",
10906
+ "description": "Create Schedule",
10907
+ "inputSchema": {
10908
+ "title": "CreateScheduleRequestBody",
10909
+ "type": "object",
10910
+ "required": [
10911
+ "data"
10912
+ ],
10913
+ "properties": {
10914
+ "data": {
10915
+ "title": "CreateScheduleRequestBodyData",
10916
+ "type": "object",
10917
+ "required": [
10918
+ "type",
10919
+ "attributes"
10920
+ ],
10921
+ "properties": {
10922
+ "type": {
10923
+ "type": "string",
10924
+ "enum": [
10925
+ "schedules"
10926
+ ]
10927
+ },
10928
+ "attributes": {
10929
+ "title": "ScheduleAttributesSchema",
10930
+ "type": "object",
10931
+ "properties": {
10932
+ "name": {
10933
+ "type": "string",
10934
+ "description": "Optional human-readable label for the schedule."
10935
+ },
10936
+ "status": {
10937
+ "type": "string",
10938
+ "enum": [
10939
+ "pending",
10940
+ "fired",
10941
+ "cancelled",
10942
+ "failed",
10943
+ "paused"
10944
+ ],
10945
+ "description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
10946
+ },
10947
+ "fireAt": {
10948
+ "type": "string",
10949
+ "format": "date-time",
10950
+ "description": "ISO 8601 timestamp when the schedule fires. Absolute; compute delayMinutes client-side if needed."
10951
+ },
10952
+ "firedAt": {
10953
+ "type": "string",
10954
+ "format": "date-time",
10955
+ "description": "Set by the dispatcher when the schedule actually fires."
10956
+ },
10957
+ "target": {
10958
+ "title": "ScheduleTargetSchema",
10959
+ "type": "object",
10960
+ "description": "What to invoke when the schedule fires.",
10961
+ "required": [
10962
+ "type",
10963
+ "actionName"
10964
+ ],
10965
+ "properties": {
10966
+ "type": {
10967
+ "type": "string",
10968
+ "enum": [
10969
+ "action"
10970
+ ],
10971
+ "description": "Target kind. Only `action` is supported today; the dispatcher invokes the matching action Lambda."
10972
+ },
10973
+ "actionName": {
10974
+ "type": "string",
10975
+ "description": "Action identifier (e.g. `email:send`, `call:initiate`). Resolved by the same convention the workflow engine uses - `resource:verb` maps to `sm-${env}-tb-service-action-function-${resource}-${verb}`."
10976
+ },
10977
+ "input": {
10978
+ "type": "object",
10979
+ "description": "Payload passed to the action Lambda. Shape is action-specific."
10980
+ }
10981
+ }
10982
+ },
10983
+ "result": {
10984
+ "type": "object",
10985
+ "description": "Dispatcher's recorded result after firing (status, messageId, or error detail). Server-managed."
10986
+ },
10987
+ "timestamps": {
10988
+ "title": "ResourceTimestampsSchema",
10989
+ "type": "object",
10990
+ "properties": {
10991
+ "created": {
10992
+ "type": "string",
10993
+ "format": "date-time"
10994
+ },
10995
+ "modified": {
10996
+ "type": "string",
10997
+ "format": "date-time"
10998
+ }
10999
+ }
11000
+ }
11001
+ }
11002
+ },
11003
+ "relationships": {
11004
+ "title": "ScheduleRelationshipsSchema",
11005
+ "type": "object",
11006
+ "description": "Optional audit links. None required; use the ones relevant to the scheduled action.",
11007
+ "properties": {
11008
+ "candidate": {
11009
+ "title": "ScheduleRelationshipsCandidateSchema",
11010
+ "type": "object",
11011
+ "properties": {
11012
+ "data": {
11013
+ "type": "object",
11014
+ "properties": {
11015
+ "type": {
11016
+ "type": "string"
11017
+ },
11018
+ "id": {
11019
+ "type": "string"
11020
+ }
11021
+ }
11022
+ }
11023
+ }
11024
+ },
11025
+ "job": {
11026
+ "title": "ScheduleRelationshipsJobSchema",
11027
+ "type": "object",
11028
+ "properties": {
11029
+ "data": {
11030
+ "type": "object",
11031
+ "properties": {
11032
+ "type": {
11033
+ "type": "string"
11034
+ },
11035
+ "id": {
11036
+ "type": "string"
11037
+ }
11038
+ }
11039
+ }
11040
+ }
11041
+ },
11042
+ "conversation": {
11043
+ "title": "ScheduleRelationshipsConversationSchema",
11044
+ "type": "object",
11045
+ "properties": {
11046
+ "data": {
11047
+ "type": "object",
11048
+ "properties": {
11049
+ "type": {
11050
+ "type": "string"
11051
+ },
11052
+ "id": {
11053
+ "type": "string"
11054
+ }
11055
+ }
11056
+ }
11057
+ }
11058
+ },
11059
+ "talent": {
11060
+ "title": "ScheduleRelationshipsTalentSchema",
11061
+ "type": "object",
11062
+ "properties": {
11063
+ "data": {
11064
+ "type": "object",
11065
+ "properties": {
11066
+ "type": {
11067
+ "type": "string"
11068
+ },
11069
+ "id": {
11070
+ "type": "string"
11071
+ }
11072
+ }
11073
+ }
11074
+ }
11075
+ },
11076
+ "user": {
11077
+ "title": "ScheduleRelationshipsUserSchema",
11078
+ "type": "object",
11079
+ "properties": {
11080
+ "data": {
11081
+ "type": "object",
11082
+ "properties": {
11083
+ "type": {
11084
+ "type": "string"
11085
+ },
11086
+ "id": {
11087
+ "type": "string"
11088
+ }
11089
+ }
11090
+ }
11091
+ }
11092
+ },
11093
+ "email": {
11094
+ "title": "ScheduleRelationshipsEmailSchema",
11095
+ "type": "object",
11096
+ "description": "The email this schedule was armed for. Set by wait:process so the email service can denormalise scheduleId back onto the email row when SCHEDULE_CREATED fires.",
11097
+ "properties": {
11098
+ "data": {
11099
+ "type": "object",
11100
+ "properties": {
11101
+ "type": {
11102
+ "type": "string"
11103
+ },
11104
+ "id": {
11105
+ "type": "string"
11106
+ }
11107
+ }
11108
+ }
11109
+ }
11110
+ }
11111
+ }
11112
+ }
11113
+ }
11114
+ }
11115
+ }
11116
+ },
11117
+ "_meta": {
11118
+ "method": "POST",
11119
+ "path": "/v1/schedules",
11120
+ "operationId": "createSchedule"
11121
+ }
11122
+ },
11123
+ {
11124
+ "name": "schedules_options",
11125
+ "description": "Schedules Options",
11126
+ "inputSchema": {
11127
+ "type": "object",
11128
+ "properties": {}
11129
+ },
11130
+ "_meta": {
11131
+ "method": "OPTIONS",
11132
+ "path": "/v1/schedules",
11133
+ "operationId": "schedulesOptions"
11134
+ }
11135
+ },
11136
+ {
11137
+ "name": "show_schedule",
11138
+ "description": "Show Schedule",
11139
+ "inputSchema": {
11140
+ "type": "object",
11141
+ "properties": {
11142
+ "scheduleId": {
11143
+ "type": "string",
11144
+ "description": "scheduleId parameter"
11145
+ }
11146
+ },
11147
+ "required": [
11148
+ "scheduleId"
11149
+ ]
11150
+ },
11151
+ "_meta": {
11152
+ "method": "GET",
11153
+ "path": "/v1/schedules/{scheduleId}",
11154
+ "operationId": "showSchedule"
11155
+ }
11156
+ },
11157
+ {
11158
+ "name": "update_schedule",
11159
+ "description": "Update Schedule",
11160
+ "inputSchema": {
11161
+ "type": "object",
11162
+ "properties": {
11163
+ "scheduleId": {
11164
+ "type": "string",
11165
+ "description": "scheduleId parameter"
11166
+ },
11167
+ "requestBody": {
11168
+ "title": "UpdateScheduleRequestBody",
11169
+ "type": "object",
11170
+ "required": [
11171
+ "data"
11172
+ ],
11173
+ "properties": {
11174
+ "data": {
11175
+ "title": "UpdateScheduleRequestBodyData",
11176
+ "type": "object",
11177
+ "required": [
11178
+ "type",
11179
+ "id"
11180
+ ],
11181
+ "properties": {
11182
+ "type": {
11183
+ "type": "string",
11184
+ "enum": [
11185
+ "schedules"
11186
+ ]
11187
+ },
11188
+ "id": {
11189
+ "type": "string"
11190
+ },
11191
+ "attributes": {
11192
+ "title": "ScheduleAttributesSchema",
11193
+ "type": "object",
11194
+ "properties": {
11195
+ "name": {
11196
+ "type": "string",
11197
+ "description": "Optional human-readable label for the schedule."
11198
+ },
11199
+ "status": {
11200
+ "type": "string",
11201
+ "enum": [
11202
+ "pending",
11203
+ "fired",
11204
+ "cancelled",
11205
+ "failed",
11206
+ "paused"
11207
+ ],
11208
+ "description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
11209
+ },
11210
+ "fireAt": {
11211
+ "type": "string",
11212
+ "format": "date-time",
11213
+ "description": "ISO 8601 timestamp when the schedule fires. Absolute; compute delayMinutes client-side if needed."
11214
+ },
11215
+ "firedAt": {
11216
+ "type": "string",
11217
+ "format": "date-time",
11218
+ "description": "Set by the dispatcher when the schedule actually fires."
11219
+ },
11220
+ "target": {
11221
+ "title": "ScheduleTargetSchema",
11222
+ "type": "object",
11223
+ "description": "What to invoke when the schedule fires.",
11224
+ "required": [
11225
+ "type",
11226
+ "actionName"
11227
+ ],
11228
+ "properties": {
11229
+ "type": {
11230
+ "type": "string",
11231
+ "enum": [
11232
+ "action"
11233
+ ],
11234
+ "description": "Target kind. Only `action` is supported today; the dispatcher invokes the matching action Lambda."
11235
+ },
11236
+ "actionName": {
11237
+ "type": "string",
11238
+ "description": "Action identifier (e.g. `email:send`, `call:initiate`). Resolved by the same convention the workflow engine uses - `resource:verb` maps to `sm-${env}-tb-service-action-function-${resource}-${verb}`."
11239
+ },
11240
+ "input": {
11241
+ "type": "object",
11242
+ "description": "Payload passed to the action Lambda. Shape is action-specific."
11243
+ }
11244
+ }
11245
+ },
11246
+ "result": {
11247
+ "type": "object",
11248
+ "description": "Dispatcher's recorded result after firing (status, messageId, or error detail). Server-managed."
11249
+ },
11250
+ "timestamps": {
11251
+ "title": "ResourceTimestampsSchema",
11252
+ "type": "object",
11253
+ "properties": {
11254
+ "created": {
11255
+ "type": "string",
11256
+ "format": "date-time"
11257
+ },
11258
+ "modified": {
11259
+ "type": "string",
11260
+ "format": "date-time"
11261
+ }
11262
+ }
11263
+ }
10701
11264
  }
10702
11265
  },
10703
11266
  "relationships": {
@@ -14793,6 +15356,10 @@
14793
15356
  "archived"
14794
15357
  ]
14795
15358
  },
15359
+ "filterScopeKey": {
15360
+ "type": "string",
15361
+ "description": "Returns the persona for one position family in one market.\nFormat `{positionFamily}#{scope}`, where scope is\n`city:<slug>`, `voivodeship:<slug>`, `country:<code>` or\n`remote` - for example\n`regional-sales-representative#city:krakow`. Slugs are folded\n(lowercase, no diacritics), so Krakow and Kraków are one key."
15362
+ },
14796
15363
  "filterCreatedFrom": {
14797
15364
  "type": "string",
14798
15365
  "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
@@ -14860,16 +15427,74 @@
14860
15427
  "attributes": {
14861
15428
  "title": "PersonaAttributesSchema",
14862
15429
  "type": "object",
14863
- "required": [
14864
- "name",
14865
- "email"
14866
- ],
15430
+ "description": "A persona is a REGIONAL COHORT profile, not a person: it is\nsynthesized from the talents this tenant actually hired for one\nposition family in one market. Nothing here describes an individual,\nand `name` / `profilePictureUrl` are an invented label for the\ncohort, never a real person.",
14867
15431
  "properties": {
14868
- "name": {
15432
+ "status": {
15433
+ "type": "string",
15434
+ "description": "Only `active` personas may be shown as a benchmark - see\n`memberCount`. Everything else is a work in progress.",
15435
+ "enum": [
15436
+ "active",
15437
+ "inactive",
15438
+ "draft",
15439
+ "pending",
15440
+ "archived",
15441
+ "failed"
15442
+ ]
15443
+ },
15444
+ "source": {
14869
15445
  "type": "string"
14870
15446
  },
14871
- "status": {
14872
- "type": "string"
15447
+ "name": {
15448
+ "type": "object",
15449
+ "description": "Language-keyed invented name for the archetype. Written once, then stable across rebuilds.",
15450
+ "additionalProperties": true
15451
+ },
15452
+ "profilePictureUrl": {
15453
+ "type": "string",
15454
+ "description": "Illustration for the archetype. Not a photograph of anyone."
15455
+ },
15456
+ "gender": {
15457
+ "type": "object",
15458
+ "description": "Language-keyed, cohort-derived. Locale value unconstrained (Any).",
15459
+ "additionalProperties": true
15460
+ },
15461
+ "ageRange": {
15462
+ "type": "object",
15463
+ "description": "Language-keyed, cohort-derived. Locale value unconstrained (Any).",
15464
+ "additionalProperties": true
15465
+ },
15466
+ "scope": {
15467
+ "type": "object",
15468
+ "description": "Which market this persona describes: `{level: city|voivodeship|\ncountry|remote, city?, voivodeship?, country?}`. A hire feeds\nthree personas (city, voivodeship, country), and consumers take\nthe most specific USABLE one.",
15469
+ "additionalProperties": true
15470
+ },
15471
+ "scopeKey": {
15472
+ "type": "string",
15473
+ "description": "`{positionFamily}#{scope}` - the list filter (`filterScopeKey`) and the index key."
15474
+ },
15475
+ "positionFamily": {
15476
+ "type": "string",
15477
+ "description": "Slug of the role the cohort was hired for, e.g. `regional-sales-representative`."
15478
+ },
15479
+ "memberCount": {
15480
+ "type": "integer",
15481
+ "description": "How many hired talents the cohort holds. Below 3 the profile is\nthose few people in disguise, so it is never published and never\nconsumed - k-anonymity, not a display preference."
15482
+ },
15483
+ "cohortRead": {
15484
+ "type": "integer",
15485
+ "description": "How many members actually fed the profile on this row (diagnostic; can be lower than memberCount)."
15486
+ },
15487
+ "talentCount": {
15488
+ "type": "integer",
15489
+ "description": "Legacy mirror of memberCount."
15490
+ },
15491
+ "version": {
15492
+ "type": "integer",
15493
+ "description": "Bumped by every rebuild that wrote something."
15494
+ },
15495
+ "publishedAt": {
15496
+ "type": "string",
15497
+ "description": "When this persona last became consumable."
14873
15498
  },
14874
15499
  "timestamps": {
14875
15500
  "title": "ResourceTimestampsSchema",
@@ -14884,6 +15509,126 @@
14884
15509
  "format": "date-time"
14885
15510
  }
14886
15511
  }
15512
+ },
15513
+ "availability": {
15514
+ "type": "object",
15515
+ "description": "Language-keyed availability pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15516
+ "additionalProperties": true
15517
+ },
15518
+ "certifications": {
15519
+ "type": "object",
15520
+ "description": "Language-keyed certifications pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15521
+ "additionalProperties": true
15522
+ },
15523
+ "companyTypeExperience": {
15524
+ "type": "object",
15525
+ "description": "Language-keyed companyTypeExperience pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15526
+ "additionalProperties": true
15527
+ },
15528
+ "education": {
15529
+ "type": "object",
15530
+ "description": "Language-keyed education pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15531
+ "additionalProperties": true
15532
+ },
15533
+ "experienceAndSeniority": {
15534
+ "type": "object",
15535
+ "description": "Language-keyed experienceAndSeniority pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15536
+ "additionalProperties": true
15537
+ },
15538
+ "industryExperience": {
15539
+ "type": "object",
15540
+ "description": "Language-keyed industryExperience pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15541
+ "additionalProperties": true
15542
+ },
15543
+ "jobPositions": {
15544
+ "type": "object",
15545
+ "description": "Language-keyed jobPositions pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15546
+ "additionalProperties": true
15547
+ },
15548
+ "jobTendencies": {
15549
+ "type": "object",
15550
+ "description": "Language-keyed jobTendencies pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15551
+ "additionalProperties": true
15552
+ },
15553
+ "languagesSpoken": {
15554
+ "type": "object",
15555
+ "description": "Language-keyed languagesSpoken pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15556
+ "additionalProperties": true
15557
+ },
15558
+ "licenses": {
15559
+ "type": "object",
15560
+ "description": "Language-keyed licenses pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15561
+ "additionalProperties": true
15562
+ },
15563
+ "locationPreferences": {
15564
+ "type": "object",
15565
+ "description": "Language-keyed locationPreferences pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15566
+ "additionalProperties": true
15567
+ },
15568
+ "personalityAndSoftSkills": {
15569
+ "type": "object",
15570
+ "description": "Language-keyed personalityAndSoftSkills pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15571
+ "additionalProperties": true
15572
+ },
15573
+ "salaryExpectation": {
15574
+ "type": "object",
15575
+ "description": "Language-keyed salaryExpectation pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15576
+ "additionalProperties": true
15577
+ },
15578
+ "skillsAndExpertise": {
15579
+ "type": "object",
15580
+ "description": "Language-keyed skillsAndExpertise pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15581
+ "additionalProperties": true
15582
+ },
15583
+ "workAuthorization": {
15584
+ "type": "object",
15585
+ "description": "Language-keyed workAuthorization pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15586
+ "additionalProperties": true
15587
+ },
15588
+ "workPreferences": {
15589
+ "type": "object",
15590
+ "description": "Language-keyed workPreferences pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15591
+ "additionalProperties": true
15592
+ },
15593
+ "responsibilities": {
15594
+ "type": "object",
15595
+ "description": "Language-keyed responsibilities pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15596
+ "additionalProperties": true
15597
+ },
15598
+ "hobbiesAndInterests": {
15599
+ "type": "object",
15600
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15601
+ "additionalProperties": true
15602
+ },
15603
+ "personalTraits": {
15604
+ "type": "object",
15605
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15606
+ "additionalProperties": true
15607
+ },
15608
+ "goalsAndAspirations": {
15609
+ "type": "object",
15610
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15611
+ "additionalProperties": true
15612
+ },
15613
+ "mainFrustrations": {
15614
+ "type": "object",
15615
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15616
+ "additionalProperties": true
15617
+ },
15618
+ "keyCompetenciesAndStrengths": {
15619
+ "type": "object",
15620
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15621
+ "additionalProperties": true
15622
+ },
15623
+ "quickInsights": {
15624
+ "type": "object",
15625
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15626
+ "additionalProperties": true
15627
+ },
15628
+ "keywords": {
15629
+ "type": "object",
15630
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15631
+ "additionalProperties": true
14887
15632
  }
14888
15633
  }
14889
15634
  },
@@ -15023,17 +15768,75 @@
15023
15768
  "attributes": {
15024
15769
  "title": "PersonaAttributesSchema",
15025
15770
  "type": "object",
15026
- "required": [
15027
- "name",
15028
- "email"
15029
- ],
15771
+ "description": "A persona is a REGIONAL COHORT profile, not a person: it is\nsynthesized from the talents this tenant actually hired for one\nposition family in one market. Nothing here describes an individual,\nand `name` / `profilePictureUrl` are an invented label for the\ncohort, never a real person.",
15030
15772
  "properties": {
15031
- "name": {
15032
- "type": "string"
15033
- },
15034
15773
  "status": {
15774
+ "type": "string",
15775
+ "description": "Only `active` personas may be shown as a benchmark - see\n`memberCount`. Everything else is a work in progress.",
15776
+ "enum": [
15777
+ "active",
15778
+ "inactive",
15779
+ "draft",
15780
+ "pending",
15781
+ "archived",
15782
+ "failed"
15783
+ ]
15784
+ },
15785
+ "source": {
15035
15786
  "type": "string"
15036
15787
  },
15788
+ "name": {
15789
+ "type": "object",
15790
+ "description": "Language-keyed invented name for the archetype. Written once, then stable across rebuilds.",
15791
+ "additionalProperties": true
15792
+ },
15793
+ "profilePictureUrl": {
15794
+ "type": "string",
15795
+ "description": "Illustration for the archetype. Not a photograph of anyone."
15796
+ },
15797
+ "gender": {
15798
+ "type": "object",
15799
+ "description": "Language-keyed, cohort-derived. Locale value unconstrained (Any).",
15800
+ "additionalProperties": true
15801
+ },
15802
+ "ageRange": {
15803
+ "type": "object",
15804
+ "description": "Language-keyed, cohort-derived. Locale value unconstrained (Any).",
15805
+ "additionalProperties": true
15806
+ },
15807
+ "scope": {
15808
+ "type": "object",
15809
+ "description": "Which market this persona describes: `{level: city|voivodeship|\ncountry|remote, city?, voivodeship?, country?}`. A hire feeds\nthree personas (city, voivodeship, country), and consumers take\nthe most specific USABLE one.",
15810
+ "additionalProperties": true
15811
+ },
15812
+ "scopeKey": {
15813
+ "type": "string",
15814
+ "description": "`{positionFamily}#{scope}` - the list filter (`filterScopeKey`) and the index key."
15815
+ },
15816
+ "positionFamily": {
15817
+ "type": "string",
15818
+ "description": "Slug of the role the cohort was hired for, e.g. `regional-sales-representative`."
15819
+ },
15820
+ "memberCount": {
15821
+ "type": "integer",
15822
+ "description": "How many hired talents the cohort holds. Below 3 the profile is\nthose few people in disguise, so it is never published and never\nconsumed - k-anonymity, not a display preference."
15823
+ },
15824
+ "cohortRead": {
15825
+ "type": "integer",
15826
+ "description": "How many members actually fed the profile on this row (diagnostic; can be lower than memberCount)."
15827
+ },
15828
+ "talentCount": {
15829
+ "type": "integer",
15830
+ "description": "Legacy mirror of memberCount."
15831
+ },
15832
+ "version": {
15833
+ "type": "integer",
15834
+ "description": "Bumped by every rebuild that wrote something."
15835
+ },
15836
+ "publishedAt": {
15837
+ "type": "string",
15838
+ "description": "When this persona last became consumable."
15839
+ },
15037
15840
  "timestamps": {
15038
15841
  "title": "ResourceTimestampsSchema",
15039
15842
  "type": "object",
@@ -15047,6 +15850,126 @@
15047
15850
  "format": "date-time"
15048
15851
  }
15049
15852
  }
15853
+ },
15854
+ "availability": {
15855
+ "type": "object",
15856
+ "description": "Language-keyed availability pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15857
+ "additionalProperties": true
15858
+ },
15859
+ "certifications": {
15860
+ "type": "object",
15861
+ "description": "Language-keyed certifications pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15862
+ "additionalProperties": true
15863
+ },
15864
+ "companyTypeExperience": {
15865
+ "type": "object",
15866
+ "description": "Language-keyed companyTypeExperience pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15867
+ "additionalProperties": true
15868
+ },
15869
+ "education": {
15870
+ "type": "object",
15871
+ "description": "Language-keyed education pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15872
+ "additionalProperties": true
15873
+ },
15874
+ "experienceAndSeniority": {
15875
+ "type": "object",
15876
+ "description": "Language-keyed experienceAndSeniority pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15877
+ "additionalProperties": true
15878
+ },
15879
+ "industryExperience": {
15880
+ "type": "object",
15881
+ "description": "Language-keyed industryExperience pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15882
+ "additionalProperties": true
15883
+ },
15884
+ "jobPositions": {
15885
+ "type": "object",
15886
+ "description": "Language-keyed jobPositions pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15887
+ "additionalProperties": true
15888
+ },
15889
+ "jobTendencies": {
15890
+ "type": "object",
15891
+ "description": "Language-keyed jobTendencies pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15892
+ "additionalProperties": true
15893
+ },
15894
+ "languagesSpoken": {
15895
+ "type": "object",
15896
+ "description": "Language-keyed languagesSpoken pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15897
+ "additionalProperties": true
15898
+ },
15899
+ "licenses": {
15900
+ "type": "object",
15901
+ "description": "Language-keyed licenses pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15902
+ "additionalProperties": true
15903
+ },
15904
+ "locationPreferences": {
15905
+ "type": "object",
15906
+ "description": "Language-keyed locationPreferences pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15907
+ "additionalProperties": true
15908
+ },
15909
+ "personalityAndSoftSkills": {
15910
+ "type": "object",
15911
+ "description": "Language-keyed personalityAndSoftSkills pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15912
+ "additionalProperties": true
15913
+ },
15914
+ "salaryExpectation": {
15915
+ "type": "object",
15916
+ "description": "Language-keyed salaryExpectation pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15917
+ "additionalProperties": true
15918
+ },
15919
+ "skillsAndExpertise": {
15920
+ "type": "object",
15921
+ "description": "Language-keyed skillsAndExpertise pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15922
+ "additionalProperties": true
15923
+ },
15924
+ "workAuthorization": {
15925
+ "type": "object",
15926
+ "description": "Language-keyed workAuthorization pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15927
+ "additionalProperties": true
15928
+ },
15929
+ "workPreferences": {
15930
+ "type": "object",
15931
+ "description": "Language-keyed workPreferences pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15932
+ "additionalProperties": true
15933
+ },
15934
+ "responsibilities": {
15935
+ "type": "object",
15936
+ "description": "Language-keyed responsibilities pattern across the cohort. Each entry carries its own prevalence (\"N of M hired talents\").",
15937
+ "additionalProperties": true
15938
+ },
15939
+ "hobbiesAndInterests": {
15940
+ "type": "object",
15941
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15942
+ "additionalProperties": true
15943
+ },
15944
+ "personalTraits": {
15945
+ "type": "object",
15946
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15947
+ "additionalProperties": true
15948
+ },
15949
+ "goalsAndAspirations": {
15950
+ "type": "object",
15951
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15952
+ "additionalProperties": true
15953
+ },
15954
+ "mainFrustrations": {
15955
+ "type": "object",
15956
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15957
+ "additionalProperties": true
15958
+ },
15959
+ "keyCompetenciesAndStrengths": {
15960
+ "type": "object",
15961
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15962
+ "additionalProperties": true
15963
+ },
15964
+ "quickInsights": {
15965
+ "type": "object",
15966
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15967
+ "additionalProperties": true
15968
+ },
15969
+ "keywords": {
15970
+ "type": "object",
15971
+ "description": "Language-keyed narrative synthesis. Locale value unconstrained (Any) - see the candidate schema note.",
15972
+ "additionalProperties": true
15050
15973
  }
15051
15974
  }
15052
15975
  }