@sargonpiraev/hh-mcp-server 1.20.0 → 1.21.0

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 (3) hide show
  1. package/README.md +1 -1
  2. package/build/server.js +354 -337
  3. package/package.json +1 -1
package/build/server.js CHANGED
@@ -62,10 +62,10 @@ function handleError(error) {
62
62
  // Register tools
63
63
  mcpServer.tool('confirm-phone-in-resume', `Verify phone with a code`, {}, async (args, extra) => {
64
64
  try {
65
- const requestData = args;
65
+ const otherParams = args;
66
66
  // Map camelCase to original parameter names for API request
67
67
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
- const mappedParams = { ...requestData };
68
+ const mappedParams = args.requestData || { ...otherParams };
69
69
  // Extract authorization token from HTTP request headers
70
70
  const authorization = extra?.requestInfo?.headers?.authorization;
71
71
  const bearer = authorization?.replace('Bearer ', '');
@@ -86,11 +86,11 @@ mcpServer.tool('get-manager-settings', `Manager preferences`, {
86
86
  managerId: z.string(),
87
87
  }, async (args, extra) => {
88
88
  try {
89
- const { employerId, managerId, ...queryParams } = args;
89
+ const { employerId, managerId, ...otherParams } = args;
90
90
  const url = `/employers/${employerId}/managers/${managerId}/settings`;
91
91
  // Map camelCase to original parameter names for API request
92
92
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
- const mappedParams = { ...queryParams };
93
+ const mappedParams = { ...otherParams };
94
94
  if ('employerId' in mappedParams) {
95
95
  mappedParams['employer_id'] = mappedParams['employerId'];
96
96
  delete mappedParams['employerId'];
@@ -119,11 +119,11 @@ mcpServer.tool('get-employer-manager-limits', `Daily limit of resume views for c
119
119
  managerId: z.string(),
120
120
  }, async (args, extra) => {
121
121
  try {
122
- const { employerId, managerId, ...queryParams } = args;
122
+ const { employerId, managerId, ...otherParams } = args;
123
123
  const url = `/employers/${employerId}/managers/${managerId}/limits/resume`;
124
124
  // Map camelCase to original parameter names for API request
125
125
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
- const mappedParams = { ...queryParams };
126
+ const mappedParams = { ...otherParams };
127
127
  if ('employerId' in mappedParams) {
128
128
  mappedParams['employer_id'] = mappedParams['employerId'];
129
129
  delete mappedParams['employerId'];
@@ -156,11 +156,11 @@ mcpServer.tool('get-employer-addresses', `Directory of employer's addresses
156
156
  page: z.string().optional(),
157
157
  }, async (args, extra) => {
158
158
  try {
159
- const { employerId, ...queryParams } = args;
159
+ const { employerId, ...otherParams } = args;
160
160
  const url = `/employers/${employerId}/addresses`;
161
161
  // Map camelCase to original parameter names for API request
162
162
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
- const mappedParams = { ...queryParams };
163
+ const mappedParams = { ...otherParams };
164
164
  if ('employerId' in mappedParams) {
165
165
  mappedParams['employer_id'] = mappedParams['employerId'];
166
166
  delete mappedParams['employerId'];
@@ -203,11 +203,11 @@ mcpServer.tool('get-employer-managers', `Directory of employer's managers`,
203
203
  searchText: z.string().optional(),
204
204
  }, async (args, extra) => {
205
205
  try {
206
- const { employerId, ...queryParams } = args;
206
+ const { employerId, ...otherParams } = args;
207
207
  const url = `/employers/${employerId}/managers`;
208
208
  // Map camelCase to original parameter names for API request
209
209
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
210
- const mappedParams = { ...queryParams };
210
+ const mappedParams = { ...otherParams };
211
211
  if ('employerId' in mappedParams) {
212
212
  mappedParams['employer_id'] = mappedParams['employerId'];
213
213
  delete mappedParams['employerId'];
@@ -237,13 +237,14 @@ mcpServer.tool('get-employer-managers', `Directory of employer's managers`,
237
237
  });
238
238
  mcpServer.tool('add-employer-manager', `Adding a manager`, {
239
239
  employerId: z.string(),
240
+ requestData: z.record(z.any()).optional(),
240
241
  }, async (args, extra) => {
241
242
  try {
242
- const { employerId, ...requestData } = args;
243
+ const { employerId, ...otherParams } = args;
243
244
  const url = `/employers/${employerId}/managers`;
244
245
  // Map camelCase to original parameter names for API request
245
246
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
- const mappedParams = { ...requestData };
247
+ const mappedParams = args.requestData || { ...otherParams };
247
248
  if ('employerId' in mappedParams) {
248
249
  mappedParams['employer_id'] = mappedParams['employerId'];
249
250
  delete mappedParams['employerId'];
@@ -267,11 +268,11 @@ mcpServer.tool('get-employer-manager-types', `Directory of manager types and pri
267
268
  employerId: z.string(),
268
269
  }, async (args, extra) => {
269
270
  try {
270
- const { employerId, ...queryParams } = args;
271
+ const { employerId, ...otherParams } = args;
271
272
  const url = `/employers/${employerId}/manager_types`;
272
273
  // Map camelCase to original parameter names for API request
273
274
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
274
- const mappedParams = { ...queryParams };
275
+ const mappedParams = { ...otherParams };
275
276
  if ('employerId' in mappedParams) {
276
277
  mappedParams['employer_id'] = mappedParams['employerId'];
277
278
  delete mappedParams['employerId'];
@@ -293,10 +294,10 @@ mcpServer.tool('get-employer-manager-types', `Directory of manager types and pri
293
294
  });
294
295
  mcpServer.tool('get-manager-accounts', `Manager's work accounts`, {}, async (args, extra) => {
295
296
  try {
296
- const queryParams = args;
297
+ const otherParams = args;
297
298
  // Map camelCase to original parameter names for API request
298
299
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
- const mappedParams = { ...queryParams };
300
+ const mappedParams = { ...otherParams };
300
301
  // Extract authorization token from HTTP request headers
301
302
  const authorization = extra?.requestInfo?.headers?.authorization;
302
303
  const bearer = authorization?.replace('Bearer ', '');
@@ -316,10 +317,10 @@ mcpServer.tool('get-applicant-phone-info', `Get information about the applicant&
316
317
  phone: z.string(),
317
318
  }, async (args, extra) => {
318
319
  try {
319
- const queryParams = args;
320
+ const otherParams = args;
320
321
  // Map camelCase to original parameter names for API request
321
322
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
322
- const mappedParams = { ...queryParams };
323
+ const mappedParams = { ...otherParams };
323
324
  // Extract authorization token from HTTP request headers
324
325
  const authorization = extra?.requestInfo?.headers?.authorization;
325
326
  const bearer = authorization?.replace('Bearer ', '');
@@ -341,11 +342,11 @@ mcpServer.tool('get-address', `Get address by ID`, {
341
342
  withManager: z.string().optional(),
342
343
  }, async (args, extra) => {
343
344
  try {
344
- const { employerId, addressId, ...queryParams } = args;
345
+ const { employerId, addressId, ...otherParams } = args;
345
346
  const url = `/employers/${employerId}/addresses/${addressId}`;
346
347
  // Map camelCase to original parameter names for API request
347
348
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
348
- const mappedParams = { ...queryParams };
349
+ const mappedParams = { ...otherParams };
349
350
  if ('employerId' in mappedParams) {
350
351
  mappedParams['employer_id'] = mappedParams['employerId'];
351
352
  delete mappedParams['employerId'];
@@ -376,13 +377,14 @@ mcpServer.tool('get-address', `Get address by ID`, {
376
377
  mcpServer.tool('edit-employer-manager', `Editing a manager`, {
377
378
  employerId: z.string(),
378
379
  managerId: z.string(),
380
+ requestData: z.record(z.any()).optional(),
379
381
  }, async (args, extra) => {
380
382
  try {
381
- const { employerId, managerId, ...requestData } = args;
383
+ const { employerId, managerId, ...otherParams } = args;
382
384
  const url = `/employers/${employerId}/managers/${managerId}`;
383
385
  // Map camelCase to original parameter names for API request
384
386
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
385
- const mappedParams = { ...requestData };
387
+ const mappedParams = args.requestData || { ...otherParams };
386
388
  if ('employerId' in mappedParams) {
387
389
  mappedParams['employer_id'] = mappedParams['employerId'];
388
390
  delete mappedParams['employerId'];
@@ -411,11 +413,11 @@ mcpServer.tool('get-employer-manager', `Getting information about a manager`, {
411
413
  managerId: z.string(),
412
414
  }, async (args, extra) => {
413
415
  try {
414
- const { employerId, managerId, ...queryParams } = args;
416
+ const { employerId, managerId, ...otherParams } = args;
415
417
  const url = `/employers/${employerId}/managers/${managerId}`;
416
418
  // Map camelCase to original parameter names for API request
417
419
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
418
- const mappedParams = { ...queryParams };
420
+ const mappedParams = { ...otherParams };
419
421
  if ('employerId' in mappedParams) {
420
422
  mappedParams['employer_id'] = mappedParams['employerId'];
421
423
  delete mappedParams['employerId'];
@@ -445,11 +447,11 @@ mcpServer.tool('delete-employer-manager', `Deleting a manager`, {
445
447
  successorId: z.string(),
446
448
  }, async (args, extra) => {
447
449
  try {
448
- const { employerId, managerId, ...queryParams } = args;
450
+ const { employerId, managerId, ...otherParams } = args;
449
451
  const url = `/employers/${employerId}/managers/${managerId}`;
450
452
  // Map camelCase to original parameter names for API request
451
453
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
452
- const mappedParams = { ...queryParams };
454
+ const mappedParams = { ...otherParams };
453
455
  if ('employerId' in mappedParams) {
454
456
  mappedParams['employer_id'] = mappedParams['employerId'];
455
457
  delete mappedParams['employerId'];
@@ -479,10 +481,10 @@ mcpServer.tool('delete-employer-manager', `Deleting a manager`, {
479
481
  });
480
482
  mcpServer.tool('send-code-for-verify-phone-in-resume', `Send verification code to the phone number on CV`, {}, async (args, extra) => {
481
483
  try {
482
- const requestData = args;
484
+ const otherParams = args;
483
485
  // Map camelCase to original parameter names for API request
484
486
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
485
- const mappedParams = { ...requestData };
487
+ const mappedParams = args.requestData || { ...otherParams };
486
488
  // Extract authorization token from HTTP request headers
487
489
  const authorization = extra?.requestInfo?.headers?.authorization;
488
490
  const bearer = authorization?.replace('Bearer ', '');
@@ -500,10 +502,10 @@ mcpServer.tool('send-code-for-verify-phone-in-resume', `Send verification code t
500
502
  });
501
503
  mcpServer.tool('authorize', `Getting an access-token`, {}, async (args, extra) => {
502
504
  try {
503
- const requestData = args;
505
+ const otherParams = args;
504
506
  // Map camelCase to original parameter names for API request
505
507
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
506
- const mappedParams = { ...requestData };
508
+ const mappedParams = args.requestData || { ...otherParams };
507
509
  // Extract authorization token from HTTP request headers
508
510
  const authorization = extra?.requestInfo?.headers?.authorization;
509
511
  const bearer = authorization?.replace('Bearer ', '');
@@ -521,10 +523,10 @@ mcpServer.tool('authorize', `Getting an access-token`, {}, async (args, extra) =
521
523
  });
522
524
  mcpServer.tool('invalidate-token', `Access token invalidation`, {}, async (args, extra) => {
523
525
  try {
524
- const queryParams = args;
526
+ const otherParams = args;
525
527
  // Map camelCase to original parameter names for API request
526
528
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
527
- const mappedParams = { ...queryParams };
529
+ const mappedParams = { ...otherParams };
528
530
  // Extract authorization token from HTTP request headers
529
531
  const authorization = extra?.requestInfo?.headers?.authorization;
530
532
  const bearer = authorization?.replace('Bearer ', '');
@@ -542,10 +544,10 @@ mcpServer.tool('invalidate-token', `Access token invalidation`, {}, async (args,
542
544
  });
543
545
  mcpServer.tool('get-current-user-info', `Info on current authorized user`, {}, async (args, extra) => {
544
546
  try {
545
- const queryParams = args;
547
+ const otherParams = args;
546
548
  // Map camelCase to original parameter names for API request
547
549
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
548
- const mappedParams = { ...queryParams };
550
+ const mappedParams = { ...otherParams };
549
551
  // Extract authorization token from HTTP request headers
550
552
  const authorization = extra?.requestInfo?.headers?.authorization;
551
553
  const bearer = authorization?.replace('Bearer ', '');
@@ -563,10 +565,10 @@ mcpServer.tool('get-current-user-info', `Info on current authorized user`, {}, a
563
565
  });
564
566
  mcpServer.tool('edit-current-user-info', `Editing information on the authorized user`, {}, async (args, extra) => {
565
567
  try {
566
- const requestData = args;
568
+ const otherParams = args;
567
569
  // Map camelCase to original parameter names for API request
568
570
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
569
- const mappedParams = { ...requestData };
571
+ const mappedParams = args.requestData || { ...otherParams };
570
572
  // Extract authorization token from HTTP request headers
571
573
  const authorization = extra?.requestInfo?.headers?.authorization;
572
574
  const bearer = authorization?.replace('Bearer ', '');
@@ -584,10 +586,10 @@ mcpServer.tool('edit-current-user-info', `Editing information on the authorized
584
586
  });
585
587
  mcpServer.tool('get-locales-for-resume', `The list of available resume locales`, {}, async (args, extra) => {
586
588
  try {
587
- const queryParams = args;
589
+ const otherParams = args;
588
590
  // Map camelCase to original parameter names for API request
589
591
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
590
- const mappedParams = { ...queryParams };
592
+ const mappedParams = { ...otherParams };
591
593
  // Extract authorization token from HTTP request headers
592
594
  const authorization = extra?.requestInfo?.headers?.authorization;
593
595
  const bearer = authorization?.replace('Bearer ', '');
@@ -605,10 +607,10 @@ mcpServer.tool('get-locales-for-resume', `The list of available resume locales`,
605
607
  });
606
608
  mcpServer.tool('get-locales', `The list of available locales`, {}, async (args, extra) => {
607
609
  try {
608
- const queryParams = args;
610
+ const otherParams = args;
609
611
  // Map camelCase to original parameter names for API request
610
612
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
611
- const mappedParams = { ...queryParams };
613
+ const mappedParams = { ...otherParams };
612
614
  // Extract authorization token from HTTP request headers
613
615
  const authorization = extra?.requestInfo?.headers?.authorization;
614
616
  const bearer = authorization?.replace('Bearer ', '');
@@ -628,10 +630,10 @@ mcpServer.tool('get-positions-suggestions', `Resume position suggestions`, {
628
630
  text: z.string(),
629
631
  }, async (args, extra) => {
630
632
  try {
631
- const queryParams = args;
633
+ const otherParams = args;
632
634
  // Map camelCase to original parameter names for API request
633
635
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
634
- const mappedParams = { ...queryParams };
636
+ const mappedParams = { ...otherParams };
635
637
  // Extract authorization token from HTTP request headers
636
638
  const authorization = extra?.requestInfo?.headers?.authorization;
637
639
  const bearer = authorization?.replace('Bearer ', '');
@@ -651,10 +653,10 @@ mcpServer.tool('get-educational-institutions-suggests', `Educational institution
651
653
  text: z.string(),
652
654
  }, async (args, extra) => {
653
655
  try {
654
- const queryParams = args;
656
+ const otherParams = args;
655
657
  // Map camelCase to original parameter names for API request
656
658
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
657
- const mappedParams = { ...queryParams };
659
+ const mappedParams = { ...otherParams };
658
660
  // Extract authorization token from HTTP request headers
659
661
  const authorization = extra?.requestInfo?.headers?.authorization;
660
662
  const bearer = authorization?.replace('Bearer ', '');
@@ -675,10 +677,10 @@ mcpServer.tool('get-area-leaves-suggests', `Suggestions for all regions that are
675
677
  areaId: z.string().optional(),
676
678
  }, async (args, extra) => {
677
679
  try {
678
- const queryParams = args;
680
+ const otherParams = args;
679
681
  // Map camelCase to original parameter names for API request
680
682
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
681
- const mappedParams = { ...queryParams };
683
+ const mappedParams = { ...otherParams };
682
684
  if ('areaId' in mappedParams) {
683
685
  mappedParams['area_id'] = mappedParams['areaId'];
684
686
  delete mappedParams['areaId'];
@@ -702,10 +704,10 @@ mcpServer.tool('get-skill-set-suggests', `Key skills suggestions`, {
702
704
  text: z.string(),
703
705
  }, async (args, extra) => {
704
706
  try {
705
- const queryParams = args;
707
+ const otherParams = args;
706
708
  // Map camelCase to original parameter names for API request
707
709
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
708
- const mappedParams = { ...queryParams };
710
+ const mappedParams = { ...otherParams };
709
711
  // Extract authorization token from HTTP request headers
710
712
  const authorization = extra?.requestInfo?.headers?.authorization;
711
713
  const bearer = authorization?.replace('Bearer ', '');
@@ -725,10 +727,10 @@ mcpServer.tool('get-vacancy-positions-suggests', `Vacancy position suggestions`,
725
727
  text: z.string(),
726
728
  }, async (args, extra) => {
727
729
  try {
728
- const queryParams = args;
730
+ const otherParams = args;
729
731
  // Map camelCase to original parameter names for API request
730
732
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
731
- const mappedParams = { ...queryParams };
733
+ const mappedParams = { ...otherParams };
732
734
  // Extract authorization token from HTTP request headers
733
735
  const authorization = extra?.requestInfo?.headers?.authorization;
734
736
  const bearer = authorization?.replace('Bearer ', '');
@@ -748,10 +750,10 @@ mcpServer.tool('get-professional-roles-suggests', `Professional role suggestions
748
750
  text: z.string(),
749
751
  }, async (args, extra) => {
750
752
  try {
751
- const queryParams = args;
753
+ const otherParams = args;
752
754
  // Map camelCase to original parameter names for API request
753
755
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
754
- const mappedParams = { ...queryParams };
756
+ const mappedParams = { ...otherParams };
755
757
  // Extract authorization token from HTTP request headers
756
758
  const authorization = extra?.requestInfo?.headers?.authorization;
757
759
  const bearer = authorization?.replace('Bearer ', '');
@@ -771,10 +773,10 @@ mcpServer.tool('get-resume-search-keywords-suggests', `Suggestions for resume se
771
773
  text: z.string(),
772
774
  }, async (args, extra) => {
773
775
  try {
774
- const queryParams = args;
776
+ const otherParams = args;
775
777
  // Map camelCase to original parameter names for API request
776
778
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
777
- const mappedParams = { ...queryParams };
779
+ const mappedParams = { ...otherParams };
778
780
  // Extract authorization token from HTTP request headers
779
781
  const authorization = extra?.requestInfo?.headers?.authorization;
780
782
  const bearer = authorization?.replace('Bearer ', '');
@@ -796,10 +798,10 @@ mcpServer.tool('get-areas-suggests', `Suggestions for all regions`, {
796
798
  includeParent: z.string().optional(),
797
799
  }, async (args, extra) => {
798
800
  try {
799
- const queryParams = args;
801
+ const otherParams = args;
800
802
  // Map camelCase to original parameter names for API request
801
803
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
802
- const mappedParams = { ...queryParams };
804
+ const mappedParams = { ...otherParams };
803
805
  if ('areaId' in mappedParams) {
804
806
  mappedParams['area_id'] = mappedParams['areaId'];
805
807
  delete mappedParams['areaId'];
@@ -827,10 +829,10 @@ mcpServer.tool('get-vacancy-search-keywords', `Suggestions for vacancy search ke
827
829
  text: z.string(),
828
830
  }, async (args, extra) => {
829
831
  try {
830
- const queryParams = args;
832
+ const otherParams = args;
831
833
  // Map camelCase to original parameter names for API request
832
834
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
833
- const mappedParams = { ...queryParams };
835
+ const mappedParams = { ...otherParams };
834
836
  // Extract authorization token from HTTP request headers
835
837
  const authorization = extra?.requestInfo?.headers?.authorization;
836
838
  const bearer = authorization?.replace('Bearer ', '');
@@ -850,10 +852,10 @@ mcpServer.tool('get-fields-of-study-suggestions', `Specialization suggestions`,
850
852
  text: z.string(),
851
853
  }, async (args, extra) => {
852
854
  try {
853
- const queryParams = args;
855
+ const otherParams = args;
854
856
  // Map camelCase to original parameter names for API request
855
857
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
856
- const mappedParams = { ...queryParams };
858
+ const mappedParams = { ...otherParams };
857
859
  // Extract authorization token from HTTP request headers
858
860
  const authorization = extra?.requestInfo?.headers?.authorization;
859
861
  const bearer = authorization?.replace('Bearer ', '');
@@ -873,10 +875,10 @@ mcpServer.tool('get-registered-companies-suggests', `Organization suggestions`,
873
875
  text: z.string(),
874
876
  }, async (args, extra) => {
875
877
  try {
876
- const queryParams = args;
878
+ const otherParams = args;
877
879
  // Map camelCase to original parameter names for API request
878
880
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
879
- const mappedParams = { ...queryParams };
881
+ const mappedParams = { ...otherParams };
880
882
  // Extract authorization token from HTTP request headers
881
883
  const authorization = extra?.requestInfo?.headers?.authorization;
882
884
  const bearer = authorization?.replace('Bearer ', '');
@@ -896,11 +898,11 @@ mcpServer.tool('read-resume-profile', `Получение схемы резюм
896
898
  resumeId: z.string(),
897
899
  }, async (args, extra) => {
898
900
  try {
899
- const { resumeId, ...queryParams } = args;
901
+ const { resumeId, ...otherParams } = args;
900
902
  const url = `/resume_profile/${resumeId}`;
901
903
  // Map camelCase to original parameter names for API request
902
904
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
903
- const mappedParams = { ...queryParams };
905
+ const mappedParams = { ...otherParams };
904
906
  if ('resumeId' in mappedParams) {
905
907
  mappedParams['resume_id'] = mappedParams['resumeId'];
906
908
  delete mappedParams['resumeId'];
@@ -922,13 +924,14 @@ mcpServer.tool('read-resume-profile', `Получение схемы резюм
922
924
  });
923
925
  mcpServer.tool('update-resume-profile', `Обновление резюме-профиля соискателя`, {
924
926
  resumeId: z.string(),
927
+ requestData: z.record(z.any()).optional(),
925
928
  }, async (args, extra) => {
926
929
  try {
927
- const { resumeId, ...requestData } = args;
930
+ const { resumeId, ...otherParams } = args;
928
931
  const url = `/resume_profile/${resumeId}`;
929
932
  // Map camelCase to original parameter names for API request
930
933
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
931
- const mappedParams = { ...requestData };
934
+ const mappedParams = args.requestData || { ...otherParams };
932
935
  if ('resumeId' in mappedParams) {
933
936
  mappedParams['resume_id'] = mappedParams['resumeId'];
934
937
  delete mappedParams['resumeId'];
@@ -948,12 +951,14 @@ mcpServer.tool('update-resume-profile', `Обновление резюме-пр
948
951
  return handleError(error);
949
952
  }
950
953
  });
951
- mcpServer.tool('create-resume-profile', `Создание резюме-профиля соискателя`, {}, async (args, extra) => {
954
+ mcpServer.tool('create-resume-profile', `Создание резюме-профиля соискателя`, {
955
+ requestData: z.record(z.any()).optional(),
956
+ }, async (args, extra) => {
952
957
  try {
953
- const requestData = args;
958
+ const otherParams = args;
954
959
  // Map camelCase to original parameter names for API request
955
960
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
956
- const mappedParams = { ...requestData };
961
+ const mappedParams = args.requestData || { ...otherParams };
957
962
  // Extract authorization token from HTTP request headers
958
963
  const authorization = extra?.requestInfo?.headers?.authorization;
959
964
  const bearer = authorization?.replace('Bearer ', '');
@@ -971,10 +976,10 @@ mcpServer.tool('create-resume-profile', `Создание резюме-проф
971
976
  });
972
977
  mcpServer.tool('get-resume-profile-dictionaries', `Получение cловарей резюме-профиля`, {}, async (args, extra) => {
973
978
  try {
974
- const queryParams = args;
979
+ const otherParams = args;
975
980
  // Map camelCase to original parameter names for API request
976
981
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
977
- const mappedParams = { ...queryParams };
982
+ const mappedParams = { ...otherParams };
978
983
  // Extract authorization token from HTTP request headers
979
984
  const authorization = extra?.requestInfo?.headers?.authorization;
980
985
  const bearer = authorization?.replace('Bearer ', '');
@@ -994,11 +999,11 @@ mcpServer.tool('get-payable-api-actions', `Information about active API services
994
999
  employerId: z.string(),
995
1000
  }, async (args, extra) => {
996
1001
  try {
997
- const { employerId, ...queryParams } = args;
1002
+ const { employerId, ...otherParams } = args;
998
1003
  const url = `/employers/${employerId}/services/payable_api_actions/active`;
999
1004
  // Map camelCase to original parameter names for API request
1000
1005
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1001
- const mappedParams = { ...queryParams };
1006
+ const mappedParams = { ...otherParams };
1002
1007
  if ('employerId' in mappedParams) {
1003
1008
  mappedParams['employer_id'] = mappedParams['employerId'];
1004
1009
  delete mappedParams['employerId'];
@@ -1023,11 +1028,11 @@ mcpServer.tool('get-payable-api-method-access', `Checking access to the paid met
1023
1028
  managerId: z.string(),
1024
1029
  }, async (args, extra) => {
1025
1030
  try {
1026
- const { employerId, managerId, ...queryParams } = args;
1031
+ const { employerId, managerId, ...otherParams } = args;
1027
1032
  const url = `/employers/${employerId}/managers/${managerId}/method_access`;
1028
1033
  // Map camelCase to original parameter names for API request
1029
1034
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1030
- const mappedParams = { ...queryParams };
1035
+ const mappedParams = { ...otherParams };
1031
1036
  if ('employerId' in mappedParams) {
1032
1037
  mappedParams['employer_id'] = mappedParams['employerId'];
1033
1038
  delete mappedParams['employerId'];
@@ -1056,10 +1061,10 @@ mcpServer.tool('get-saved-vacancy-searches', `List of saved vacancy searches`, {
1056
1061
  perPage: z.string().optional(),
1057
1062
  }, async (args, extra) => {
1058
1063
  try {
1059
- const queryParams = args;
1064
+ const otherParams = args;
1060
1065
  // Map camelCase to original parameter names for API request
1061
1066
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1062
- const mappedParams = { ...queryParams };
1067
+ const mappedParams = { ...otherParams };
1063
1068
  if ('perPage' in mappedParams) {
1064
1069
  mappedParams['per_page'] = mappedParams['perPage'];
1065
1070
  delete mappedParams['perPage'];
@@ -1115,10 +1120,10 @@ mcpServer.tool('create-saved-vacancy-search', `Creating new saved vacancy search
1115
1120
  partTime: z.string().optional(),
1116
1121
  }, async (args, extra) => {
1117
1122
  try {
1118
- const requestData = args;
1123
+ const otherParams = args;
1119
1124
  // Map camelCase to original parameter names for API request
1120
1125
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1121
- const mappedParams = { ...requestData };
1126
+ const mappedParams = args.requestData || { ...otherParams };
1122
1127
  if ('perPage' in mappedParams) {
1123
1128
  mappedParams['per_page'] = mappedParams['perPage'];
1124
1129
  delete mappedParams['perPage'];
@@ -1212,11 +1217,11 @@ mcpServer.tool('get-vacancy-visitors', `Vacancy visitors`, {
1212
1217
  perPage: z.string().optional(),
1213
1218
  }, async (args, extra) => {
1214
1219
  try {
1215
- const { vacancyId, ...queryParams } = args;
1220
+ const { vacancyId, ...otherParams } = args;
1216
1221
  const url = `/vacancies/${vacancyId}/visitors`;
1217
1222
  // Map camelCase to original parameter names for API request
1218
1223
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1219
- const mappedParams = { ...queryParams };
1224
+ const mappedParams = { ...otherParams };
1220
1225
  if ('vacancyId' in mappedParams) {
1221
1226
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1222
1227
  delete mappedParams['vacancyId'];
@@ -1244,11 +1249,11 @@ mcpServer.tool('get-vacancy', `View a vacancy`, {
1244
1249
  vacancyId: z.string(),
1245
1250
  }, async (args, extra) => {
1246
1251
  try {
1247
- const { vacancyId, ...queryParams } = args;
1252
+ const { vacancyId, ...otherParams } = args;
1248
1253
  const url = `/vacancies/${vacancyId}`;
1249
1254
  // Map camelCase to original parameter names for API request
1250
1255
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1251
- const mappedParams = { ...queryParams };
1256
+ const mappedParams = { ...otherParams };
1252
1257
  if ('vacancyId' in mappedParams) {
1253
1258
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1254
1259
  delete mappedParams['vacancyId'];
@@ -1272,13 +1277,14 @@ mcpServer.tool('edit-vacancy', `Editing vacancies`, {
1272
1277
  vacancyId: z.string(),
1273
1278
  ignoreDuplicates: z.string().optional(),
1274
1279
  ignoreReplacementWarning: z.string().optional(),
1280
+ requestData: z.record(z.any()).optional(),
1275
1281
  }, async (args, extra) => {
1276
1282
  try {
1277
- const { vacancyId, ...requestData } = args;
1283
+ const { vacancyId, ...otherParams } = args;
1278
1284
  const url = `/vacancies/${vacancyId}`;
1279
1285
  // Map camelCase to original parameter names for API request
1280
1286
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1281
- const mappedParams = { ...requestData };
1287
+ const mappedParams = args.requestData || { ...otherParams };
1282
1288
  if ('vacancyId' in mappedParams) {
1283
1289
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1284
1290
  delete mappedParams['vacancyId'];
@@ -1308,10 +1314,10 @@ mcpServer.tool('edit-vacancy', `Editing vacancies`, {
1308
1314
  });
1309
1315
  mcpServer.tool('get-blacklisted-vacancies', `List of hidden vacancies`, {}, async (args, extra) => {
1310
1316
  try {
1311
- const queryParams = args;
1317
+ const otherParams = args;
1312
1318
  // Map camelCase to original parameter names for API request
1313
1319
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1314
- const mappedParams = { ...queryParams };
1320
+ const mappedParams = { ...otherParams };
1315
1321
  // Extract authorization token from HTTP request headers
1316
1322
  const authorization = extra?.requestInfo?.headers?.authorization;
1317
1323
  const bearer = authorization?.replace('Bearer ', '');
@@ -1329,12 +1335,13 @@ mcpServer.tool('get-blacklisted-vacancies', `List of hidden vacancies`, {}, asyn
1329
1335
  });
1330
1336
  mcpServer.tool('publish-vacancy', `Publishing job vacancies`, {
1331
1337
  ignoreDuplicates: z.string().optional(),
1338
+ requestData: z.record(z.any()).optional(),
1332
1339
  }, async (args, extra) => {
1333
1340
  try {
1334
- const requestData = args;
1341
+ const otherParams = args;
1335
1342
  // Map camelCase to original parameter names for API request
1336
1343
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1337
- const mappedParams = { ...requestData };
1344
+ const mappedParams = args.requestData || { ...otherParams };
1338
1345
  if ('ignoreDuplicates' in mappedParams) {
1339
1346
  mappedParams['ignore_duplicates'] = mappedParams['ignoreDuplicates'];
1340
1347
  delete mappedParams['ignoreDuplicates'];
@@ -1396,10 +1403,10 @@ mcpServer.tool('get-vacancies', `Search for vacancies`, {
1396
1403
  education: z.string().optional(),
1397
1404
  }, async (args, extra) => {
1398
1405
  try {
1399
- const queryParams = args;
1406
+ const otherParams = args;
1400
1407
  // Map camelCase to original parameter names for API request
1401
1408
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1402
- const mappedParams = { ...queryParams };
1409
+ const mappedParams = { ...otherParams };
1403
1410
  if ('perPage' in mappedParams) {
1404
1411
  mappedParams['per_page'] = mappedParams['perPage'];
1405
1412
  delete mappedParams['perPage'];
@@ -1548,11 +1555,11 @@ mcpServer.tool('get-vacancies-related-to-vacancy', `Search for vacancies related
1548
1555
  partTime: z.string().optional(),
1549
1556
  }, async (args, extra) => {
1550
1557
  try {
1551
- const { vacancyId, ...queryParams } = args;
1558
+ const { vacancyId, ...otherParams } = args;
1552
1559
  const url = `/vacancies/${vacancyId}/related_vacancies`;
1553
1560
  // Map camelCase to original parameter names for API request
1554
1561
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1555
- const mappedParams = { ...queryParams };
1562
+ const mappedParams = { ...otherParams };
1556
1563
  if ('vacancyId' in mappedParams) {
1557
1564
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1558
1565
  delete mappedParams['vacancyId'];
@@ -1652,11 +1659,11 @@ mcpServer.tool('get-saved-vacancy-search', `Obtaining single saved vacancy searc
1652
1659
  id: z.string(),
1653
1660
  }, async (args, extra) => {
1654
1661
  try {
1655
- const { id, ...queryParams } = args;
1662
+ const { id, ...otherParams } = args;
1656
1663
  const url = `/saved_searches/vacancies/${id}`;
1657
1664
  // Map camelCase to original parameter names for API request
1658
1665
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1659
- const mappedParams = { ...queryParams };
1666
+ const mappedParams = { ...otherParams };
1660
1667
  // Extract authorization token from HTTP request headers
1661
1668
  const authorization = extra?.requestInfo?.headers?.authorization;
1662
1669
  const bearer = authorization?.replace('Bearer ', '');
@@ -1678,11 +1685,11 @@ mcpServer.tool('update-saved-vacancy-search', `Updating saved vacancy search`, {
1678
1685
  subscription: z.string().optional(),
1679
1686
  }, async (args, extra) => {
1680
1687
  try {
1681
- const { id, ...requestData } = args;
1688
+ const { id, ...otherParams } = args;
1682
1689
  const url = `/saved_searches/vacancies/${id}`;
1683
1690
  // Map camelCase to original parameter names for API request
1684
1691
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1685
- const mappedParams = { ...requestData };
1692
+ const mappedParams = args.requestData || { ...otherParams };
1686
1693
  // Extract authorization token from HTTP request headers
1687
1694
  const authorization = extra?.requestInfo?.headers?.authorization;
1688
1695
  const bearer = authorization?.replace('Bearer ', '');
@@ -1702,11 +1709,11 @@ mcpServer.tool('delete-saved-vacancy-search', `Deleting saved vacancy search`, {
1702
1709
  id: z.string(),
1703
1710
  }, async (args, extra) => {
1704
1711
  try {
1705
- const { id, ...queryParams } = args;
1712
+ const { id, ...otherParams } = args;
1706
1713
  const url = `/saved_searches/vacancies/${id}`;
1707
1714
  // Map camelCase to original parameter names for API request
1708
1715
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1709
- const mappedParams = { ...queryParams };
1716
+ const mappedParams = { ...otherParams };
1710
1717
  // Extract authorization token from HTTP request headers
1711
1718
  const authorization = extra?.requestInfo?.headers?.authorization;
1712
1719
  const bearer = authorization?.replace('Bearer ', '');
@@ -1759,11 +1766,11 @@ mcpServer.tool('get-vacancies-similar-to-vacancy', `Search for vacancies similar
1759
1766
  partTime: z.string().optional(),
1760
1767
  }, async (args, extra) => {
1761
1768
  try {
1762
- const { vacancyId, ...queryParams } = args;
1769
+ const { vacancyId, ...otherParams } = args;
1763
1770
  const url = `/vacancies/${vacancyId}/similar_vacancies`;
1764
1771
  // Map camelCase to original parameter names for API request
1765
1772
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1766
- const mappedParams = { ...queryParams };
1773
+ const mappedParams = { ...otherParams };
1767
1774
  if ('vacancyId' in mappedParams) {
1768
1775
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1769
1776
  delete mappedParams['vacancyId'];
@@ -1863,11 +1870,11 @@ mcpServer.tool('get-vacancy-upgrade-list', `List of vacancy upgrades`, {
1863
1870
  vacancyId: z.string(),
1864
1871
  }, async (args, extra) => {
1865
1872
  try {
1866
- const { vacancyId, ...queryParams } = args;
1873
+ const { vacancyId, ...otherParams } = args;
1867
1874
  const url = `/vacancies/${vacancyId}/upgrades`;
1868
1875
  // Map camelCase to original parameter names for API request
1869
1876
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1870
- const mappedParams = { ...queryParams };
1877
+ const mappedParams = { ...otherParams };
1871
1878
  if ('vacancyId' in mappedParams) {
1872
1879
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
1873
1880
  delete mappedParams['vacancyId'];
@@ -1924,11 +1931,11 @@ mcpServer.tool('get-vacancies-similar-to-resume', `Search for vacancies similar
1924
1931
  partTime: z.string().optional(),
1925
1932
  }, async (args, extra) => {
1926
1933
  try {
1927
- const { resumeId, ...queryParams } = args;
1934
+ const { resumeId, ...otherParams } = args;
1928
1935
  const url = `/resumes/${resumeId}/similar_vacancies`;
1929
1936
  // Map camelCase to original parameter names for API request
1930
1937
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1931
- const mappedParams = { ...queryParams };
1938
+ const mappedParams = { ...otherParams };
1932
1939
  if ('resumeId' in mappedParams) {
1933
1940
  mappedParams['resume_id'] = mappedParams['resumeId'];
1934
1941
  delete mappedParams['resumeId'];
@@ -2029,10 +2036,10 @@ mcpServer.tool('get-favorite-vacancies', `List of favorited vacancies`, {
2029
2036
  perPage: z.string().optional(),
2030
2037
  }, async (args, extra) => {
2031
2038
  try {
2032
- const queryParams = args;
2039
+ const otherParams = args;
2033
2040
  // Map camelCase to original parameter names for API request
2034
2041
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2035
- const mappedParams = { ...queryParams };
2042
+ const mappedParams = { ...otherParams };
2036
2043
  if ('perPage' in mappedParams) {
2037
2044
  mappedParams['per_page'] = mappedParams['perPage'];
2038
2045
  delete mappedParams['perPage'];
@@ -2056,11 +2063,11 @@ mcpServer.tool('add-vacancy-to-blacklisted', `Adding a vacancy in the blacklist`
2056
2063
  vacancyId: z.string(),
2057
2064
  }, async (args, extra) => {
2058
2065
  try {
2059
- const { vacancyId, ...requestData } = args;
2066
+ const { vacancyId, ...otherParams } = args;
2060
2067
  const url = `/vacancies/blacklisted/${vacancyId}`;
2061
2068
  // Map camelCase to original parameter names for API request
2062
2069
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2063
- const mappedParams = { ...requestData };
2070
+ const mappedParams = args.requestData || { ...otherParams };
2064
2071
  if ('vacancyId' in mappedParams) {
2065
2072
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2066
2073
  delete mappedParams['vacancyId'];
@@ -2084,11 +2091,11 @@ mcpServer.tool('delete-vacancy-from-blacklisted', `Deleting a vacancy from the b
2084
2091
  vacancyId: z.string(),
2085
2092
  }, async (args, extra) => {
2086
2093
  try {
2087
- const { vacancyId, ...queryParams } = args;
2094
+ const { vacancyId, ...otherParams } = args;
2088
2095
  const url = `/vacancies/blacklisted/${vacancyId}`;
2089
2096
  // Map camelCase to original parameter names for API request
2090
2097
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2091
- const mappedParams = { ...queryParams };
2098
+ const mappedParams = { ...otherParams };
2092
2099
  if ('vacancyId' in mappedParams) {
2093
2100
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2094
2101
  delete mappedParams['vacancyId'];
@@ -2119,11 +2126,11 @@ mcpServer.tool('get-active-vacancy-list', `View a published vacancy list`, {
2119
2126
  orderBy: z.string().optional(),
2120
2127
  }, async (args, extra) => {
2121
2128
  try {
2122
- const { employerId, ...queryParams } = args;
2129
+ const { employerId, ...otherParams } = args;
2123
2130
  const url = `/employers/${employerId}/vacancies/active`;
2124
2131
  // Map camelCase to original parameter names for API request
2125
2132
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2126
- const mappedParams = { ...queryParams };
2133
+ const mappedParams = { ...otherParams };
2127
2134
  if ('employerId' in mappedParams) {
2128
2135
  mappedParams['employer_id'] = mappedParams['employerId'];
2129
2136
  delete mappedParams['employerId'];
@@ -2167,11 +2174,11 @@ mcpServer.tool('get-hidden-vacancies', `Deleted vacancy list`, {
2167
2174
  page: z.string().optional(),
2168
2175
  }, async (args, extra) => {
2169
2176
  try {
2170
- const { employerId, ...queryParams } = args;
2177
+ const { employerId, ...otherParams } = args;
2171
2178
  const url = `/employers/${employerId}/vacancies/hidden`;
2172
2179
  // Map camelCase to original parameter names for API request
2173
2180
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2174
- const mappedParams = { ...queryParams };
2181
+ const mappedParams = { ...otherParams };
2175
2182
  if ('employerId' in mappedParams) {
2176
2183
  mappedParams['employer_id'] = mappedParams['employerId'];
2177
2184
  delete mappedParams['employerId'];
@@ -2208,11 +2215,11 @@ mcpServer.tool('add-vacancy-to-hidden', `Deleting vacancies`, {
2208
2215
  vacancyId: z.string(),
2209
2216
  }, async (args, extra) => {
2210
2217
  try {
2211
- const { employerId, vacancyId, ...requestData } = args;
2218
+ const { employerId, vacancyId, ...otherParams } = args;
2212
2219
  const url = `/employers/${employerId}/vacancies/hidden/${vacancyId}`;
2213
2220
  // Map camelCase to original parameter names for API request
2214
2221
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2215
- const mappedParams = { ...requestData };
2222
+ const mappedParams = args.requestData || { ...otherParams };
2216
2223
  if ('employerId' in mappedParams) {
2217
2224
  mappedParams['employer_id'] = mappedParams['employerId'];
2218
2225
  delete mappedParams['employerId'];
@@ -2241,11 +2248,11 @@ mcpServer.tool('restore-vacancy-from-hidden', `Restoring deleted vacancies`, {
2241
2248
  vacancyId: z.string(),
2242
2249
  }, async (args, extra) => {
2243
2250
  try {
2244
- const { employerId, vacancyId, ...queryParams } = args;
2251
+ const { employerId, vacancyId, ...otherParams } = args;
2245
2252
  const url = `/employers/${employerId}/vacancies/hidden/${vacancyId}`;
2246
2253
  // Map camelCase to original parameter names for API request
2247
2254
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2248
- const mappedParams = { ...queryParams };
2255
+ const mappedParams = { ...otherParams };
2249
2256
  if ('employerId' in mappedParams) {
2250
2257
  mappedParams['employer_id'] = mappedParams['employerId'];
2251
2258
  delete mappedParams['employerId'];
@@ -2271,10 +2278,10 @@ mcpServer.tool('restore-vacancy-from-hidden', `Restoring deleted vacancies`, {
2271
2278
  });
2272
2279
  mcpServer.tool('get-vacancy-conditions', `Conditions for filling out fields when publishing and editing vacancies`, {}, async (args, extra) => {
2273
2280
  try {
2274
- const queryParams = args;
2281
+ const otherParams = args;
2275
2282
  // Map camelCase to original parameter names for API request
2276
2283
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2277
- const mappedParams = { ...queryParams };
2284
+ const mappedParams = { ...otherParams };
2278
2285
  // Extract authorization token from HTTP request headers
2279
2286
  const authorization = extra?.requestInfo?.headers?.authorization;
2280
2287
  const bearer = authorization?.replace('Bearer ', '');
@@ -2294,11 +2301,11 @@ mcpServer.tool('get-prolongation-vacancy-info', `Information about vacancy prolo
2294
2301
  vacancyId: z.string(),
2295
2302
  }, async (args, extra) => {
2296
2303
  try {
2297
- const { vacancyId, ...queryParams } = args;
2304
+ const { vacancyId, ...otherParams } = args;
2298
2305
  const url = `/vacancies/${vacancyId}/prolongate`;
2299
2306
  // Map camelCase to original parameter names for API request
2300
2307
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2301
- const mappedParams = { ...queryParams };
2308
+ const mappedParams = { ...otherParams };
2302
2309
  if ('vacancyId' in mappedParams) {
2303
2310
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2304
2311
  delete mappedParams['vacancyId'];
@@ -2322,11 +2329,11 @@ mcpServer.tool('vacancy-prolongation', `Vacancy prolongation`, {
2322
2329
  vacancyId: z.string(),
2323
2330
  }, async (args, extra) => {
2324
2331
  try {
2325
- const { vacancyId, ...requestData } = args;
2332
+ const { vacancyId, ...otherParams } = args;
2326
2333
  const url = `/vacancies/${vacancyId}/prolongate`;
2327
2334
  // Map camelCase to original parameter names for API request
2328
2335
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2329
- const mappedParams = { ...requestData };
2336
+ const mappedParams = args.requestData || { ...otherParams };
2330
2337
  if ('vacancyId' in mappedParams) {
2331
2338
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2332
2339
  delete mappedParams['vacancyId'];
@@ -2351,11 +2358,11 @@ mcpServer.tool('add-vacancy-to-archive', `Archiving vacancies`, {
2351
2358
  vacancyId: z.string(),
2352
2359
  }, async (args, extra) => {
2353
2360
  try {
2354
- const { employerId, vacancyId, ...requestData } = args;
2361
+ const { employerId, vacancyId, ...otherParams } = args;
2355
2362
  const url = `/employers/${employerId}/vacancies/archived/${vacancyId}`;
2356
2363
  // Map camelCase to original parameter names for API request
2357
2364
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2358
- const mappedParams = { ...requestData };
2365
+ const mappedParams = args.requestData || { ...otherParams };
2359
2366
  if ('employerId' in mappedParams) {
2360
2367
  mappedParams['employer_id'] = mappedParams['employerId'];
2361
2368
  delete mappedParams['employerId'];
@@ -2383,11 +2390,11 @@ mcpServer.tool('get-pref-negotiations-order', `Viewing preferred options for sor
2383
2390
  id: z.string(),
2384
2391
  }, async (args, extra) => {
2385
2392
  try {
2386
- const { id, ...queryParams } = args;
2393
+ const { id, ...otherParams } = args;
2387
2394
  const url = `/vacancies/${id}/preferred_negotiations_order`;
2388
2395
  // Map camelCase to original parameter names for API request
2389
2396
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2390
- const mappedParams = { ...queryParams };
2397
+ const mappedParams = { ...otherParams };
2391
2398
  // Extract authorization token from HTTP request headers
2392
2399
  const authorization = extra?.requestInfo?.headers?.authorization;
2393
2400
  const bearer = authorization?.replace('Bearer ', '');
@@ -2407,11 +2414,11 @@ mcpServer.tool('put-pref-negotiations-order', `Changing preferred options for so
2407
2414
  id: z.string(),
2408
2415
  }, async (args, extra) => {
2409
2416
  try {
2410
- const { id, ...requestData } = args;
2417
+ const { id, ...otherParams } = args;
2411
2418
  const url = `/vacancies/${id}/preferred_negotiations_order`;
2412
2419
  // Map camelCase to original parameter names for API request
2413
2420
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2414
- const mappedParams = { ...requestData };
2421
+ const mappedParams = args.requestData || { ...otherParams };
2415
2422
  // Extract authorization token from HTTP request headers
2416
2423
  const authorization = extra?.requestInfo?.headers?.authorization;
2417
2424
  const bearer = authorization?.replace('Bearer ', '');
@@ -2431,11 +2438,11 @@ mcpServer.tool('add-vacancy-to-favorite', `Add a vacancy in favorited`, {
2431
2438
  vacancyId: z.string(),
2432
2439
  }, async (args, extra) => {
2433
2440
  try {
2434
- const { vacancyId, ...requestData } = args;
2441
+ const { vacancyId, ...otherParams } = args;
2435
2442
  const url = `/vacancies/favorited/${vacancyId}`;
2436
2443
  // Map camelCase to original parameter names for API request
2437
2444
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2438
- const mappedParams = { ...requestData };
2445
+ const mappedParams = args.requestData || { ...otherParams };
2439
2446
  if ('vacancyId' in mappedParams) {
2440
2447
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2441
2448
  delete mappedParams['vacancyId'];
@@ -2459,11 +2466,11 @@ mcpServer.tool('delete-vacancy-from-favorite', `Delete a vacancy from favorited`
2459
2466
  vacancyId: z.string(),
2460
2467
  }, async (args, extra) => {
2461
2468
  try {
2462
- const { vacancyId, ...queryParams } = args;
2469
+ const { vacancyId, ...otherParams } = args;
2463
2470
  const url = `/vacancies/favorited/${vacancyId}`;
2464
2471
  // Map camelCase to original parameter names for API request
2465
2472
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2466
- const mappedParams = { ...queryParams };
2473
+ const mappedParams = { ...otherParams };
2467
2474
  if ('vacancyId' in mappedParams) {
2468
2475
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2469
2476
  delete mappedParams['vacancyId'];
@@ -2488,11 +2495,11 @@ mcpServer.tool('get-available-vacancy-types', `Possible options available to cur
2488
2495
  managerId: z.string(),
2489
2496
  }, async (args, extra) => {
2490
2497
  try {
2491
- const { employerId, managerId, ...queryParams } = args;
2498
+ const { employerId, managerId, ...otherParams } = args;
2492
2499
  const url = `/employers/${employerId}/managers/${managerId}/vacancies/available_types`;
2493
2500
  // Map camelCase to original parameter names for API request
2494
2501
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2495
- const mappedParams = { ...queryParams };
2502
+ const mappedParams = { ...otherParams };
2496
2503
  if ('employerId' in mappedParams) {
2497
2504
  mappedParams['employer_id'] = mappedParams['employerId'];
2498
2505
  delete mappedParams['employerId'];
@@ -2520,11 +2527,11 @@ mcpServer.tool('get-vacancy-stats', `Vacancy statistics`, {
2520
2527
  vacancyId: z.string(),
2521
2528
  }, async (args, extra) => {
2522
2529
  try {
2523
- const { vacancyId, ...queryParams } = args;
2530
+ const { vacancyId, ...otherParams } = args;
2524
2531
  const url = `/vacancies/${vacancyId}/stats`;
2525
2532
  // Map camelCase to original parameter names for API request
2526
2533
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2527
- const mappedParams = { ...queryParams };
2534
+ const mappedParams = { ...otherParams };
2528
2535
  if ('vacancyId' in mappedParams) {
2529
2536
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
2530
2537
  delete mappedParams['vacancyId'];
@@ -2552,11 +2559,11 @@ mcpServer.tool('get-archived-vacancies', `Archived vacancy list`, {
2552
2559
  page: z.string().optional(),
2553
2560
  }, async (args, extra) => {
2554
2561
  try {
2555
- const { employerId, ...queryParams } = args;
2562
+ const { employerId, ...otherParams } = args;
2556
2563
  const url = `/employers/${employerId}/vacancies/archived`;
2557
2564
  // Map camelCase to original parameter names for API request
2558
2565
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2559
- const mappedParams = { ...queryParams };
2566
+ const mappedParams = { ...otherParams };
2560
2567
  if ('employerId' in mappedParams) {
2561
2568
  mappedParams['employer_id'] = mappedParams['employerId'];
2562
2569
  delete mappedParams['employerId'];
@@ -2590,10 +2597,10 @@ mcpServer.tool('get-archived-vacancies', `Archived vacancy list`, {
2590
2597
  });
2591
2598
  mcpServer.tool('get-artifacts-portfolio-conditions', `Conditions for uploading portfolio`, {}, async (args, extra) => {
2592
2599
  try {
2593
- const queryParams = args;
2600
+ const otherParams = args;
2594
2601
  // Map camelCase to original parameter names for API request
2595
2602
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2596
- const mappedParams = { ...queryParams };
2603
+ const mappedParams = { ...otherParams };
2597
2604
  // Extract authorization token from HTTP request headers
2598
2605
  const authorization = extra?.requestInfo?.headers?.authorization;
2599
2606
  const bearer = authorization?.replace('Bearer ', '');
@@ -2613,11 +2620,11 @@ mcpServer.tool('edit-artifact', `Editing an artifact`, {
2613
2620
  id: z.string(),
2614
2621
  }, async (args, extra) => {
2615
2622
  try {
2616
- const { id, ...requestData } = args;
2623
+ const { id, ...otherParams } = args;
2617
2624
  const url = `/artifacts/${id}`;
2618
2625
  // Map camelCase to original parameter names for API request
2619
2626
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2620
- const mappedParams = { ...requestData };
2627
+ const mappedParams = args.requestData || { ...otherParams };
2621
2628
  // Extract authorization token from HTTP request headers
2622
2629
  const authorization = extra?.requestInfo?.headers?.authorization;
2623
2630
  const bearer = authorization?.replace('Bearer ', '');
@@ -2637,11 +2644,11 @@ mcpServer.tool('delete-artifact', `Deleting an artifact`, {
2637
2644
  id: z.string(),
2638
2645
  }, async (args, extra) => {
2639
2646
  try {
2640
- const { id, ...queryParams } = args;
2647
+ const { id, ...otherParams } = args;
2641
2648
  const url = `/artifacts/${id}`;
2642
2649
  // Map camelCase to original parameter names for API request
2643
2650
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2644
- const mappedParams = { ...queryParams };
2651
+ const mappedParams = { ...otherParams };
2645
2652
  // Extract authorization token from HTTP request headers
2646
2653
  const authorization = extra?.requestInfo?.headers?.authorization;
2647
2654
  const bearer = authorization?.replace('Bearer ', '');
@@ -2659,10 +2666,10 @@ mcpServer.tool('delete-artifact', `Deleting an artifact`, {
2659
2666
  });
2660
2667
  mcpServer.tool('load-artifact', `Uploading an artifact`, {}, async (args, extra) => {
2661
2668
  try {
2662
- const requestData = args;
2669
+ const otherParams = args;
2663
2670
  // Map camelCase to original parameter names for API request
2664
2671
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2665
- const mappedParams = { ...requestData };
2672
+ const mappedParams = args.requestData || { ...otherParams };
2666
2673
  // Extract authorization token from HTTP request headers
2667
2674
  const authorization = extra?.requestInfo?.headers?.authorization;
2668
2675
  const bearer = authorization?.replace('Bearer ', '');
@@ -2680,10 +2687,10 @@ mcpServer.tool('load-artifact', `Uploading an artifact`, {}, async (args, extra)
2680
2687
  });
2681
2688
  mcpServer.tool('get-artifacts-portfolio', `Getting portfolios`, {}, async (args, extra) => {
2682
2689
  try {
2683
- const queryParams = args;
2690
+ const otherParams = args;
2684
2691
  // Map camelCase to original parameter names for API request
2685
2692
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2686
- const mappedParams = { ...queryParams };
2693
+ const mappedParams = { ...otherParams };
2687
2694
  // Extract authorization token from HTTP request headers
2688
2695
  const authorization = extra?.requestInfo?.headers?.authorization;
2689
2696
  const bearer = authorization?.replace('Bearer ', '');
@@ -2701,10 +2708,10 @@ mcpServer.tool('get-artifacts-portfolio', `Getting portfolios`, {}, async (args,
2701
2708
  });
2702
2709
  mcpServer.tool('get-artifact-photos-conditions', `Conditions for uploading photos`, {}, async (args, extra) => {
2703
2710
  try {
2704
- const queryParams = args;
2711
+ const otherParams = args;
2705
2712
  // Map camelCase to original parameter names for API request
2706
2713
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2707
- const mappedParams = { ...queryParams };
2714
+ const mappedParams = { ...otherParams };
2708
2715
  // Extract authorization token from HTTP request headers
2709
2716
  const authorization = extra?.requestInfo?.headers?.authorization;
2710
2717
  const bearer = authorization?.replace('Bearer ', '');
@@ -2722,10 +2729,10 @@ mcpServer.tool('get-artifact-photos-conditions', `Conditions for uploading photo
2722
2729
  });
2723
2730
  mcpServer.tool('get-artifact-photos', `Getting photos`, {}, async (args, extra) => {
2724
2731
  try {
2725
- const queryParams = args;
2732
+ const otherParams = args;
2726
2733
  // Map camelCase to original parameter names for API request
2727
2734
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2728
- const mappedParams = { ...queryParams };
2735
+ const mappedParams = { ...otherParams };
2729
2736
  // Extract authorization token from HTTP request headers
2730
2737
  const authorization = extra?.requestInfo?.headers?.authorization;
2731
2738
  const bearer = authorization?.replace('Bearer ', '');
@@ -2743,10 +2750,10 @@ mcpServer.tool('get-artifact-photos', `Getting photos`, {}, async (args, extra)
2743
2750
  });
2744
2751
  mcpServer.tool('get-dictionaries', `Directories of fields`, {}, async (args, extra) => {
2745
2752
  try {
2746
- const queryParams = args;
2753
+ const otherParams = args;
2747
2754
  // Map camelCase to original parameter names for API request
2748
2755
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2749
- const mappedParams = { ...queryParams };
2756
+ const mappedParams = { ...otherParams };
2750
2757
  // Extract authorization token from HTTP request headers
2751
2758
  const authorization = extra?.requestInfo?.headers?.authorization;
2752
2759
  const bearer = authorization?.replace('Bearer ', '');
@@ -2764,10 +2771,10 @@ mcpServer.tool('get-dictionaries', `Directories of fields`, {}, async (args, ext
2764
2771
  });
2765
2772
  mcpServer.tool('get-languages', `The list of all languages`, {}, async (args, extra) => {
2766
2773
  try {
2767
- const queryParams = args;
2774
+ const otherParams = args;
2768
2775
  // Map camelCase to original parameter names for API request
2769
2776
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2770
- const mappedParams = { ...queryParams };
2777
+ const mappedParams = { ...otherParams };
2771
2778
  // Extract authorization token from HTTP request headers
2772
2779
  const authorization = extra?.requestInfo?.headers?.authorization;
2773
2780
  const bearer = authorization?.replace('Bearer ', '');
@@ -2787,10 +2794,10 @@ mcpServer.tool('get-educational-institutions-dictionary', `Basic information abo
2787
2794
  id: z.string(),
2788
2795
  }, async (args, extra) => {
2789
2796
  try {
2790
- const queryParams = args;
2797
+ const otherParams = args;
2791
2798
  // Map camelCase to original parameter names for API request
2792
2799
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2793
- const mappedParams = { ...queryParams };
2800
+ const mappedParams = { ...otherParams };
2794
2801
  // Extract authorization token from HTTP request headers
2795
2802
  const authorization = extra?.requestInfo?.headers?.authorization;
2796
2803
  const bearer = authorization?.replace('Bearer ', '');
@@ -2810,10 +2817,10 @@ mcpServer.tool('get-skills', `The list of key skills`, {
2810
2817
  id: z.string(),
2811
2818
  }, async (args, extra) => {
2812
2819
  try {
2813
- const queryParams = args;
2820
+ const otherParams = args;
2814
2821
  // Map camelCase to original parameter names for API request
2815
2822
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2816
- const mappedParams = { ...queryParams };
2823
+ const mappedParams = { ...otherParams };
2817
2824
  // Extract authorization token from HTTP request headers
2818
2825
  const authorization = extra?.requestInfo?.headers?.authorization;
2819
2826
  const bearer = authorization?.replace('Bearer ', '');
@@ -2831,10 +2838,10 @@ mcpServer.tool('get-skills', `The list of key skills`, {
2831
2838
  });
2832
2839
  mcpServer.tool('get-professional-roles-dictionary', `Professional role directory`, {}, async (args, extra) => {
2833
2840
  try {
2834
- const queryParams = args;
2841
+ const otherParams = args;
2835
2842
  // Map camelCase to original parameter names for API request
2836
2843
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2837
- const mappedParams = { ...queryParams };
2844
+ const mappedParams = { ...otherParams };
2838
2845
  // Extract authorization token from HTTP request headers
2839
2846
  const authorization = extra?.requestInfo?.headers?.authorization;
2840
2847
  const bearer = authorization?.replace('Bearer ', '');
@@ -2854,11 +2861,11 @@ mcpServer.tool('get-faculties', `List of educational institution faculties`, {
2854
2861
  id: z.string(),
2855
2862
  }, async (args, extra) => {
2856
2863
  try {
2857
- const { id, ...queryParams } = args;
2864
+ const { id, ...otherParams } = args;
2858
2865
  const url = `/educational_institutions/${id}/faculties`;
2859
2866
  // Map camelCase to original parameter names for API request
2860
2867
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2861
- const mappedParams = { ...queryParams };
2868
+ const mappedParams = { ...otherParams };
2862
2869
  // Extract authorization token from HTTP request headers
2863
2870
  const authorization = extra?.requestInfo?.headers?.authorization;
2864
2871
  const bearer = authorization?.replace('Bearer ', '');
@@ -2876,10 +2883,10 @@ mcpServer.tool('get-faculties', `List of educational institution faculties`, {
2876
2883
  });
2877
2884
  mcpServer.tool('get-industries', `Industries`, {}, async (args, extra) => {
2878
2885
  try {
2879
- const queryParams = args;
2886
+ const otherParams = args;
2880
2887
  // Map camelCase to original parameter names for API request
2881
2888
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2882
- const mappedParams = { ...queryParams };
2889
+ const mappedParams = { ...otherParams };
2883
2890
  // Extract authorization token from HTTP request headers
2884
2891
  const authorization = extra?.requestInfo?.headers?.authorization;
2885
2892
  const bearer = authorization?.replace('Bearer ', '');
@@ -2900,11 +2907,11 @@ mcpServer.tool('change-negotiation-action', `Actions with collection response/in
2900
2907
  nid: z.string(),
2901
2908
  }, async (args, extra) => {
2902
2909
  try {
2903
- const { collectionName, nid, ...requestData } = args;
2910
+ const { collectionName, nid, ...otherParams } = args;
2904
2911
  const url = `/negotiations/${collectionName}/${nid}`;
2905
2912
  // Map camelCase to original parameter names for API request
2906
2913
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2907
- const mappedParams = { ...requestData };
2914
+ const mappedParams = args.requestData || { ...otherParams };
2908
2915
  if ('collectionName' in mappedParams) {
2909
2916
  mappedParams['collection_name'] = mappedParams['collectionName'];
2910
2917
  delete mappedParams['collectionName'];
@@ -2926,10 +2933,10 @@ mcpServer.tool('change-negotiation-action', `Actions with collection response/in
2926
2933
  });
2927
2934
  mcpServer.tool('apply-to-vacancy', `Apply for a vacancy`, {}, async (args, extra) => {
2928
2935
  try {
2929
- const requestData = args;
2936
+ const otherParams = args;
2930
2937
  // Map camelCase to original parameter names for API request
2931
2938
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2932
- const mappedParams = { ...requestData };
2939
+ const mappedParams = args.requestData || { ...otherParams };
2933
2940
  // Extract authorization token from HTTP request headers
2934
2941
  const authorization = extra?.requestInfo?.headers?.authorization;
2935
2942
  const bearer = authorization?.replace('Bearer ', '');
@@ -2957,10 +2964,10 @@ mcpServer.tool('get-negotiations', `Negotiation list`, {
2957
2964
  withGeneratedCollections: z.string().optional(),
2958
2965
  }, async (args, extra) => {
2959
2966
  try {
2960
- const queryParams = args;
2967
+ const otherParams = args;
2961
2968
  // Map camelCase to original parameter names for API request
2962
2969
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2963
- const mappedParams = { ...queryParams };
2970
+ const mappedParams = { ...otherParams };
2964
2971
  if ('perPage' in mappedParams) {
2965
2972
  mappedParams['per_page'] = mappedParams['perPage'];
2966
2973
  delete mappedParams['perPage'];
@@ -3005,11 +3012,11 @@ mcpServer.tool('get-negotiations-statistics-manager', `Negotiation statistics fo
3005
3012
  managerId: z.string(),
3006
3013
  }, async (args, extra) => {
3007
3014
  try {
3008
- const { employerId, managerId, ...queryParams } = args;
3015
+ const { employerId, managerId, ...otherParams } = args;
3009
3016
  const url = `/employers/${employerId}/managers/${managerId}/negotiations_statistics`;
3010
3017
  // Map camelCase to original parameter names for API request
3011
3018
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3012
- const mappedParams = { ...queryParams };
3019
+ const mappedParams = { ...otherParams };
3013
3020
  if ('employerId' in mappedParams) {
3014
3021
  mappedParams['employer_id'] = mappedParams['employerId'];
3015
3022
  delete mappedParams['employerId'];
@@ -3043,10 +3050,10 @@ mcpServer.tool('get-active-negotiations', `Active negotiation list`, {
3043
3050
  withJobSearchStatus: z.string().optional(),
3044
3051
  }, async (args, extra) => {
3045
3052
  try {
3046
- const queryParams = args;
3053
+ const otherParams = args;
3047
3054
  // Map camelCase to original parameter names for API request
3048
3055
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3049
- const mappedParams = { ...queryParams };
3056
+ const mappedParams = { ...otherParams };
3050
3057
  if ('perPage' in mappedParams) {
3051
3058
  mappedParams['per_page'] = mappedParams['perPage'];
3052
3059
  delete mappedParams['perPage'];
@@ -3089,11 +3096,11 @@ mcpServer.tool('get-negotiation-message-templates', `Template list for the negot
3089
3096
  resumeId: z.string().optional(),
3090
3097
  }, async (args, extra) => {
3091
3098
  try {
3092
- const { template, ...queryParams } = args;
3099
+ const { template, ...otherParams } = args;
3093
3100
  const url = `/message_templates/${template}`;
3094
3101
  // Map camelCase to original parameter names for API request
3095
3102
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3096
- const mappedParams = { ...queryParams };
3103
+ const mappedParams = { ...otherParams };
3097
3104
  if ('topicId' in mappedParams) {
3098
3105
  mappedParams['topic_id'] = mappedParams['topicId'];
3099
3106
  delete mappedParams['topicId'];
@@ -3147,10 +3154,10 @@ mcpServer.tool('get-collection-negotiations-list', `Negotiation list of the coll
3147
3154
  showOnlyNew: z.string().optional(),
3148
3155
  }, async (args, extra) => {
3149
3156
  try {
3150
- const queryParams = args;
3157
+ const otherParams = args;
3151
3158
  // Map camelCase to original parameter names for API request
3152
3159
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3153
- const mappedParams = { ...queryParams };
3160
+ const mappedParams = { ...otherParams };
3154
3161
  if ('vacancyId' in mappedParams) {
3155
3162
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
3156
3163
  delete mappedParams['vacancyId'];
@@ -3228,10 +3235,10 @@ mcpServer.tool('get-collection-negotiations-list', `Negotiation list of the coll
3228
3235
  });
3229
3236
  mcpServer.tool('invite-applicant-to-vacancy', `Invite applicant for a vacancy`, {}, async (args, extra) => {
3230
3237
  try {
3231
- const requestData = args;
3238
+ const otherParams = args;
3232
3239
  // Map camelCase to original parameter names for API request
3233
3240
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3234
- const mappedParams = { ...requestData };
3241
+ const mappedParams = args.requestData || { ...otherParams };
3235
3242
  // Extract authorization token from HTTP request headers
3236
3243
  const authorization = extra?.requestInfo?.headers?.authorization;
3237
3244
  const bearer = authorization?.replace('Bearer ', '');
@@ -3251,11 +3258,11 @@ mcpServer.tool('get-negotiation-test-results', `Get test results attached to the
3251
3258
  nid: z.string(),
3252
3259
  }, async (args, extra) => {
3253
3260
  try {
3254
- const { nid, ...queryParams } = args;
3261
+ const { nid, ...otherParams } = args;
3255
3262
  const url = `/negotiations/${nid}/test/solution`;
3256
3263
  // Map camelCase to original parameter names for API request
3257
3264
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3258
- const mappedParams = { ...queryParams };
3265
+ const mappedParams = { ...otherParams };
3259
3266
  // Extract authorization token from HTTP request headers
3260
3267
  const authorization = extra?.requestInfo?.headers?.authorization;
3261
3268
  const bearer = authorization?.replace('Bearer ', '');
@@ -3276,11 +3283,11 @@ mcpServer.tool('edit-negotiation-message', `Edit messages in the response`, {
3276
3283
  mid: z.string(),
3277
3284
  }, async (args, extra) => {
3278
3285
  try {
3279
- const { nid, mid, ...requestData } = args;
3286
+ const { nid, mid, ...otherParams } = args;
3280
3287
  const url = `/negotiations/${nid}/messages/${mid}`;
3281
3288
  // Map camelCase to original parameter names for API request
3282
3289
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3283
- const mappedParams = { ...requestData };
3290
+ const mappedParams = args.requestData || { ...otherParams };
3284
3291
  // Extract authorization token from HTTP request headers
3285
3292
  const authorization = extra?.requestInfo?.headers?.authorization;
3286
3293
  const bearer = authorization?.replace('Bearer ', '');
@@ -3298,10 +3305,10 @@ mcpServer.tool('edit-negotiation-message', `Edit messages in the response`, {
3298
3305
  });
3299
3306
  mcpServer.tool('post-negotiations-topics-read', `Mark responses as read`, {}, async (args, extra) => {
3300
3307
  try {
3301
- const requestData = args;
3308
+ const otherParams = args;
3302
3309
  // Map camelCase to original parameter names for API request
3303
3310
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3304
- const mappedParams = { ...requestData };
3311
+ const mappedParams = args.requestData || { ...otherParams };
3305
3312
  // Extract authorization token from HTTP request headers
3306
3313
  const authorization = extra?.requestInfo?.headers?.authorization;
3307
3314
  const bearer = authorization?.replace('Bearer ', '');
@@ -3322,11 +3329,11 @@ mcpServer.tool('hide-active-response', `Hide response`, {
3322
3329
  withDeclineMessage: z.string().optional(),
3323
3330
  }, async (args, extra) => {
3324
3331
  try {
3325
- const { nid, ...queryParams } = args;
3332
+ const { nid, ...otherParams } = args;
3326
3333
  const url = `/negotiations/active/${nid}`;
3327
3334
  // Map camelCase to original parameter names for API request
3328
3335
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3329
- const mappedParams = { ...queryParams };
3336
+ const mappedParams = { ...otherParams };
3330
3337
  if ('withDeclineMessage' in mappedParams) {
3331
3338
  mappedParams['with_decline_message'] = mappedParams['withDeclineMessage'];
3332
3339
  delete mappedParams['withDeclineMessage'];
@@ -3350,11 +3357,11 @@ mcpServer.tool('get-negotiation-item', `Viewing the response/invitation`, {
3350
3357
  id: z.string(),
3351
3358
  }, async (args, extra) => {
3352
3359
  try {
3353
- const { id, ...queryParams } = args;
3360
+ const { id, ...otherParams } = args;
3354
3361
  const url = `/negotiations/${id}`;
3355
3362
  // Map camelCase to original parameter names for API request
3356
3363
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3357
- const mappedParams = { ...queryParams };
3364
+ const mappedParams = { ...otherParams };
3358
3365
  // Extract authorization token from HTTP request headers
3359
3366
  const authorization = extra?.requestInfo?.headers?.authorization;
3360
3367
  const bearer = authorization?.replace('Bearer ', '');
@@ -3374,11 +3381,11 @@ mcpServer.tool('put-negotiations-collection-to-next-state', `Actions with respon
3374
3381
  id: z.string(),
3375
3382
  }, async (args, extra) => {
3376
3383
  try {
3377
- const { id, ...requestData } = args;
3384
+ const { id, ...otherParams } = args;
3378
3385
  const url = `/negotiations/${id}`;
3379
3386
  // Map camelCase to original parameter names for API request
3380
3387
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3381
- const mappedParams = { ...requestData };
3388
+ const mappedParams = args.requestData || { ...otherParams };
3382
3389
  // Extract authorization token from HTTP request headers
3383
3390
  const authorization = extra?.requestInfo?.headers?.authorization;
3384
3391
  const bearer = authorization?.replace('Bearer ', '');
@@ -3398,11 +3405,11 @@ mcpServer.tool('get-negotiations-statistics-employer', `Negotiation statistics f
3398
3405
  employerId: z.string(),
3399
3406
  }, async (args, extra) => {
3400
3407
  try {
3401
- const { employerId, ...queryParams } = args;
3408
+ const { employerId, ...otherParams } = args;
3402
3409
  const url = `/employers/${employerId}/negotiations_statistics`;
3403
3410
  // Map camelCase to original parameter names for API request
3404
3411
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3405
- const mappedParams = { ...queryParams };
3412
+ const mappedParams = { ...otherParams };
3406
3413
  if ('employerId' in mappedParams) {
3407
3414
  mappedParams['employer_id'] = mappedParams['employerId'];
3408
3415
  delete mappedParams['employerId'];
@@ -3426,11 +3433,11 @@ mcpServer.tool('send-negotiation-message', `Sending new message`, {
3426
3433
  nid: z.string(),
3427
3434
  }, async (args, extra) => {
3428
3435
  try {
3429
- const { nid, ...requestData } = args;
3436
+ const { nid, ...otherParams } = args;
3430
3437
  const url = `/negotiations/${nid}/messages`;
3431
3438
  // Map camelCase to original parameter names for API request
3432
3439
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3433
- const mappedParams = { ...requestData };
3440
+ const mappedParams = args.requestData || { ...otherParams };
3434
3441
  // Extract authorization token from HTTP request headers
3435
3442
  const authorization = extra?.requestInfo?.headers?.authorization;
3436
3443
  const bearer = authorization?.replace('Bearer ', '');
@@ -3451,11 +3458,11 @@ mcpServer.tool('get-negotiation-messages', `View the list of messages in the neg
3451
3458
  withTextOnly: z.string().optional(),
3452
3459
  }, async (args, extra) => {
3453
3460
  try {
3454
- const { nid, ...queryParams } = args;
3461
+ const { nid, ...otherParams } = args;
3455
3462
  const url = `/negotiations/${nid}/messages`;
3456
3463
  // Map camelCase to original parameter names for API request
3457
3464
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3458
- const mappedParams = { ...queryParams };
3465
+ const mappedParams = { ...otherParams };
3459
3466
  if ('withTextOnly' in mappedParams) {
3460
3467
  mappedParams['with_text_only'] = mappedParams['withTextOnly'];
3461
3468
  delete mappedParams['withTextOnly'];
@@ -3479,11 +3486,11 @@ mcpServer.tool('get-vacancy-draft', `Obtaining a vacancy draft`, {
3479
3486
  draftId: z.string(),
3480
3487
  }, async (args, extra) => {
3481
3488
  try {
3482
- const { draftId, ...queryParams } = args;
3489
+ const { draftId, ...otherParams } = args;
3483
3490
  const url = `/vacancies/drafts/${draftId}`;
3484
3491
  // Map camelCase to original parameter names for API request
3485
3492
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3486
- const mappedParams = { ...queryParams };
3493
+ const mappedParams = { ...otherParams };
3487
3494
  if ('draftId' in mappedParams) {
3488
3495
  mappedParams['draft_id'] = mappedParams['draftId'];
3489
3496
  delete mappedParams['draftId'];
@@ -3505,13 +3512,14 @@ mcpServer.tool('get-vacancy-draft', `Obtaining a vacancy draft`, {
3505
3512
  });
3506
3513
  mcpServer.tool('change-vacancy-draft', `Editing a vacancy draft`, {
3507
3514
  draftId: z.string(),
3515
+ requestData: z.record(z.any()).optional(),
3508
3516
  }, async (args, extra) => {
3509
3517
  try {
3510
- const { draftId, ...requestData } = args;
3518
+ const { draftId, ...otherParams } = args;
3511
3519
  const url = `/vacancies/drafts/${draftId}`;
3512
3520
  // Map camelCase to original parameter names for API request
3513
3521
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3514
- const mappedParams = { ...requestData };
3522
+ const mappedParams = args.requestData || { ...otherParams };
3515
3523
  if ('draftId' in mappedParams) {
3516
3524
  mappedParams['draft_id'] = mappedParams['draftId'];
3517
3525
  delete mappedParams['draftId'];
@@ -3535,11 +3543,11 @@ mcpServer.tool('delete-vacancy-draft', `Deleting a vacancy draft`, {
3535
3543
  draftId: z.string(),
3536
3544
  }, async (args, extra) => {
3537
3545
  try {
3538
- const { draftId, ...queryParams } = args;
3546
+ const { draftId, ...otherParams } = args;
3539
3547
  const url = `/vacancies/drafts/${draftId}`;
3540
3548
  // Map camelCase to original parameter names for API request
3541
3549
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3542
- const mappedParams = { ...queryParams };
3550
+ const mappedParams = { ...otherParams };
3543
3551
  if ('draftId' in mappedParams) {
3544
3552
  mappedParams['draft_id'] = mappedParams['draftId'];
3545
3553
  delete mappedParams['draftId'];
@@ -3563,11 +3571,11 @@ mcpServer.tool('publish-vacancy-from-draft', `Publishing a vacancy from draft`,
3563
3571
  draftId: z.string(),
3564
3572
  }, async (args, extra) => {
3565
3573
  try {
3566
- const { draftId, ...requestData } = args;
3574
+ const { draftId, ...otherParams } = args;
3567
3575
  const url = `/vacancies/drafts/${draftId}/publish`;
3568
3576
  // Map camelCase to original parameter names for API request
3569
3577
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3570
- const mappedParams = { ...requestData };
3578
+ const mappedParams = args.requestData || { ...otherParams };
3571
3579
  if ('draftId' in mappedParams) {
3572
3580
  mappedParams['draft_id'] = mappedParams['draftId'];
3573
3581
  delete mappedParams['draftId'];
@@ -3591,11 +3599,11 @@ mcpServer.tool('search-for-vacancy-draft-duplicates', `Checking for duplicates o
3591
3599
  draftId: z.string(),
3592
3600
  }, async (args, extra) => {
3593
3601
  try {
3594
- const { draftId, ...queryParams } = args;
3602
+ const { draftId, ...otherParams } = args;
3595
3603
  const url = `/vacancies/drafts/${draftId}/duplicates`;
3596
3604
  // Map camelCase to original parameter names for API request
3597
3605
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3598
- const mappedParams = { ...queryParams };
3606
+ const mappedParams = { ...otherParams };
3599
3607
  if ('draftId' in mappedParams) {
3600
3608
  mappedParams['draft_id'] = mappedParams['draftId'];
3601
3609
  delete mappedParams['draftId'];
@@ -3615,12 +3623,14 @@ mcpServer.tool('search-for-vacancy-draft-duplicates', `Checking for duplicates o
3615
3623
  return handleError(error);
3616
3624
  }
3617
3625
  });
3618
- mcpServer.tool('create-vacancy-draft', `Creating vacancy draft`, {}, async (args, extra) => {
3626
+ mcpServer.tool('create-vacancy-draft', `Creating vacancy draft`, {
3627
+ requestData: z.record(z.any()).optional(),
3628
+ }, async (args, extra) => {
3619
3629
  try {
3620
- const requestData = args;
3630
+ const otherParams = args;
3621
3631
  // Map camelCase to original parameter names for API request
3622
3632
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3623
- const mappedParams = { ...requestData };
3633
+ const mappedParams = args.requestData || { ...otherParams };
3624
3634
  // Extract authorization token from HTTP request headers
3625
3635
  const authorization = extra?.requestInfo?.headers?.authorization;
3626
3636
  const bearer = authorization?.replace('Bearer ', '');
@@ -3641,10 +3651,10 @@ mcpServer.tool('get-vacancy-draft-list', `Getting a list of vacancy drafts`, {
3641
3651
  perPage: z.string().optional(),
3642
3652
  }, async (args, extra) => {
3643
3653
  try {
3644
- const queryParams = args;
3654
+ const otherParams = args;
3645
3655
  // Map camelCase to original parameter names for API request
3646
3656
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3647
- const mappedParams = { ...queryParams };
3657
+ const mappedParams = { ...otherParams };
3648
3658
  if ('perPage' in mappedParams) {
3649
3659
  mappedParams['per_page'] = mappedParams['perPage'];
3650
3660
  delete mappedParams['perPage'];
@@ -3668,10 +3678,10 @@ mcpServer.tool('disable-automatic-vacancy-publication', `Canceling vacancy auto
3668
3678
  draftId: z.string(),
3669
3679
  }, async (args, extra) => {
3670
3680
  try {
3671
- const queryParams = args;
3681
+ const otherParams = args;
3672
3682
  // Map camelCase to original parameter names for API request
3673
3683
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3674
- const mappedParams = { ...queryParams };
3684
+ const mappedParams = { ...otherParams };
3675
3685
  if ('draftId' in mappedParams) {
3676
3686
  mappedParams['draft_id'] = mappedParams['draftId'];
3677
3687
  delete mappedParams['draftId'];
@@ -3693,13 +3703,14 @@ mcpServer.tool('disable-automatic-vacancy-publication', `Canceling vacancy auto
3693
3703
  });
3694
3704
  mcpServer.tool('change-webhook-subscription', `Change a subscription on notifications`, {
3695
3705
  subscriptionId: z.string(),
3706
+ requestData: z.record(z.any()).optional(),
3696
3707
  }, async (args, extra) => {
3697
3708
  try {
3698
- const { subscriptionId, ...requestData } = args;
3709
+ const { subscriptionId, ...otherParams } = args;
3699
3710
  const url = `/webhook/subscriptions/${subscriptionId}`;
3700
3711
  // Map camelCase to original parameter names for API request
3701
3712
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3702
- const mappedParams = { ...requestData };
3713
+ const mappedParams = args.requestData || { ...otherParams };
3703
3714
  if ('subscriptionId' in mappedParams) {
3704
3715
  mappedParams['subscription_id'] = mappedParams['subscriptionId'];
3705
3716
  delete mappedParams['subscriptionId'];
@@ -3723,11 +3734,11 @@ mcpServer.tool('cancel-webhook-subscription', `Delete a subscription on notifica
3723
3734
  subscriptionId: z.string(),
3724
3735
  }, async (args, extra) => {
3725
3736
  try {
3726
- const { subscriptionId, ...queryParams } = args;
3737
+ const { subscriptionId, ...otherParams } = args;
3727
3738
  const url = `/webhook/subscriptions/${subscriptionId}`;
3728
3739
  // Map camelCase to original parameter names for API request
3729
3740
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3730
- const mappedParams = { ...queryParams };
3741
+ const mappedParams = { ...otherParams };
3731
3742
  if ('subscriptionId' in mappedParams) {
3732
3743
  mappedParams['subscription_id'] = mappedParams['subscriptionId'];
3733
3744
  delete mappedParams['subscriptionId'];
@@ -3747,12 +3758,14 @@ mcpServer.tool('cancel-webhook-subscription', `Delete a subscription on notifica
3747
3758
  return handleError(error);
3748
3759
  }
3749
3760
  });
3750
- mcpServer.tool('post-webhook-subscription', `Subscription to notifications`, {}, async (args, extra) => {
3761
+ mcpServer.tool('post-webhook-subscription', `Subscription to notifications`, {
3762
+ requestData: z.record(z.any()).optional(),
3763
+ }, async (args, extra) => {
3751
3764
  try {
3752
- const requestData = args;
3765
+ const otherParams = args;
3753
3766
  // Map camelCase to original parameter names for API request
3754
3767
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3755
- const mappedParams = { ...requestData };
3768
+ const mappedParams = args.requestData || { ...otherParams };
3756
3769
  // Extract authorization token from HTTP request headers
3757
3770
  const authorization = extra?.requestInfo?.headers?.authorization;
3758
3771
  const bearer = authorization?.replace('Bearer ', '');
@@ -3770,10 +3783,10 @@ mcpServer.tool('post-webhook-subscription', `Subscription to notifications`, {},
3770
3783
  });
3771
3784
  mcpServer.tool('get-webhook-subscriptions', `Obtain the list of notifications that the user is subscripted`, {}, async (args, extra) => {
3772
3785
  try {
3773
- const queryParams = args;
3786
+ const otherParams = args;
3774
3787
  // Map camelCase to original parameter names for API request
3775
3788
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3776
- const mappedParams = { ...queryParams };
3789
+ const mappedParams = { ...otherParams };
3777
3790
  // Extract authorization token from HTTP request headers
3778
3791
  const authorization = extra?.requestInfo?.headers?.authorization;
3779
3792
  const bearer = authorization?.replace('Bearer ', '');
@@ -3793,11 +3806,11 @@ mcpServer.tool('get-tests-dictionary', `Employer's test directory`, {
3793
3806
  employerId: z.string(),
3794
3807
  }, async (args, extra) => {
3795
3808
  try {
3796
- const { employerId, ...queryParams } = args;
3809
+ const { employerId, ...otherParams } = args;
3797
3810
  const url = `/employers/${employerId}/tests`;
3798
3811
  // Map camelCase to original parameter names for API request
3799
3812
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3800
- const mappedParams = { ...queryParams };
3813
+ const mappedParams = { ...otherParams };
3801
3814
  if ('employerId' in mappedParams) {
3802
3815
  mappedParams['employer_id'] = mappedParams['employerId'];
3803
3816
  delete mappedParams['employerId'];
@@ -3821,11 +3834,11 @@ mcpServer.tool('get-employer-vacancy-areas', `List of regions with active vacanc
3821
3834
  employerId: z.string(),
3822
3835
  }, async (args, extra) => {
3823
3836
  try {
3824
- const { employerId, ...queryParams } = args;
3837
+ const { employerId, ...otherParams } = args;
3825
3838
  const url = `/employers/${employerId}/vacancy_areas/active`;
3826
3839
  // Map camelCase to original parameter names for API request
3827
3840
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3828
- const mappedParams = { ...queryParams };
3841
+ const mappedParams = { ...otherParams };
3829
3842
  if ('employerId' in mappedParams) {
3830
3843
  mappedParams['employer_id'] = mappedParams['employerId'];
3831
3844
  delete mappedParams['employerId'];
@@ -3849,11 +3862,11 @@ mcpServer.tool('get-employer-info', `Employer info`, {
3849
3862
  employerId: z.string(),
3850
3863
  }, async (args, extra) => {
3851
3864
  try {
3852
- const { employerId, ...queryParams } = args;
3865
+ const { employerId, ...otherParams } = args;
3853
3866
  const url = `/employers/${employerId}`;
3854
3867
  // Map camelCase to original parameter names for API request
3855
3868
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3856
- const mappedParams = { ...queryParams };
3869
+ const mappedParams = { ...otherParams };
3857
3870
  if ('employerId' in mappedParams) {
3858
3871
  mappedParams['employer_id'] = mappedParams['employerId'];
3859
3872
  delete mappedParams['employerId'];
@@ -3877,11 +3890,11 @@ mcpServer.tool('add-employer-to-blacklisted', `Adding an employer to the blackli
3877
3890
  employerId: z.string(),
3878
3891
  }, async (args, extra) => {
3879
3892
  try {
3880
- const { employerId, ...requestData } = args;
3893
+ const { employerId, ...otherParams } = args;
3881
3894
  const url = `/employers/blacklisted/${employerId}`;
3882
3895
  // Map camelCase to original parameter names for API request
3883
3896
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3884
- const mappedParams = { ...requestData };
3897
+ const mappedParams = args.requestData || { ...otherParams };
3885
3898
  if ('employerId' in mappedParams) {
3886
3899
  mappedParams['employer_id'] = mappedParams['employerId'];
3887
3900
  delete mappedParams['employerId'];
@@ -3905,11 +3918,11 @@ mcpServer.tool('delete-employer-from-blacklisted', `Deleting an employer from th
3905
3918
  employerId: z.string(),
3906
3919
  }, async (args, extra) => {
3907
3920
  try {
3908
- const { employerId, ...queryParams } = args;
3921
+ const { employerId, ...otherParams } = args;
3909
3922
  const url = `/employers/blacklisted/${employerId}`;
3910
3923
  // Map camelCase to original parameter names for API request
3911
3924
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3912
- const mappedParams = { ...queryParams };
3925
+ const mappedParams = { ...otherParams };
3913
3926
  if ('employerId' in mappedParams) {
3914
3927
  mappedParams['employer_id'] = mappedParams['employerId'];
3915
3928
  delete mappedParams['employerId'];
@@ -3939,10 +3952,10 @@ mcpServer.tool('search-employer', `Employer search`, {
3939
3952
  perPage: z.string().optional(),
3940
3953
  }, async (args, extra) => {
3941
3954
  try {
3942
- const queryParams = args;
3955
+ const otherParams = args;
3943
3956
  // Map camelCase to original parameter names for API request
3944
3957
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3945
- const mappedParams = { ...queryParams };
3958
+ const mappedParams = { ...otherParams };
3946
3959
  if ('onlyWithVacancies' in mappedParams) {
3947
3960
  mappedParams['only_with_vacancies'] = mappedParams['onlyWithVacancies'];
3948
3961
  delete mappedParams['onlyWithVacancies'];
@@ -3974,11 +3987,11 @@ mcpServer.tool('get-employer-departments', `Employer's department directory
3974
3987
  employerId: z.string(),
3975
3988
  }, async (args, extra) => {
3976
3989
  try {
3977
- const { employerId, ...queryParams } = args;
3990
+ const { employerId, ...otherParams } = args;
3978
3991
  const url = `/employers/${employerId}/departments`;
3979
3992
  // Map camelCase to original parameter names for API request
3980
3993
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3981
- const mappedParams = { ...queryParams };
3994
+ const mappedParams = { ...otherParams };
3982
3995
  if ('employerId' in mappedParams) {
3983
3996
  mappedParams['employer_id'] = mappedParams['employerId'];
3984
3997
  delete mappedParams['employerId'];
@@ -4002,11 +4015,11 @@ mcpServer.tool('get-vacancy-branded-templates-list', `Employer's branded va
4002
4015
  employerId: z.string(),
4003
4016
  }, async (args, extra) => {
4004
4017
  try {
4005
- const { employerId, ...queryParams } = args;
4018
+ const { employerId, ...otherParams } = args;
4006
4019
  const url = `/employers/${employerId}/vacancy_branded_templates`;
4007
4020
  // Map camelCase to original parameter names for API request
4008
4021
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4009
- const mappedParams = { ...queryParams };
4022
+ const mappedParams = { ...otherParams };
4010
4023
  if ('employerId' in mappedParams) {
4011
4024
  mappedParams['employer_id'] = mappedParams['employerId'];
4012
4025
  delete mappedParams['employerId'];
@@ -4028,10 +4041,10 @@ mcpServer.tool('get-vacancy-branded-templates-list', `Employer's branded va
4028
4041
  });
4029
4042
  mcpServer.tool('get-blacklisted-employers', `List of hidden employers`, {}, async (args, extra) => {
4030
4043
  try {
4031
- const queryParams = args;
4044
+ const otherParams = args;
4032
4045
  // Map camelCase to original parameter names for API request
4033
4046
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4034
- const mappedParams = { ...queryParams };
4047
+ const mappedParams = { ...otherParams };
4035
4048
  // Extract authorization token from HTTP request headers
4036
4049
  const authorization = extra?.requestInfo?.headers?.authorization;
4037
4050
  const bearer = authorization?.replace('Bearer ', '');
@@ -4049,10 +4062,10 @@ mcpServer.tool('get-blacklisted-employers', `List of hidden employers`, {}, asyn
4049
4062
  });
4050
4063
  mcpServer.tool('get-all-districts', `List of available city districts`, {}, async (args, extra) => {
4051
4064
  try {
4052
- const queryParams = args;
4065
+ const otherParams = args;
4053
4066
  // Map camelCase to original parameter names for API request
4054
4067
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4055
- const mappedParams = { ...queryParams };
4068
+ const mappedParams = { ...otherParams };
4056
4069
  // Extract authorization token from HTTP request headers
4057
4070
  const authorization = extra?.requestInfo?.headers?.authorization;
4058
4071
  const bearer = authorization?.replace('Bearer ', '');
@@ -4078,11 +4091,11 @@ mcpServer.tool('get-salary-evaluation', `Salary assessment without forecasts`, {
4078
4091
  positionName: z.string().optional(),
4079
4092
  }, async (args, extra) => {
4080
4093
  try {
4081
- const { areaId, ...queryParams } = args;
4094
+ const { areaId, ...otherParams } = args;
4082
4095
  const url = `/salary_statistics/paid/salary_evaluation/${areaId}`;
4083
4096
  // Map camelCase to original parameter names for API request
4084
4097
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4085
- const mappedParams = { ...queryParams };
4098
+ const mappedParams = { ...otherParams };
4086
4099
  if ('areaId' in mappedParams) {
4087
4100
  mappedParams['area_id'] = mappedParams['areaId'];
4088
4101
  delete mappedParams['areaId'];
@@ -4120,10 +4133,10 @@ mcpServer.tool('get-salary-evaluation', `Salary assessment without forecasts`, {
4120
4133
  });
4121
4134
  mcpServer.tool('get-metro-stations', `The list of metro stations in all cities`, {}, async (args, extra) => {
4122
4135
  try {
4123
- const queryParams = args;
4136
+ const otherParams = args;
4124
4137
  // Map camelCase to original parameter names for API request
4125
4138
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4126
- const mappedParams = { ...queryParams };
4139
+ const mappedParams = { ...otherParams };
4127
4140
  // Extract authorization token from HTTP request headers
4128
4141
  const authorization = extra?.requestInfo?.headers?.authorization;
4129
4142
  const bearer = authorization?.replace('Bearer ', '');
@@ -4143,11 +4156,11 @@ mcpServer.tool('get-metro-stations-in-city', `The list of metro stations in the
4143
4156
  cityId: z.string(),
4144
4157
  }, async (args, extra) => {
4145
4158
  try {
4146
- const { cityId, ...queryParams } = args;
4159
+ const { cityId, ...otherParams } = args;
4147
4160
  const url = `/metro/${cityId}`;
4148
4161
  // Map camelCase to original parameter names for API request
4149
4162
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4150
- const mappedParams = { ...queryParams };
4163
+ const mappedParams = { ...otherParams };
4151
4164
  if ('cityId' in mappedParams) {
4152
4165
  mappedParams['city_id'] = mappedParams['cityId'];
4153
4166
  delete mappedParams['cityId'];
@@ -4172,11 +4185,11 @@ mcpServer.tool('move-saved-resume-search', `Moving saved resumes search to other
4172
4185
  managerId: z.string(),
4173
4186
  }, async (args, extra) => {
4174
4187
  try {
4175
- const { savedSearchId, managerId, ...requestData } = args;
4188
+ const { savedSearchId, managerId, ...otherParams } = args;
4176
4189
  const url = `/saved_searches/resumes/${savedSearchId}/managers/${managerId}`;
4177
4190
  // Map camelCase to original parameter names for API request
4178
4191
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4179
- const mappedParams = { ...requestData };
4192
+ const mappedParams = args.requestData || { ...otherParams };
4180
4193
  if ('savedSearchId' in mappedParams) {
4181
4194
  mappedParams['saved_search_id'] = mappedParams['savedSearchId'];
4182
4195
  delete mappedParams['savedSearchId'];
@@ -4204,11 +4217,11 @@ mcpServer.tool('get-resumes-by-status', `Resumes grouped by the possibility of a
4204
4217
  vacancyId: z.string(),
4205
4218
  }, async (args, extra) => {
4206
4219
  try {
4207
- const { vacancyId, ...queryParams } = args;
4220
+ const { vacancyId, ...otherParams } = args;
4208
4221
  const url = `/vacancies/${vacancyId}/resumes_by_status`;
4209
4222
  // Map camelCase to original parameter names for API request
4210
4223
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4211
- const mappedParams = { ...queryParams };
4224
+ const mappedParams = { ...otherParams };
4212
4225
  if ('vacancyId' in mappedParams) {
4213
4226
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
4214
4227
  delete mappedParams['vacancyId'];
@@ -4232,11 +4245,11 @@ mcpServer.tool('get-resume-status', `Resume status and readiness for publication
4232
4245
  resumeId: z.string(),
4233
4246
  }, async (args, extra) => {
4234
4247
  try {
4235
- const { resumeId, ...queryParams } = args;
4248
+ const { resumeId, ...otherParams } = args;
4236
4249
  const url = `/resumes/${resumeId}/status`;
4237
4250
  // Map camelCase to original parameter names for API request
4238
4251
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4239
- const mappedParams = { ...queryParams };
4252
+ const mappedParams = { ...otherParams };
4240
4253
  if ('resumeId' in mappedParams) {
4241
4254
  mappedParams['resume_id'] = mappedParams['resumeId'];
4242
4255
  delete mappedParams['resumeId'];
@@ -4260,11 +4273,11 @@ mcpServer.tool('get-resume-negotiations-history', `History of responses/invitati
4260
4273
  resumeId: z.string(),
4261
4274
  }, async (args, extra) => {
4262
4275
  try {
4263
- const { resumeId, ...queryParams } = args;
4276
+ const { resumeId, ...otherParams } = args;
4264
4277
  const url = `/resumes/${resumeId}/negotiations_history`;
4265
4278
  // Map camelCase to original parameter names for API request
4266
4279
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4267
- const mappedParams = { ...queryParams };
4280
+ const mappedParams = { ...otherParams };
4268
4281
  if ('resumeId' in mappedParams) {
4269
4282
  mappedParams['resume_id'] = mappedParams['resumeId'];
4270
4283
  delete mappedParams['resumeId'];
@@ -4288,11 +4301,11 @@ mcpServer.tool('get-saved-resume-search', `Getting single saved resume search`,
4288
4301
  id: z.string(),
4289
4302
  }, async (args, extra) => {
4290
4303
  try {
4291
- const { id, ...queryParams } = args;
4304
+ const { id, ...otherParams } = args;
4292
4305
  const url = `/saved_searches/resumes/${id}`;
4293
4306
  // Map camelCase to original parameter names for API request
4294
4307
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4295
- const mappedParams = { ...queryParams };
4308
+ const mappedParams = { ...otherParams };
4296
4309
  // Extract authorization token from HTTP request headers
4297
4310
  const authorization = extra?.requestInfo?.headers?.authorization;
4298
4311
  const bearer = authorization?.replace('Bearer ', '');
@@ -4314,11 +4327,11 @@ mcpServer.tool('update-saved-resume-search', `Updating saved resume search`, {
4314
4327
  subscription: z.string().optional(),
4315
4328
  }, async (args, extra) => {
4316
4329
  try {
4317
- const { id, ...requestData } = args;
4330
+ const { id, ...otherParams } = args;
4318
4331
  const url = `/saved_searches/resumes/${id}`;
4319
4332
  // Map camelCase to original parameter names for API request
4320
4333
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4321
- const mappedParams = { ...requestData };
4334
+ const mappedParams = args.requestData || { ...otherParams };
4322
4335
  // Extract authorization token from HTTP request headers
4323
4336
  const authorization = extra?.requestInfo?.headers?.authorization;
4324
4337
  const bearer = authorization?.replace('Bearer ', '');
@@ -4338,11 +4351,11 @@ mcpServer.tool('delete-saved-resume-search', `Deleting saved resume search`, {
4338
4351
  id: z.string(),
4339
4352
  }, async (args, extra) => {
4340
4353
  try {
4341
- const { id, ...queryParams } = args;
4354
+ const { id, ...otherParams } = args;
4342
4355
  const url = `/saved_searches/resumes/${id}`;
4343
4356
  // Map camelCase to original parameter names for API request
4344
4357
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4345
- const mappedParams = { ...queryParams };
4358
+ const mappedParams = { ...otherParams };
4346
4359
  // Extract authorization token from HTTP request headers
4347
4360
  const authorization = extra?.requestInfo?.headers?.authorization;
4348
4361
  const bearer = authorization?.replace('Bearer ', '');
@@ -4360,12 +4373,13 @@ mcpServer.tool('delete-saved-resume-search', `Deleting saved resume search`, {
4360
4373
  });
4361
4374
  mcpServer.tool('create-resume', `Resume creating`, {
4362
4375
  sourceResumeId: z.string().optional(),
4376
+ requestData: z.record(z.any()).optional(),
4363
4377
  }, async (args, extra) => {
4364
4378
  try {
4365
- const requestData = args;
4379
+ const otherParams = args;
4366
4380
  // Map camelCase to original parameter names for API request
4367
4381
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4368
- const mappedParams = { ...requestData };
4382
+ const mappedParams = args.requestData || { ...otherParams };
4369
4383
  if ('sourceResumeId' in mappedParams) {
4370
4384
  mappedParams['source_resume_id'] = mappedParams['sourceResumeId'];
4371
4385
  delete mappedParams['sourceResumeId'];
@@ -4437,10 +4451,10 @@ mcpServer.tool('search-for-resumes', `Resume search`, {
4437
4451
  lastUsed: z.string().optional(),
4438
4452
  }, async (args, extra) => {
4439
4453
  try {
4440
- const queryParams = args;
4454
+ const otherParams = args;
4441
4455
  // Map camelCase to original parameter names for API request
4442
4456
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4443
- const mappedParams = { ...queryParams };
4457
+ const mappedParams = { ...otherParams };
4444
4458
  if ('textLogic' in mappedParams) {
4445
4459
  mappedParams['text.logic'] = mappedParams['textLogic'];
4446
4460
  delete mappedParams['textLogic'];
@@ -4582,10 +4596,10 @@ mcpServer.tool('search-for-resumes', `Resume search`, {
4582
4596
  });
4583
4597
  mcpServer.tool('get-mine-resumes', `List of resumes for current user`, {}, async (args, extra) => {
4584
4598
  try {
4585
- const queryParams = args;
4599
+ const otherParams = args;
4586
4600
  // Map camelCase to original parameter names for API request
4587
4601
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4588
- const mappedParams = { ...queryParams };
4602
+ const mappedParams = { ...otherParams };
4589
4603
  // Extract authorization token from HTTP request headers
4590
4604
  const authorization = extra?.requestInfo?.headers?.authorization;
4591
4605
  const bearer = authorization?.replace('Bearer ', '');
@@ -4605,11 +4619,11 @@ mcpServer.tool('publish-resume', `Resume publication`, {
4605
4619
  resumeId: z.string(),
4606
4620
  }, async (args, extra) => {
4607
4621
  try {
4608
- const { resumeId, ...requestData } = args;
4622
+ const { resumeId, ...otherParams } = args;
4609
4623
  const url = `/resumes/${resumeId}/publish`;
4610
4624
  // Map camelCase to original parameter names for API request
4611
4625
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4612
- const mappedParams = { ...requestData };
4626
+ const mappedParams = args.requestData || { ...otherParams };
4613
4627
  if ('resumeId' in mappedParams) {
4614
4628
  mappedParams['resume_id'] = mappedParams['resumeId'];
4615
4629
  delete mappedParams['resumeId'];
@@ -4631,10 +4645,10 @@ mcpServer.tool('publish-resume', `Resume publication`, {
4631
4645
  });
4632
4646
  mcpServer.tool('get-new-resume-conditions', `Conditions to fill in the fields of a new resume`, {}, async (args, extra) => {
4633
4647
  try {
4634
- const queryParams = args;
4648
+ const otherParams = args;
4635
4649
  // Map camelCase to original parameter names for API request
4636
4650
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4637
- const mappedParams = { ...queryParams };
4651
+ const mappedParams = { ...otherParams };
4638
4652
  // Extract authorization token from HTTP request headers
4639
4653
  const authorization = extra?.requestInfo?.headers?.authorization;
4640
4654
  const bearer = authorization?.replace('Bearer ', '');
@@ -4654,11 +4668,11 @@ mcpServer.tool('get-suitable-resumes', `List of resumes suitable for job applica
4654
4668
  vacancyId: z.string(),
4655
4669
  }, async (args, extra) => {
4656
4670
  try {
4657
- const { vacancyId, ...queryParams } = args;
4671
+ const { vacancyId, ...otherParams } = args;
4658
4672
  const url = `/vacancies/${vacancyId}/suitable_resumes`;
4659
4673
  // Map camelCase to original parameter names for API request
4660
4674
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4661
- const mappedParams = { ...queryParams };
4675
+ const mappedParams = { ...otherParams };
4662
4676
  if ('vacancyId' in mappedParams) {
4663
4677
  mappedParams['vacancy_id'] = mappedParams['vacancyId'];
4664
4678
  delete mappedParams['vacancyId'];
@@ -4682,11 +4696,11 @@ mcpServer.tool('get-resume-conditions', `Conditions to fill in the fields of an
4682
4696
  resumeId: z.string(),
4683
4697
  }, async (args, extra) => {
4684
4698
  try {
4685
- const { resumeId, ...queryParams } = args;
4699
+ const { resumeId, ...otherParams } = args;
4686
4700
  const url = `/resumes/${resumeId}/conditions`;
4687
4701
  // Map camelCase to original parameter names for API request
4688
4702
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4689
- const mappedParams = { ...queryParams };
4703
+ const mappedParams = { ...otherParams };
4690
4704
  if ('resumeId' in mappedParams) {
4691
4705
  mappedParams['resume_id'] = mappedParams['resumeId'];
4692
4706
  delete mappedParams['resumeId'];
@@ -4711,11 +4725,11 @@ mcpServer.tool('get-resume-view-history', `History of resume views`, {
4711
4725
  withEmployerLogo: z.string().optional(),
4712
4726
  }, async (args, extra) => {
4713
4727
  try {
4714
- const { resumeId, ...queryParams } = args;
4728
+ const { resumeId, ...otherParams } = args;
4715
4729
  const url = `/resumes/${resumeId}/views`;
4716
4730
  // Map camelCase to original parameter names for API request
4717
4731
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4718
- const mappedParams = { ...queryParams };
4732
+ const mappedParams = { ...otherParams };
4719
4733
  if ('resumeId' in mappedParams) {
4720
4734
  mappedParams['resume_id'] = mappedParams['resumeId'];
4721
4735
  delete mappedParams['resumeId'];
@@ -4746,11 +4760,11 @@ mcpServer.tool('get-resume', `View a resume`, {
4746
4760
  withJobSearchStatus: z.string().optional(),
4747
4761
  }, async (args, extra) => {
4748
4762
  try {
4749
- const { resumeId, ...queryParams } = args;
4763
+ const { resumeId, ...otherParams } = args;
4750
4764
  const url = `/resumes/${resumeId}`;
4751
4765
  // Map camelCase to original parameter names for API request
4752
4766
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4753
- const mappedParams = { ...queryParams };
4767
+ const mappedParams = { ...otherParams };
4754
4768
  if ('resumeId' in mappedParams) {
4755
4769
  mappedParams['resume_id'] = mappedParams['resumeId'];
4756
4770
  delete mappedParams['resumeId'];
@@ -4786,11 +4800,11 @@ mcpServer.tool('delete-resume', `Deleting a resume`, {
4786
4800
  resumeId: z.string(),
4787
4801
  }, async (args, extra) => {
4788
4802
  try {
4789
- const { resumeId, ...queryParams } = args;
4803
+ const { resumeId, ...otherParams } = args;
4790
4804
  const url = `/resumes/${resumeId}`;
4791
4805
  // Map camelCase to original parameter names for API request
4792
4806
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4793
- const mappedParams = { ...queryParams };
4807
+ const mappedParams = { ...otherParams };
4794
4808
  if ('resumeId' in mappedParams) {
4795
4809
  mappedParams['resume_id'] = mappedParams['resumeId'];
4796
4810
  delete mappedParams['resumeId'];
@@ -4812,13 +4826,14 @@ mcpServer.tool('delete-resume', `Deleting a resume`, {
4812
4826
  });
4813
4827
  mcpServer.tool('edit-resume', `Resume updating`, {
4814
4828
  resumeId: z.string(),
4829
+ requestData: z.record(z.any()).optional(),
4815
4830
  }, async (args, extra) => {
4816
4831
  try {
4817
- const { resumeId, ...requestData } = args;
4832
+ const { resumeId, ...otherParams } = args;
4818
4833
  const url = `/resumes/${resumeId}`;
4819
4834
  // Map camelCase to original parameter names for API request
4820
4835
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4821
- const mappedParams = { ...requestData };
4836
+ const mappedParams = args.requestData || { ...otherParams };
4822
4837
  if ('resumeId' in mappedParams) {
4823
4838
  mappedParams['resume_id'] = mappedParams['resumeId'];
4824
4839
  delete mappedParams['resumeId'];
@@ -4840,10 +4855,10 @@ mcpServer.tool('edit-resume', `Resume updating`, {
4840
4855
  });
4841
4856
  mcpServer.tool('get-resume-creation-availability', `Availability of resume creation`, {}, async (args, extra) => {
4842
4857
  try {
4843
- const queryParams = args;
4858
+ const otherParams = args;
4844
4859
  // Map camelCase to original parameter names for API request
4845
4860
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4846
- const mappedParams = { ...queryParams };
4861
+ const mappedParams = { ...otherParams };
4847
4862
  // Extract authorization token from HTTP request headers
4848
4863
  const authorization = extra?.requestInfo?.headers?.authorization;
4849
4864
  const bearer = authorization?.replace('Bearer ', '');
@@ -4864,10 +4879,10 @@ mcpServer.tool('get-saved-resume-searches', `List of Saved resume searches`, {
4864
4879
  perPage: z.string().optional(),
4865
4880
  }, async (args, extra) => {
4866
4881
  try {
4867
- const queryParams = args;
4882
+ const otherParams = args;
4868
4883
  // Map camelCase to original parameter names for API request
4869
4884
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4870
- const mappedParams = { ...queryParams };
4885
+ const mappedParams = { ...otherParams };
4871
4886
  if ('perPage' in mappedParams) {
4872
4887
  mappedParams['per_page'] = mappedParams['perPage'];
4873
4888
  delete mappedParams['perPage'];
@@ -4924,10 +4939,10 @@ mcpServer.tool('create-saved-resume-search', `Creating new saved resumes search`
4924
4939
  professionalRole: z.string().optional(),
4925
4940
  }, async (args, extra) => {
4926
4941
  try {
4927
- const requestData = args;
4942
+ const otherParams = args;
4928
4943
  // Map camelCase to original parameter names for API request
4929
4944
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4930
- const mappedParams = { ...requestData };
4945
+ const mappedParams = args.requestData || { ...otherParams };
4931
4946
  if ('textLogic' in mappedParams) {
4932
4947
  mappedParams['text.logic'] = mappedParams['textLogic'];
4933
4948
  delete mappedParams['textLogic'];
@@ -5023,11 +5038,11 @@ mcpServer.tool('get-resume-access-types', `Retrieving a list of resume visibilit
5023
5038
  resumeId: z.string(),
5024
5039
  }, async (args, extra) => {
5025
5040
  try {
5026
- const { resumeId, ...queryParams } = args;
5041
+ const { resumeId, ...otherParams } = args;
5027
5042
  const url = `/resumes/${resumeId}/access_types`;
5028
5043
  // Map camelCase to original parameter names for API request
5029
5044
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5030
- const mappedParams = { ...queryParams };
5045
+ const mappedParams = { ...otherParams };
5031
5046
  if ('resumeId' in mappedParams) {
5032
5047
  mappedParams['resume_id'] = mappedParams['resumeId'];
5033
5048
  delete mappedParams['resumeId'];
@@ -5052,11 +5067,11 @@ mcpServer.tool('update-applicant-comment', `Update a comment`, {
5052
5067
  commentId: z.string(),
5053
5068
  }, async (args, extra) => {
5054
5069
  try {
5055
- const { applicantId, commentId, ...requestData } = args;
5070
+ const { applicantId, commentId, ...otherParams } = args;
5056
5071
  const url = `/applicant_comments/${applicantId}/${commentId}`;
5057
5072
  // Map camelCase to original parameter names for API request
5058
5073
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5059
- const mappedParams = { ...requestData };
5074
+ const mappedParams = args.requestData || { ...otherParams };
5060
5075
  if ('applicantId' in mappedParams) {
5061
5076
  mappedParams['applicant_id'] = mappedParams['applicantId'];
5062
5077
  delete mappedParams['applicantId'];
@@ -5085,11 +5100,11 @@ mcpServer.tool('delete-applicant-comment', `Delete a comment`, {
5085
5100
  commentId: z.string(),
5086
5101
  }, async (args, extra) => {
5087
5102
  try {
5088
- const { applicantId, commentId, ...queryParams } = args;
5103
+ const { applicantId, commentId, ...otherParams } = args;
5089
5104
  const url = `/applicant_comments/${applicantId}/${commentId}`;
5090
5105
  // Map camelCase to original parameter names for API request
5091
5106
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5092
- const mappedParams = { ...queryParams };
5107
+ const mappedParams = { ...otherParams };
5093
5108
  if ('applicantId' in mappedParams) {
5094
5109
  mappedParams['applicant_id'] = mappedParams['applicantId'];
5095
5110
  delete mappedParams['applicantId'];
@@ -5120,11 +5135,11 @@ mcpServer.tool('get-applicant-comments-list', `List of comments`, {
5120
5135
  orderBy: z.string().optional(),
5121
5136
  }, async (args, extra) => {
5122
5137
  try {
5123
- const { applicantId, ...queryParams } = args;
5138
+ const { applicantId, ...otherParams } = args;
5124
5139
  const url = `/applicant_comments/${applicantId}`;
5125
5140
  // Map camelCase to original parameter names for API request
5126
5141
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5127
- const mappedParams = { ...queryParams };
5142
+ const mappedParams = { ...otherParams };
5128
5143
  if ('applicantId' in mappedParams) {
5129
5144
  mappedParams['applicant_id'] = mappedParams['applicantId'];
5130
5145
  delete mappedParams['applicantId'];
@@ -5156,11 +5171,11 @@ mcpServer.tool('add-applicant-comment', `Add a comment`, {
5156
5171
  applicantId: z.string(),
5157
5172
  }, async (args, extra) => {
5158
5173
  try {
5159
- const { applicantId, ...requestData } = args;
5174
+ const { applicantId, ...otherParams } = args;
5160
5175
  const url = `/applicant_comments/${applicantId}`;
5161
5176
  // Map camelCase to original parameter names for API request
5162
5177
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5163
- const mappedParams = { ...requestData };
5178
+ const mappedParams = args.requestData || { ...otherParams };
5164
5179
  if ('applicantId' in mappedParams) {
5165
5180
  mappedParams['applicant_id'] = mappedParams['applicantId'];
5166
5181
  delete mappedParams['applicantId'];
@@ -5183,13 +5198,14 @@ mcpServer.tool('add-applicant-comment', `Add a comment`, {
5183
5198
  mcpServer.tool('put-mail-templates-item', `Edit a template for response to an applicant`, {
5184
5199
  employerId: z.string(),
5185
5200
  templateId: z.string(),
5201
+ requestData: z.record(z.any()).optional(),
5186
5202
  }, async (args, extra) => {
5187
5203
  try {
5188
- const { employerId, templateId, ...requestData } = args;
5204
+ const { employerId, templateId, ...otherParams } = args;
5189
5205
  const url = `/employers/${employerId}/mail_templates/${templateId}`;
5190
5206
  // Map camelCase to original parameter names for API request
5191
5207
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5192
- const mappedParams = { ...requestData };
5208
+ const mappedParams = args.requestData || { ...otherParams };
5193
5209
  if ('employerId' in mappedParams) {
5194
5210
  mappedParams['employer_id'] = mappedParams['employerId'];
5195
5211
  delete mappedParams['employerId'];
@@ -5217,11 +5233,11 @@ mcpServer.tool('get-mail-templates', `List of available templates for response t
5217
5233
  employerId: z.string(),
5218
5234
  }, async (args, extra) => {
5219
5235
  try {
5220
- const { employerId, ...queryParams } = args;
5236
+ const { employerId, ...otherParams } = args;
5221
5237
  const url = `/employers/${employerId}/mail_templates`;
5222
5238
  // Map camelCase to original parameter names for API request
5223
5239
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5224
- const mappedParams = { ...queryParams };
5240
+ const mappedParams = { ...otherParams };
5225
5241
  if ('employerId' in mappedParams) {
5226
5242
  mappedParams['employer_id'] = mappedParams['employerId'];
5227
5243
  delete mappedParams['employerId'];
@@ -5246,10 +5262,10 @@ mcpServer.tool('get-clickme-statistics', `Getting info about Clickme ad campaign
5246
5262
  dateTo: z.string(),
5247
5263
  }, async (args, extra) => {
5248
5264
  try {
5249
- const queryParams = args;
5265
+ const otherParams = args;
5250
5266
  // Map camelCase to original parameter names for API request
5251
5267
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5252
- const mappedParams = { ...queryParams };
5268
+ const mappedParams = { ...otherParams };
5253
5269
  if ('dateFrom' in mappedParams) {
5254
5270
  mappedParams['date_from'] = mappedParams['dateFrom'];
5255
5271
  delete mappedParams['dateFrom'];
@@ -5275,10 +5291,10 @@ mcpServer.tool('get-clickme-statistics', `Getting info about Clickme ad campaign
5275
5291
  });
5276
5292
  mcpServer.tool('get-countries', `Countries`, {}, async (args, extra) => {
5277
5293
  try {
5278
- const queryParams = args;
5294
+ const otherParams = args;
5279
5295
  // Map camelCase to original parameter names for API request
5280
5296
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5281
- const mappedParams = { ...queryParams };
5297
+ const mappedParams = { ...otherParams };
5282
5298
  // Extract authorization token from HTTP request headers
5283
5299
  const authorization = extra?.requestInfo?.headers?.authorization;
5284
5300
  const bearer = authorization?.replace('Bearer ', '');
@@ -5298,10 +5314,10 @@ mcpServer.tool('get-areas', `Tree view of all regions`, {
5298
5314
  additionalCase: z.string().optional(),
5299
5315
  }, async (args, extra) => {
5300
5316
  try {
5301
- const queryParams = args;
5317
+ const otherParams = args;
5302
5318
  // Map camelCase to original parameter names for API request
5303
5319
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5304
- const mappedParams = { ...queryParams };
5320
+ const mappedParams = { ...otherParams };
5305
5321
  if ('additionalCase' in mappedParams) {
5306
5322
  mappedParams['additional_case'] = mappedParams['additionalCase'];
5307
5323
  delete mappedParams['additionalCase'];
@@ -5326,11 +5342,11 @@ mcpServer.tool('get-areas-from-specified', `Region directory, starting from the
5326
5342
  additionalCase: z.string().optional(),
5327
5343
  }, async (args, extra) => {
5328
5344
  try {
5329
- const { areaId, ...queryParams } = args;
5345
+ const { areaId, ...otherParams } = args;
5330
5346
  const url = `/areas/${areaId}`;
5331
5347
  // Map camelCase to original parameter names for API request
5332
5348
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5333
- const mappedParams = { ...queryParams };
5349
+ const mappedParams = { ...otherParams };
5334
5350
  if ('areaId' in mappedParams) {
5335
5351
  mappedParams['area_id'] = mappedParams['areaId'];
5336
5352
  delete mappedParams['areaId'];
@@ -5356,10 +5372,10 @@ mcpServer.tool('get-areas-from-specified', `Region directory, starting from the
5356
5372
  });
5357
5373
  mcpServer.tool('get-salary-employee-levels', `Competency levels`, {}, async (args, extra) => {
5358
5374
  try {
5359
- const queryParams = args;
5375
+ const otherParams = args;
5360
5376
  // Map camelCase to original parameter names for API request
5361
5377
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5362
- const mappedParams = { ...queryParams };
5378
+ const mappedParams = { ...otherParams };
5363
5379
  // Extract authorization token from HTTP request headers
5364
5380
  const authorization = extra?.requestInfo?.headers?.authorization;
5365
5381
  const bearer = authorization?.replace('Bearer ', '');
@@ -5377,10 +5393,10 @@ mcpServer.tool('get-salary-employee-levels', `Competency levels`, {}, async (arg
5377
5393
  });
5378
5394
  mcpServer.tool('get-salary-salary-areas', `Regions and cities`, {}, async (args, extra) => {
5379
5395
  try {
5380
- const queryParams = args;
5396
+ const otherParams = args;
5381
5397
  // Map camelCase to original parameter names for API request
5382
5398
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5383
- const mappedParams = { ...queryParams };
5399
+ const mappedParams = { ...otherParams };
5384
5400
  // Extract authorization token from HTTP request headers
5385
5401
  const authorization = extra?.requestInfo?.headers?.authorization;
5386
5402
  const bearer = authorization?.replace('Bearer ', '');
@@ -5398,10 +5414,10 @@ mcpServer.tool('get-salary-salary-areas', `Regions and cities`, {}, async (args,
5398
5414
  });
5399
5415
  mcpServer.tool('get-salary-professional-areas', `Professions and specializations`, {}, async (args, extra) => {
5400
5416
  try {
5401
- const queryParams = args;
5417
+ const otherParams = args;
5402
5418
  // Map camelCase to original parameter names for API request
5403
5419
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5404
- const mappedParams = { ...queryParams };
5420
+ const mappedParams = { ...otherParams };
5405
5421
  // Extract authorization token from HTTP request headers
5406
5422
  const authorization = extra?.requestInfo?.headers?.authorization;
5407
5423
  const bearer = authorization?.replace('Bearer ', '');
@@ -5419,10 +5435,10 @@ mcpServer.tool('get-salary-professional-areas', `Professions and specializations
5419
5435
  });
5420
5436
  mcpServer.tool('get-salary-industries', `Industries and fields of expertise`, {}, async (args, extra) => {
5421
5437
  try {
5422
- const queryParams = args;
5438
+ const otherParams = args;
5423
5439
  // Map camelCase to original parameter names for API request
5424
5440
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5425
- const mappedParams = { ...queryParams };
5441
+ const mappedParams = { ...otherParams };
5426
5442
  // Extract authorization token from HTTP request headers
5427
5443
  const authorization = extra?.requestInfo?.headers?.authorization;
5428
5444
  const bearer = authorization?.replace('Bearer ', '');
@@ -5446,11 +5462,11 @@ mcpServer.tool('get-resume-visibility-employers-list', `Searching for employers
5446
5462
  page: z.string().optional(),
5447
5463
  }, async (args, extra) => {
5448
5464
  try {
5449
- const { resumeId, listType, ...queryParams } = args;
5465
+ const { resumeId, listType, ...otherParams } = args;
5450
5466
  const url = `/resumes/${resumeId}/${listType}/search`;
5451
5467
  // Map camelCase to original parameter names for API request
5452
5468
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5453
- const mappedParams = { ...queryParams };
5469
+ const mappedParams = { ...otherParams };
5454
5470
  if ('resumeId' in mappedParams) {
5455
5471
  mappedParams['resume_id'] = mappedParams['resumeId'];
5456
5472
  delete mappedParams['resumeId'];
@@ -5483,11 +5499,11 @@ mcpServer.tool('get-resume-visibility-list', `Getting visibility lists`, {
5483
5499
  listType: z.string(),
5484
5500
  }, async (args, extra) => {
5485
5501
  try {
5486
- const { resumeId, listType, ...queryParams } = args;
5502
+ const { resumeId, listType, ...otherParams } = args;
5487
5503
  const url = `/resumes/${resumeId}/${listType}`;
5488
5504
  // Map camelCase to original parameter names for API request
5489
5505
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5490
- const mappedParams = { ...queryParams };
5506
+ const mappedParams = { ...otherParams };
5491
5507
  if ('resumeId' in mappedParams) {
5492
5508
  mappedParams['resume_id'] = mappedParams['resumeId'];
5493
5509
  delete mappedParams['resumeId'];
@@ -5514,13 +5530,14 @@ mcpServer.tool('get-resume-visibility-list', `Getting visibility lists`, {
5514
5530
  mcpServer.tool('add-resume-visibility-list', `Adding employers to the visibility list`, {
5515
5531
  resumeId: z.string(),
5516
5532
  listType: z.string(),
5533
+ requestData: z.record(z.any()).optional(),
5517
5534
  }, async (args, extra) => {
5518
5535
  try {
5519
- const { resumeId, listType, ...requestData } = args;
5536
+ const { resumeId, listType, ...otherParams } = args;
5520
5537
  const url = `/resumes/${resumeId}/${listType}`;
5521
5538
  // Map camelCase to original parameter names for API request
5522
5539
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5523
- const mappedParams = { ...requestData };
5540
+ const mappedParams = args.requestData || { ...otherParams };
5524
5541
  if ('resumeId' in mappedParams) {
5525
5542
  mappedParams['resume_id'] = mappedParams['resumeId'];
5526
5543
  delete mappedParams['resumeId'];
@@ -5549,11 +5566,11 @@ mcpServer.tool('delete-resume-visibility-list', `Clearing the visibility list`,
5549
5566
  listType: z.string(),
5550
5567
  }, async (args, extra) => {
5551
5568
  try {
5552
- const { resumeId, listType, ...queryParams } = args;
5569
+ const { resumeId, listType, ...otherParams } = args;
5553
5570
  const url = `/resumes/${resumeId}/${listType}`;
5554
5571
  // Map camelCase to original parameter names for API request
5555
5572
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5556
- const mappedParams = { ...queryParams };
5573
+ const mappedParams = { ...otherParams };
5557
5574
  if ('resumeId' in mappedParams) {
5558
5575
  mappedParams['resume_id'] = mappedParams['resumeId'];
5559
5576
  delete mappedParams['resumeId'];
@@ -5583,11 +5600,11 @@ mcpServer.tool('delete-employer-from-resume-visibility-list', `Removing employer
5583
5600
  id: z.string(),
5584
5601
  }, async (args, extra) => {
5585
5602
  try {
5586
- const { resumeId, listType, ...queryParams } = args;
5603
+ const { resumeId, listType, ...otherParams } = args;
5587
5604
  const url = `/resumes/${resumeId}/${listType}/employer`;
5588
5605
  // Map camelCase to original parameter names for API request
5589
5606
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5590
- const mappedParams = { ...queryParams };
5607
+ const mappedParams = { ...otherParams };
5591
5608
  if ('resumeId' in mappedParams) {
5592
5609
  mappedParams['resume_id'] = mappedParams['resumeId'];
5593
5610
  delete mappedParams['resumeId'];