@smartytalent/mcp-tools 0.8.1 → 0.8.2

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 +525 -35
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -9582,14 +9582,18 @@
9582
9582
  "type": "string",
9583
9583
  "description": "Returns surveys with the current status.",
9584
9584
  "enum": [
9585
- "pending",
9586
- "completed",
9587
- "expired"
9585
+ "draft",
9586
+ "active",
9587
+ "archived"
9588
9588
  ]
9589
9589
  },
9590
- "filterCandidateId": {
9590
+ "filterKind": {
9591
9591
  "type": "string",
9592
- "description": "Filter by the candidate the survey was sent to."
9592
+ "description": "Returns surveys of one kind.",
9593
+ "enum": [
9594
+ "cnps",
9595
+ "general"
9596
+ ]
9593
9597
  },
9594
9598
  "filterCreatedFrom": {
9595
9599
  "type": "string",
@@ -9631,6 +9635,176 @@
9631
9635
  "operationId": "listSurveys"
9632
9636
  }
9633
9637
  },
9638
+ {
9639
+ "name": "create_survey",
9640
+ "description": "Create Survey",
9641
+ "inputSchema": {
9642
+ "title": "CreateSurveyRequestBody",
9643
+ "type": "object",
9644
+ "required": [
9645
+ "data"
9646
+ ],
9647
+ "properties": {
9648
+ "data": {
9649
+ "title": "CreateSurveyRequestBodyData",
9650
+ "type": "object",
9651
+ "required": [
9652
+ "type",
9653
+ "attributes"
9654
+ ],
9655
+ "properties": {
9656
+ "type": {
9657
+ "type": "string",
9658
+ "enum": [
9659
+ "surveys"
9660
+ ]
9661
+ },
9662
+ "attributes": {
9663
+ "title": "CreateSurveyRequestBodyDataAttributes",
9664
+ "type": "object",
9665
+ "required": [
9666
+ "name"
9667
+ ],
9668
+ "properties": {
9669
+ "name": {
9670
+ "type": "string",
9671
+ "minLength": 5,
9672
+ "maxLength": 255
9673
+ },
9674
+ "kind": {
9675
+ "type": "string",
9676
+ "enum": [
9677
+ "cnps",
9678
+ "general"
9679
+ ]
9680
+ },
9681
+ "content": {
9682
+ "title": "SurveyContentSchema",
9683
+ "type": "object",
9684
+ "description": "The questionnaire: a locale-keyed title plus an ordered question list.",
9685
+ "properties": {
9686
+ "title": {
9687
+ "type": "object",
9688
+ "additionalProperties": {
9689
+ "type": "string"
9690
+ },
9691
+ "description": "Locale map, e.g. {\"en-US\": \"Your application experience\", \"pl-PL\": \"...\"}. en-US is required to publish; clients render by locale prefix with en-US fallback."
9692
+ },
9693
+ "questions": {
9694
+ "type": "array",
9695
+ "minItems": 1,
9696
+ "maxItems": 50,
9697
+ "items": {
9698
+ "title": "SurveyQuestionSchema",
9699
+ "type": "object",
9700
+ "description": "One question. Common fields: questionId (server-assigned when\nomitted; stable forever after - answers key on it), type, text\n(locale map), required. Per-type fields:\n scale - scaleMin/scaleMax (integers, min < max),\n optional scaleLabels {min, max} locale maps,\n optional subtype \"nps\" (pins 0-10, enables\n detractor/passive/promoter classification)\n single-choice / multiple-choice\n - options: 2-20 entries of {value, label};\n value is a stable lowercase slug (a-z, 0-9, -)\n the recipient submits; label is a locale map\n open-text - maxLength (default 2000, max 5000)",
9701
+ "properties": {
9702
+ "questionId": {
9703
+ "type": "string",
9704
+ "maxLength": 64,
9705
+ "description": "Stable identity of the question. Server-assigned uuid hex when omitted at save."
9706
+ },
9707
+ "type": {
9708
+ "type": "string",
9709
+ "enum": [
9710
+ "scale",
9711
+ "single-choice",
9712
+ "multiple-choice",
9713
+ "open-text"
9714
+ ]
9715
+ },
9716
+ "subtype": {
9717
+ "type": "string",
9718
+ "enum": [
9719
+ "nps"
9720
+ ],
9721
+ "description": "scale only. nps pins scaleMin=0/scaleMax=10 and classifies answers detractor/passive/promoter on submit."
9722
+ },
9723
+ "required": {
9724
+ "type": "boolean",
9725
+ "default": false
9726
+ },
9727
+ "text": {
9728
+ "type": "object",
9729
+ "additionalProperties": {
9730
+ "type": "string"
9731
+ },
9732
+ "description": "Locale map of the question text. en-US required to publish."
9733
+ },
9734
+ "scaleMin": {
9735
+ "type": "integer",
9736
+ "minimum": 0,
9737
+ "maximum": 100
9738
+ },
9739
+ "scaleMax": {
9740
+ "type": "integer",
9741
+ "minimum": 0,
9742
+ "maximum": 100
9743
+ },
9744
+ "scaleLabels": {
9745
+ "type": "object",
9746
+ "description": "Optional locale maps for the scale endpoints.",
9747
+ "properties": {
9748
+ "min": {
9749
+ "type": "object",
9750
+ "additionalProperties": {
9751
+ "type": "string"
9752
+ }
9753
+ },
9754
+ "max": {
9755
+ "type": "object",
9756
+ "additionalProperties": {
9757
+ "type": "string"
9758
+ }
9759
+ }
9760
+ }
9761
+ },
9762
+ "options": {
9763
+ "type": "array",
9764
+ "minItems": 2,
9765
+ "maxItems": 20,
9766
+ "items": {
9767
+ "title": "SurveyQuestionOptionSchema",
9768
+ "type": "object",
9769
+ "properties": {
9770
+ "value": {
9771
+ "type": "string",
9772
+ "maxLength": 64,
9773
+ "description": "Stable lowercase slug (a-z, 0-9, -). What the recipient submits - locale-proof, never the label."
9774
+ },
9775
+ "label": {
9776
+ "type": "object",
9777
+ "additionalProperties": {
9778
+ "type": "string"
9779
+ },
9780
+ "description": "Locale map. en-US required to publish."
9781
+ }
9782
+ }
9783
+ }
9784
+ },
9785
+ "maxLength": {
9786
+ "type": "integer",
9787
+ "minimum": 1,
9788
+ "maximum": 5000,
9789
+ "description": "open-text only. Default 2000."
9790
+ }
9791
+ }
9792
+ }
9793
+ }
9794
+ }
9795
+ }
9796
+ }
9797
+ }
9798
+ }
9799
+ }
9800
+ }
9801
+ },
9802
+ "_meta": {
9803
+ "method": "POST",
9804
+ "path": "/v1/surveys",
9805
+ "operationId": "createSurvey"
9806
+ }
9807
+ },
9634
9808
  {
9635
9809
  "name": "surveys_options",
9636
9810
  "description": "Surveys Options",
@@ -9665,6 +9839,219 @@
9665
9839
  "operationId": "showSurvey"
9666
9840
  }
9667
9841
  },
9842
+ {
9843
+ "name": "update_survey",
9844
+ "description": "Update Survey",
9845
+ "inputSchema": {
9846
+ "type": "object",
9847
+ "properties": {
9848
+ "surveyId": {
9849
+ "type": "string",
9850
+ "description": "surveyId parameter"
9851
+ },
9852
+ "requestBody": {
9853
+ "title": "UpdateSurveyRequestBody",
9854
+ "type": "object",
9855
+ "required": [
9856
+ "data"
9857
+ ],
9858
+ "properties": {
9859
+ "data": {
9860
+ "title": "UpdateSurveyRequestBodyData",
9861
+ "type": "object",
9862
+ "required": [
9863
+ "type"
9864
+ ],
9865
+ "properties": {
9866
+ "type": {
9867
+ "type": "string",
9868
+ "enum": [
9869
+ "surveys"
9870
+ ]
9871
+ },
9872
+ "id": {
9873
+ "type": "string"
9874
+ },
9875
+ "attributes": {
9876
+ "title": "UpdateSurveyRequestBodyDataAttributes",
9877
+ "type": "object",
9878
+ "properties": {
9879
+ "name": {
9880
+ "type": "string",
9881
+ "minLength": 5,
9882
+ "maxLength": 255
9883
+ },
9884
+ "status": {
9885
+ "type": "string",
9886
+ "enum": [
9887
+ "draft",
9888
+ "active",
9889
+ "archived"
9890
+ ],
9891
+ "description": "active = publish. Allowed transitions: draft->active, draft->archived, active->archived, archived->active; active->active re-publishes the edited draft."
9892
+ },
9893
+ "content": {
9894
+ "title": "SurveyContentSchema",
9895
+ "type": "object",
9896
+ "description": "The questionnaire: a locale-keyed title plus an ordered question list.",
9897
+ "properties": {
9898
+ "title": {
9899
+ "type": "object",
9900
+ "additionalProperties": {
9901
+ "type": "string"
9902
+ },
9903
+ "description": "Locale map, e.g. {\"en-US\": \"Your application experience\", \"pl-PL\": \"...\"}. en-US is required to publish; clients render by locale prefix with en-US fallback."
9904
+ },
9905
+ "questions": {
9906
+ "type": "array",
9907
+ "minItems": 1,
9908
+ "maxItems": 50,
9909
+ "items": {
9910
+ "title": "SurveyQuestionSchema",
9911
+ "type": "object",
9912
+ "description": "One question. Common fields: questionId (server-assigned when\nomitted; stable forever after - answers key on it), type, text\n(locale map), required. Per-type fields:\n scale - scaleMin/scaleMax (integers, min < max),\n optional scaleLabels {min, max} locale maps,\n optional subtype \"nps\" (pins 0-10, enables\n detractor/passive/promoter classification)\n single-choice / multiple-choice\n - options: 2-20 entries of {value, label};\n value is a stable lowercase slug (a-z, 0-9, -)\n the recipient submits; label is a locale map\n open-text - maxLength (default 2000, max 5000)",
9913
+ "properties": {
9914
+ "questionId": {
9915
+ "type": "string",
9916
+ "maxLength": 64,
9917
+ "description": "Stable identity of the question. Server-assigned uuid hex when omitted at save."
9918
+ },
9919
+ "type": {
9920
+ "type": "string",
9921
+ "enum": [
9922
+ "scale",
9923
+ "single-choice",
9924
+ "multiple-choice",
9925
+ "open-text"
9926
+ ]
9927
+ },
9928
+ "subtype": {
9929
+ "type": "string",
9930
+ "enum": [
9931
+ "nps"
9932
+ ],
9933
+ "description": "scale only. nps pins scaleMin=0/scaleMax=10 and classifies answers detractor/passive/promoter on submit."
9934
+ },
9935
+ "required": {
9936
+ "type": "boolean",
9937
+ "default": false
9938
+ },
9939
+ "text": {
9940
+ "type": "object",
9941
+ "additionalProperties": {
9942
+ "type": "string"
9943
+ },
9944
+ "description": "Locale map of the question text. en-US required to publish."
9945
+ },
9946
+ "scaleMin": {
9947
+ "type": "integer",
9948
+ "minimum": 0,
9949
+ "maximum": 100
9950
+ },
9951
+ "scaleMax": {
9952
+ "type": "integer",
9953
+ "minimum": 0,
9954
+ "maximum": 100
9955
+ },
9956
+ "scaleLabels": {
9957
+ "type": "object",
9958
+ "description": "Optional locale maps for the scale endpoints.",
9959
+ "properties": {
9960
+ "min": {
9961
+ "type": "object",
9962
+ "additionalProperties": {
9963
+ "type": "string"
9964
+ }
9965
+ },
9966
+ "max": {
9967
+ "type": "object",
9968
+ "additionalProperties": {
9969
+ "type": "string"
9970
+ }
9971
+ }
9972
+ }
9973
+ },
9974
+ "options": {
9975
+ "type": "array",
9976
+ "minItems": 2,
9977
+ "maxItems": 20,
9978
+ "items": {
9979
+ "title": "SurveyQuestionOptionSchema",
9980
+ "type": "object",
9981
+ "properties": {
9982
+ "value": {
9983
+ "type": "string",
9984
+ "maxLength": 64,
9985
+ "description": "Stable lowercase slug (a-z, 0-9, -). What the recipient submits - locale-proof, never the label."
9986
+ },
9987
+ "label": {
9988
+ "type": "object",
9989
+ "additionalProperties": {
9990
+ "type": "string"
9991
+ },
9992
+ "description": "Locale map. en-US required to publish."
9993
+ }
9994
+ }
9995
+ }
9996
+ },
9997
+ "maxLength": {
9998
+ "type": "integer",
9999
+ "minimum": 1,
10000
+ "maximum": 5000,
10001
+ "description": "open-text only. Default 2000."
10002
+ }
10003
+ }
10004
+ }
10005
+ }
10006
+ }
10007
+ }
10008
+ }
10009
+ }
10010
+ }
10011
+ }
10012
+ }
10013
+ }
10014
+ },
10015
+ "required": [
10016
+ "surveyId",
10017
+ "requestBody"
10018
+ ]
10019
+ },
10020
+ "_meta": {
10021
+ "method": "PATCH",
10022
+ "path": "/v1/surveys/{surveyId}",
10023
+ "operationId": "updateSurvey"
10024
+ }
10025
+ },
10026
+ {
10027
+ "name": "delete_survey",
10028
+ "description": "Delete Survey",
10029
+ "inputSchema": {
10030
+ "type": "object",
10031
+ "properties": {
10032
+ "surveyId": {
10033
+ "type": "string",
10034
+ "description": "surveyId parameter"
10035
+ },
10036
+ "permanentDelete": {
10037
+ "type": "string",
10038
+ "description": "true removes the row instead of archiving it.",
10039
+ "enum": [
10040
+ "true",
10041
+ "false"
10042
+ ]
10043
+ }
10044
+ },
10045
+ "required": [
10046
+ "surveyId"
10047
+ ]
10048
+ },
10049
+ "_meta": {
10050
+ "method": "DELETE",
10051
+ "path": "/v1/surveys/{surveyId}",
10052
+ "operationId": "deleteSurvey"
10053
+ }
10054
+ },
9668
10055
  {
9669
10056
  "name": "survey_options",
9670
10057
  "description": "Survey Options",
@@ -9679,8 +10066,118 @@
9679
10066
  }
9680
10067
  },
9681
10068
  {
9682
- "name": "show_guest_survey",
9683
- "description": "Show Guest Survey",
10069
+ "name": "list_responses",
10070
+ "description": "List Responses",
10071
+ "inputSchema": {
10072
+ "type": "object",
10073
+ "properties": {
10074
+ "filterStatus": {
10075
+ "type": "string",
10076
+ "description": "Returns responses with the current status.",
10077
+ "enum": [
10078
+ "pending",
10079
+ "completed",
10080
+ "expired"
10081
+ ]
10082
+ },
10083
+ "filterSurveyId": {
10084
+ "type": "string",
10085
+ "description": "Filter by the survey definition the response belongs to."
10086
+ },
10087
+ "filterCandidateId": {
10088
+ "type": "string",
10089
+ "description": "Filter by the candidate the invitation was sent to."
10090
+ },
10091
+ "filterCreatedFrom": {
10092
+ "type": "string",
10093
+ "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
10094
+ },
10095
+ "filterCreatedTo": {
10096
+ "type": "string",
10097
+ "description": "Filters results to include only those created up to the specified date and time. The value must be in ISO 8601 format."
10098
+ },
10099
+ "filterModifiedFrom": {
10100
+ "type": "string",
10101
+ "description": "Filters results to include only those modified from the specified date and time. The value must be in ISO 8601 format."
10102
+ },
10103
+ "filterModifiedTo": {
10104
+ "type": "string",
10105
+ "description": "Filters results to include only those modified up to the specified date and time. The value must be in ISO 8601 format."
10106
+ },
10107
+ "pageSize": {
10108
+ "type": "integer",
10109
+ "description": "Specifies the number of items to retrieve per page. The maximum value is 100."
10110
+ },
10111
+ "pageNumber": {
10112
+ "type": "integer",
10113
+ "description": "Specifies the page number to retrieve. Used for traditional pagination."
10114
+ },
10115
+ "pageAfter": {
10116
+ "type": "string",
10117
+ "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."
10118
+ },
10119
+ "pageBefore": {
10120
+ "type": "string",
10121
+ "description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
10122
+ }
10123
+ }
10124
+ },
10125
+ "_meta": {
10126
+ "method": "GET",
10127
+ "path": "/v1/responses",
10128
+ "operationId": "listResponses"
10129
+ }
10130
+ },
10131
+ {
10132
+ "name": "responses_options",
10133
+ "description": "Responses Options",
10134
+ "inputSchema": {
10135
+ "type": "object",
10136
+ "properties": {}
10137
+ },
10138
+ "_meta": {
10139
+ "method": "OPTIONS",
10140
+ "path": "/v1/responses",
10141
+ "operationId": "responsesOptions"
10142
+ }
10143
+ },
10144
+ {
10145
+ "name": "show_response",
10146
+ "description": "Show Response",
10147
+ "inputSchema": {
10148
+ "type": "object",
10149
+ "properties": {
10150
+ "responseId": {
10151
+ "type": "string",
10152
+ "description": "responseId parameter"
10153
+ }
10154
+ },
10155
+ "required": [
10156
+ "responseId"
10157
+ ]
10158
+ },
10159
+ "_meta": {
10160
+ "method": "GET",
10161
+ "path": "/v1/responses/{responseId}",
10162
+ "operationId": "showResponse"
10163
+ }
10164
+ },
10165
+ {
10166
+ "name": "response_options",
10167
+ "description": "Response Options",
10168
+ "inputSchema": {
10169
+ "type": "object",
10170
+ "properties": {}
10171
+ },
10172
+ "_meta": {
10173
+ "method": "OPTIONS",
10174
+ "path": "/v1/responses/{responseId}",
10175
+ "operationId": "responseOptions"
10176
+ }
10177
+ },
10178
+ {
10179
+ "name": "show_guest_response",
10180
+ "description": "Show Guest Response",
9684
10181
  "inputSchema": {
9685
10182
  "type": "object",
9686
10183
  "properties": {
@@ -9690,7 +10187,7 @@
9690
10187
  },
9691
10188
  "token": {
9692
10189
  "type": "string",
9693
- "description": "Per-survey accessToken from the emailed link. Compared with hmac.compare_digest; mismatch returns 404."
10190
+ "description": "Per-response accessToken from the emailed link. Compared with hmac.compare_digest; mismatch returns 404."
9694
10191
  }
9695
10192
  },
9696
10193
  "required": [
@@ -9700,15 +10197,15 @@
9700
10197
  },
9701
10198
  "_meta": {
9702
10199
  "method": "GET",
9703
- "path": "/v1/guest/surveys/{surveyId}",
9704
- "operationId": "showGuestSurvey"
10200
+ "path": "/v1/guest/responses/{responseId}",
10201
+ "operationId": "showGuestResponse"
9705
10202
  }
9706
10203
  },
9707
10204
  {
9708
- "name": "submit_guest_survey",
9709
- "description": "Submit Guest Survey",
10205
+ "name": "submit_guest_response",
10206
+ "description": "Submit Guest Response",
9710
10207
  "inputSchema": {
9711
- "title": "SubmitGuestSurveyRequestBody",
10208
+ "title": "SubmitGuestResponseRequestBody",
9712
10209
  "type": "object",
9713
10210
  "required": [
9714
10211
  "data",
@@ -9716,7 +10213,7 @@
9716
10213
  ],
9717
10214
  "properties": {
9718
10215
  "data": {
9719
- "title": "SubmitGuestSurveyRequestBodyData",
10216
+ "title": "SubmitGuestResponseRequestBodyData",
9720
10217
  "type": "object",
9721
10218
  "required": [
9722
10219
  "type",
@@ -9726,37 +10223,30 @@
9726
10223
  "type": {
9727
10224
  "type": "string",
9728
10225
  "enum": [
9729
- "surveys"
10226
+ "responses"
9730
10227
  ]
9731
10228
  },
9732
10229
  "id": {
9733
10230
  "type": "string"
9734
10231
  },
9735
10232
  "attributes": {
9736
- "title": "SubmitGuestSurveyRequestBodyDataAttributes",
10233
+ "title": "SubmitGuestResponseRequestBodyDataAttributes",
9737
10234
  "type": "object",
9738
10235
  "required": [
9739
- "score"
10236
+ "answers"
9740
10237
  ],
9741
10238
  "properties": {
9742
- "score": {
9743
- "type": "integer",
9744
- "minimum": 0,
9745
- "maximum": 10,
9746
- "description": "The NPS answer. 0-6 buckets to detractor, 7-8 passive, 9-10 promoter - the bucketing happens server-side."
9747
- },
9748
- "comment": {
9749
- "type": "string",
9750
- "maxLength": 2000,
9751
- "description": "Optional free text. Trimmed server-side; an empty string is stored as absent."
10239
+ "answers": {
10240
+ "type": "object",
10241
+ "description": "Keyed by questionId. Scale values are classified server-side (0-6 detractor, 7-8 passive, 9-10 promoter for nps questions)."
9752
10242
  }
9753
10243
  }
9754
10244
  }
9755
10245
  }
9756
10246
  },
9757
10247
  "meta": {
9758
- "title": "GuestSurveyMetaSchema",
9759
- "description": "Auth context for the unauthenticated PATCH /v1/guest/surveys/{id}.\nBoth values come from the emailed link, never from a session -\nthere is no authorizer on the guest path. tenantId is the BASE\ntenant id; accessToken is the per-survey token minted at create and\ncompared with hmac.compare_digest. Any mismatch returns 404,\nintentionally indistinguishable from \"survey not found\" so survey\nexistence is never leaked.",
10248
+ "title": "GuestResponseMetaSchema",
10249
+ "description": "Auth context for the unauthenticated PATCH\n/v1/guest/responses/{id}. Both values come from the emailed link,\nnever from a session - there is no authorizer on the guest path.\ntenantId is the BASE tenant id; accessToken is the per-response\ntoken minted at create and compared with hmac.compare_digest. Any\nmismatch returns 404, intentionally indistinguishable from\n\"response not found\" so existence is never leaked.",
9760
10250
  "type": "object",
9761
10251
  "required": [
9762
10252
  "tenantId",
@@ -9775,21 +10265,21 @@
9775
10265
  },
9776
10266
  "_meta": {
9777
10267
  "method": "PATCH",
9778
- "path": "/v1/guest/surveys/{surveyId}",
9779
- "operationId": "submitGuestSurvey"
10268
+ "path": "/v1/guest/responses/{responseId}",
10269
+ "operationId": "submitGuestResponse"
9780
10270
  }
9781
10271
  },
9782
10272
  {
9783
- "name": "guest_survey_options",
9784
- "description": "Guest Survey Options",
10273
+ "name": "guest_response_options",
10274
+ "description": "Guest Response Options",
9785
10275
  "inputSchema": {
9786
10276
  "type": "object",
9787
10277
  "properties": {}
9788
10278
  },
9789
10279
  "_meta": {
9790
10280
  "method": "OPTIONS",
9791
- "path": "/v1/guest/surveys/{surveyId}",
9792
- "operationId": "guestSurveyOptions"
10281
+ "path": "/v1/guest/responses/{responseId}",
10282
+ "operationId": "guestResponseOptions"
9793
10283
  }
9794
10284
  },
9795
10285
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/mcp-tools",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "MCP tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",