@kombo-api/sdk 0.2.4 → 0.3.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 (335) hide show
  1. package/README.md +5 -5
  2. package/_speakeasy/.github/action-inputs-config.json +53 -0
  3. package/_speakeasy/.github/action-security-config.json +88 -0
  4. package/esm/funcs/assessmentGetOpenOrders.js +1 -1
  5. package/esm/funcs/assessmentGetOpenOrders.js.map +1 -1
  6. package/esm/funcs/atsGetApplicationStages.js +2 -1
  7. package/esm/funcs/atsGetApplicationStages.js.map +1 -1
  8. package/esm/funcs/atsGetApplications.js +2 -1
  9. package/esm/funcs/atsGetApplications.js.map +1 -1
  10. package/esm/funcs/atsGetCandidates.js +2 -1
  11. package/esm/funcs/atsGetCandidates.js.map +1 -1
  12. package/esm/funcs/atsGetInterviews.js +2 -1
  13. package/esm/funcs/atsGetInterviews.js.map +1 -1
  14. package/esm/funcs/atsGetJobs.js +2 -1
  15. package/esm/funcs/atsGetJobs.js.map +1 -1
  16. package/esm/funcs/atsGetOffers.js +2 -1
  17. package/esm/funcs/atsGetOffers.js.map +1 -1
  18. package/esm/funcs/atsGetRejectionReasons.js +2 -1
  19. package/esm/funcs/atsGetRejectionReasons.js.map +1 -1
  20. package/esm/funcs/atsGetTags.js +2 -1
  21. package/esm/funcs/atsGetTags.js.map +1 -1
  22. package/esm/funcs/atsGetUsers.js +2 -1
  23. package/esm/funcs/atsGetUsers.js.map +1 -1
  24. package/esm/funcs/generalGetCustomFields.js +1 -1
  25. package/esm/funcs/generalGetCustomFields.js.map +1 -1
  26. package/esm/funcs/generalGetIntegrationFields.js +1 -1
  27. package/esm/funcs/generalGetIntegrationFields.js.map +1 -1
  28. package/esm/funcs/generalSendPassthroughRequest.d.ts +131 -121
  29. package/esm/funcs/generalSendPassthroughRequest.d.ts.map +1 -1
  30. package/esm/funcs/generalSendPassthroughRequest.js +131 -121
  31. package/esm/funcs/generalSendPassthroughRequest.js.map +1 -1
  32. package/esm/funcs/hrisGetAbsenceTypes.js +2 -1
  33. package/esm/funcs/hrisGetAbsenceTypes.js.map +1 -1
  34. package/esm/funcs/hrisGetAbsences.js +2 -1
  35. package/esm/funcs/hrisGetAbsences.js.map +1 -1
  36. package/esm/funcs/hrisGetEmployeeDocumentCategories.js +2 -1
  37. package/esm/funcs/hrisGetEmployeeDocumentCategories.js.map +1 -1
  38. package/esm/funcs/hrisGetEmployees.js +2 -1
  39. package/esm/funcs/hrisGetEmployees.js.map +1 -1
  40. package/esm/funcs/hrisGetEmployments.js +2 -1
  41. package/esm/funcs/hrisGetEmployments.js.map +1 -1
  42. package/esm/funcs/hrisGetGroups.js +2 -1
  43. package/esm/funcs/hrisGetGroups.js.map +1 -1
  44. package/esm/funcs/hrisGetLegalEntities.js +2 -1
  45. package/esm/funcs/hrisGetLegalEntities.js.map +1 -1
  46. package/esm/funcs/hrisGetLocations.js +2 -1
  47. package/esm/funcs/hrisGetLocations.js.map +1 -1
  48. package/esm/funcs/hrisGetPerformanceReviewCycles.js +2 -1
  49. package/esm/funcs/hrisGetPerformanceReviewCycles.js.map +1 -1
  50. package/esm/funcs/hrisGetPerformanceReviews.js +2 -1
  51. package/esm/funcs/hrisGetPerformanceReviews.js.map +1 -1
  52. package/esm/funcs/hrisGetTimeOffBalances.js +2 -1
  53. package/esm/funcs/hrisGetTimeOffBalances.js.map +1 -1
  54. package/esm/funcs/hrisGetTimesheets.js +2 -1
  55. package/esm/funcs/hrisGetTimesheets.js.map +1 -1
  56. package/esm/lib/config.d.ts +3 -3
  57. package/esm/lib/config.js +3 -3
  58. package/esm/lib/encodings.d.ts +1 -0
  59. package/esm/lib/encodings.d.ts.map +1 -1
  60. package/esm/lib/encodings.js +12 -1
  61. package/esm/lib/encodings.js.map +1 -1
  62. package/esm/models/assessmentorderreceivedwebhookpayload.d.ts +5 -5
  63. package/esm/models/assessmentorderreceivedwebhookpayload.d.ts.map +1 -1
  64. package/esm/models/assessmentorderreceivedwebhookpayload.js +2 -2
  65. package/esm/models/assessmentorderreceivedwebhookpayload.js.map +1 -1
  66. package/esm/models/connectionflowfailedwebhookpayload.d.ts +4 -3
  67. package/esm/models/connectionflowfailedwebhookpayload.d.ts.map +1 -1
  68. package/esm/models/connectionflowfailedwebhookpayload.js +2 -1
  69. package/esm/models/connectionflowfailedwebhookpayload.js.map +1 -1
  70. package/esm/models/datachangedwebhookpayload.d.ts +11 -3
  71. package/esm/models/datachangedwebhookpayload.d.ts.map +1 -1
  72. package/esm/models/datachangedwebhookpayload.js +9 -1
  73. package/esm/models/datachangedwebhookpayload.js.map +1 -1
  74. package/esm/models/getassessmentordersopenpositiveresponse.d.ts +4 -4
  75. package/esm/models/getassessmentordersopenpositiveresponse.d.ts.map +1 -1
  76. package/esm/models/getassessmentordersopenpositiveresponse.js +1 -1
  77. package/esm/models/getassessmentordersopenpositiveresponse.js.map +1 -1
  78. package/esm/models/getatsjobspositiveresponse.d.ts +3 -3
  79. package/esm/models/getatsjobspositiveresponse.d.ts.map +1 -1
  80. package/esm/models/getatsjobspositiveresponse.js +4 -4
  81. package/esm/models/getatsjobspositiveresponse.js.map +1 -1
  82. package/esm/models/gethrisemployeesformpositiveresponse.d.ts +2 -2
  83. package/esm/models/gethrisemployeesformpositiveresponse.d.ts.map +1 -1
  84. package/esm/models/gethrisemployeesformpositiveresponse.js +8 -8
  85. package/esm/models/gethrisemployeesformpositiveresponse.js.map +1 -1
  86. package/esm/models/getintegrationsintegrationidpositiveresponse.d.ts +158 -16
  87. package/esm/models/getintegrationsintegrationidpositiveresponse.d.ts.map +1 -1
  88. package/esm/models/getintegrationsintegrationidpositiveresponse.js +87 -13
  89. package/esm/models/getintegrationsintegrationidpositiveresponse.js.map +1 -1
  90. package/esm/models/gettoolscategoryparametercategory.d.ts +1 -0
  91. package/esm/models/gettoolscategoryparametercategory.d.ts.map +1 -1
  92. package/esm/models/gettoolscategoryparametercategory.js +1 -0
  93. package/esm/models/gettoolscategoryparametercategory.js.map +1 -1
  94. package/esm/models/gettoolscategorypositiveresponse.d.ts +66 -16
  95. package/esm/models/gettoolscategorypositiveresponse.d.ts.map +1 -1
  96. package/esm/models/gettoolscategorypositiveresponse.js +41 -14
  97. package/esm/models/gettoolscategorypositiveresponse.js.map +1 -1
  98. package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts +5 -5
  99. package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts.map +1 -1
  100. package/esm/models/inlineassessmentorderreceivedwebhookpayload.js +2 -2
  101. package/esm/models/inlineassessmentorderreceivedwebhookpayload.js.map +1 -1
  102. package/esm/models/integrationcreatedwebhookpayload.d.ts +1 -0
  103. package/esm/models/integrationcreatedwebhookpayload.d.ts.map +1 -1
  104. package/esm/models/integrationcreatedwebhookpayload.js +1 -0
  105. package/esm/models/integrationcreatedwebhookpayload.js.map +1 -1
  106. package/esm/models/integrationdeletedwebhookpayload.d.ts +1 -0
  107. package/esm/models/integrationdeletedwebhookpayload.d.ts.map +1 -1
  108. package/esm/models/integrationdeletedwebhookpayload.js +1 -0
  109. package/esm/models/integrationdeletedwebhookpayload.js.map +1 -1
  110. package/esm/models/integrationstatechangedwebhookpayload.d.ts +4 -3
  111. package/esm/models/integrationstatechangedwebhookpayload.d.ts.map +1 -1
  112. package/esm/models/integrationstatechangedwebhookpayload.js +2 -1
  113. package/esm/models/integrationstatechangedwebhookpayload.js.map +1 -1
  114. package/esm/models/kombohriserror.d.ts +1 -0
  115. package/esm/models/kombohriserror.d.ts.map +1 -1
  116. package/esm/models/kombohriserror.js +1 -0
  117. package/esm/models/kombohriserror.js.map +1 -1
  118. package/esm/models/operations/getatsapplications.d.ts +5 -0
  119. package/esm/models/operations/getatsapplications.d.ts.map +1 -1
  120. package/esm/models/operations/getatsapplications.js +1 -0
  121. package/esm/models/operations/getatsapplications.js.map +1 -1
  122. package/esm/models/operations/getatsapplicationstages.d.ts +5 -0
  123. package/esm/models/operations/getatsapplicationstages.d.ts.map +1 -1
  124. package/esm/models/operations/getatsapplicationstages.js +1 -0
  125. package/esm/models/operations/getatsapplicationstages.js.map +1 -1
  126. package/esm/models/operations/getatscandidates.d.ts +5 -0
  127. package/esm/models/operations/getatscandidates.d.ts.map +1 -1
  128. package/esm/models/operations/getatscandidates.js +1 -0
  129. package/esm/models/operations/getatscandidates.js.map +1 -1
  130. package/esm/models/operations/getatsinterviews.d.ts +5 -0
  131. package/esm/models/operations/getatsinterviews.d.ts.map +1 -1
  132. package/esm/models/operations/getatsinterviews.js +1 -0
  133. package/esm/models/operations/getatsinterviews.js.map +1 -1
  134. package/esm/models/operations/getatsjobs.d.ts +5 -0
  135. package/esm/models/operations/getatsjobs.d.ts.map +1 -1
  136. package/esm/models/operations/getatsjobs.js +1 -0
  137. package/esm/models/operations/getatsjobs.js.map +1 -1
  138. package/esm/models/operations/getatsoffers.d.ts +5 -0
  139. package/esm/models/operations/getatsoffers.d.ts.map +1 -1
  140. package/esm/models/operations/getatsoffers.js +1 -0
  141. package/esm/models/operations/getatsoffers.js.map +1 -1
  142. package/esm/models/operations/getatsrejectionreasons.d.ts +5 -0
  143. package/esm/models/operations/getatsrejectionreasons.d.ts.map +1 -1
  144. package/esm/models/operations/getatsrejectionreasons.js +1 -0
  145. package/esm/models/operations/getatsrejectionreasons.js.map +1 -1
  146. package/esm/models/operations/getatstags.d.ts +5 -0
  147. package/esm/models/operations/getatstags.d.ts.map +1 -1
  148. package/esm/models/operations/getatstags.js +1 -0
  149. package/esm/models/operations/getatstags.js.map +1 -1
  150. package/esm/models/operations/getatsusers.d.ts +5 -0
  151. package/esm/models/operations/getatsusers.d.ts.map +1 -1
  152. package/esm/models/operations/getatsusers.js +1 -0
  153. package/esm/models/operations/getatsusers.js.map +1 -1
  154. package/esm/models/operations/gethrisabsences.d.ts +5 -0
  155. package/esm/models/operations/gethrisabsences.d.ts.map +1 -1
  156. package/esm/models/operations/gethrisabsences.js +1 -0
  157. package/esm/models/operations/gethrisabsences.js.map +1 -1
  158. package/esm/models/operations/gethrisabsencetypes.d.ts +5 -0
  159. package/esm/models/operations/gethrisabsencetypes.d.ts.map +1 -1
  160. package/esm/models/operations/gethrisabsencetypes.js +1 -0
  161. package/esm/models/operations/gethrisabsencetypes.js.map +1 -1
  162. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts +5 -0
  163. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts.map +1 -1
  164. package/esm/models/operations/gethrisemployeedocumentcategories.js +1 -0
  165. package/esm/models/operations/gethrisemployeedocumentcategories.js.map +1 -1
  166. package/esm/models/operations/gethrisemployees.d.ts +5 -0
  167. package/esm/models/operations/gethrisemployees.d.ts.map +1 -1
  168. package/esm/models/operations/gethrisemployees.js +1 -0
  169. package/esm/models/operations/gethrisemployees.js.map +1 -1
  170. package/esm/models/operations/gethrisemployments.d.ts +5 -0
  171. package/esm/models/operations/gethrisemployments.d.ts.map +1 -1
  172. package/esm/models/operations/gethrisemployments.js +1 -0
  173. package/esm/models/operations/gethrisemployments.js.map +1 -1
  174. package/esm/models/operations/gethrisgroups.d.ts +5 -0
  175. package/esm/models/operations/gethrisgroups.d.ts.map +1 -1
  176. package/esm/models/operations/gethrisgroups.js +1 -0
  177. package/esm/models/operations/gethrisgroups.js.map +1 -1
  178. package/esm/models/operations/gethrislegalentities.d.ts +5 -0
  179. package/esm/models/operations/gethrislegalentities.d.ts.map +1 -1
  180. package/esm/models/operations/gethrislegalentities.js +1 -0
  181. package/esm/models/operations/gethrislegalentities.js.map +1 -1
  182. package/esm/models/operations/gethrislocations.d.ts +5 -0
  183. package/esm/models/operations/gethrislocations.d.ts.map +1 -1
  184. package/esm/models/operations/gethrislocations.js +1 -0
  185. package/esm/models/operations/gethrislocations.js.map +1 -1
  186. package/esm/models/operations/gethrisperformancereviewcycles.d.ts +5 -0
  187. package/esm/models/operations/gethrisperformancereviewcycles.d.ts.map +1 -1
  188. package/esm/models/operations/gethrisperformancereviewcycles.js +1 -0
  189. package/esm/models/operations/gethrisperformancereviewcycles.js.map +1 -1
  190. package/esm/models/operations/gethrisperformancereviews.d.ts +5 -0
  191. package/esm/models/operations/gethrisperformancereviews.d.ts.map +1 -1
  192. package/esm/models/operations/gethrisperformancereviews.js +1 -0
  193. package/esm/models/operations/gethrisperformancereviews.js.map +1 -1
  194. package/esm/models/operations/gethristimeoffbalances.d.ts +5 -0
  195. package/esm/models/operations/gethristimeoffbalances.d.ts.map +1 -1
  196. package/esm/models/operations/gethristimeoffbalances.js +1 -0
  197. package/esm/models/operations/gethristimeoffbalances.js.map +1 -1
  198. package/esm/models/operations/gethristimesheets.d.ts +5 -0
  199. package/esm/models/operations/gethristimesheets.d.ts.map +1 -1
  200. package/esm/models/operations/gethristimesheets.js +1 -0
  201. package/esm/models/operations/gethristimesheets.js.map +1 -1
  202. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.d.ts +21 -0
  203. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.d.ts.map +1 -1
  204. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.js +9 -0
  205. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.js.map +1 -1
  206. package/esm/models/postatscandidatesrequestbody.d.ts +64 -0
  207. package/esm/models/postatscandidatesrequestbody.d.ts.map +1 -1
  208. package/esm/models/postatscandidatesrequestbody.js +25 -0
  209. package/esm/models/postatscandidatesrequestbody.js.map +1 -1
  210. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts +64 -0
  211. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts.map +1 -1
  212. package/esm/models/postatsjobsjobidapplicationsrequestbody.js +25 -0
  213. package/esm/models/postatsjobsjobidapplicationsrequestbody.js.map +1 -1
  214. package/esm/models/postconnectcreatelinkrequestbody.d.ts +71 -65
  215. package/esm/models/postconnectcreatelinkrequestbody.d.ts.map +1 -1
  216. package/esm/models/postconnectcreatelinkrequestbody.js +71 -65
  217. package/esm/models/postconnectcreatelinkrequestbody.js.map +1 -1
  218. package/esm/models/posthrisemployeesformpositiveresponse.d.ts +15 -3
  219. package/esm/models/posthrisemployeesformpositiveresponse.d.ts.map +1 -1
  220. package/esm/models/posthrisemployeesformpositiveresponse.js +8 -1
  221. package/esm/models/posthrisemployeesformpositiveresponse.js.map +1 -1
  222. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts +4 -4
  223. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts.map +1 -1
  224. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js +2 -2
  225. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js.map +1 -1
  226. package/esm/models/schema1union1.d.ts +1 -1
  227. package/esm/models/schema1union1.d.ts.map +1 -1
  228. package/esm/models/schema1union1.js +4 -4
  229. package/esm/models/schema1union1.js.map +1 -1
  230. package/esm/models/schema1union2.d.ts +1 -1
  231. package/esm/models/schema1union2.d.ts.map +1 -1
  232. package/esm/models/schema1union2.js +4 -4
  233. package/esm/models/schema1union2.js.map +1 -1
  234. package/esm/models/schema2union1.d.ts +2 -2
  235. package/esm/models/schema2union1.d.ts.map +1 -1
  236. package/esm/models/schema2union1.js +8 -8
  237. package/esm/models/schema2union1.js.map +1 -1
  238. package/esm/models/schema2union2.d.ts +2 -2
  239. package/esm/models/schema2union2.d.ts.map +1 -1
  240. package/esm/models/schema2union2.js +8 -8
  241. package/esm/models/schema2union2.js.map +1 -1
  242. package/esm/models/syncfinishedwebhookpayload.d.ts +4 -3
  243. package/esm/models/syncfinishedwebhookpayload.d.ts.map +1 -1
  244. package/esm/models/syncfinishedwebhookpayload.js +2 -1
  245. package/esm/models/syncfinishedwebhookpayload.js.map +1 -1
  246. package/esm/sdk/general.d.ts +131 -121
  247. package/esm/sdk/general.d.ts.map +1 -1
  248. package/esm/sdk/general.js +131 -121
  249. package/esm/sdk/general.js.map +1 -1
  250. package/esm/types/unrecognized.d.ts +7 -1
  251. package/esm/types/unrecognized.d.ts.map +1 -1
  252. package/esm/types/unrecognized.js +9 -1
  253. package/esm/types/unrecognized.js.map +1 -1
  254. package/examples/package-lock.json +1 -1
  255. package/jsr.json +1 -1
  256. package/package.json +1 -1
  257. package/src/funcs/assessmentGetOpenOrders.ts +1 -1
  258. package/src/funcs/atsGetApplicationStages.ts +2 -1
  259. package/src/funcs/atsGetApplications.ts +2 -1
  260. package/src/funcs/atsGetCandidates.ts +2 -1
  261. package/src/funcs/atsGetInterviews.ts +2 -1
  262. package/src/funcs/atsGetJobs.ts +2 -1
  263. package/src/funcs/atsGetOffers.ts +2 -1
  264. package/src/funcs/atsGetRejectionReasons.ts +2 -1
  265. package/src/funcs/atsGetTags.ts +2 -1
  266. package/src/funcs/atsGetUsers.ts +2 -1
  267. package/src/funcs/generalGetCustomFields.ts +1 -1
  268. package/src/funcs/generalGetIntegrationFields.ts +1 -1
  269. package/src/funcs/generalSendPassthroughRequest.ts +131 -121
  270. package/src/funcs/hrisGetAbsenceTypes.ts +2 -1
  271. package/src/funcs/hrisGetAbsences.ts +2 -1
  272. package/src/funcs/hrisGetEmployeeDocumentCategories.ts +2 -1
  273. package/src/funcs/hrisGetEmployees.ts +2 -1
  274. package/src/funcs/hrisGetEmployments.ts +2 -1
  275. package/src/funcs/hrisGetGroups.ts +2 -1
  276. package/src/funcs/hrisGetLegalEntities.ts +2 -1
  277. package/src/funcs/hrisGetLocations.ts +2 -1
  278. package/src/funcs/hrisGetPerformanceReviewCycles.ts +2 -1
  279. package/src/funcs/hrisGetPerformanceReviews.ts +2 -1
  280. package/src/funcs/hrisGetTimeOffBalances.ts +2 -1
  281. package/src/funcs/hrisGetTimesheets.ts +2 -1
  282. package/src/lib/config.ts +3 -3
  283. package/src/lib/encodings.ts +17 -3
  284. package/src/models/assessmentorderreceivedwebhookpayload.ts +7 -7
  285. package/src/models/connectionflowfailedwebhookpayload.ts +4 -3
  286. package/src/models/datachangedwebhookpayload.ts +11 -3
  287. package/src/models/getassessmentordersopenpositiveresponse.ts +5 -5
  288. package/src/models/getatsjobspositiveresponse.ts +9 -9
  289. package/src/models/gethrisemployeesformpositiveresponse.ts +18 -18
  290. package/src/models/getintegrationsintegrationidpositiveresponse.ts +292 -44
  291. package/src/models/gettoolscategoryparametercategory.ts +1 -0
  292. package/src/models/gettoolscategorypositiveresponse.ts +160 -48
  293. package/src/models/inlineassessmentorderreceivedwebhookpayload.ts +7 -7
  294. package/src/models/integrationcreatedwebhookpayload.ts +1 -0
  295. package/src/models/integrationdeletedwebhookpayload.ts +1 -0
  296. package/src/models/integrationstatechangedwebhookpayload.ts +4 -3
  297. package/src/models/kombohriserror.ts +1 -0
  298. package/src/models/operations/getatsapplications.ts +6 -0
  299. package/src/models/operations/getatsapplicationstages.ts +6 -0
  300. package/src/models/operations/getatscandidates.ts +6 -0
  301. package/src/models/operations/getatsinterviews.ts +6 -0
  302. package/src/models/operations/getatsjobs.ts +6 -0
  303. package/src/models/operations/getatsoffers.ts +6 -0
  304. package/src/models/operations/getatsrejectionreasons.ts +6 -0
  305. package/src/models/operations/getatstags.ts +6 -0
  306. package/src/models/operations/getatsusers.ts +6 -0
  307. package/src/models/operations/gethrisabsences.ts +6 -0
  308. package/src/models/operations/gethrisabsencetypes.ts +6 -0
  309. package/src/models/operations/gethrisemployeedocumentcategories.ts +6 -0
  310. package/src/models/operations/gethrisemployees.ts +6 -0
  311. package/src/models/operations/gethrisemployments.ts +6 -0
  312. package/src/models/operations/gethrisgroups.ts +6 -0
  313. package/src/models/operations/gethrislegalentities.ts +6 -0
  314. package/src/models/operations/gethrislocations.ts +6 -0
  315. package/src/models/operations/gethrisperformancereviewcycles.ts +6 -0
  316. package/src/models/operations/gethrisperformancereviews.ts +6 -0
  317. package/src/models/operations/gethristimeoffbalances.ts +6 -0
  318. package/src/models/operations/gethristimesheets.ts +6 -0
  319. package/src/models/postatsapplicationsapplicationidrejectrequestbody.ts +48 -0
  320. package/src/models/postatscandidatesrequestbody.ts +127 -0
  321. package/src/models/postatsjobsjobidapplicationsrequestbody.ts +137 -0
  322. package/src/models/postconnectcreatelinkrequestbody.ts +71 -65
  323. package/src/models/posthrisemployeesformpositiveresponse.ts +30 -4
  324. package/src/models/putassessmentordersassessmentorderidresultrequestbody.ts +7 -7
  325. package/src/models/schema1union1.ts +9 -9
  326. package/src/models/schema1union2.ts +9 -9
  327. package/src/models/schema2union1.ts +18 -18
  328. package/src/models/schema2union2.ts +18 -18
  329. package/src/models/syncfinishedwebhookpayload.ts +4 -3
  330. package/src/sdk/general.ts +131 -121
  331. package/src/types/unrecognized.ts +9 -1
  332. package/tests/basic-behavior.spec.ts +355 -2
  333. package/tests/employee-form-flow.spec.ts +175 -0
  334. package/tests/helpers/test-context.ts +5 -2
  335. package/tsconfig.json +1 -2
@@ -16,8 +16,16 @@ export function startCountingUnrecognized() {
16
16
  refCount++;
17
17
  const start = globalCount;
18
18
  return {
19
- end: () => {
19
+ /**
20
+ * Ends counting and returns the delta.
21
+ * @param delta - If provided, only this amount is added to the parent counter
22
+ * (used for nested unions where we only want to record the winning option's count).
23
+ * If not provided, records all counts since start().
24
+ */
25
+ end: (delta?: number) => {
20
26
  const count = globalCount - start;
27
+ // Reset globalCount back to start, then add only the specified delta
28
+ globalCount = start + (delta ?? count);
21
29
  if (--refCount === 0) globalCount = 0;
22
30
  return count;
23
31
  },
@@ -1,7 +1,6 @@
1
- import { it, expect } from "vitest";
1
+ import { it, expect, describe } from "vitest";
2
2
  import { TestContext, describeSdkSuite } from "./helpers/test-context";
3
3
 
4
- // TODO: test basic error handling behavior
5
4
  describeSdkSuite("Basic SDK Behavior", () => {
6
5
  it("should include API key in Authorization header", async () => {
7
6
  const ctx = new TestContext({ apiKey: "my-custom-api-key" });
@@ -159,4 +158,358 @@ describeSdkSuite("Basic SDK Behavior", () => {
159
158
  const requestWithoutDeleted = ctx.getLastRequest();
160
159
  expect(requestWithoutDeleted.path).toContain("include_deleted=false");
161
160
  });
161
+
162
+ describe("Pagination Behavior", () => {
163
+ it("should iterate through multiple pages", async () => {
164
+ const ctx = new TestContext();
165
+
166
+ // Mock 3 pages of results
167
+ ctx.mockEndpoint({
168
+ method: "GET",
169
+ path: "/v1/ats/tags",
170
+ response: {
171
+ body: {
172
+ status: "success",
173
+ data: {
174
+ results: [
175
+ {
176
+ id: "tag1",
177
+ remote_id: null,
178
+ name: "Tag 1",
179
+ changed_at: "2024-01-01T00:00:00.000Z",
180
+ remote_deleted_at: null,
181
+ },
182
+ {
183
+ id: "tag2",
184
+ remote_id: null,
185
+ name: "Tag 2",
186
+ changed_at: "2024-01-01T00:00:00.000Z",
187
+ remote_deleted_at: null,
188
+ },
189
+ ],
190
+ next: "cursor_page2",
191
+ },
192
+ },
193
+ },
194
+ });
195
+
196
+ ctx.mockEndpoint({
197
+ method: "GET",
198
+ path: "/v1/ats/tags",
199
+ response: {
200
+ body: {
201
+ status: "success",
202
+ data: {
203
+ results: [
204
+ {
205
+ id: "tag3",
206
+ remote_id: null,
207
+ name: "Tag 3",
208
+ changed_at: "2024-01-01T00:00:00.000Z",
209
+ remote_deleted_at: null,
210
+ },
211
+ {
212
+ id: "tag4",
213
+ remote_id: null,
214
+ name: "Tag 4",
215
+ changed_at: "2024-01-01T00:00:00.000Z",
216
+ remote_deleted_at: null,
217
+ },
218
+ ],
219
+ next: "cursor_page3",
220
+ },
221
+ },
222
+ },
223
+ });
224
+
225
+ ctx.mockEndpoint({
226
+ method: "GET",
227
+ path: "/v1/ats/tags",
228
+ response: {
229
+ body: {
230
+ status: "success",
231
+ data: {
232
+ results: [
233
+ {
234
+ id: "tag5",
235
+ remote_id: null,
236
+ name: "Tag 5",
237
+ changed_at: "2024-01-01T00:00:00.000Z",
238
+ remote_deleted_at: null,
239
+ },
240
+ ],
241
+ next: null,
242
+ },
243
+ },
244
+ },
245
+ });
246
+
247
+ const tags = await ctx.kombo.ats.getTags({});
248
+ const allResults: unknown[] = [];
249
+
250
+ for await (const page of tags) {
251
+ allResults.push(...page.result.data.results);
252
+ }
253
+
254
+ // Verify all 5 tags were collected
255
+ expect(allResults).toHaveLength(5);
256
+ expect(allResults.map((r: any) => r.id)).toEqual([
257
+ "tag1",
258
+ "tag2",
259
+ "tag3",
260
+ "tag4",
261
+ "tag5",
262
+ ]);
263
+
264
+ // Verify 3 HTTP requests were made
265
+ const requests = ctx.getRequests();
266
+ expect(requests).toHaveLength(3);
267
+ });
268
+
269
+ it("should pass cursor parameter to subsequent requests", async () => {
270
+ const ctx = new TestContext();
271
+
272
+ ctx.mockEndpoint({
273
+ method: "GET",
274
+ path: "/v1/ats/tags",
275
+ response: {
276
+ body: {
277
+ status: "success",
278
+ data: {
279
+ results: [
280
+ {
281
+ id: "tag1",
282
+ remote_id: null,
283
+ name: "Tag 1",
284
+ changed_at: "2024-01-01T00:00:00.000Z",
285
+ remote_deleted_at: null,
286
+ },
287
+ ],
288
+ next: "test_cursor_abc123",
289
+ },
290
+ },
291
+ },
292
+ });
293
+
294
+ ctx.mockEndpoint({
295
+ method: "GET",
296
+ path: "/v1/ats/tags",
297
+ response: {
298
+ body: {
299
+ status: "success",
300
+ data: {
301
+ results: [
302
+ {
303
+ id: "tag2",
304
+ remote_id: null,
305
+ name: "Tag 2",
306
+ changed_at: "2024-01-01T00:00:00.000Z",
307
+ remote_deleted_at: null,
308
+ },
309
+ ],
310
+ next: null,
311
+ },
312
+ },
313
+ },
314
+ });
315
+
316
+ const tags = await ctx.kombo.ats.getTags({});
317
+ for await (const _page of tags) {
318
+ // Iterate through all pages
319
+ }
320
+
321
+ const requests = ctx.getRequests();
322
+ expect(requests).toHaveLength(2);
323
+
324
+ // First request should NOT include cursor
325
+ expect(requests[0].path).not.toContain("cursor=");
326
+
327
+ // Second request SHOULD include cursor
328
+ expect(requests[1].path).toContain("cursor=test_cursor_abc123");
329
+ });
330
+
331
+ it("should stop pagination when next is null", async () => {
332
+ const ctx = new TestContext();
333
+
334
+ ctx.mockEndpoint({
335
+ method: "GET",
336
+ path: "/v1/ats/tags",
337
+ response: {
338
+ body: {
339
+ status: "success",
340
+ data: {
341
+ results: [
342
+ {
343
+ id: "tag1",
344
+ remote_id: null,
345
+ name: "Tag 1",
346
+ changed_at: "2024-01-01T00:00:00.000Z",
347
+ remote_deleted_at: null,
348
+ },
349
+ {
350
+ id: "tag2",
351
+ remote_id: null,
352
+ name: "Tag 2",
353
+ changed_at: "2024-01-01T00:00:00.000Z",
354
+ remote_deleted_at: null,
355
+ },
356
+ ],
357
+ next: null,
358
+ },
359
+ },
360
+ },
361
+ });
362
+
363
+ const tags = await ctx.kombo.ats.getTags({});
364
+ const pageCount: number[] = [];
365
+
366
+ for await (const _page of tags) {
367
+ pageCount.push(1);
368
+ }
369
+
370
+ // Verify only 1 page was returned
371
+ expect(pageCount).toHaveLength(1);
372
+
373
+ // Verify only 1 HTTP request was made
374
+ const requests = ctx.getRequests();
375
+ expect(requests).toHaveLength(1);
376
+ });
377
+
378
+ it("should preserve query parameters across paginated requests", async () => {
379
+ const ctx = new TestContext();
380
+
381
+ ctx.mockEndpoint({
382
+ method: "GET",
383
+ path: "/v1/ats/tags",
384
+ response: {
385
+ body: {
386
+ status: "success",
387
+ data: {
388
+ results: [
389
+ {
390
+ id: "tag1",
391
+ remote_id: null,
392
+ name: "Tag 1",
393
+ changed_at: "2024-01-01T00:00:00.000Z",
394
+ remote_deleted_at: null,
395
+ },
396
+ ],
397
+ next: "cursor_for_page2",
398
+ },
399
+ },
400
+ },
401
+ });
402
+
403
+ ctx.mockEndpoint({
404
+ method: "GET",
405
+ path: "/v1/ats/tags",
406
+ response: {
407
+ body: {
408
+ status: "success",
409
+ data: {
410
+ results: [
411
+ {
412
+ id: "tag2",
413
+ remote_id: null,
414
+ name: "Tag 2",
415
+ changed_at: "2024-01-01T00:00:00.000Z",
416
+ remote_deleted_at: null,
417
+ },
418
+ ],
419
+ next: null,
420
+ },
421
+ },
422
+ },
423
+ });
424
+
425
+ const tags = await ctx.kombo.ats.getTags({
426
+ updated_after: new Date("2024-01-01T00:00:00.000Z"),
427
+ });
428
+
429
+ for await (const _page of tags) {
430
+ // Iterate through all pages
431
+ }
432
+
433
+ const requests = ctx.getRequests();
434
+ expect(requests).toHaveLength(2);
435
+
436
+ // Both requests should include the original query parameters
437
+ // Check that updated_after parameter is present (URL encoded)
438
+ expect(requests[0].path).toMatch(/updated_after=2024-01-01T00%3A00%3A00\.000Z/);
439
+ expect(requests[0].path).not.toContain("cursor=");
440
+
441
+ expect(requests[1].path).toMatch(/updated_after=2024-01-01T00%3A00%3A00\.000Z/);
442
+ expect(requests[1].path).toContain("cursor=cursor_for_page2");
443
+ });
444
+
445
+ it("should support manual pagination with next()", async () => {
446
+ const ctx = new TestContext();
447
+
448
+ ctx.mockEndpoint({
449
+ method: "GET",
450
+ path: "/v1/ats/tags",
451
+ response: {
452
+ body: {
453
+ status: "success",
454
+ data: {
455
+ results: [
456
+ {
457
+ id: "tag1",
458
+ remote_id: null,
459
+ name: "Tag 1",
460
+ changed_at: "2024-01-01T00:00:00.000Z",
461
+ remote_deleted_at: null,
462
+ },
463
+ ],
464
+ next: "manual_cursor_xyz",
465
+ },
466
+ },
467
+ },
468
+ });
469
+
470
+ ctx.mockEndpoint({
471
+ method: "GET",
472
+ path: "/v1/ats/tags",
473
+ response: {
474
+ body: {
475
+ status: "success",
476
+ data: {
477
+ results: [
478
+ {
479
+ id: "tag2",
480
+ remote_id: null,
481
+ name: "Tag 2",
482
+ changed_at: "2024-01-01T00:00:00.000Z",
483
+ remote_deleted_at: null,
484
+ },
485
+ ],
486
+ next: null,
487
+ },
488
+ },
489
+ },
490
+ });
491
+
492
+ const page1 = await ctx.kombo.ats.getTags({});
493
+
494
+ // Verify first page was fetched
495
+ expect(page1.result.data.results).toBeDefined();
496
+ expect(page1.result.data.results).toHaveLength(1);
497
+
498
+ // Manually call next()
499
+ const page2Result = await page1.next();
500
+
501
+ // Verify second page was fetched (should not be null if cursor was read correctly)
502
+ // This will fail if cursor extraction bug exists
503
+ expect(page2Result).not.toBeNull();
504
+ if (page2Result) {
505
+ expect(page2Result.result.data.results).toHaveLength(1);
506
+ expect(page2Result.result.data.results[0].id).toBe("tag2");
507
+ }
508
+
509
+ // Verify 2 HTTP requests were made
510
+ const requests = ctx.getRequests();
511
+ expect(requests).toHaveLength(2);
512
+ expect(requests[1].path).toContain("cursor=manual_cursor_xyz");
513
+ });
514
+ });
162
515
  });
@@ -0,0 +1,175 @@
1
+ import { it, expect } from "vitest";
2
+ import { TestContext, describeSdkSuite } from "./helpers/test-context";
3
+
4
+ describeSdkSuite("Employee Form Flow", () => {
5
+ it("should get employee form and return form response", async () => {
6
+ const ctx = new TestContext();
7
+
8
+ ctx.mockEndpoint({
9
+ method: "GET",
10
+ path: "/v1/hris/employees/form",
11
+ response: {
12
+ body: {
13
+ status: "success",
14
+ data: {
15
+ properties: {
16
+ firstName: {
17
+ type: "text",
18
+ label: "First Name",
19
+ required: true,
20
+ description: "Employee's first name",
21
+ unified_key: "first_name",
22
+ min_length: 1,
23
+ max_length: 100,
24
+ },
25
+ lastName: {
26
+ type: "text",
27
+ label: "Last Name",
28
+ required: true,
29
+ description: "Employee's last name",
30
+ unified_key: "last_name",
31
+ min_length: 1,
32
+ max_length: 100,
33
+ },
34
+ startDate: {
35
+ type: "date",
36
+ label: "Start Date",
37
+ required: true,
38
+ description: "Employee's start date",
39
+ unified_key: "start_date",
40
+ },
41
+ keyNumbers: {
42
+ type: "array",
43
+ label: "Key Numbers",
44
+ required: false,
45
+ description: "Employee's key numbers",
46
+ unified_key: null,
47
+ min_items: 2,
48
+ max_items: 5,
49
+ item_type: {
50
+ type: "number",
51
+ label: "Key Number",
52
+ required: false,
53
+ description: "The number of the keys which belong to the employee",
54
+ unified_key: null,
55
+ min: 0,
56
+ max: 99,
57
+ },
58
+ },
59
+ workLocation: {
60
+ type: "object",
61
+ label: "Work Location",
62
+ required: false,
63
+ description: "Employee's work location",
64
+ unified_key: null,
65
+ properties: {
66
+ site: {
67
+ type: "single_select",
68
+ label: "Site",
69
+ required: true,
70
+ description: "Employee's site",
71
+ unified_key: null,
72
+ options: {
73
+ type: "inline",
74
+ entries: [
75
+ {
76
+ label: "Site 1",
77
+ id: "FXrER44xubBqA9DLgZ3PFNNx",
78
+ unified_value: "1",
79
+ remote_id: "site_1",
80
+ },
81
+ {
82
+ label: "Site 2",
83
+ id: "2rv75UKT2XBoQXsUb9agiTUm",
84
+ unified_value: "2",
85
+ remote_id: "site_2",
86
+ },
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ },
94
+ warnings: [],
95
+ },
96
+ },
97
+ });
98
+
99
+ // Make the API call
100
+ const form = await ctx.kombo.hris.getEmployeeForm();
101
+
102
+ // Verify the response structure
103
+ expect(form).toBeDefined();
104
+ expect(form.status).toBe("success");
105
+ expect(form.data).toBeDefined();
106
+ expect(form.data.properties.firstName).toBeDefined();
107
+ expect(form.data.properties.keyNumbers).toBeDefined();
108
+ expect(form.warnings).toEqual([]);
109
+ });
110
+
111
+ it("should create employee with form using realistic employee data", async () => {
112
+ const ctx = new TestContext();
113
+
114
+ ctx.mockEndpoint({
115
+ method: "POST",
116
+ path: "/v1/hris/employees/form",
117
+ response: {
118
+ body: {
119
+ status: "success",
120
+ data: {
121
+ id: "emp-123",
122
+ remote_id: "remote-emp-123",
123
+ prehire: {
124
+ remote_id: null,
125
+ },
126
+ },
127
+ warnings: [],
128
+ },
129
+ },
130
+ });
131
+
132
+ // Make the API call with realistic employee properties
133
+ const result = await ctx.kombo.hris.createEmployeeWithForm({
134
+ properties: {
135
+ firstName: "John",
136
+ lastName: "Doe",
137
+ startDate: "2025-01-15",
138
+ keyNumbers: [142, 525, 63],
139
+ workLocation: {
140
+ site: "FXrER44xubBqA9DLgZ3PFNNx",
141
+ },
142
+ },
143
+ });
144
+
145
+ // Verify the response structure
146
+ expect(result).toBeDefined();
147
+ expect(result.status).toBe("success");
148
+ expect(result.data).toBeDefined();
149
+ expect(result.data.id).toBe("emp-123");
150
+ expect(result.data.remote_id).toBe("remote-emp-123");
151
+ expect(result.warnings).toEqual([]);
152
+
153
+ // Verify request body is correctly serialized
154
+ const request = ctx.getLastRequest();
155
+ expect(request.method).toBe("POST");
156
+ expect(request.body).toMatchInlineSnapshot(`
157
+ {
158
+ "properties": {
159
+ "firstName": "John",
160
+ "keyNumbers": [
161
+ 142,
162
+ 525,
163
+ 63,
164
+ ],
165
+ "lastName": "Doe",
166
+ "startDate": "2025-01-15",
167
+ "workLocation": {
168
+ "site": "FXrER44xubBqA9DLgZ3PFNNx",
169
+ },
170
+ },
171
+ }
172
+ `);
173
+ });
174
+ });
175
+
@@ -1,4 +1,4 @@
1
- import { describe, beforeAll, afterAll } from "vitest";
1
+ import { describe, beforeAll, afterAll, afterEach } from "vitest";
2
2
  import nock from "nock";
3
3
  import { Kombo } from "../../src/index";
4
4
 
@@ -137,8 +137,11 @@ export function describeSdkSuite(name: string, fn: () => void) {
137
137
  nock.disableNetConnect();
138
138
  });
139
139
 
140
- afterAll(() => {
140
+ afterEach(() => {
141
141
  nock.cleanAll();
142
+ });
143
+
144
+ afterAll(() => {
142
145
  nock.enableNetConnect();
143
146
  });
144
147
 
package/tsconfig.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "incremental": true,
4
- "tsBuildInfoFile": ".tsbuildinfo",
3
+ "incremental": false,
5
4
  "target": "ES2020",
6
5
  "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
6
  "jsx": "react-jsx",