@smartytalent/openai-tools 0.1.33-dev.27 → 0.1.33-dev.29

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 +559 -13
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -332,7 +332,7 @@
332
332
  },
333
333
  "include": {
334
334
  "type": "string",
335
- "description": "JSON:API compound document request comma-separated list of relationship paths to include in the response (e.g. `feedbacks`, `feedbacks,boeUser`). Currently advisory: the service always returns all declared relationships with empty defaults."
335
+ "description": "JSON:API compound document request - comma-separated list of relationship paths to include in the response (e.g. `feedbacks`, `feedbacks,boeUser`). Currently advisory: the service always returns all declared relationships with empty defaults."
336
336
  }
337
337
  },
338
338
  "required": [
@@ -7627,7 +7627,7 @@
7627
7627
  "outcomes": {
7628
7628
  "title": "FeedbackOutcomesSchema",
7629
7629
  "type": "object",
7630
- "description": "Per-outcome feedback rules. Outcome keys map to candidate.recommendationStatusCode: 1=notFit, 2=maybe, 3=fit. Code 0 (not evaluated) never triggers feedback the workflow pauses instead.",
7630
+ "description": "Per-outcome feedback rules. Outcome keys map to candidate.recommendationStatusCode: 1=notFit, 2=maybe, 3=fit. Code 0 (not evaluated) never triggers feedback - the workflow pauses instead.",
7631
7631
  "properties": {
7632
7632
  "notFit": {
7633
7633
  "title": "FeedbackOutcomeRuleSchema",
@@ -8035,7 +8035,7 @@
8035
8035
  "outcomes": {
8036
8036
  "title": "FeedbackOutcomesSchema",
8037
8037
  "type": "object",
8038
- "description": "Per-outcome feedback rules. Outcome keys map to candidate.recommendationStatusCode: 1=notFit, 2=maybe, 3=fit. Code 0 (not evaluated) never triggers feedback the workflow pauses instead.",
8038
+ "description": "Per-outcome feedback rules. Outcome keys map to candidate.recommendationStatusCode: 1=notFit, 2=maybe, 3=fit. Code 0 (not evaluated) never triggers feedback - the workflow pauses instead.",
8039
8039
  "properties": {
8040
8040
  "notFit": {
8041
8041
  "title": "FeedbackOutcomeRuleSchema",
@@ -8513,7 +8513,7 @@
8513
8513
  },
8514
8514
  "actionName": {
8515
8515
  "type": "string",
8516
- "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}`."
8516
+ "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}`."
8517
8517
  },
8518
8518
  "input": {
8519
8519
  "type": "object",
@@ -8770,7 +8770,7 @@
8770
8770
  },
8771
8771
  "actionName": {
8772
8772
  "type": "string",
8773
- "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}`."
8773
+ "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}`."
8774
8774
  },
8775
8775
  "input": {
8776
8776
  "type": "object",
@@ -9021,7 +9021,7 @@
9021
9021
  "candidate",
9022
9022
  "talent"
9023
9023
  ],
9024
- "description": "Submission type determines which workflow to trigger"
9024
+ "description": "Submission type - determines which workflow to trigger"
9025
9025
  },
9026
9026
  "status": {
9027
9027
  "type": "string",
@@ -9329,7 +9329,7 @@
9329
9329
  "candidate",
9330
9330
  "talent"
9331
9331
  ],
9332
- "description": "Submission type determines which workflow to trigger. Auto-derived from jobId if omitted."
9332
+ "description": "Submission type - determines which workflow to trigger. Auto-derived from jobId if omitted."
9333
9333
  },
9334
9334
  "referral": {
9335
9335
  "type": "object",
@@ -9506,7 +9506,7 @@
9506
9506
  "candidate",
9507
9507
  "talent"
9508
9508
  ],
9509
- "description": "Submission type determines which workflow to trigger"
9509
+ "description": "Submission type - determines which workflow to trigger"
9510
9510
  },
9511
9511
  "status": {
9512
9512
  "type": "string",
@@ -10488,14 +10488,81 @@
10488
10488
  "parameters": {
10489
10489
  "type": "object",
10490
10490
  "properties": {
10491
- "filterStatus": {
10491
+ "filterFolder": {
10492
10492
  "type": "string",
10493
- "description": "Returns calls with the current status (active, archived). If not provided, the default value will be set to 'active'.",
10493
+ "description": "Filter by folder bucket. Mirrors the left-nav chips. Single-status\nfolders translate to filterStatus + filterDirection internally\n(drafts/scheduled/cancelled/archived/incoming/outgoing). Multi-\nstatus folders (active, missed) use a Scan path. Conflicts with\nexplicit filterStatus / filterDirection (request returns 400).",
10494
10494
  "enum": [
10495
+ "drafts",
10496
+ "scheduled",
10495
10497
  "active",
10498
+ "incoming",
10499
+ "outgoing",
10500
+ "missed",
10501
+ "cancelled",
10502
+ "archived"
10503
+ ]
10504
+ },
10505
+ "filterStatus": {
10506
+ "type": "string",
10507
+ "description": "Filter by status. Accepts single value or comma-separated list\n(e.g. `queued,ringing,in-progress`). Comma-list routes to the\nScan path (slower, no cursor pagination).",
10508
+ "enum": [
10509
+ "draft",
10510
+ "scheduled",
10511
+ "cancelled",
10512
+ "queued",
10513
+ "ringing",
10514
+ "in-progress",
10515
+ "completed",
10516
+ "failed",
10517
+ "no-answer",
10518
+ "busy",
10519
+ "voicemail",
10520
+ "abandoned",
10496
10521
  "archived"
10497
10522
  ]
10498
10523
  },
10524
+ "filterDirection": {
10525
+ "type": "string",
10526
+ "description": "Filter by direction (inbound or outbound).",
10527
+ "enum": [
10528
+ "inbound",
10529
+ "outbound"
10530
+ ]
10531
+ },
10532
+ "filterProtocol": {
10533
+ "type": "string",
10534
+ "description": "Filter by wire protocol. `phone` is PSTN via Twilio; `webrtc` reserved for the future recruiter Voice SDK.",
10535
+ "enum": [
10536
+ "phone",
10537
+ "webrtc"
10538
+ ]
10539
+ },
10540
+ "filterFromIdentifier": {
10541
+ "type": "string",
10542
+ "description": "Filter by caller's protocol-native handle (E.164 phone for PSTN). Indexed via FromIdentifierIndex GSI."
10543
+ },
10544
+ "filterToIdentifier": {
10545
+ "type": "string",
10546
+ "description": "Filter by callee's protocol-native handle (E.164 phone for PSTN). Indexed via ToIdentifierIndex GSI. Use for 'all calls to this number' views."
10547
+ },
10548
+ "filterConversationId": {
10549
+ "type": "string",
10550
+ "description": "Filter all calls in a conversation thread. Indexed via ConversationIdIndex GSI."
10551
+ },
10552
+ "filterIntent": {
10553
+ "type": "string",
10554
+ "description": "Filter by AI intent classifier output (inbound calls only). Post-filtered after pagination - acceptable while intent classification is small-scale.",
10555
+ "enum": [
10556
+ "brief_request",
10557
+ "sales_chat",
10558
+ "faq",
10559
+ "other"
10560
+ ]
10561
+ },
10562
+ "include": {
10563
+ "type": "string",
10564
+ "description": "JSON:API `?include=` sideloads. Comma-list of relationship\nslots; each resolved to a per-resource entry in the response\n`included[]` array. Eliminates N+1 lookups for avatars /\nnames. Allowed slots: conversation, candidate, talent, user,\nboeUser, job, brief, schedule. Each included resource carries\n`attributes.name` plus type-specific extras (`avatarUrl` +\n`isBoe` for users, `company` for candidate/talent, `title` +\n`shortCode` for job, `subject` + `type` for conversation,\n`fireAt` + `status` for schedule)."
10565
+ },
10499
10566
  "filterCreatedFrom": {
10500
10567
  "type": "string",
10501
10568
  "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
@@ -10527,6 +10594,16 @@
10527
10594
  "pageBefore": {
10528
10595
  "type": "string",
10529
10596
  "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
10597
+ },
10598
+ "sort": {
10599
+ "type": "string",
10600
+ "description": "Sort order. Default `-created` (newest first). Currently\nsupports `-created`, `created`, `-modified`, `modified`. Sort\nby `-startedAt` / `-endedAt` / `-durationSec` deferred until\ncomposite GSIs land - see backend backlog #93.",
10601
+ "enum": [
10602
+ "-created",
10603
+ "created",
10604
+ "-modified",
10605
+ "modified"
10606
+ ]
10530
10607
  }
10531
10608
  }
10532
10609
  }
@@ -10742,6 +10819,116 @@
10742
10819
  "type": "string",
10743
10820
  "description": "Unique short identifier (provider/lookup correlation)."
10744
10821
  },
10822
+ "transcriptSegments": {
10823
+ "type": "array",
10824
+ "description": "Structured transcript with timing. Each segment is one turn captured live by the Realtime API. Single shape (NOT translated); text is in `languageCode`. Drives the audio player's clickable speaker timeline.",
10825
+ "items": {
10826
+ "type": "object",
10827
+ "properties": {
10828
+ "startMs": {
10829
+ "type": "integer",
10830
+ "description": "Offset from call start in milliseconds when the speaker began this turn."
10831
+ },
10832
+ "endMs": {
10833
+ "type": "integer",
10834
+ "description": "Offset from call start in milliseconds when the speaker finished this turn."
10835
+ },
10836
+ "speakerType": {
10837
+ "type": "string",
10838
+ "enum": [
10839
+ "ai",
10840
+ "human"
10841
+ ],
10842
+ "description": "Which side spoke this turn."
10843
+ },
10844
+ "speakerName": {
10845
+ "type": "string",
10846
+ "description": "Display name of the speaker at write time."
10847
+ },
10848
+ "text": {
10849
+ "type": "string",
10850
+ "description": "What the speaker said, in `languageCode`."
10851
+ }
10852
+ }
10853
+ }
10854
+ },
10855
+ "speakerStats": {
10856
+ "type": "array",
10857
+ "description": "Per-speaker talk statistics computed once on call finalization. Used by the timeline UI to show talk-time bars.",
10858
+ "items": {
10859
+ "type": "object",
10860
+ "properties": {
10861
+ "speakerType": {
10862
+ "type": "string",
10863
+ "enum": [
10864
+ "ai",
10865
+ "human"
10866
+ ]
10867
+ },
10868
+ "speakerName": {
10869
+ "type": "string"
10870
+ },
10871
+ "talkPercentageBp": {
10872
+ "type": "integer",
10873
+ "description": "Talk-time percentage in basis points (10000 = 100.00%). Integer to avoid float rounding mismatches across clients."
10874
+ }
10875
+ }
10876
+ }
10877
+ },
10878
+ "keyNotes": {
10879
+ "type": "array",
10880
+ "description": "AI-generated bullet points distilled from the transcript. In `languageCode` (NOT multilingual - single shape; FE renders as-is).",
10881
+ "items": {
10882
+ "type": "string"
10883
+ }
10884
+ },
10885
+ "topicsDiscussed": {
10886
+ "type": "array",
10887
+ "description": "Stable facet keys (e.g. `salary`, `experience`, `languagesSpoken`) covered in the call. FE renders via shared `callTopics` dictionary for human-readable labels.",
10888
+ "items": {
10889
+ "type": "string"
10890
+ }
10891
+ },
10892
+ "sentiment": {
10893
+ "type": "string",
10894
+ "enum": [
10895
+ "positive",
10896
+ "neutral",
10897
+ "negative",
10898
+ "mixed"
10899
+ ],
10900
+ "description": "AI-derived sentiment of the conversation as a whole."
10901
+ },
10902
+ "summaryGeneratedAt": {
10903
+ "type": "string",
10904
+ "description": "ISO 8601 timestamp when the AI summary pipeline (keyNotes + topicsDiscussed + sentiment + summary) finalized. Null until the post-call AI Step Function completes."
10905
+ },
10906
+ "folder": {
10907
+ "type": "string",
10908
+ "enum": [
10909
+ "drafts",
10910
+ "scheduled",
10911
+ "active",
10912
+ "incoming",
10913
+ "outgoing",
10914
+ "missed",
10915
+ "cancelled",
10916
+ "archived"
10917
+ ],
10918
+ "description": "Server-derived bucket for the left-nav / filter chips, computed from (direction, status). Mirror of email/chat folder. UI uses this directly; do NOT compute on the client."
10919
+ },
10920
+ "isLive": {
10921
+ "type": "boolean",
10922
+ "description": "Server-derived: true when status is in {queued, ringing, in-progress}. Drives the live indicator + polling decision in the UI."
10923
+ },
10924
+ "hasRecording": {
10925
+ "type": "boolean",
10926
+ "description": "Server-derived: true when recording.mixedMp3Url is present. Lets the list page show a play icon without sending the heavy `recording` block."
10927
+ },
10928
+ "hasTranscript": {
10929
+ "type": "boolean",
10930
+ "description": "Server-derived: true when transcriptSegments has any entries OR transcript dict has any locale keys. Lets the list page show a transcript icon without sending the heavy `transcript`/`transcriptSegments` payload."
10931
+ },
10745
10932
  "timestamps": {
10746
10933
  "title": "ResourceTimestampsSchema",
10747
10934
  "type": "object",
@@ -10941,7 +11128,12 @@
10941
11128
  "description": "Show Call",
10942
11129
  "parameters": {
10943
11130
  "type": "object",
10944
- "properties": {}
11131
+ "properties": {
11132
+ "include": {
11133
+ "type": "string",
11134
+ "description": "JSON:API `?include=` sideloads. Comma-list of relationship\nslots; each resolved entry is added to the response\n`included[]` array. Allowed slots: conversation, candidate,\ntalent, user, boeUser, job, brief, schedule."
11135
+ }
11136
+ }
10945
11137
  }
10946
11138
  }
10947
11139
  },
@@ -11159,6 +11351,116 @@
11159
11351
  "type": "string",
11160
11352
  "description": "Unique short identifier (provider/lookup correlation)."
11161
11353
  },
11354
+ "transcriptSegments": {
11355
+ "type": "array",
11356
+ "description": "Structured transcript with timing. Each segment is one turn captured live by the Realtime API. Single shape (NOT translated); text is in `languageCode`. Drives the audio player's clickable speaker timeline.",
11357
+ "items": {
11358
+ "type": "object",
11359
+ "properties": {
11360
+ "startMs": {
11361
+ "type": "integer",
11362
+ "description": "Offset from call start in milliseconds when the speaker began this turn."
11363
+ },
11364
+ "endMs": {
11365
+ "type": "integer",
11366
+ "description": "Offset from call start in milliseconds when the speaker finished this turn."
11367
+ },
11368
+ "speakerType": {
11369
+ "type": "string",
11370
+ "enum": [
11371
+ "ai",
11372
+ "human"
11373
+ ],
11374
+ "description": "Which side spoke this turn."
11375
+ },
11376
+ "speakerName": {
11377
+ "type": "string",
11378
+ "description": "Display name of the speaker at write time."
11379
+ },
11380
+ "text": {
11381
+ "type": "string",
11382
+ "description": "What the speaker said, in `languageCode`."
11383
+ }
11384
+ }
11385
+ }
11386
+ },
11387
+ "speakerStats": {
11388
+ "type": "array",
11389
+ "description": "Per-speaker talk statistics computed once on call finalization. Used by the timeline UI to show talk-time bars.",
11390
+ "items": {
11391
+ "type": "object",
11392
+ "properties": {
11393
+ "speakerType": {
11394
+ "type": "string",
11395
+ "enum": [
11396
+ "ai",
11397
+ "human"
11398
+ ]
11399
+ },
11400
+ "speakerName": {
11401
+ "type": "string"
11402
+ },
11403
+ "talkPercentageBp": {
11404
+ "type": "integer",
11405
+ "description": "Talk-time percentage in basis points (10000 = 100.00%). Integer to avoid float rounding mismatches across clients."
11406
+ }
11407
+ }
11408
+ }
11409
+ },
11410
+ "keyNotes": {
11411
+ "type": "array",
11412
+ "description": "AI-generated bullet points distilled from the transcript. In `languageCode` (NOT multilingual - single shape; FE renders as-is).",
11413
+ "items": {
11414
+ "type": "string"
11415
+ }
11416
+ },
11417
+ "topicsDiscussed": {
11418
+ "type": "array",
11419
+ "description": "Stable facet keys (e.g. `salary`, `experience`, `languagesSpoken`) covered in the call. FE renders via shared `callTopics` dictionary for human-readable labels.",
11420
+ "items": {
11421
+ "type": "string"
11422
+ }
11423
+ },
11424
+ "sentiment": {
11425
+ "type": "string",
11426
+ "enum": [
11427
+ "positive",
11428
+ "neutral",
11429
+ "negative",
11430
+ "mixed"
11431
+ ],
11432
+ "description": "AI-derived sentiment of the conversation as a whole."
11433
+ },
11434
+ "summaryGeneratedAt": {
11435
+ "type": "string",
11436
+ "description": "ISO 8601 timestamp when the AI summary pipeline (keyNotes + topicsDiscussed + sentiment + summary) finalized. Null until the post-call AI Step Function completes."
11437
+ },
11438
+ "folder": {
11439
+ "type": "string",
11440
+ "enum": [
11441
+ "drafts",
11442
+ "scheduled",
11443
+ "active",
11444
+ "incoming",
11445
+ "outgoing",
11446
+ "missed",
11447
+ "cancelled",
11448
+ "archived"
11449
+ ],
11450
+ "description": "Server-derived bucket for the left-nav / filter chips, computed from (direction, status). Mirror of email/chat folder. UI uses this directly; do NOT compute on the client."
11451
+ },
11452
+ "isLive": {
11453
+ "type": "boolean",
11454
+ "description": "Server-derived: true when status is in {queued, ringing, in-progress}. Drives the live indicator + polling decision in the UI."
11455
+ },
11456
+ "hasRecording": {
11457
+ "type": "boolean",
11458
+ "description": "Server-derived: true when recording.mixedMp3Url is present. Lets the list page show a play icon without sending the heavy `recording` block."
11459
+ },
11460
+ "hasTranscript": {
11461
+ "type": "boolean",
11462
+ "description": "Server-derived: true when transcriptSegments has any entries OR transcript dict has any locale keys. Lets the list page show a transcript icon without sending the heavy `transcript`/`transcriptSegments` payload."
11463
+ },
11162
11464
  "timestamps": {
11163
11465
  "title": "ResourceTimestampsSchema",
11164
11466
  "type": "object",
@@ -11203,6 +11505,245 @@
11203
11505
  }
11204
11506
  }
11205
11507
  },
11508
+ {
11509
+ "type": "function",
11510
+ "function": {
11511
+ "name": "list_comments",
11512
+ "description": "List Comments",
11513
+ "parameters": {
11514
+ "type": "object",
11515
+ "properties": {
11516
+ "filterTargetType": {
11517
+ "type": "string",
11518
+ "description": "Limit to comments on this resource type. Pair with filterTargetId.",
11519
+ "enum": [
11520
+ "calls",
11521
+ "chats",
11522
+ "emails",
11523
+ "candidates",
11524
+ "jobs",
11525
+ "talents",
11526
+ "briefs",
11527
+ "tasks"
11528
+ ]
11529
+ },
11530
+ "filterTargetId": {
11531
+ "type": "string",
11532
+ "description": "Limit to comments on this specific target id. Requires filterTargetType."
11533
+ },
11534
+ "filterAuthorId": {
11535
+ "type": "string",
11536
+ "description": "Limit to comments authored by this user. Indexed via AuthorIndex."
11537
+ },
11538
+ "filterIsResolved": {
11539
+ "type": "boolean",
11540
+ "description": "Filter by `isResolved` flag (true/false). Post-filtered after pagination - acceptable while resolution is rare."
11541
+ },
11542
+ "include": {
11543
+ "type": "string",
11544
+ "description": "JSON:API sideload. Currently supports `author` (resolves to the user row with name + avatarUrl + isBoe)."
11545
+ },
11546
+ "filterCreatedFrom": {
11547
+ "type": "string",
11548
+ "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
11549
+ },
11550
+ "filterCreatedTo": {
11551
+ "type": "string",
11552
+ "description": "Filters results to include only those created up to the specified date and time. The value must be in ISO 8601 format."
11553
+ },
11554
+ "filterModifiedFrom": {
11555
+ "type": "string",
11556
+ "description": "Filters results to include only those modified from the specified date and time. The value must be in ISO 8601 format."
11557
+ },
11558
+ "filterModifiedTo": {
11559
+ "type": "string",
11560
+ "description": "Filters results to include only those modified up to the specified date and time. The value must be in ISO 8601 format."
11561
+ },
11562
+ "pageSize": {
11563
+ "type": "integer",
11564
+ "description": "Specifies the number of items to retrieve per page. The maximum value is 100."
11565
+ },
11566
+ "pageNumber": {
11567
+ "type": "integer",
11568
+ "description": "Specifies the page number to retrieve. Used for traditional pagination."
11569
+ },
11570
+ "pageAfter": {
11571
+ "type": "string",
11572
+ "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."
11573
+ },
11574
+ "pageBefore": {
11575
+ "type": "string",
11576
+ "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
11577
+ },
11578
+ "sort": {
11579
+ "type": "string",
11580
+ "description": "Sort order. Default `-created` (newest first).",
11581
+ "enum": [
11582
+ "-created",
11583
+ "created",
11584
+ "-modified",
11585
+ "modified"
11586
+ ]
11587
+ }
11588
+ }
11589
+ }
11590
+ }
11591
+ },
11592
+ {
11593
+ "type": "function",
11594
+ "function": {
11595
+ "name": "create_comment",
11596
+ "description": "Create Comment",
11597
+ "parameters": {
11598
+ "title": "CreateCommentRequestSchema",
11599
+ "type": "object",
11600
+ "properties": {
11601
+ "data": {
11602
+ "type": "object",
11603
+ "required": [
11604
+ "type",
11605
+ "attributes"
11606
+ ],
11607
+ "properties": {
11608
+ "type": {
11609
+ "type": "string",
11610
+ "enum": [
11611
+ "comments"
11612
+ ]
11613
+ },
11614
+ "attributes": {
11615
+ "type": "object",
11616
+ "required": [
11617
+ "body",
11618
+ "targetType",
11619
+ "targetId"
11620
+ ],
11621
+ "properties": {
11622
+ "body": {
11623
+ "type": "string",
11624
+ "maxLength": 5000
11625
+ },
11626
+ "targetType": {
11627
+ "type": "string",
11628
+ "enum": [
11629
+ "calls",
11630
+ "chats",
11631
+ "emails",
11632
+ "candidates",
11633
+ "jobs",
11634
+ "talents",
11635
+ "briefs",
11636
+ "tasks"
11637
+ ]
11638
+ },
11639
+ "targetId": {
11640
+ "type": "string"
11641
+ },
11642
+ "parentCommentId": {
11643
+ "type": "string"
11644
+ },
11645
+ "mentionedUserIds": {
11646
+ "type": "array",
11647
+ "items": {
11648
+ "type": "string"
11649
+ }
11650
+ },
11651
+ "isResolved": {
11652
+ "type": "boolean"
11653
+ }
11654
+ }
11655
+ }
11656
+ }
11657
+ }
11658
+ }
11659
+ }
11660
+ }
11661
+ },
11662
+ {
11663
+ "type": "function",
11664
+ "function": {
11665
+ "name": "show_comment",
11666
+ "description": "Show Comment",
11667
+ "parameters": {
11668
+ "type": "object",
11669
+ "properties": {
11670
+ "include": {
11671
+ "type": "string",
11672
+ "description": "JSON:API sideload. `author` resolves the user row."
11673
+ }
11674
+ }
11675
+ }
11676
+ }
11677
+ },
11678
+ {
11679
+ "type": "function",
11680
+ "function": {
11681
+ "name": "update_comment",
11682
+ "description": "Update Comment",
11683
+ "parameters": {
11684
+ "title": "UpdateCommentRequestSchema",
11685
+ "type": "object",
11686
+ "properties": {
11687
+ "data": {
11688
+ "type": "object",
11689
+ "required": [
11690
+ "type"
11691
+ ],
11692
+ "properties": {
11693
+ "type": {
11694
+ "type": "string",
11695
+ "enum": [
11696
+ "comments"
11697
+ ]
11698
+ },
11699
+ "id": {
11700
+ "type": "string"
11701
+ },
11702
+ "attributes": {
11703
+ "type": "object",
11704
+ "description": "Patchable fields. Only `body`, `isResolved`, and `mentionedUserIds` are editable. Edit by author OR tenant admin/owner; others get 403.",
11705
+ "properties": {
11706
+ "body": {
11707
+ "type": "string",
11708
+ "maxLength": 5000
11709
+ },
11710
+ "isResolved": {
11711
+ "type": "boolean"
11712
+ },
11713
+ "mentionedUserIds": {
11714
+ "type": "array",
11715
+ "items": {
11716
+ "type": "string"
11717
+ }
11718
+ }
11719
+ }
11720
+ }
11721
+ }
11722
+ }
11723
+ }
11724
+ }
11725
+ }
11726
+ },
11727
+ {
11728
+ "type": "function",
11729
+ "function": {
11730
+ "name": "delete_comment",
11731
+ "description": "Delete Comment",
11732
+ "parameters": {
11733
+ "type": "object",
11734
+ "properties": {
11735
+ "permanentDelete": {
11736
+ "type": "string",
11737
+ "description": "Set to `true` for hard-delete. Default is soft-delete (status=archived).",
11738
+ "enum": [
11739
+ "true",
11740
+ "false"
11741
+ ]
11742
+ }
11743
+ }
11744
+ }
11745
+ }
11746
+ },
11206
11747
  {
11207
11748
  "type": "function",
11208
11749
  "function": {
@@ -12394,6 +12935,9 @@
12394
12935
  "description": "Only return states for this resource type.",
12395
12936
  "enum": [
12396
12937
  "emails",
12938
+ "chats",
12939
+ "calls",
12940
+ "comments",
12397
12941
  "candidates",
12398
12942
  "conversations",
12399
12943
  "jobs",
@@ -12701,10 +13245,12 @@
12701
13245
  "properties": {
12702
13246
  "filterResourceType": {
12703
13247
  "type": "string",
12704
- "description": "Only return aggregates for this resource type (e.g. emails, chats).",
13248
+ "description": "Only return aggregates for this resource type (e.g. emails, chats, calls, comments).",
12705
13249
  "enum": [
12706
13250
  "emails",
12707
13251
  "chats",
13252
+ "calls",
13253
+ "comments",
12708
13254
  "candidates",
12709
13255
  "conversations",
12710
13256
  "jobs",
@@ -15408,7 +15954,7 @@
15408
15954
  },
15409
15955
  "filterCategory": {
15410
15956
  "type": "string",
15411
- "description": "Filter by category (sourcing, screening, assessment, onboarding, operational, general). Uses CategoryIndex GSI efficient at scale.",
15957
+ "description": "Filter by category (sourcing, screening, assessment, onboarding, operational, general). Uses CategoryIndex GSI - efficient at scale.",
15412
15958
  "enum": [
15413
15959
  "sourcing",
15414
15960
  "screening",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/openai-tools",
3
- "version": "0.1.33-dev.27",
3
+ "version": "0.1.33-dev.29",
4
4
  "description": "OpenAI function/tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",