@dolusoft/hirebase-mcp 1.3.5 → 1.4.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 (232) hide show
  1. package/dist/__tests__/integration/hybrid-search.test.d.ts +1 -0
  2. package/dist/__tests__/integration/hybrid-search.test.js +70 -0
  3. package/dist/__tests__/integration/hybrid-search.test.js.map +1 -0
  4. package/dist/__tests__/unit/chunking.test.d.ts +1 -0
  5. package/dist/__tests__/unit/chunking.test.js +70 -0
  6. package/dist/__tests__/unit/chunking.test.js.map +1 -0
  7. package/dist/__tests__/unit/composite-score.test.d.ts +1 -0
  8. package/dist/__tests__/unit/composite-score.test.js +28 -0
  9. package/dist/__tests__/unit/composite-score.test.js.map +1 -0
  10. package/dist/__tests__/unit/find-similar-candidates.test.d.ts +1 -0
  11. package/dist/__tests__/unit/find-similar-candidates.test.js +33 -0
  12. package/dist/__tests__/unit/find-similar-candidates.test.js.map +1 -0
  13. package/dist/__tests__/unit/query-enhancer.test.d.ts +1 -0
  14. package/dist/__tests__/unit/query-enhancer.test.js +20 -0
  15. package/dist/__tests__/unit/query-enhancer.test.js.map +1 -0
  16. package/dist/__tests__/unit/skill-graph.test.d.ts +1 -0
  17. package/dist/__tests__/unit/skill-graph.test.js +38 -0
  18. package/dist/__tests__/unit/skill-graph.test.js.map +1 -0
  19. package/dist/__tests__/unit/skill-normalizer.test.d.ts +1 -0
  20. package/dist/__tests__/unit/skill-normalizer.test.js +41 -0
  21. package/dist/__tests__/unit/skill-normalizer.test.js.map +1 -0
  22. package/dist/__tests__/unit/smoke.test.d.ts +1 -0
  23. package/dist/__tests__/unit/smoke.test.js +7 -0
  24. package/dist/__tests__/unit/smoke.test.js.map +1 -0
  25. package/dist/application/dto/candidate-summary.d.ts +2 -0
  26. package/dist/application/dto/filter-input.d.ts +2 -0
  27. package/dist/application/dto/search-results.d.ts +3 -0
  28. package/dist/application/dto/stats.d.ts +6 -0
  29. package/dist/application/services/query-enhancer.d.ts +10 -0
  30. package/dist/application/services/query-enhancer.js +34 -0
  31. package/dist/application/services/query-enhancer.js.map +1 -0
  32. package/dist/application/use-cases/add-cv.d.ts +5 -1
  33. package/dist/application/use-cases/add-cv.js +25 -4
  34. package/dist/application/use-cases/add-cv.js.map +1 -1
  35. package/dist/application/use-cases/delete-cv.d.ts +5 -1
  36. package/dist/application/use-cases/delete-cv.js +13 -1
  37. package/dist/application/use-cases/delete-cv.js.map +1 -1
  38. package/dist/application/use-cases/delete-job-posting.d.ts +10 -0
  39. package/dist/application/use-cases/delete-job-posting.js +23 -0
  40. package/dist/application/use-cases/delete-job-posting.js.map +1 -0
  41. package/dist/application/use-cases/filter-candidates.js +12 -1
  42. package/dist/application/use-cases/filter-candidates.js.map +1 -1
  43. package/dist/application/use-cases/find-similar-candidates.d.ts +21 -0
  44. package/dist/application/use-cases/find-similar-candidates.js +85 -0
  45. package/dist/application/use-cases/find-similar-candidates.js.map +1 -0
  46. package/dist/application/use-cases/get-stats.js +2 -0
  47. package/dist/application/use-cases/get-stats.js.map +1 -1
  48. package/dist/application/use-cases/list-cvs.d.ts +2 -1
  49. package/dist/application/use-cases/list-cvs.js +18 -2
  50. package/dist/application/use-cases/list-cvs.js.map +1 -1
  51. package/dist/application/use-cases/match-candidates.d.ts +5 -1
  52. package/dist/application/use-cases/match-candidates.js +61 -19
  53. package/dist/application/use-cases/match-candidates.js.map +1 -1
  54. package/dist/application/use-cases/reindex-all.d.ts +22 -0
  55. package/dist/application/use-cases/reindex-all.js +124 -0
  56. package/dist/application/use-cases/reindex-all.js.map +1 -0
  57. package/dist/application/use-cases/semantic-search.d.ts +3 -1
  58. package/dist/application/use-cases/semantic-search.js +13 -3
  59. package/dist/application/use-cases/semantic-search.js.map +1 -1
  60. package/dist/application/use-cases/update-cv.d.ts +2 -1
  61. package/dist/application/use-cases/update-cv.js +18 -3
  62. package/dist/application/use-cases/update-cv.js.map +1 -1
  63. package/dist/domain/entities/candidate.d.ts +3 -0
  64. package/dist/domain/repositories/candidate-repository.d.ts +1 -0
  65. package/dist/domain/repositories/chunk-repository.d.ts +8 -0
  66. package/dist/infrastructure/config/app-config.d.ts +5 -0
  67. package/dist/infrastructure/config/app-config.js +4 -0
  68. package/dist/infrastructure/config/app-config.js.map +1 -1
  69. package/dist/infrastructure/persistence/database.d.ts +1 -0
  70. package/dist/infrastructure/persistence/database.js +20 -0
  71. package/dist/infrastructure/persistence/database.js.map +1 -1
  72. package/dist/infrastructure/persistence/lancedb-candidate-repository.d.ts +1 -0
  73. package/dist/infrastructure/persistence/lancedb-candidate-repository.js +20 -0
  74. package/dist/infrastructure/persistence/lancedb-candidate-repository.js.map +1 -1
  75. package/dist/infrastructure/persistence/lancedb-chunk-repository.d.ts +4 -1
  76. package/dist/infrastructure/persistence/lancedb-chunk-repository.js +64 -2
  77. package/dist/infrastructure/persistence/lancedb-chunk-repository.js.map +1 -1
  78. package/dist/interface/dashboard/public/200.html +1 -1
  79. package/dist/interface/dashboard/public/404.html +1 -1
  80. package/dist/interface/dashboard/public/_nuxt/builds/latest.json +1 -1
  81. package/dist/interface/dashboard/public/_nuxt/builds/meta/05a92851-5bed-4eaf-bd75-e0aff9ec5876.json +1 -0
  82. package/dist/interface/dashboard/public/_nuxt/builds/meta/1d36013b-8fb8-4cea-a448-d5f224b731ee.json +1 -0
  83. package/dist/interface/dashboard/public/_nuxt/builds/meta/2bb695c5-c739-46a0-a3e6-4b76aa321c29.json +1 -0
  84. package/dist/interface/dashboard/public/_nuxt/builds/meta/3ee0a1ee-8e79-4443-a6e7-b0b6412b0a38.json +1 -0
  85. package/dist/interface/dashboard/public/_nuxt/builds/meta/ba31dbc0-8fe2-44bc-8214-6b3d717566a0.json +1 -0
  86. package/dist/interface/dashboard/public/_nuxt/builds/meta/fc914bdb-64a6-4798-a08f-64eb8ea9a307.json +1 -0
  87. package/dist/interface/dashboard/public/index.html +1 -1
  88. package/dist/interface/mcp/server.js +105 -42
  89. package/dist/interface/mcp/server.js.map +1 -1
  90. package/dist/interface/mcp/tools/add-cv.d.ts +2 -2
  91. package/dist/interface/mcp/tools/add-cv.js +31 -3
  92. package/dist/interface/mcp/tools/add-cv.js.map +1 -1
  93. package/dist/interface/mcp/tools/add-job-posting.d.ts +2 -2
  94. package/dist/interface/mcp/tools/add-job-posting.js +20 -12
  95. package/dist/interface/mcp/tools/add-job-posting.js.map +1 -1
  96. package/dist/interface/mcp/tools/add-pipeline-note.d.ts +2 -2
  97. package/dist/interface/mcp/tools/add-pipeline-note.js +10 -6
  98. package/dist/interface/mcp/tools/add-pipeline-note.js.map +1 -1
  99. package/dist/interface/mcp/tools/add-reference-cv.d.ts +2 -2
  100. package/dist/interface/mcp/tools/add-reference-cv.js +9 -5
  101. package/dist/interface/mcp/tools/add-reference-cv.js.map +1 -1
  102. package/dist/interface/mcp/tools/add-to-pipeline.d.ts +2 -2
  103. package/dist/interface/mcp/tools/add-to-pipeline.js +9 -5
  104. package/dist/interface/mcp/tools/add-to-pipeline.js.map +1 -1
  105. package/dist/interface/mcp/tools/check-duplicate-candidate.d.ts +2 -2
  106. package/dist/interface/mcp/tools/check-duplicate-candidate.js +8 -4
  107. package/dist/interface/mcp/tools/check-duplicate-candidate.js.map +1 -1
  108. package/dist/interface/mcp/tools/compare-candidates.d.ts +2 -2
  109. package/dist/interface/mcp/tools/compare-candidates.js +8 -4
  110. package/dist/interface/mcp/tools/compare-candidates.js.map +1 -1
  111. package/dist/interface/mcp/tools/create-call-batch.d.ts +2 -2
  112. package/dist/interface/mcp/tools/create-call-batch.js +10 -6
  113. package/dist/interface/mcp/tools/create-call-batch.js.map +1 -1
  114. package/dist/interface/mcp/tools/delete-cv.d.ts +2 -2
  115. package/dist/interface/mcp/tools/delete-cv.js +29 -2
  116. package/dist/interface/mcp/tools/delete-cv.js.map +1 -1
  117. package/dist/interface/mcp/tools/delete-job-posting.d.ts +2 -2
  118. package/dist/interface/mcp/tools/delete-job-posting.js +32 -3
  119. package/dist/interface/mcp/tools/delete-job-posting.js.map +1 -1
  120. package/dist/interface/mcp/tools/export-results.d.ts +2 -2
  121. package/dist/interface/mcp/tools/export-results.js +7 -3
  122. package/dist/interface/mcp/tools/export-results.js.map +1 -1
  123. package/dist/interface/mcp/tools/filter-candidates.d.ts +2 -2
  124. package/dist/interface/mcp/tools/filter-candidates.js +17 -9
  125. package/dist/interface/mcp/tools/filter-candidates.js.map +1 -1
  126. package/dist/interface/mcp/tools/find-similar-candidates.d.ts +3 -0
  127. package/dist/interface/mcp/tools/find-similar-candidates.js +39 -0
  128. package/dist/interface/mcp/tools/find-similar-candidates.js.map +1 -0
  129. package/dist/interface/mcp/tools/generate-screening-report.d.ts +2 -2
  130. package/dist/interface/mcp/tools/generate-screening-report.js +8 -4
  131. package/dist/interface/mcp/tools/generate-screening-report.js.map +1 -1
  132. package/dist/interface/mcp/tools/get-call-batch-status.d.ts +2 -2
  133. package/dist/interface/mcp/tools/get-call-batch-status.js +7 -3
  134. package/dist/interface/mcp/tools/get-call-batch-status.js.map +1 -1
  135. package/dist/interface/mcp/tools/get-candidate-history.d.ts +2 -2
  136. package/dist/interface/mcp/tools/get-candidate-history.js +7 -3
  137. package/dist/interface/mcp/tools/get-candidate-history.js.map +1 -1
  138. package/dist/interface/mcp/tools/get-cv-chunks.d.ts +2 -2
  139. package/dist/interface/mcp/tools/get-cv-chunks.js +13 -9
  140. package/dist/interface/mcp/tools/get-cv-chunks.js.map +1 -1
  141. package/dist/interface/mcp/tools/get-cv-detail.d.ts +2 -2
  142. package/dist/interface/mcp/tools/get-cv-detail.js +6 -2
  143. package/dist/interface/mcp/tools/get-cv-detail.js.map +1 -1
  144. package/dist/interface/mcp/tools/get-cv-versions.d.ts +2 -2
  145. package/dist/interface/mcp/tools/get-cv-versions.js +6 -2
  146. package/dist/interface/mcp/tools/get-cv-versions.js.map +1 -1
  147. package/dist/interface/mcp/tools/get-job-posting.d.ts +2 -2
  148. package/dist/interface/mcp/tools/get-job-posting.js +7 -3
  149. package/dist/interface/mcp/tools/get-job-posting.js.map +1 -1
  150. package/dist/interface/mcp/tools/get-pending-actions.d.ts +2 -2
  151. package/dist/interface/mcp/tools/get-pending-actions.js +6 -2
  152. package/dist/interface/mcp/tools/get-pending-actions.js.map +1 -1
  153. package/dist/interface/mcp/tools/get-pipeline-candidates.d.ts +2 -2
  154. package/dist/interface/mcp/tools/get-pipeline-candidates.js +7 -3
  155. package/dist/interface/mcp/tools/get-pipeline-candidates.js.map +1 -1
  156. package/dist/interface/mcp/tools/get-pipeline.d.ts +2 -2
  157. package/dist/interface/mcp/tools/get-pipeline.js +7 -3
  158. package/dist/interface/mcp/tools/get-pipeline.js.map +1 -1
  159. package/dist/interface/mcp/tools/get-screening-history.d.ts +2 -2
  160. package/dist/interface/mcp/tools/get-screening-history.js +7 -3
  161. package/dist/interface/mcp/tools/get-screening-history.js.map +1 -1
  162. package/dist/interface/mcp/tools/get-server-status.d.ts +2 -2
  163. package/dist/interface/mcp/tools/get-server-status.js +6 -2
  164. package/dist/interface/mcp/tools/get-server-status.js.map +1 -1
  165. package/dist/interface/mcp/tools/get-stats.d.ts +2 -2
  166. package/dist/interface/mcp/tools/get-stats.js +6 -2
  167. package/dist/interface/mcp/tools/get-stats.js.map +1 -1
  168. package/dist/interface/mcp/tools/list-cvs.d.ts +2 -2
  169. package/dist/interface/mcp/tools/list-cvs.js +32 -11
  170. package/dist/interface/mcp/tools/list-cvs.js.map +1 -1
  171. package/dist/interface/mcp/tools/list-job-postings.d.ts +2 -2
  172. package/dist/interface/mcp/tools/list-job-postings.js +6 -2
  173. package/dist/interface/mcp/tools/list-job-postings.js.map +1 -1
  174. package/dist/interface/mcp/tools/list-reference-cvs.d.ts +2 -2
  175. package/dist/interface/mcp/tools/list-reference-cvs.js +7 -3
  176. package/dist/interface/mcp/tools/list-reference-cvs.js.map +1 -1
  177. package/dist/interface/mcp/tools/manage-tags.d.ts +2 -2
  178. package/dist/interface/mcp/tools/manage-tags.js +8 -4
  179. package/dist/interface/mcp/tools/manage-tags.js.map +1 -1
  180. package/dist/interface/mcp/tools/match-candidates.d.ts +2 -2
  181. package/dist/interface/mcp/tools/match-candidates.js +26 -12
  182. package/dist/interface/mcp/tools/match-candidates.js.map +1 -1
  183. package/dist/interface/mcp/tools/reindex-all.d.ts +3 -0
  184. package/dist/interface/mcp/tools/reindex-all.js +31 -0
  185. package/dist/interface/mcp/tools/reindex-all.js.map +1 -0
  186. package/dist/interface/mcp/tools/remove-reference-cv.d.ts +2 -2
  187. package/dist/interface/mcp/tools/remove-reference-cv.js +29 -2
  188. package/dist/interface/mcp/tools/remove-reference-cv.js.map +1 -1
  189. package/dist/interface/mcp/tools/reset-database.d.ts +2 -2
  190. package/dist/interface/mcp/tools/reset-database.js +29 -2
  191. package/dist/interface/mcp/tools/reset-database.js.map +1 -1
  192. package/dist/interface/mcp/tools/semantic-search.d.ts +2 -2
  193. package/dist/interface/mcp/tools/semantic-search.js +24 -11
  194. package/dist/interface/mcp/tools/semantic-search.js.map +1 -1
  195. package/dist/interface/mcp/tools/set-pending-action.d.ts +2 -2
  196. package/dist/interface/mcp/tools/set-pending-action.js +16 -12
  197. package/dist/interface/mcp/tools/set-pending-action.js.map +1 -1
  198. package/dist/interface/mcp/tools/update-call-outcome.d.ts +2 -2
  199. package/dist/interface/mcp/tools/update-call-outcome.js +10 -6
  200. package/dist/interface/mcp/tools/update-call-outcome.js.map +1 -1
  201. package/dist/interface/mcp/tools/update-cv.d.ts +2 -2
  202. package/dist/interface/mcp/tools/update-cv.js +16 -6
  203. package/dist/interface/mcp/tools/update-cv.js.map +1 -1
  204. package/dist/interface/mcp/tools/update-job-posting.d.ts +2 -2
  205. package/dist/interface/mcp/tools/update-job-posting.js +16 -12
  206. package/dist/interface/mcp/tools/update-job-posting.js.map +1 -1
  207. package/dist/interface/mcp/tools/update-pipeline-status.d.ts +2 -2
  208. package/dist/interface/mcp/tools/update-pipeline-status.js +9 -5
  209. package/dist/interface/mcp/tools/update-pipeline-status.js.map +1 -1
  210. package/dist/interface/mcp/types.d.ts +2 -0
  211. package/dist/shared/data/skill-graph.json +115 -0
  212. package/dist/shared/data/skill-map.json +104 -0
  213. package/dist/shared/mcp/logger.d.ts +7 -0
  214. package/dist/shared/mcp/logger.js +20 -0
  215. package/dist/shared/mcp/logger.js.map +1 -0
  216. package/dist/shared/mcp/progress.d.ts +6 -0
  217. package/dist/shared/mcp/progress.js +33 -0
  218. package/dist/shared/mcp/progress.js.map +1 -0
  219. package/dist/shared/services/skill-graph.d.ts +11 -0
  220. package/dist/shared/services/skill-graph.js +84 -0
  221. package/dist/shared/services/skill-graph.js.map +1 -0
  222. package/dist/shared/services/skill-normalizer.d.ts +6 -0
  223. package/dist/shared/services/skill-normalizer.js +32 -0
  224. package/dist/shared/services/skill-normalizer.js.map +1 -0
  225. package/dist/shared/types/index.d.ts +3 -1
  226. package/dist/shared/utils/chunking.d.ts +9 -1
  227. package/dist/shared/utils/chunking.js +46 -36
  228. package/dist/shared/utils/chunking.js.map +1 -1
  229. package/dist/shared/utils/skill-migration.d.ts +6 -0
  230. package/dist/shared/utils/skill-migration.js +35 -0
  231. package/dist/shared/utils/skill-migration.js.map +1 -0
  232. package/package.json +12 -6
@@ -1 +1 @@
1
- {"version":3,"file":"lancedb-chunk-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/persistence/lancedb-chunk-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lancedb-chunk-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/persistence/lancedb-chunk-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAc7D,MAAM,OAAO,sBAAsB;IAGb;IAFZ,YAAY,CAAiB;IAErC,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAChC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAClF,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,KAAc;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxC,UAAU,EAAE,KAAK,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAa;QAC5B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,WAAW,EAAE,GAAG,CAAC,YAA2B;YAC5C,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAChD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;YAC1C,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAiB;QAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,WAAyB;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,mBAAmB,WAAW,GAAG,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,IAAI,wBAAwB,WAAW,GAAG,CAAC;YAClD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,OAAQ,OAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC,MAAM,CAAC,mBAAmB,WAAW,GAAG,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAqB,EAAE,KAAa,EAAE,MAAe;QACxE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEvG,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,SAAS,MAAM,GAAG,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAEtC,OAAQ,OAAiC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACzB,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC3D,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,aAAa,CAAC,oCAAoC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAqB,EAAE,SAAiB,EAAE,KAAa,EAAE,MAAe;QACzF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAE9D,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;YAE1E,MAAM,OAAO,GAAG,MAAM,KAAK;iBACxB,KAAK,EAAE;iBACP,SAAS,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;iBACxC,cAAc,CAAC,SAAS,CAAC;iBACzB,MAAM,CAAC,QAAQ,CAAC;iBAChB,KAAK,CAAC,WAAW,CAAC;iBAClB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,EAAE,CAAC;YAEb,OAAQ,OAAiC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACzB,KAAK,EAAE,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACrF,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8EAA8E;YAC9E,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;YACxE,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,cAAc,EAAE,KAAK,EAAE,cAAc;oBACrC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB;iBAC1C,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"c344ef44-e491-4e51-ae81-c21dfe2317bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773758587808,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ba31dbc0-8fe2-44bc-8214-6b3d717566a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774254122070,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"c344ef44-e491-4e51-ae81-c21dfe2317bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773758587808,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ba31dbc0-8fe2-44bc-8214-6b3d717566a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774254122071,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"c344ef44-e491-4e51-ae81-c21dfe2317bb","timestamp":1773758579461}
1
+ {"id":"ba31dbc0-8fe2-44bc-8214-6b3d717566a0","timestamp":1774254116953}
@@ -0,0 +1 @@
1
+ {"id":"05a92851-5bed-4eaf-bd75-e0aff9ec5876","timestamp":1774253816528,"prerendered":[]}
@@ -0,0 +1 @@
1
+ {"id":"1d36013b-8fb8-4cea-a448-d5f224b731ee","timestamp":1774010095019,"prerendered":[]}
@@ -0,0 +1 @@
1
+ {"id":"2bb695c5-c739-46a0-a3e6-4b76aa321c29","timestamp":1774253491674,"prerendered":[]}
@@ -0,0 +1 @@
1
+ {"id":"3ee0a1ee-8e79-4443-a6e7-b0b6412b0a38","timestamp":1774254104889,"prerendered":[]}
@@ -0,0 +1 @@
1
+ {"id":"ba31dbc0-8fe2-44bc-8214-6b3d717566a0","timestamp":1774254116953,"prerendered":[]}
@@ -0,0 +1 @@
1
+ {"id":"fc914bdb-64a6-4798-a08f-64eb8ea9a307","timestamp":1774254001214,"prerendered":[]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"c344ef44-e491-4e51-ae81-c21dfe2317bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773758587808,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cjj6Q9Tz.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FR49ZCl_.js"><script type="module" src="/_nuxt/FR49ZCl_.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ba31dbc0-8fe2-44bc-8214-6b3d717566a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774254122070,false]</script></body></html>
@@ -1,4 +1,4 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { resolve, dirname } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
@@ -28,6 +28,8 @@ import { DocxParser } from '../../infrastructure/parsers/docx-parser.js';
28
28
  import { OpenAiEmbeddingService } from '../../infrastructure/ai/openai-embedding-service.js';
29
29
  import { OpenAiStructuredExtractor } from '../../infrastructure/ai/openai-structured-extractor.js';
30
30
  import { CsvExportService } from '../../infrastructure/export/csv-export-service.js';
31
+ import OpenAI from 'openai';
32
+ import { z } from 'zod/v4';
31
33
  import { DashboardEventBus } from '../dashboard/event-bus.js';
32
34
  import { wrapAllRegisteredTools } from '../dashboard/tool-wrapper.js';
33
35
  import { startDashboardServer } from '../dashboard/server.js';
@@ -61,6 +63,7 @@ import { registerGetPendingActionsTool } from './tools/get-pending-actions.js';
61
63
  import { registerGetPipelineCandidatesTool } from './tools/get-pipeline-candidates.js';
62
64
  import { registerCheckDuplicateCandidateTool } from './tools/check-duplicate-candidate.js';
63
65
  import { registerCompareCandidatesTool } from './tools/compare-candidates.js';
66
+ import { registerFindSimilarCandidatesTool } from './tools/find-similar-candidates.js';
64
67
  import { registerGetScreeningHistoryTool } from './tools/get-screening-history.js';
65
68
  import { registerGenerateScreeningReportTool } from './tools/generate-screening-report.js';
66
69
  import { registerCreateCallBatchTool } from './tools/create-call-batch.js';
@@ -69,6 +72,8 @@ import { registerUpdateCallOutcomeTool } from './tools/update-call-outcome.js';
69
72
  import { registerAddReferenceCvTool } from './tools/add-reference-cv.js';
70
73
  import { registerListReferenceCvsTool } from './tools/list-reference-cvs.js';
71
74
  import { registerRemoveReferenceCvTool } from './tools/remove-reference-cv.js';
75
+ import { registerReindexAllTool } from './tools/reindex-all.js';
76
+ import { GetStatsUseCase } from '../../application/use-cases/get-stats.js';
72
77
  export async function createServer() {
73
78
  const config = loadConfig();
74
79
  configureVectorDimension(config.embeddingModel);
@@ -86,6 +91,7 @@ export async function createServer() {
86
91
  const embeddingService = new OpenAiEmbeddingService(config.openaiApiKey, config.embeddingModel);
87
92
  const extractor = new OpenAiStructuredExtractor(config.openaiApiKey, config.extractionModel);
88
93
  const exportService = new CsvExportService();
94
+ const openaiClient = new OpenAI({ apiKey: config.openaiApiKey });
89
95
  const deps = {
90
96
  candidateRepo,
91
97
  chunkRepo,
@@ -100,49 +106,106 @@ export async function createServer() {
100
106
  embeddingService,
101
107
  extractor,
102
108
  exportService,
109
+ openaiClient,
103
110
  };
104
- const server = new McpServer({
105
- name: 'hirebase',
106
- version: getVersion(),
111
+ const server = new McpServer({ name: 'hirebase', version: getVersion() }, { capabilities: { logging: {}, tools: { listChanged: true } } });
112
+ const toolGroups = {};
113
+ toolGroups.cv = [
114
+ registerAddCvTool(server, deps),
115
+ registerUpdateCvTool(server, deps),
116
+ registerDeleteCvTool(server, deps),
117
+ registerListCvsTool(server, deps),
118
+ registerGetCvDetailTool(server, deps),
119
+ registerGetCvChunksTool(server, deps),
120
+ registerGetCvVersionsTool(server, deps),
121
+ registerSemanticSearchTool(server, deps),
122
+ registerFilterCandidatesTool(server, deps),
123
+ registerCheckDuplicateCandidateTool(server, deps),
124
+ registerCompareCandidatesTool(server, deps),
125
+ registerFindSimilarCandidatesTool(server, deps),
126
+ registerMatchCandidatesTool(server, deps),
127
+ registerManageTagsTool(server, deps),
128
+ registerExportResultsTool(server, deps),
129
+ ];
130
+ toolGroups.pipeline = [
131
+ registerAddToPipelineTool(server, deps),
132
+ registerUpdatePipelineStatusTool(server, deps),
133
+ registerAddPipelineNoteTool(server, deps),
134
+ registerSetPendingActionTool(server, deps),
135
+ registerGetPipelineTool(server, deps),
136
+ registerGetCandidateHistoryTool(server, deps),
137
+ registerGetPendingActionsTool(server, deps),
138
+ registerGetPipelineCandidatesTool(server, deps),
139
+ registerGetScreeningHistoryTool(server, deps),
140
+ registerGenerateScreeningReportTool(server, deps),
141
+ registerCreateCallBatchTool(server, deps),
142
+ registerGetCallBatchStatusTool(server, deps),
143
+ registerUpdateCallOutcomeTool(server, deps),
144
+ ];
145
+ toolGroups.jobs = [
146
+ registerAddJobPostingTool(server, deps),
147
+ registerListJobPostingsTool(server, deps),
148
+ registerGetJobPostingTool(server, deps),
149
+ registerUpdateJobPostingTool(server, deps),
150
+ registerDeleteJobPostingTool(server, deps),
151
+ registerAddReferenceCvTool(server, deps),
152
+ registerListReferenceCvsTool(server, deps),
153
+ registerRemoveReferenceCvTool(server, deps),
154
+ ];
155
+ toolGroups.system = [
156
+ registerGetStatsTool(server, deps),
157
+ registerGetServerStatusTool(server, deps),
158
+ registerResetDatabaseTool(server, deps),
159
+ registerReindexAllTool(server, deps),
160
+ ];
161
+ // --- set_mode tool: switch active tool groups ---
162
+ const MODE_GROUPS = {
163
+ cv: ['cv', 'system'],
164
+ pipeline: ['pipeline', 'system'],
165
+ jobs: ['jobs', 'system'],
166
+ all: Object.keys(toolGroups),
167
+ };
168
+ server.registerTool('set_mode', {
169
+ description: 'Switch active tool group: cv, pipeline, jobs, all',
170
+ inputSchema: {
171
+ mode: z.enum(['cv', 'pipeline', 'jobs', 'all']).describe('Tool group'),
172
+ },
173
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
174
+ }, async ({ mode }) => {
175
+ const activeGroups = MODE_GROUPS[mode] ?? Object.keys(toolGroups);
176
+ let enabled = 0, disabled = 0;
177
+ for (const [name, tools] of Object.entries(toolGroups)) {
178
+ const isActive = activeGroups.includes(name);
179
+ for (const t of tools) {
180
+ if (isActive) {
181
+ t.enable();
182
+ enabled++;
183
+ }
184
+ else {
185
+ t.disable();
186
+ disabled++;
187
+ }
188
+ }
189
+ }
190
+ return { content: [{ type: 'text', text: JSON.stringify({ mode, enabled, disabled }) }] };
191
+ });
192
+ // --- MCP Resources ---
193
+ // 1. Static: DB Stats
194
+ const statsUseCase = new GetStatsUseCase(candidateRepo, chunkRepo, applicationRepo, applicationEventRepo);
195
+ server.resource('database-stats', 'hirebase://stats', { mimeType: 'application/json' }, async (uri) => {
196
+ const stats = await statsUseCase.execute();
197
+ return { contents: [{ uri: uri.toString(), mimeType: 'application/json', text: JSON.stringify(stats) }] };
198
+ });
199
+ // 2. Template: Candidate Detail
200
+ server.resource('candidate-detail', new ResourceTemplate('hirebase://candidates/{candidateId}', { list: undefined }), { mimeType: 'application/json' }, async (uri, vars) => {
201
+ const candidate = await deps.candidateRepo.findById(vars.candidateId);
202
+ return { contents: [{ uri: uri.toString(), mimeType: 'application/json', text: JSON.stringify(candidate) }] };
203
+ });
204
+ // 3. Template: Job Posting Detail
205
+ server.resource('job-posting-detail', new ResourceTemplate('hirebase://jobs/{jobId}', { list: undefined }), { mimeType: 'application/json' }, async (uri, vars) => {
206
+ const job = await deps.jobPostingRepo.findById(vars.jobId);
207
+ return { contents: [{ uri: uri.toString(), mimeType: 'application/json', text: JSON.stringify(job) }] };
107
208
  });
108
- registerAddCvTool(server, deps);
109
- registerUpdateCvTool(server, deps);
110
- registerSemanticSearchTool(server, deps);
111
- registerFilterCandidatesTool(server, deps);
112
- registerGetCvDetailTool(server, deps);
113
- registerGetCvChunksTool(server, deps);
114
- registerListCvsTool(server, deps);
115
- registerDeleteCvTool(server, deps);
116
- registerManageTagsTool(server, deps);
117
- registerGetCvVersionsTool(server, deps);
118
- registerGetStatsTool(server, deps);
119
- registerExportResultsTool(server, deps);
120
- registerResetDatabaseTool(server, deps);
121
- registerGetServerStatusTool(server, deps);
122
- registerAddJobPostingTool(server, deps);
123
- registerListJobPostingsTool(server, deps);
124
- registerGetJobPostingTool(server, deps);
125
- registerMatchCandidatesTool(server, deps);
126
- registerUpdateJobPostingTool(server, deps);
127
- registerDeleteJobPostingTool(server, deps);
128
- registerAddToPipelineTool(server, deps);
129
- registerUpdatePipelineStatusTool(server, deps);
130
- registerAddPipelineNoteTool(server, deps);
131
- registerSetPendingActionTool(server, deps);
132
- registerGetPipelineTool(server, deps);
133
- registerGetCandidateHistoryTool(server, deps);
134
- registerGetPendingActionsTool(server, deps);
135
- registerGetPipelineCandidatesTool(server, deps);
136
- registerCheckDuplicateCandidateTool(server, deps);
137
- registerCompareCandidatesTool(server, deps);
138
- registerGetScreeningHistoryTool(server, deps);
139
- registerGenerateScreeningReportTool(server, deps);
140
- registerCreateCallBatchTool(server, deps);
141
- registerGetCallBatchStatusTool(server, deps);
142
- registerUpdateCallOutcomeTool(server, deps);
143
- registerAddReferenceCvTool(server, deps);
144
- registerListReferenceCvsTool(server, deps);
145
- registerRemoveReferenceCvTool(server, deps);
146
209
  if (config.dashboardEnabled) {
147
210
  const eventBus = new DashboardEventBus();
148
211
  wrapAllRegisteredTools(server, eventBus, deps);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/interface/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/interface/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Dependencies } from '../types.js';
3
- export declare function registerAddCvTool(server: McpServer, deps: Dependencies): void;
3
+ export declare function registerAddCvTool(server: McpServer, deps: Dependencies): RegisteredTool;
@@ -1,13 +1,41 @@
1
1
  import { z } from 'zod/v4';
2
2
  import { AddCvUseCase } from '../../../application/use-cases/add-cv.js';
3
+ import { createProgressReporter } from '../../../shared/mcp/progress.js';
4
+ import { createToolLogger } from '../../../shared/mcp/logger.js';
3
5
  import { emitProgress } from '../../dashboard/call-context.js';
4
6
  export function registerAddCvTool(server, deps) {
5
7
  const useCase = new AddCvUseCase(deps.candidateRepo, deps.chunkRepo, deps.parsers, deps.embeddingService, deps.extractor);
6
- server.tool('add_cv', 'Parse a CV file (PDF or DOCX), extract structured data, generate embeddings, and store in the database.', { file_path: z.string().describe('Absolute path to the CV file (PDF or DOCX)') }, async ({ file_path }) => {
8
+ return server.registerTool('add_cv', {
9
+ description: 'Parse CV file, extract data, generate embeddings, store',
10
+ inputSchema: {
11
+ file_path: z.string().describe('CV file path (PDF/DOCX)'),
12
+ source: z.string().optional().describe('CV source channel: email | linkedin | kariyer_net | referral | direct | free text (default: "direct")'),
13
+ pool: z.string().optional().describe('Candidate pool name: genel | frontend | backend | staj | free text'),
14
+ },
15
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
16
+ }, async ({ file_path, source, pool }, extra) => {
7
17
  try {
8
- const candidate = await useCase.execute(file_path, emitProgress);
18
+ const reporter = createProgressReporter(extra);
19
+ const log = createToolLogger(extra, 'cv-parser');
20
+ await log.info({ event: 'parse_start', file: file_path });
21
+ const stepMap = {
22
+ checking_duplicates: 1, parsing: 2, extracting: 3,
23
+ chunking: 4, embedding: 5, saving: 6,
24
+ };
25
+ const totalSteps = 6;
26
+ let lastReported = 0;
27
+ const combinedProgress = (step, message) => {
28
+ emitProgress(step, message); // existing dashboard events
29
+ const num = stepMap[step] ?? lastReported; // unknown steps keep last value
30
+ if (num > lastReported)
31
+ lastReported = num; // enforce monotonic increasing
32
+ reporter.update(num, totalSteps, message).catch(() => { }); // fire-and-forget
33
+ };
34
+ const candidate = await useCase.execute(file_path, { source, pool }, combinedProgress);
35
+ await log.info({ event: 'cv_added', candidateId: candidate.id });
36
+ await reporter.update(totalSteps, totalSteps, 'Done');
9
37
  return {
10
- content: [{ type: 'text', text: JSON.stringify(candidate, null, 2) }],
38
+ content: [{ type: 'text', text: JSON.stringify(candidate) }],
11
39
  };
12
40
  }
13
41
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-cv.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-cv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,IAAkB;IACrE,MAAM,OAAO,GAAG,IAAI,YAAY,CAC9B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,CACf,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,yGAAyG,EACzG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,EAChF,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add-cv.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-cv.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Dependencies } from '../types.js';
3
- export declare function registerAddJobPostingTool(server: McpServer, deps: Dependencies): void;
3
+ export declare function registerAddJobPostingTool(server: McpServer, deps: Dependencies): RegisteredTool;
@@ -1,30 +1,38 @@
1
1
  import { z } from 'zod/v4';
2
2
  import { AddJobPostingUseCase } from '../../../application/use-cases/add-job-posting.js';
3
+ import { SkillNormalizerService } from '../../../shared/services/skill-normalizer.js';
3
4
  export function registerAddJobPostingTool(server, deps) {
4
5
  const useCase = new AddJobPostingUseCase(deps.jobPostingRepo);
5
- server.tool('add_job_posting', 'Add a new job posting with required skills for candidate matching.', {
6
- title: z.string().describe('Job title (e.g. "Senior Frontend Developer")'),
7
- description: z.string().describe('Full job description'),
8
- raw_text: z.string().optional().describe('Original raw text of the job posting (for better semantic matching)'),
9
- requirements: z.string().optional().describe('Specific job requirements'),
10
- required_skills: z.array(z.string()).describe('Skills required for this position'),
11
- preferred_skills: z.array(z.string()).optional().describe('Nice-to-have skills'),
12
- location: z.string().optional().describe('Job location'),
13
- salary_range: z.string().optional().describe('Salary range (e.g. "$80K-$120K")'),
6
+ return server.registerTool('add_job_posting', {
7
+ description: 'Create job posting with skills for matching',
8
+ inputSchema: {
9
+ title: z.string().describe('Job title'),
10
+ description: z.string().describe('Job description'),
11
+ raw_text: z.string().optional().describe('Raw posting text'),
12
+ requirements: z.string().optional().describe('Job requirements'),
13
+ required_skills: z.array(z.string()).describe('Required skills'),
14
+ preferred_skills: z.array(z.string()).optional().describe('Nice-to-have skills'),
15
+ location: z.string().optional().describe('Job location'),
16
+ salary_range: z.string().optional().describe('Salary range'),
17
+ },
18
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
14
19
  }, async ({ title, description, raw_text, requirements, required_skills, preferred_skills, location, salary_range }) => {
15
20
  try {
21
+ const normalizer = new SkillNormalizerService();
22
+ const normalizedRequired = normalizer.normalizeAll(required_skills);
23
+ const normalizedPreferred = preferred_skills ? normalizer.normalizeAll(preferred_skills) : undefined;
16
24
  const jobPosting = await useCase.execute({
17
25
  title,
18
26
  description,
19
27
  rawText: raw_text,
20
28
  requirements,
21
- requiredSkills: required_skills,
22
- preferredSkills: preferred_skills,
29
+ requiredSkills: normalizedRequired,
30
+ preferredSkills: normalizedPreferred,
23
31
  location,
24
32
  salaryRange: salary_range,
25
33
  });
26
34
  return {
27
- content: [{ type: 'text', text: JSON.stringify(jobPosting, null, 2) }],
35
+ content: [{ type: 'text', text: JSON.stringify(jobPosting) }],
28
36
  };
29
37
  }
30
38
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-job-posting.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-job-posting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAGzF,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,IAAkB;IAC7E,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,oEAAoE,EACpE;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;QAC/G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAClF,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACxD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACjF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QAClH,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACvC,KAAK;gBACL,WAAW;gBACX,OAAO,EAAE,QAAQ;gBACjB,YAAY;gBACZ,cAAc,EAAE,eAAe;gBAC/B,eAAe,EAAE,gBAAgB;gBACjC,QAAQ;gBACR,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add-job-posting.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-job-posting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,IAAkB;IAC7E,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE9D,OAAO,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;QAC5C,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACxD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC7D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;KAC1G,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACnH,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,sBAAsB,EAAE,CAAC;YAChD,MAAM,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrG,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACvC,KAAK;gBACL,WAAW;gBACX,OAAO,EAAE,QAAQ;gBACjB,YAAY;gBACZ,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,mBAAmB;gBACpC,QAAQ;gBACR,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;aACvE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Dependencies } from '../types.js';
3
- export declare function registerAddPipelineNoteTool(server: McpServer, deps: Dependencies): void;
3
+ export declare function registerAddPipelineNoteTool(server: McpServer, deps: Dependencies): RegisteredTool;
@@ -2,11 +2,15 @@ import { z } from 'zod/v4';
2
2
  import { AddPipelineNoteUseCase } from '../../../application/use-cases/add-pipeline-note.js';
3
3
  export function registerAddPipelineNoteTool(server, deps) {
4
4
  const useCase = new AddPipelineNoteUseCase(deps.applicationRepo, deps.applicationEventRepo);
5
- server.tool('add_pipeline_note', 'Add a note, call attempt, or interview record to an application in the pipeline.', {
6
- application_id: z.string().describe('ID of the application'),
7
- event_type: z.string().describe('Type of event: note, call_attempt, or interview'),
8
- note: z.string().describe('Note content'),
9
- scheduled_at: z.string().optional().describe('Scheduled date/time (ISO format) for interview events'),
5
+ return server.registerTool('add_pipeline_note', {
6
+ description: 'Add note, call attempt, or interview to application',
7
+ inputSchema: {
8
+ application_id: z.string().describe('Application ID'),
9
+ event_type: z.string().describe('note | call_attempt | interview'),
10
+ note: z.string().describe('Note content'),
11
+ scheduled_at: z.string().optional().describe('ISO date/time for interviews'),
12
+ },
13
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
10
14
  }, async ({ application_id, event_type, note, scheduled_at }) => {
11
15
  try {
12
16
  const event = await useCase.execute({
@@ -16,7 +20,7 @@ export function registerAddPipelineNoteTool(server, deps) {
16
20
  scheduledAt: scheduled_at,
17
21
  });
18
22
  return {
19
- content: [{ type: 'text', text: JSON.stringify(event, null, 2) }],
23
+ content: [{ type: 'text', text: JSON.stringify(event) }],
20
24
  };
21
25
  }
22
26
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-pipeline-note.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-pipeline-note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAG7F,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,IAAkB;IAC/E,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAE5F,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,kFAAkF,EAClF;QACE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACtG,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBAClC,aAAa,EAAE,cAAc;gBAC7B,SAAS,EAAE,UAA0F;gBACrG,IAAI;gBACJ,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC3E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add-pipeline-note.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-pipeline-note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAG7F,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,IAAkB;IAC/E,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAE5F,OAAO,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE;QAC9C,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7E;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;KAC1G,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBAClC,aAAa,EAAE,cAAc;gBAC7B,SAAS,EAAE,UAA0F;gBACrG,IAAI;gBACJ,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Dependencies } from '../types.js';
3
- export declare function registerAddReferenceCvTool(server: McpServer, deps: Dependencies): void;
3
+ export declare function registerAddReferenceCvTool(server: McpServer, deps: Dependencies): RegisteredTool;
@@ -2,10 +2,14 @@ import { z } from 'zod/v4';
2
2
  import { AddReferenceCvUseCase } from '../../../application/use-cases/add-reference-cv.js';
3
3
  export function registerAddReferenceCvTool(server, deps) {
4
4
  const useCase = new AddReferenceCvUseCase(deps.referenceCvRepo, deps.candidateRepo, deps.jobPostingRepo);
5
- server.tool('add_reference_cv', 'Mark a candidate as a reference/benchmark CV for a job posting. Reference CVs represent the ideal candidate profile — e.g. a successfully hired person whose pattern you want to replicate.', {
6
- job_posting_id: z.string().describe('ID of the job posting'),
7
- candidate_id: z.string().describe('ID of the candidate to mark as reference'),
8
- note: z.string().optional().describe('Why this candidate is a good reference, e.g. "Hired, performing well, .NET+EF+MSSQL pattern"'),
5
+ return server.registerTool('add_reference_cv', {
6
+ description: 'Mark candidate as reference/benchmark CV for a job posting',
7
+ inputSchema: {
8
+ job_posting_id: z.string().describe('Job posting ID'),
9
+ candidate_id: z.string().describe('Candidate ID'),
10
+ note: z.string().optional().describe('Why good reference'),
11
+ },
12
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
9
13
  }, async ({ job_posting_id, candidate_id, note }) => {
10
14
  try {
11
15
  const result = await useCase.execute({
@@ -14,7 +18,7 @@ export function registerAddReferenceCvTool(server, deps) {
14
18
  note,
15
19
  });
16
20
  return {
17
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
21
+ content: [{ type: 'text', text: JSON.stringify(result) }],
18
22
  };
19
23
  }
20
24
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-reference-cv.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-reference-cv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAG3F,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,IAAkB;IAC9E,MAAM,OAAO,GAAG,IAAI,qBAAqB,CACvC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,6LAA6L,EAC7L;QACE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;KACrI,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACnC,YAAY,EAAE,cAAc;gBAC5B,WAAW,EAAE,YAAY;gBACzB,IAAI;aACL,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add-reference-cv.js","sourceRoot":"","sources":["../../../../src/interface/mcp/tools/add-reference-cv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAG3F,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,IAAkB;IAC9E,MAAM,OAAO,GAAG,IAAI,qBAAqB,CACvC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAC;IAEF,OAAO,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAC7C,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SAC3D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACzG,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACnC,YAAY,EAAE,cAAc;gBAC5B,WAAW,EAAE,YAAY;gBACzB,IAAI;aACL,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Dependencies } from '../types.js';
3
- export declare function registerAddToPipelineTool(server: McpServer, deps: Dependencies): void;
3
+ export declare function registerAddToPipelineTool(server: McpServer, deps: Dependencies): RegisteredTool;
@@ -2,10 +2,14 @@ import { z } from 'zod/v4';
2
2
  import { AddToPipelineUseCase } from '../../../application/use-cases/add-to-pipeline.js';
3
3
  export function registerAddToPipelineTool(server, deps) {
4
4
  const useCase = new AddToPipelineUseCase(deps.applicationRepo, deps.applicationEventRepo, deps.candidateRepo, deps.jobPostingRepo);
5
- server.tool('add_to_pipeline', 'Add a candidate to a job posting recruitment pipeline. Creates a new application with "new" status.', {
6
- job_posting_id: z.string().describe('ID of the job posting'),
7
- candidate_id: z.string().describe('ID of the candidate to add'),
8
- note: z.string().optional().describe('Optional initial note'),
5
+ return server.registerTool('add_to_pipeline', {
6
+ description: 'Add candidate to job posting pipeline (status: new)',
7
+ inputSchema: {
8
+ job_posting_id: z.string().describe('Job posting ID'),
9
+ candidate_id: z.string().describe('Candidate ID'),
10
+ note: z.string().optional().describe('Initial note'),
11
+ },
12
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
9
13
  }, async ({ job_posting_id, candidate_id, note }) => {
10
14
  try {
11
15
  const application = await useCase.execute({
@@ -14,7 +18,7 @@ export function registerAddToPipelineTool(server, deps) {
14
18
  note,
15
19
  });
16
20
  return {
17
- content: [{ type: 'text', text: JSON.stringify(application, null, 2) }],
21
+ content: [{ type: 'text', text: JSON.stringify(application) }],
18
22
  };
19
23
  }
20
24
  catch (error) {