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

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 +295 -3
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -10488,14 +10488,73 @@
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
+ "filterConversationId": {
10545
+ "type": "string",
10546
+ "description": "Filter all calls in a conversation thread. Indexed via ConversationIdIndex GSI."
10547
+ },
10548
+ "filterIntent": {
10549
+ "type": "string",
10550
+ "description": "Filter by AI intent classifier output (inbound calls only). Post-filtered after pagination - acceptable while intent classification is small-scale.",
10551
+ "enum": [
10552
+ "brief_request",
10553
+ "sales_chat",
10554
+ "faq",
10555
+ "other"
10556
+ ]
10557
+ },
10499
10558
  "filterCreatedFrom": {
10500
10559
  "type": "string",
10501
10560
  "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
@@ -10527,6 +10586,16 @@
10527
10586
  "pageBefore": {
10528
10587
  "type": "string",
10529
10588
  "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
10589
+ },
10590
+ "sort": {
10591
+ "type": "string",
10592
+ "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.",
10593
+ "enum": [
10594
+ "-created",
10595
+ "created",
10596
+ "-modified",
10597
+ "modified"
10598
+ ]
10530
10599
  }
10531
10600
  }
10532
10601
  }
@@ -10742,6 +10811,116 @@
10742
10811
  "type": "string",
10743
10812
  "description": "Unique short identifier (provider/lookup correlation)."
10744
10813
  },
10814
+ "transcriptSegments": {
10815
+ "type": "array",
10816
+ "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.",
10817
+ "items": {
10818
+ "type": "object",
10819
+ "properties": {
10820
+ "startMs": {
10821
+ "type": "integer",
10822
+ "description": "Offset from call start in milliseconds when the speaker began this turn."
10823
+ },
10824
+ "endMs": {
10825
+ "type": "integer",
10826
+ "description": "Offset from call start in milliseconds when the speaker finished this turn."
10827
+ },
10828
+ "speakerType": {
10829
+ "type": "string",
10830
+ "enum": [
10831
+ "ai",
10832
+ "human"
10833
+ ],
10834
+ "description": "Which side spoke this turn."
10835
+ },
10836
+ "speakerName": {
10837
+ "type": "string",
10838
+ "description": "Display name of the speaker at write time."
10839
+ },
10840
+ "text": {
10841
+ "type": "string",
10842
+ "description": "What the speaker said, in `languageCode`."
10843
+ }
10844
+ }
10845
+ }
10846
+ },
10847
+ "speakerStats": {
10848
+ "type": "array",
10849
+ "description": "Per-speaker talk statistics computed once on call finalization. Used by the timeline UI to show talk-time bars.",
10850
+ "items": {
10851
+ "type": "object",
10852
+ "properties": {
10853
+ "speakerType": {
10854
+ "type": "string",
10855
+ "enum": [
10856
+ "ai",
10857
+ "human"
10858
+ ]
10859
+ },
10860
+ "speakerName": {
10861
+ "type": "string"
10862
+ },
10863
+ "talkPercentageBp": {
10864
+ "type": "integer",
10865
+ "description": "Talk-time percentage in basis points (10000 = 100.00%). Integer to avoid float rounding mismatches across clients."
10866
+ }
10867
+ }
10868
+ }
10869
+ },
10870
+ "keyNotes": {
10871
+ "type": "array",
10872
+ "description": "AI-generated bullet points distilled from the transcript. In `languageCode` (NOT multilingual - single shape; FE renders as-is).",
10873
+ "items": {
10874
+ "type": "string"
10875
+ }
10876
+ },
10877
+ "topicsDiscussed": {
10878
+ "type": "array",
10879
+ "description": "Stable facet keys (e.g. `salary`, `experience`, `languagesSpoken`) covered in the call. FE renders via shared `callTopics` dictionary for human-readable labels.",
10880
+ "items": {
10881
+ "type": "string"
10882
+ }
10883
+ },
10884
+ "sentiment": {
10885
+ "type": "string",
10886
+ "enum": [
10887
+ "positive",
10888
+ "neutral",
10889
+ "negative",
10890
+ "mixed"
10891
+ ],
10892
+ "description": "AI-derived sentiment of the conversation as a whole."
10893
+ },
10894
+ "summaryGeneratedAt": {
10895
+ "type": "string",
10896
+ "description": "ISO 8601 timestamp when the AI summary pipeline (keyNotes + topicsDiscussed + sentiment + summary) finalized. Null until the post-call AI Step Function completes."
10897
+ },
10898
+ "folder": {
10899
+ "type": "string",
10900
+ "enum": [
10901
+ "drafts",
10902
+ "scheduled",
10903
+ "active",
10904
+ "incoming",
10905
+ "outgoing",
10906
+ "missed",
10907
+ "cancelled",
10908
+ "archived"
10909
+ ],
10910
+ "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."
10911
+ },
10912
+ "isLive": {
10913
+ "type": "boolean",
10914
+ "description": "Server-derived: true when status is in {queued, ringing, in-progress}. Drives the live indicator + polling decision in the UI."
10915
+ },
10916
+ "hasRecording": {
10917
+ "type": "boolean",
10918
+ "description": "Server-derived: true when recording.mixedMp3Url is present. Lets the list page show a play icon without sending the heavy `recording` block."
10919
+ },
10920
+ "hasTranscript": {
10921
+ "type": "boolean",
10922
+ "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."
10923
+ },
10745
10924
  "timestamps": {
10746
10925
  "title": "ResourceTimestampsSchema",
10747
10926
  "type": "object",
@@ -11159,6 +11338,116 @@
11159
11338
  "type": "string",
11160
11339
  "description": "Unique short identifier (provider/lookup correlation)."
11161
11340
  },
11341
+ "transcriptSegments": {
11342
+ "type": "array",
11343
+ "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.",
11344
+ "items": {
11345
+ "type": "object",
11346
+ "properties": {
11347
+ "startMs": {
11348
+ "type": "integer",
11349
+ "description": "Offset from call start in milliseconds when the speaker began this turn."
11350
+ },
11351
+ "endMs": {
11352
+ "type": "integer",
11353
+ "description": "Offset from call start in milliseconds when the speaker finished this turn."
11354
+ },
11355
+ "speakerType": {
11356
+ "type": "string",
11357
+ "enum": [
11358
+ "ai",
11359
+ "human"
11360
+ ],
11361
+ "description": "Which side spoke this turn."
11362
+ },
11363
+ "speakerName": {
11364
+ "type": "string",
11365
+ "description": "Display name of the speaker at write time."
11366
+ },
11367
+ "text": {
11368
+ "type": "string",
11369
+ "description": "What the speaker said, in `languageCode`."
11370
+ }
11371
+ }
11372
+ }
11373
+ },
11374
+ "speakerStats": {
11375
+ "type": "array",
11376
+ "description": "Per-speaker talk statistics computed once on call finalization. Used by the timeline UI to show talk-time bars.",
11377
+ "items": {
11378
+ "type": "object",
11379
+ "properties": {
11380
+ "speakerType": {
11381
+ "type": "string",
11382
+ "enum": [
11383
+ "ai",
11384
+ "human"
11385
+ ]
11386
+ },
11387
+ "speakerName": {
11388
+ "type": "string"
11389
+ },
11390
+ "talkPercentageBp": {
11391
+ "type": "integer",
11392
+ "description": "Talk-time percentage in basis points (10000 = 100.00%). Integer to avoid float rounding mismatches across clients."
11393
+ }
11394
+ }
11395
+ }
11396
+ },
11397
+ "keyNotes": {
11398
+ "type": "array",
11399
+ "description": "AI-generated bullet points distilled from the transcript. In `languageCode` (NOT multilingual - single shape; FE renders as-is).",
11400
+ "items": {
11401
+ "type": "string"
11402
+ }
11403
+ },
11404
+ "topicsDiscussed": {
11405
+ "type": "array",
11406
+ "description": "Stable facet keys (e.g. `salary`, `experience`, `languagesSpoken`) covered in the call. FE renders via shared `callTopics` dictionary for human-readable labels.",
11407
+ "items": {
11408
+ "type": "string"
11409
+ }
11410
+ },
11411
+ "sentiment": {
11412
+ "type": "string",
11413
+ "enum": [
11414
+ "positive",
11415
+ "neutral",
11416
+ "negative",
11417
+ "mixed"
11418
+ ],
11419
+ "description": "AI-derived sentiment of the conversation as a whole."
11420
+ },
11421
+ "summaryGeneratedAt": {
11422
+ "type": "string",
11423
+ "description": "ISO 8601 timestamp when the AI summary pipeline (keyNotes + topicsDiscussed + sentiment + summary) finalized. Null until the post-call AI Step Function completes."
11424
+ },
11425
+ "folder": {
11426
+ "type": "string",
11427
+ "enum": [
11428
+ "drafts",
11429
+ "scheduled",
11430
+ "active",
11431
+ "incoming",
11432
+ "outgoing",
11433
+ "missed",
11434
+ "cancelled",
11435
+ "archived"
11436
+ ],
11437
+ "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."
11438
+ },
11439
+ "isLive": {
11440
+ "type": "boolean",
11441
+ "description": "Server-derived: true when status is in {queued, ringing, in-progress}. Drives the live indicator + polling decision in the UI."
11442
+ },
11443
+ "hasRecording": {
11444
+ "type": "boolean",
11445
+ "description": "Server-derived: true when recording.mixedMp3Url is present. Lets the list page show a play icon without sending the heavy `recording` block."
11446
+ },
11447
+ "hasTranscript": {
11448
+ "type": "boolean",
11449
+ "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."
11450
+ },
11162
11451
  "timestamps": {
11163
11452
  "title": "ResourceTimestampsSchema",
11164
11453
  "type": "object",
@@ -12394,6 +12683,8 @@
12394
12683
  "description": "Only return states for this resource type.",
12395
12684
  "enum": [
12396
12685
  "emails",
12686
+ "chats",
12687
+ "calls",
12397
12688
  "candidates",
12398
12689
  "conversations",
12399
12690
  "jobs",
@@ -12701,10 +12992,11 @@
12701
12992
  "properties": {
12702
12993
  "filterResourceType": {
12703
12994
  "type": "string",
12704
- "description": "Only return aggregates for this resource type (e.g. emails, chats).",
12995
+ "description": "Only return aggregates for this resource type (e.g. emails, chats, calls).",
12705
12996
  "enum": [
12706
12997
  "emails",
12707
12998
  "chats",
12999
+ "calls",
12708
13000
  "candidates",
12709
13001
  "conversations",
12710
13002
  "jobs",
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.28",
4
4
  "description": "OpenAI function/tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",