attio-mcp 0.1.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 (644) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +236 -0
  3. package/README.md +105 -0
  4. package/dist/api/attio-client.d.ts +25 -0
  5. package/dist/api/attio-client.d.ts.map +1 -0
  6. package/dist/api/attio-client.js +64 -0
  7. package/dist/api/attio-client.js.map +1 -0
  8. package/dist/api/attribute-types.d.ts +119 -0
  9. package/dist/api/attribute-types.d.ts.map +1 -0
  10. package/dist/api/attribute-types.js +320 -0
  11. package/dist/api/attribute-types.js.map +1 -0
  12. package/dist/api/client.d.ts +3 -0
  13. package/dist/api/client.d.ts.map +1 -0
  14. package/dist/api/client.js +61 -0
  15. package/dist/api/client.js.map +1 -0
  16. package/dist/api/operations/batch.d.ts +55 -0
  17. package/dist/api/operations/batch.d.ts.map +1 -0
  18. package/dist/api/operations/batch.js +176 -0
  19. package/dist/api/operations/batch.js.map +1 -0
  20. package/dist/api/operations/crud.d.ts +61 -0
  21. package/dist/api/operations/crud.d.ts.map +1 -0
  22. package/dist/api/operations/crud.js +192 -0
  23. package/dist/api/operations/crud.js.map +1 -0
  24. package/dist/api/operations/index.d.ts +14 -0
  25. package/dist/api/operations/index.d.ts.map +1 -0
  26. package/dist/api/operations/index.js +18 -0
  27. package/dist/api/operations/index.js.map +1 -0
  28. package/dist/api/operations/lists.d.ts +66 -0
  29. package/dist/api/operations/lists.d.ts.map +1 -0
  30. package/dist/api/operations/lists.js +300 -0
  31. package/dist/api/operations/lists.js.map +1 -0
  32. package/dist/api/operations/notes.d.ts +29 -0
  33. package/dist/api/operations/notes.d.ts.map +1 -0
  34. package/dist/api/operations/notes.js +63 -0
  35. package/dist/api/operations/notes.js.map +1 -0
  36. package/dist/api/operations/retry.d.ts +48 -0
  37. package/dist/api/operations/retry.d.ts.map +1 -0
  38. package/dist/api/operations/retry.js +98 -0
  39. package/dist/api/operations/retry.js.map +1 -0
  40. package/dist/api/operations/search.d.ts +37 -0
  41. package/dist/api/operations/search.d.ts.map +1 -0
  42. package/dist/api/operations/search.js +186 -0
  43. package/dist/api/operations/search.js.map +1 -0
  44. package/dist/api/operations/tasks.d.ts +20 -0
  45. package/dist/api/operations/tasks.d.ts.map +1 -0
  46. package/dist/api/operations/tasks.js +87 -0
  47. package/dist/api/operations/tasks.js.map +1 -0
  48. package/dist/api/operations/types.d.ts +61 -0
  49. package/dist/api/operations/types.d.ts.map +1 -0
  50. package/dist/api/operations/types.js +10 -0
  51. package/dist/api/operations/types.js.map +1 -0
  52. package/dist/cli/commands/attributes.d.ts +34 -0
  53. package/dist/cli/commands/attributes.d.ts.map +1 -0
  54. package/dist/cli/commands/attributes.js +171 -0
  55. package/dist/cli/commands/attributes.js.map +1 -0
  56. package/dist/cli/discover.d.ts +3 -0
  57. package/dist/cli/discover.d.ts.map +1 -0
  58. package/dist/cli/discover.js +72 -0
  59. package/dist/cli/discover.js.map +1 -0
  60. package/dist/errors/api-errors.d.ts +191 -0
  61. package/dist/errors/api-errors.d.ts.map +1 -0
  62. package/dist/errors/api-errors.js +305 -0
  63. package/dist/errors/api-errors.js.map +1 -0
  64. package/dist/errors/company-errors.d.ts +40 -0
  65. package/dist/errors/company-errors.d.ts.map +1 -0
  66. package/dist/errors/company-errors.js +62 -0
  67. package/dist/errors/company-errors.js.map +1 -0
  68. package/dist/errors/value-match-error.d.ts +15 -0
  69. package/dist/errors/value-match-error.d.ts.map +1 -0
  70. package/dist/errors/value-match-error.js +40 -0
  71. package/dist/errors/value-match-error.js.map +1 -0
  72. package/dist/handlers/error-interceptor.d.ts +6 -0
  73. package/dist/handlers/error-interceptor.d.ts.map +1 -0
  74. package/dist/handlers/error-interceptor.js +17 -0
  75. package/dist/handlers/error-interceptor.js.map +1 -0
  76. package/dist/handlers/rate-limited-handler.d.ts +17 -0
  77. package/dist/handlers/rate-limited-handler.d.ts.map +1 -0
  78. package/dist/handlers/rate-limited-handler.js +126 -0
  79. package/dist/handlers/rate-limited-handler.js.map +1 -0
  80. package/dist/handlers/resources.d.ts +11 -0
  81. package/dist/handlers/resources.d.ts.map +1 -0
  82. package/dist/handlers/resources.js +109 -0
  83. package/dist/handlers/resources.js.map +1 -0
  84. package/dist/handlers/tool-configs/companies/attributes.d.ts +85 -0
  85. package/dist/handlers/tool-configs/companies/attributes.d.ts.map +1 -0
  86. package/dist/handlers/tool-configs/companies/attributes.js +203 -0
  87. package/dist/handlers/tool-configs/companies/attributes.js.map +1 -0
  88. package/dist/handlers/tool-configs/companies/batch.d.ts +145 -0
  89. package/dist/handlers/tool-configs/companies/batch.d.ts.map +1 -0
  90. package/dist/handlers/tool-configs/companies/batch.js +249 -0
  91. package/dist/handlers/tool-configs/companies/batch.js.map +1 -0
  92. package/dist/handlers/tool-configs/companies/crud.d.ts +103 -0
  93. package/dist/handlers/tool-configs/companies/crud.d.ts.map +1 -0
  94. package/dist/handlers/tool-configs/companies/crud.js +157 -0
  95. package/dist/handlers/tool-configs/companies/crud.js.map +1 -0
  96. package/dist/handlers/tool-configs/companies/definitions.d.ts +5 -0
  97. package/dist/handlers/tool-configs/companies/definitions.d.ts.map +1 -0
  98. package/dist/handlers/tool-configs/companies/definitions.js +9 -0
  99. package/dist/handlers/tool-configs/companies/definitions.js.map +1 -0
  100. package/dist/handlers/tool-configs/companies/formatters.d.ts +42 -0
  101. package/dist/handlers/tool-configs/companies/formatters.d.ts.map +1 -0
  102. package/dist/handlers/tool-configs/companies/formatters.js +324 -0
  103. package/dist/handlers/tool-configs/companies/formatters.js.map +1 -0
  104. package/dist/handlers/tool-configs/companies/index.d.ts +642 -0
  105. package/dist/handlers/tool-configs/companies/index.d.ts.map +1 -0
  106. package/dist/handlers/tool-configs/companies/index.js +86 -0
  107. package/dist/handlers/tool-configs/companies/index.js.map +1 -0
  108. package/dist/handlers/tool-configs/companies/notes.d.ts +61 -0
  109. package/dist/handlers/tool-configs/companies/notes.d.ts.map +1 -0
  110. package/dist/handlers/tool-configs/companies/notes.js +109 -0
  111. package/dist/handlers/tool-configs/companies/notes.js.map +1 -0
  112. package/dist/handlers/tool-configs/companies/relationships.d.ts +137 -0
  113. package/dist/handlers/tool-configs/companies/relationships.d.ts.map +1 -0
  114. package/dist/handlers/tool-configs/companies/relationships.js +163 -0
  115. package/dist/handlers/tool-configs/companies/relationships.js.map +1 -0
  116. package/dist/handlers/tool-configs/companies/search.d.ts +101 -0
  117. package/dist/handlers/tool-configs/companies/search.d.ts.map +1 -0
  118. package/dist/handlers/tool-configs/companies/search.js +163 -0
  119. package/dist/handlers/tool-configs/companies/search.js.map +1 -0
  120. package/dist/handlers/tool-configs/companies/types.d.ts +6 -0
  121. package/dist/handlers/tool-configs/companies/types.d.ts.map +1 -0
  122. package/dist/handlers/tool-configs/companies/types.js +2 -0
  123. package/dist/handlers/tool-configs/companies/types.js.map +1 -0
  124. package/dist/handlers/tool-configs/index.d.ts +12 -0
  125. package/dist/handlers/tool-configs/index.d.ts.map +1 -0
  126. package/dist/handlers/tool-configs/index.js +12 -0
  127. package/dist/handlers/tool-configs/index.js.map +1 -0
  128. package/dist/handlers/tool-configs/lists.d.ts +459 -0
  129. package/dist/handlers/tool-configs/lists.d.ts.map +1 -0
  130. package/dist/handlers/tool-configs/lists.js +597 -0
  131. package/dist/handlers/tool-configs/lists.js.map +1 -0
  132. package/dist/handlers/tool-configs/paginated-people.d.ts +197 -0
  133. package/dist/handlers/tool-configs/paginated-people.d.ts.map +1 -0
  134. package/dist/handlers/tool-configs/paginated-people.js +256 -0
  135. package/dist/handlers/tool-configs/paginated-people.js.map +1 -0
  136. package/dist/handlers/tool-configs/people/activity-search.d.ts +98 -0
  137. package/dist/handlers/tool-configs/people/activity-search.d.ts.map +1 -0
  138. package/dist/handlers/tool-configs/people/activity-search.js +113 -0
  139. package/dist/handlers/tool-configs/people/activity-search.js.map +1 -0
  140. package/dist/handlers/tool-configs/people/advanced-search.d.ts +62 -0
  141. package/dist/handlers/tool-configs/people/advanced-search.d.ts.map +1 -0
  142. package/dist/handlers/tool-configs/people/advanced-search.js +74 -0
  143. package/dist/handlers/tool-configs/people/advanced-search.js.map +1 -0
  144. package/dist/handlers/tool-configs/people/crud.d.ts +63 -0
  145. package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -0
  146. package/dist/handlers/tool-configs/people/crud.js +71 -0
  147. package/dist/handlers/tool-configs/people/crud.js.map +1 -0
  148. package/dist/handlers/tool-configs/people/date-search.d.ts +42 -0
  149. package/dist/handlers/tool-configs/people/date-search.d.ts.map +1 -0
  150. package/dist/handlers/tool-configs/people/date-search.js +93 -0
  151. package/dist/handlers/tool-configs/people/date-search.js.map +1 -0
  152. package/dist/handlers/tool-configs/people/formatters.d.ts +19 -0
  153. package/dist/handlers/tool-configs/people/formatters.d.ts.map +1 -0
  154. package/dist/handlers/tool-configs/people/formatters.js +98 -0
  155. package/dist/handlers/tool-configs/people/formatters.js.map +1 -0
  156. package/dist/handlers/tool-configs/people/index.d.ts +407 -0
  157. package/dist/handlers/tool-configs/people/index.d.ts.map +1 -0
  158. package/dist/handlers/tool-configs/people/index.js +30 -0
  159. package/dist/handlers/tool-configs/people/index.js.map +1 -0
  160. package/dist/handlers/tool-configs/people/notes.d.ts +38 -0
  161. package/dist/handlers/tool-configs/people/notes.d.ts.map +1 -0
  162. package/dist/handlers/tool-configs/people/notes.js +57 -0
  163. package/dist/handlers/tool-configs/people/notes.js.map +1 -0
  164. package/dist/handlers/tool-configs/people/relationships.d.ts +112 -0
  165. package/dist/handlers/tool-configs/people/relationships.d.ts.map +1 -0
  166. package/dist/handlers/tool-configs/people/relationships.js +173 -0
  167. package/dist/handlers/tool-configs/people/relationships.js.map +1 -0
  168. package/dist/handlers/tool-configs/people/search.d.ts +53 -0
  169. package/dist/handlers/tool-configs/people/search.d.ts.map +1 -0
  170. package/dist/handlers/tool-configs/people/search.js +61 -0
  171. package/dist/handlers/tool-configs/people/search.js.map +1 -0
  172. package/dist/handlers/tool-configs/people-fix-complete.d.ts +6 -0
  173. package/dist/handlers/tool-configs/people-fix-complete.d.ts.map +1 -0
  174. package/dist/handlers/tool-configs/people-fix-complete.js +76 -0
  175. package/dist/handlers/tool-configs/people-fix-complete.js.map +1 -0
  176. package/dist/handlers/tool-configs/people-fixed.d.ts +12 -0
  177. package/dist/handlers/tool-configs/people-fixed.d.ts.map +1 -0
  178. package/dist/handlers/tool-configs/people-fixed.js +58 -0
  179. package/dist/handlers/tool-configs/people-fixed.js.map +1 -0
  180. package/dist/handlers/tool-configs/people-types.d.ts +32 -0
  181. package/dist/handlers/tool-configs/people-types.d.ts.map +1 -0
  182. package/dist/handlers/tool-configs/people-types.js +5 -0
  183. package/dist/handlers/tool-configs/people-types.js.map +1 -0
  184. package/dist/handlers/tool-configs/people.d.ts +599 -0
  185. package/dist/handlers/tool-configs/people.d.ts.map +1 -0
  186. package/dist/handlers/tool-configs/people.js +817 -0
  187. package/dist/handlers/tool-configs/people.js.map +1 -0
  188. package/dist/handlers/tool-configs/prompts.d.ts +69 -0
  189. package/dist/handlers/tool-configs/prompts.d.ts.map +1 -0
  190. package/dist/handlers/tool-configs/prompts.js +90 -0
  191. package/dist/handlers/tool-configs/prompts.js.map +1 -0
  192. package/dist/handlers/tool-configs/rate-limited-people.d.ts +203 -0
  193. package/dist/handlers/tool-configs/rate-limited-people.d.ts.map +1 -0
  194. package/dist/handlers/tool-configs/rate-limited-people.js +44 -0
  195. package/dist/handlers/tool-configs/rate-limited-people.js.map +1 -0
  196. package/dist/handlers/tool-configs/records/index.d.ts +282 -0
  197. package/dist/handlers/tool-configs/records/index.d.ts.map +1 -0
  198. package/dist/handlers/tool-configs/records/index.js +277 -0
  199. package/dist/handlers/tool-configs/records/index.js.map +1 -0
  200. package/dist/handlers/tool-configs/records.d.ts +282 -0
  201. package/dist/handlers/tool-configs/records.d.ts.map +1 -0
  202. package/dist/handlers/tool-configs/records.js +277 -0
  203. package/dist/handlers/tool-configs/records.js.map +1 -0
  204. package/dist/handlers/tool-configs/resource-specific-tools.d.ts +15 -0
  205. package/dist/handlers/tool-configs/resource-specific-tools.d.ts.map +1 -0
  206. package/dist/handlers/tool-configs/resource-specific-tools.js +33 -0
  207. package/dist/handlers/tool-configs/resource-specific-tools.js.map +1 -0
  208. package/dist/handlers/tool-configs/tasks.d.ts +127 -0
  209. package/dist/handlers/tool-configs/tasks.d.ts.map +1 -0
  210. package/dist/handlers/tool-configs/tasks.js +95 -0
  211. package/dist/handlers/tool-configs/tasks.js.map +1 -0
  212. package/dist/handlers/tool-types.d.ts +47 -0
  213. package/dist/handlers/tool-types.d.ts.map +1 -0
  214. package/dist/handlers/tool-types.js +2 -0
  215. package/dist/handlers/tool-types.js.map +1 -0
  216. package/dist/handlers/tools/config-verifier.d.ts +27 -0
  217. package/dist/handlers/tools/config-verifier.d.ts.map +1 -0
  218. package/dist/handlers/tools/config-verifier.js +108 -0
  219. package/dist/handlers/tools/config-verifier.js.map +1 -0
  220. package/dist/handlers/tools/dispatcher/core.d.ts +12 -0
  221. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -0
  222. package/dist/handlers/tools/dispatcher/core.js +276 -0
  223. package/dist/handlers/tools/dispatcher/core.js.map +1 -0
  224. package/dist/handlers/tools/dispatcher/formatting.d.ts +17 -0
  225. package/dist/handlers/tools/dispatcher/formatting.d.ts.map +1 -0
  226. package/dist/handlers/tools/dispatcher/formatting.js +25 -0
  227. package/dist/handlers/tools/dispatcher/formatting.js.map +1 -0
  228. package/dist/handlers/tools/dispatcher/logging.d.ts +63 -0
  229. package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -0
  230. package/dist/handlers/tools/dispatcher/logging.js +108 -0
  231. package/dist/handlers/tools/dispatcher/logging.js.map +1 -0
  232. package/dist/handlers/tools/dispatcher/operations/batch.d.ts +29 -0
  233. package/dist/handlers/tools/dispatcher/operations/batch.d.ts.map +1 -0
  234. package/dist/handlers/tools/dispatcher/operations/batch.js +137 -0
  235. package/dist/handlers/tools/dispatcher/operations/batch.js.map +1 -0
  236. package/dist/handlers/tools/dispatcher/operations/crud.d.ts +25 -0
  237. package/dist/handlers/tools/dispatcher/operations/crud.d.ts.map +1 -0
  238. package/dist/handlers/tools/dispatcher/operations/crud.js +110 -0
  239. package/dist/handlers/tools/dispatcher/operations/crud.js.map +1 -0
  240. package/dist/handlers/tools/dispatcher/operations/details.d.ts +13 -0
  241. package/dist/handlers/tools/dispatcher/operations/details.d.ts.map +1 -0
  242. package/dist/handlers/tools/dispatcher/operations/details.js +52 -0
  243. package/dist/handlers/tools/dispatcher/operations/details.js.map +1 -0
  244. package/dist/handlers/tools/dispatcher/operations/info.d.ts +25 -0
  245. package/dist/handlers/tools/dispatcher/operations/info.d.ts.map +1 -0
  246. package/dist/handlers/tools/dispatcher/operations/info.js +82 -0
  247. package/dist/handlers/tools/dispatcher/operations/info.js.map +1 -0
  248. package/dist/handlers/tools/dispatcher/operations/lists.d.ts +62 -0
  249. package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -0
  250. package/dist/handlers/tools/dispatcher/operations/lists.js +283 -0
  251. package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -0
  252. package/dist/handlers/tools/dispatcher/operations/notes.d.ts +17 -0
  253. package/dist/handlers/tools/dispatcher/operations/notes.d.ts.map +1 -0
  254. package/dist/handlers/tools/dispatcher/operations/notes.js +102 -0
  255. package/dist/handlers/tools/dispatcher/operations/notes.js.map +1 -0
  256. package/dist/handlers/tools/dispatcher/operations/search.d.ts +43 -0
  257. package/dist/handlers/tools/dispatcher/operations/search.d.ts.map +1 -0
  258. package/dist/handlers/tools/dispatcher/operations/search.js +190 -0
  259. package/dist/handlers/tools/dispatcher/operations/search.js.map +1 -0
  260. package/dist/handlers/tools/dispatcher/validation.d.ts +27 -0
  261. package/dist/handlers/tools/dispatcher/validation.d.ts.map +1 -0
  262. package/dist/handlers/tools/dispatcher/validation.js +47 -0
  263. package/dist/handlers/tools/dispatcher/validation.js.map +1 -0
  264. package/dist/handlers/tools/dispatcher.d.ts +11 -0
  265. package/dist/handlers/tools/dispatcher.d.ts.map +1 -0
  266. package/dist/handlers/tools/dispatcher.js +15 -0
  267. package/dist/handlers/tools/dispatcher.js.map +1 -0
  268. package/dist/handlers/tools/error-types.d.ts +33 -0
  269. package/dist/handlers/tools/error-types.d.ts.map +1 -0
  270. package/dist/handlers/tools/error-types.js +21 -0
  271. package/dist/handlers/tools/error-types.js.map +1 -0
  272. package/dist/handlers/tools/formatters.d.ts +43 -0
  273. package/dist/handlers/tools/formatters.d.ts.map +1 -0
  274. package/dist/handlers/tools/formatters.js +170 -0
  275. package/dist/handlers/tools/formatters.js.map +1 -0
  276. package/dist/handlers/tools/index.d.ts +15 -0
  277. package/dist/handlers/tools/index.d.ts.map +1 -0
  278. package/dist/handlers/tools/index.js +34 -0
  279. package/dist/handlers/tools/index.js.map +1 -0
  280. package/dist/handlers/tools/registry.d.ts +1874 -0
  281. package/dist/handlers/tools/registry.d.ts.map +1 -0
  282. package/dist/handlers/tools/registry.js +103 -0
  283. package/dist/handlers/tools/registry.js.map +1 -0
  284. package/dist/health/http-server.d.ts +24 -0
  285. package/dist/health/http-server.d.ts.map +1 -0
  286. package/dist/health/http-server.js +106 -0
  287. package/dist/health/http-server.js.map +1 -0
  288. package/dist/index.d.ts +3 -0
  289. package/dist/index.d.ts.map +1 -0
  290. package/dist/index.js +238 -0
  291. package/dist/index.js.map +1 -0
  292. package/dist/objects/base-operations.d.ts +41 -0
  293. package/dist/objects/base-operations.d.ts.map +1 -0
  294. package/dist/objects/base-operations.js +116 -0
  295. package/dist/objects/base-operations.js.map +1 -0
  296. package/dist/objects/batch-companies.d.ts +112 -0
  297. package/dist/objects/batch-companies.d.ts.map +1 -0
  298. package/dist/objects/batch-companies.js +347 -0
  299. package/dist/objects/batch-companies.js.map +1 -0
  300. package/dist/objects/companies/attributes.d.ts +83 -0
  301. package/dist/objects/companies/attributes.d.ts.map +1 -0
  302. package/dist/objects/companies/attributes.js +426 -0
  303. package/dist/objects/companies/attributes.js.map +1 -0
  304. package/dist/objects/companies/basic.d.ts +117 -0
  305. package/dist/objects/companies/basic.d.ts.map +1 -0
  306. package/dist/objects/companies/basic.js +367 -0
  307. package/dist/objects/companies/basic.js.map +1 -0
  308. package/dist/objects/companies/batch.d.ts +6 -0
  309. package/dist/objects/companies/batch.d.ts.map +1 -0
  310. package/dist/objects/companies/batch.js +6 -0
  311. package/dist/objects/companies/batch.js.map +1 -0
  312. package/dist/objects/companies/index.d.ts +13 -0
  313. package/dist/objects/companies/index.d.ts.map +1 -0
  314. package/dist/objects/companies/index.js +17 -0
  315. package/dist/objects/companies/index.js.map +1 -0
  316. package/dist/objects/companies/notes.d.ts +26 -0
  317. package/dist/objects/companies/notes.d.ts.map +1 -0
  318. package/dist/objects/companies/notes.js +199 -0
  319. package/dist/objects/companies/notes.js.map +1 -0
  320. package/dist/objects/companies/relationships.d.ts +41 -0
  321. package/dist/objects/companies/relationships.d.ts.map +1 -0
  322. package/dist/objects/companies/relationships.js +142 -0
  323. package/dist/objects/companies/relationships.js.map +1 -0
  324. package/dist/objects/companies/search.d.ts +158 -0
  325. package/dist/objects/companies/search.d.ts.map +1 -0
  326. package/dist/objects/companies/search.js +463 -0
  327. package/dist/objects/companies/search.js.map +1 -0
  328. package/dist/objects/companies/types.d.ts +27 -0
  329. package/dist/objects/companies/types.d.ts.map +1 -0
  330. package/dist/objects/companies/types.js +3 -0
  331. package/dist/objects/companies/types.js.map +1 -0
  332. package/dist/objects/lists.d.ts +148 -0
  333. package/dist/objects/lists.d.ts.map +1 -0
  334. package/dist/objects/lists.js +586 -0
  335. package/dist/objects/lists.js.map +1 -0
  336. package/dist/objects/paginated-people.d.ts +50 -0
  337. package/dist/objects/paginated-people.d.ts.map +1 -0
  338. package/dist/objects/paginated-people.js +171 -0
  339. package/dist/objects/paginated-people.js.map +1 -0
  340. package/dist/objects/people/basic.d.ts +90 -0
  341. package/dist/objects/people/basic.d.ts.map +1 -0
  342. package/dist/objects/people/basic.js +157 -0
  343. package/dist/objects/people/basic.js.map +1 -0
  344. package/dist/objects/people/batch.d.ts +24 -0
  345. package/dist/objects/people/batch.d.ts.map +1 -0
  346. package/dist/objects/people/batch.js +145 -0
  347. package/dist/objects/people/batch.js.map +1 -0
  348. package/dist/objects/people/index.d.ts +11 -0
  349. package/dist/objects/people/index.d.ts.map +1 -0
  350. package/dist/objects/people/index.js +17 -0
  351. package/dist/objects/people/index.js.map +1 -0
  352. package/dist/objects/people/notes.d.ts +20 -0
  353. package/dist/objects/people/notes.d.ts.map +1 -0
  354. package/dist/objects/people/notes.js +60 -0
  355. package/dist/objects/people/notes.js.map +1 -0
  356. package/dist/objects/people/relationships.d.ts +23 -0
  357. package/dist/objects/people/relationships.d.ts.map +1 -0
  358. package/dist/objects/people/relationships.js +116 -0
  359. package/dist/objects/people/relationships.js.map +1 -0
  360. package/dist/objects/people/search.d.ts +83 -0
  361. package/dist/objects/people/search.d.ts.map +1 -0
  362. package/dist/objects/people/search.js +286 -0
  363. package/dist/objects/people/search.js.map +1 -0
  364. package/dist/objects/people/types.d.ts +37 -0
  365. package/dist/objects/people/types.d.ts.map +1 -0
  366. package/dist/objects/people/types.js +71 -0
  367. package/dist/objects/people/types.js.map +1 -0
  368. package/dist/objects/people-write.d.ts +71 -0
  369. package/dist/objects/people-write.d.ts.map +1 -0
  370. package/dist/objects/people-write.js +261 -0
  371. package/dist/objects/people-write.js.map +1 -0
  372. package/dist/objects/records/formatters.d.ts +20 -0
  373. package/dist/objects/records/formatters.d.ts.map +1 -0
  374. package/dist/objects/records/formatters.js +47 -0
  375. package/dist/objects/records/formatters.js.map +1 -0
  376. package/dist/objects/records/index.d.ts +74 -0
  377. package/dist/objects/records/index.d.ts.map +1 -0
  378. package/dist/objects/records/index.js +374 -0
  379. package/dist/objects/records/index.js.map +1 -0
  380. package/dist/objects/records.d.ts +88 -0
  381. package/dist/objects/records.d.ts.map +1 -0
  382. package/dist/objects/records.js +432 -0
  383. package/dist/objects/records.js.map +1 -0
  384. package/dist/objects/tasks.d.ts +19 -0
  385. package/dist/objects/tasks.d.ts.map +1 -0
  386. package/dist/objects/tasks.js +23 -0
  387. package/dist/objects/tasks.js.map +1 -0
  388. package/dist/prompts/error-handler.d.ts +28 -0
  389. package/dist/prompts/error-handler.d.ts.map +1 -0
  390. package/dist/prompts/error-handler.js +47 -0
  391. package/dist/prompts/error-handler.js.map +1 -0
  392. package/dist/prompts/handlers.d.ts +49 -0
  393. package/dist/prompts/handlers.d.ts.map +1 -0
  394. package/dist/prompts/handlers.js +353 -0
  395. package/dist/prompts/handlers.js.map +1 -0
  396. package/dist/prompts/index.d.ts +11 -0
  397. package/dist/prompts/index.d.ts.map +1 -0
  398. package/dist/prompts/index.js +15 -0
  399. package/dist/prompts/index.js.map +1 -0
  400. package/dist/prompts/templates/companies.d.ts +10 -0
  401. package/dist/prompts/templates/companies.d.ts.map +1 -0
  402. package/dist/prompts/templates/companies.js +128 -0
  403. package/dist/prompts/templates/companies.js.map +1 -0
  404. package/dist/prompts/templates/index.d.ts +42 -0
  405. package/dist/prompts/templates/index.d.ts.map +1 -0
  406. package/dist/prompts/templates/index.js +58 -0
  407. package/dist/prompts/templates/index.js.map +1 -0
  408. package/dist/prompts/templates/lists.d.ts +10 -0
  409. package/dist/prompts/templates/lists.d.ts.map +1 -0
  410. package/dist/prompts/templates/lists.js +127 -0
  411. package/dist/prompts/templates/lists.js.map +1 -0
  412. package/dist/prompts/templates/notes.d.ts +10 -0
  413. package/dist/prompts/templates/notes.d.ts.map +1 -0
  414. package/dist/prompts/templates/notes.js +119 -0
  415. package/dist/prompts/templates/notes.js.map +1 -0
  416. package/dist/prompts/templates/people.d.ts +10 -0
  417. package/dist/prompts/templates/people.d.ts.map +1 -0
  418. package/dist/prompts/templates/people.js +127 -0
  419. package/dist/prompts/templates/people.js.map +1 -0
  420. package/dist/prompts/types.d.ts +52 -0
  421. package/dist/prompts/types.d.ts.map +1 -0
  422. package/dist/prompts/types.js +5 -0
  423. package/dist/prompts/types.js.map +1 -0
  424. package/dist/types/attio.d.ts +424 -0
  425. package/dist/types/attio.d.ts.map +1 -0
  426. package/dist/types/attio.js +116 -0
  427. package/dist/types/attio.js.map +1 -0
  428. package/dist/types/company-types.d.ts +52 -0
  429. package/dist/types/company-types.d.ts.map +1 -0
  430. package/dist/types/company-types.js +5 -0
  431. package/dist/types/company-types.js.map +1 -0
  432. package/dist/types/tool-types.d.ts +262 -0
  433. package/dist/types/tool-types.d.ts.map +1 -0
  434. package/dist/types/tool-types.js +6 -0
  435. package/dist/types/tool-types.js.map +1 -0
  436. package/dist/utils/api-fallback.d.ts +39 -0
  437. package/dist/utils/api-fallback.d.ts.map +1 -0
  438. package/dist/utils/api-fallback.js +94 -0
  439. package/dist/utils/api-fallback.js.map +1 -0
  440. package/dist/utils/attribute-mapping/attribute-mappers.d.ts +39 -0
  441. package/dist/utils/attribute-mapping/attribute-mappers.d.ts.map +1 -0
  442. package/dist/utils/attribute-mapping/attribute-mappers.js +394 -0
  443. package/dist/utils/attribute-mapping/attribute-mappers.js.map +1 -0
  444. package/dist/utils/attribute-mapping/filter-translator.d.ts +9 -0
  445. package/dist/utils/attribute-mapping/filter-translator.d.ts.map +1 -0
  446. package/dist/utils/attribute-mapping/filter-translator.js +104 -0
  447. package/dist/utils/attribute-mapping/filter-translator.js.map +1 -0
  448. package/dist/utils/attribute-mapping/index.d.ts +10 -0
  449. package/dist/utils/attribute-mapping/index.d.ts.map +1 -0
  450. package/dist/utils/attribute-mapping/index.js +12 -0
  451. package/dist/utils/attribute-mapping/index.js.map +1 -0
  452. package/dist/utils/attribute-mapping/legacy-maps.d.ts +11 -0
  453. package/dist/utils/attribute-mapping/legacy-maps.d.ts.map +1 -0
  454. package/dist/utils/attribute-mapping/legacy-maps.js +54 -0
  455. package/dist/utils/attribute-mapping/legacy-maps.js.map +1 -0
  456. package/dist/utils/attribute-mapping/mapping-utils.d.ts +90 -0
  457. package/dist/utils/attribute-mapping/mapping-utils.d.ts.map +1 -0
  458. package/dist/utils/attribute-mapping/mapping-utils.js +145 -0
  459. package/dist/utils/attribute-mapping/mapping-utils.js.map +1 -0
  460. package/dist/utils/auto-discovery.d.ts +22 -0
  461. package/dist/utils/auto-discovery.d.ts.map +1 -0
  462. package/dist/utils/auto-discovery.js +143 -0
  463. package/dist/utils/auto-discovery.js.map +1 -0
  464. package/dist/utils/cli-colors.d.ts +36 -0
  465. package/dist/utils/cli-colors.d.ts.map +1 -0
  466. package/dist/utils/cli-colors.js +35 -0
  467. package/dist/utils/cli-colors.js.map +1 -0
  468. package/dist/utils/config-loader.d.ts +41 -0
  469. package/dist/utils/config-loader.d.ts.map +1 -0
  470. package/dist/utils/config-loader.js +167 -0
  471. package/dist/utils/config-loader.js.map +1 -0
  472. package/dist/utils/config-migration.d.ts +140 -0
  473. package/dist/utils/config-migration.d.ts.map +1 -0
  474. package/dist/utils/config-migration.js +310 -0
  475. package/dist/utils/config-migration.js.map +1 -0
  476. package/dist/utils/date-utils.d.ts +63 -0
  477. package/dist/utils/date-utils.d.ts.map +1 -0
  478. package/dist/utils/date-utils.js +329 -0
  479. package/dist/utils/date-utils.js.map +1 -0
  480. package/dist/utils/debug-b2b-segment.d.ts +2 -0
  481. package/dist/utils/debug-b2b-segment.d.ts.map +1 -0
  482. package/dist/utils/debug-b2b-segment.js +67 -0
  483. package/dist/utils/debug-b2b-segment.js.map +1 -0
  484. package/dist/utils/domain-utils.d.ts +46 -0
  485. package/dist/utils/domain-utils.d.ts.map +1 -0
  486. package/dist/utils/domain-utils.js +143 -0
  487. package/dist/utils/domain-utils.js.map +1 -0
  488. package/dist/utils/dynamic-import.d.ts +33 -0
  489. package/dist/utils/dynamic-import.d.ts.map +1 -0
  490. package/dist/utils/dynamic-import.js +41 -0
  491. package/dist/utils/dynamic-import.js.map +1 -0
  492. package/dist/utils/error-enhancer.d.ts +23 -0
  493. package/dist/utils/error-enhancer.d.ts.map +1 -0
  494. package/dist/utils/error-enhancer.js +188 -0
  495. package/dist/utils/error-enhancer.js.map +1 -0
  496. package/dist/utils/error-handler.d.ts +89 -0
  497. package/dist/utils/error-handler.d.ts.map +1 -0
  498. package/dist/utils/error-handler.js +336 -0
  499. package/dist/utils/error-handler.js.map +1 -0
  500. package/dist/utils/filters/builders/activity.d.ts +13 -0
  501. package/dist/utils/filters/builders/activity.d.ts.map +1 -0
  502. package/dist/utils/filters/builders/activity.js +65 -0
  503. package/dist/utils/filters/builders/activity.js.map +1 -0
  504. package/dist/utils/filters/builders/basic.d.ts +13 -0
  505. package/dist/utils/filters/builders/basic.d.ts.map +1 -0
  506. package/dist/utils/filters/builders/basic.js +36 -0
  507. package/dist/utils/filters/builders/basic.js.map +1 -0
  508. package/dist/utils/filters/builders/complex.d.ts +31 -0
  509. package/dist/utils/filters/builders/complex.d.ts.map +1 -0
  510. package/dist/utils/filters/builders/complex.js +92 -0
  511. package/dist/utils/filters/builders/complex.js.map +1 -0
  512. package/dist/utils/filters/builders/date.d.ts +17 -0
  513. package/dist/utils/filters/builders/date.d.ts.map +1 -0
  514. package/dist/utils/filters/builders/date.js +51 -0
  515. package/dist/utils/filters/builders/date.js.map +1 -0
  516. package/dist/utils/filters/builders/index.d.ts +8 -0
  517. package/dist/utils/filters/builders/index.d.ts.map +1 -0
  518. package/dist/utils/filters/builders/index.js +8 -0
  519. package/dist/utils/filters/builders/index.js.map +1 -0
  520. package/dist/utils/filters/builders/numeric.d.ts +17 -0
  521. package/dist/utils/filters/builders/numeric.d.ts.map +1 -0
  522. package/dist/utils/filters/builders/numeric.js +61 -0
  523. package/dist/utils/filters/builders/numeric.js.map +1 -0
  524. package/dist/utils/filters/builders/text.d.ts +17 -0
  525. package/dist/utils/filters/builders/text.d.ts.map +1 -0
  526. package/dist/utils/filters/builders/text.js +47 -0
  527. package/dist/utils/filters/builders/text.js.map +1 -0
  528. package/dist/utils/filters/builders/types.d.ts +2 -0
  529. package/dist/utils/filters/builders/types.d.ts.map +1 -0
  530. package/dist/utils/filters/builders/types.js +2 -0
  531. package/dist/utils/filters/builders/types.js.map +1 -0
  532. package/dist/utils/filters/builders.d.ts +2 -0
  533. package/dist/utils/filters/builders.d.ts.map +1 -0
  534. package/dist/utils/filters/builders.js +2 -0
  535. package/dist/utils/filters/builders.js.map +1 -0
  536. package/dist/utils/filters/cache.d.ts +80 -0
  537. package/dist/utils/filters/cache.d.ts.map +1 -0
  538. package/dist/utils/filters/cache.js +212 -0
  539. package/dist/utils/filters/cache.js.map +1 -0
  540. package/dist/utils/filters/index.d.ts +51 -0
  541. package/dist/utils/filters/index.d.ts.map +1 -0
  542. package/dist/utils/filters/index.js +67 -0
  543. package/dist/utils/filters/index.js.map +1 -0
  544. package/dist/utils/filters/operators.d.ts +65 -0
  545. package/dist/utils/filters/operators.d.ts.map +1 -0
  546. package/dist/utils/filters/operators.js +214 -0
  547. package/dist/utils/filters/operators.js.map +1 -0
  548. package/dist/utils/filters/relationship.d.ts +81 -0
  549. package/dist/utils/filters/relationship.d.ts.map +1 -0
  550. package/dist/utils/filters/relationship.js +393 -0
  551. package/dist/utils/filters/relationship.js.map +1 -0
  552. package/dist/utils/filters/translators.d.ts +120 -0
  553. package/dist/utils/filters/translators.d.ts.map +1 -0
  554. package/dist/utils/filters/translators.js +397 -0
  555. package/dist/utils/filters/translators.js.map +1 -0
  556. package/dist/utils/filters/types.d.ts +77 -0
  557. package/dist/utils/filters/types.d.ts.map +1 -0
  558. package/dist/utils/filters/types.js +85 -0
  559. package/dist/utils/filters/types.js.map +1 -0
  560. package/dist/utils/filters/utils.d.ts +86 -0
  561. package/dist/utils/filters/utils.d.ts.map +1 -0
  562. package/dist/utils/filters/utils.js +142 -0
  563. package/dist/utils/filters/utils.js.map +1 -0
  564. package/dist/utils/filters/validation-utils.d.ts +123 -0
  565. package/dist/utils/filters/validation-utils.d.ts.map +1 -0
  566. package/dist/utils/filters/validation-utils.js +282 -0
  567. package/dist/utils/filters/validation-utils.js.map +1 -0
  568. package/dist/utils/filters/validators.d.ts +73 -0
  569. package/dist/utils/filters/validators.d.ts.map +1 -0
  570. package/dist/utils/filters/validators.js +311 -0
  571. package/dist/utils/filters/validators.js.map +1 -0
  572. package/dist/utils/json-serializer.d.ts +68 -0
  573. package/dist/utils/json-serializer.d.ts.map +1 -0
  574. package/dist/utils/json-serializer.js +235 -0
  575. package/dist/utils/json-serializer.js.map +1 -0
  576. package/dist/utils/logger.d.ts +226 -0
  577. package/dist/utils/logger.d.ts.map +1 -0
  578. package/dist/utils/logger.js +323 -0
  579. package/dist/utils/logger.js.map +1 -0
  580. package/dist/utils/numeric-utils.d.ts +27 -0
  581. package/dist/utils/numeric-utils.d.ts.map +1 -0
  582. package/dist/utils/numeric-utils.js +83 -0
  583. package/dist/utils/numeric-utils.js.map +1 -0
  584. package/dist/utils/pagination.d.ts +85 -0
  585. package/dist/utils/pagination.d.ts.map +1 -0
  586. package/dist/utils/pagination.js +169 -0
  587. package/dist/utils/pagination.js.map +1 -0
  588. package/dist/utils/person-lookup.d.ts +35 -0
  589. package/dist/utils/person-lookup.d.ts.map +1 -0
  590. package/dist/utils/person-lookup.js +67 -0
  591. package/dist/utils/person-lookup.js.map +1 -0
  592. package/dist/utils/rate-limiter.d.ts +82 -0
  593. package/dist/utils/rate-limiter.d.ts.map +1 -0
  594. package/dist/utils/rate-limiter.js +159 -0
  595. package/dist/utils/rate-limiter.js.map +1 -0
  596. package/dist/utils/record-utils.d.ts +74 -0
  597. package/dist/utils/record-utils.d.ts.map +1 -0
  598. package/dist/utils/record-utils.js +312 -0
  599. package/dist/utils/record-utils.js.map +1 -0
  600. package/dist/utils/relationship-utils.d.ts +61 -0
  601. package/dist/utils/relationship-utils.d.ts.map +1 -0
  602. package/dist/utils/relationship-utils.js +242 -0
  603. package/dist/utils/relationship-utils.js.map +1 -0
  604. package/dist/utils/response-formatter.d.ts +121 -0
  605. package/dist/utils/response-formatter.d.ts.map +1 -0
  606. package/dist/utils/response-formatter.js +188 -0
  607. package/dist/utils/response-formatter.js.map +1 -0
  608. package/dist/utils/uri-parser.d.ts +18 -0
  609. package/dist/utils/uri-parser.d.ts.map +1 -0
  610. package/dist/utils/uri-parser.js +31 -0
  611. package/dist/utils/uri-parser.js.map +1 -0
  612. package/dist/utils/validation.d.ts +59 -0
  613. package/dist/utils/validation.d.ts.map +1 -0
  614. package/dist/utils/validation.js +264 -0
  615. package/dist/utils/validation.js.map +1 -0
  616. package/dist/utils/value-matcher.d.ts +58 -0
  617. package/dist/utils/value-matcher.d.ts.map +1 -0
  618. package/dist/utils/value-matcher.js +131 -0
  619. package/dist/utils/value-matcher.js.map +1 -0
  620. package/dist/validators/attribute-validator.d.ts +59 -0
  621. package/dist/validators/attribute-validator.d.ts.map +1 -0
  622. package/dist/validators/attribute-validator.js +531 -0
  623. package/dist/validators/attribute-validator.js.map +1 -0
  624. package/dist/validators/company/field_detector.d.ts +5 -0
  625. package/dist/validators/company/field_detector.d.ts.map +1 -0
  626. package/dist/validators/company/field_detector.js +95 -0
  627. package/dist/validators/company/field_detector.js.map +1 -0
  628. package/dist/validators/company/index.d.ts +26 -0
  629. package/dist/validators/company/index.d.ts.map +1 -0
  630. package/dist/validators/company/index.js +433 -0
  631. package/dist/validators/company/index.js.map +1 -0
  632. package/dist/validators/company/type_cache.d.ts +14 -0
  633. package/dist/validators/company/type_cache.d.ts.map +1 -0
  634. package/dist/validators/company/type_cache.js +28 -0
  635. package/dist/validators/company/type_cache.js.map +1 -0
  636. package/dist/validators/company/types.d.ts +8 -0
  637. package/dist/validators/company/types.d.ts.map +1 -0
  638. package/dist/validators/company/types.js +2 -0
  639. package/dist/validators/company/types.js.map +1 -0
  640. package/dist/validators/company-validator.d.ts +2 -0
  641. package/dist/validators/company-validator.d.ts.map +1 -0
  642. package/dist/validators/company-validator.js +2 -0
  643. package/dist/validators/company-validator.js.map +1 -0
  644. package/package.json +167 -0
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Search operation handlers for tool execution
3
+ *
4
+ * Handles basic search operations including search, searchByEmail, searchByPhone, and smartSearch
5
+ */
6
+ import { createErrorResult } from '../../../../utils/error-handler.js';
7
+ import { formatResponse } from '../../formatters.js';
8
+ import { hasResponseData } from '../../error-types.js';
9
+ /**
10
+ * Check if the formatted results already contain a header to avoid duplication
11
+ */
12
+ function hasResultHeader(formattedResults) {
13
+ return (typeof formattedResults === 'string' &&
14
+ formattedResults.startsWith('Found '));
15
+ }
16
+ /**
17
+ * Format search results with appropriate header
18
+ */
19
+ function formatSearchResults(formattedResults, results, resourceType, searchContext) {
20
+ if (hasResultHeader(formattedResults)) {
21
+ return formattedResults;
22
+ }
23
+ const header = searchContext
24
+ ? `Found ${results.length} ${resourceType} ${searchContext}:`
25
+ : `Found ${results.length} ${resourceType}:`;
26
+ return `${header}\n${formattedResults}`;
27
+ }
28
+ /**
29
+ * Handle common search operations
30
+ *
31
+ * @param toolType - The type of search tool
32
+ * @param searchConfig - The search tool configuration
33
+ * @param searchParam - The search parameter
34
+ * @param resourceType - The resource type being searched
35
+ * @returns Formatted response
36
+ */
37
+ export async function handleSearchOperation(toolType, searchConfig, searchParam, resourceType) {
38
+ try {
39
+ const results = await searchConfig.handler(searchParam);
40
+ const formattedResults = searchConfig.formatResult(results);
41
+ const searchType = toolType.replace('searchBy', '').toLowerCase();
42
+ const searchContext = `matching ${searchType} "${searchParam}"`;
43
+ const responseText = formatSearchResults(formattedResults, results, resourceType, searchContext);
44
+ return formatResponse(responseText);
45
+ }
46
+ catch (error) {
47
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/objects/${resourceType}/records/query`, 'POST', hasResponseData(error) ? error.response.data : {});
48
+ }
49
+ }
50
+ /**
51
+ * Handle basic search operations
52
+ */
53
+ export async function handleBasicSearch(request, toolConfig, resourceType) {
54
+ const queryFromArgs = request.params.arguments?.query;
55
+ const domainFromArgs = request.params.arguments?.domain;
56
+ let effectiveQuery = queryFromArgs;
57
+ // If 'query' is not provided, but 'domain' is, and the specific tool being handled is 'search-companies',
58
+ // use the 'domain' value as the query. This makes 'search-companies' more robust to this specific invocation pattern.
59
+ if (effectiveQuery === undefined &&
60
+ domainFromArgs !== undefined &&
61
+ toolConfig.name === 'search-companies') {
62
+ effectiveQuery = domainFromArgs;
63
+ console.warn(`[handleBasicSearch] Tool 'search-companies' was called with a 'domain' parameter instead of 'query'. ` +
64
+ `Using the 'domain' value ("${effectiveQuery}") as the search query. ` +
65
+ `For clarity and future compatibility, please use the 'query' parameter for the 'search-companies' tool, ` +
66
+ `or use the 'search-companies-by-domain' tool for explicit domain searches.`);
67
+ }
68
+ const query = effectiveQuery; // Use 'query' as the variable name for the rest of the function for minimal changes
69
+ try {
70
+ const results = await toolConfig.handler(query);
71
+ const formattedResults = toolConfig.formatResult(results);
72
+ const responseText = formatSearchResults(formattedResults, results, resourceType);
73
+ return formatResponse(responseText);
74
+ }
75
+ catch (error) {
76
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/objects/${resourceType}/records/query`, 'POST', hasResponseData(error) ? error.response.data : {});
77
+ }
78
+ }
79
+ /**
80
+ * Handle searchByEmail operations
81
+ */
82
+ export async function handleSearchByEmail(request, toolConfig, resourceType) {
83
+ const email = request.params.arguments?.email;
84
+ return handleSearchOperation('searchByEmail', toolConfig, email, resourceType);
85
+ }
86
+ /**
87
+ * Handle searchByPhone operations
88
+ */
89
+ export async function handleSearchByPhone(request, toolConfig, resourceType) {
90
+ const phone = request.params.arguments?.phone;
91
+ return handleSearchOperation('searchByPhone', toolConfig, phone, resourceType);
92
+ }
93
+ /**
94
+ * Handle searchByDomain operations
95
+ */
96
+ export async function handleSearchByDomain(request, toolConfig, resourceType) {
97
+ const domain = request.params.arguments?.domain;
98
+ return handleSearchOperation('searchByDomain', toolConfig, domain, resourceType);
99
+ }
100
+ /**
101
+ * Handle searchByCompany operations
102
+ */
103
+ export async function handleSearchByCompany(request, toolConfig, resourceType) {
104
+ const companyFilter = request.params.arguments?.companyFilter;
105
+ // Extract company identifier from filter
106
+ let companyIdentifier;
107
+ if (typeof companyFilter === 'string') {
108
+ companyIdentifier = companyFilter;
109
+ }
110
+ else if (typeof companyFilter === 'object' && companyFilter !== null) {
111
+ // Handle object format with filters array
112
+ if ('filters' in companyFilter &&
113
+ Array.isArray(companyFilter.filters) &&
114
+ companyFilter.filters.length > 0) {
115
+ const firstFilter = companyFilter.filters[0];
116
+ if (typeof firstFilter === 'object' &&
117
+ firstFilter !== null &&
118
+ 'value' in firstFilter) {
119
+ const value = firstFilter.value;
120
+ // Extract record_id if it's an object with record_id, otherwise use the value directly
121
+ if (typeof value === 'object' &&
122
+ value !== null &&
123
+ 'record_id' in value) {
124
+ companyIdentifier = value.record_id;
125
+ }
126
+ else {
127
+ companyIdentifier = String(value);
128
+ }
129
+ }
130
+ else {
131
+ throw new Error('Invalid filter structure in companyFilter');
132
+ }
133
+ }
134
+ else if ('value' in companyFilter) {
135
+ // Handle direct value format
136
+ const value = companyFilter.value;
137
+ if (typeof value === 'object' && value !== null && 'record_id' in value) {
138
+ companyIdentifier = value.record_id;
139
+ }
140
+ else {
141
+ companyIdentifier = String(value);
142
+ }
143
+ }
144
+ else {
145
+ throw new Error('Invalid companyFilter format: missing filters array or value');
146
+ }
147
+ }
148
+ else if (Array.isArray(companyFilter) && companyFilter.length > 0) {
149
+ // Handle array format - use the first valid filter
150
+ const firstFilter = companyFilter[0];
151
+ if (typeof firstFilter === 'object' &&
152
+ firstFilter !== null &&
153
+ 'value' in firstFilter) {
154
+ const value = firstFilter.value;
155
+ if (typeof value === 'object' && value !== null && 'record_id' in value) {
156
+ companyIdentifier = value.record_id;
157
+ }
158
+ else {
159
+ companyIdentifier = String(value);
160
+ }
161
+ }
162
+ else {
163
+ companyIdentifier = String(firstFilter);
164
+ }
165
+ }
166
+ else {
167
+ throw new Error('Invalid companyFilter format');
168
+ }
169
+ return handleSearchOperation('searchByCompany', toolConfig, companyIdentifier, resourceType);
170
+ }
171
+ /**
172
+ * Handle smartSearch operations
173
+ */
174
+ export async function handleSmartSearch(request, toolConfig, resourceType) {
175
+ const query = request.params.arguments?.query;
176
+ // Validate query parameter
177
+ if (!query || typeof query !== 'string' || query.trim().length === 0) {
178
+ return createErrorResult(new Error('Query parameter is required for smart search and must be a non-empty string'), `/objects/${resourceType}/smart-search`, 'POST', { status: 400, message: 'Missing or invalid required parameter: query' });
179
+ }
180
+ try {
181
+ const results = await toolConfig.handler(query);
182
+ const formattedResults = toolConfig.formatResult(results);
183
+ const responseText = formatSearchResults(formattedResults, results, resourceType, '(smart search)');
184
+ return formatResponse(responseText);
185
+ }
186
+ catch (error) {
187
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/objects/${resourceType}/records/query`, 'POST', hasResponseData(error) ? error.response.data : {});
188
+ }
189
+ }
190
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Validation utilities for tool execution
3
+ *
4
+ * Provides parameter validation and resource ID validation for tool requests
5
+ */
6
+ import { createErrorResult } from '../../../utils/error-handler.js';
7
+ import { ResourceType } from '../../../types/attio.js';
8
+ import { AttributeValidationParams, ValidationResult } from '../../../types/tool-types.js';
9
+ /**
10
+ * Validates attribute parameters for company operations
11
+ *
12
+ * @param attributes - The attributes object to validate (key-value pairs of company attributes)
13
+ * @returns True if validation passes, or an error message string if validation fails
14
+ */
15
+ export declare function validateAttributes(attributes: AttributeValidationParams | null | undefined): ValidationResult;
16
+ /**
17
+ * Helper function to validate and extract resource ID based on resource type
18
+ *
19
+ * @param resourceType - The type of resource (companies, people, etc.)
20
+ * @param args - The request arguments containing the ID
21
+ * @param apiPath - The API path for error reporting
22
+ * @returns The validated ID or an error response
23
+ */
24
+ export declare function validateResourceId(resourceType: ResourceType, args: any, apiPath: string): string | {
25
+ error: ReturnType<typeof createErrorResult>;
26
+ };
27
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/handlers/tools/dispatcher/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,GACvD,gBAAgB,CAclB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,GACd,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;CAAE,CAoB1D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Validation utilities for tool execution
3
+ *
4
+ * Provides parameter validation and resource ID validation for tool requests
5
+ */
6
+ import { createErrorResult } from '../../../utils/error-handler.js';
7
+ import { ResourceType } from '../../../types/attio.js';
8
+ /**
9
+ * Validates attribute parameters for company operations
10
+ *
11
+ * @param attributes - The attributes object to validate (key-value pairs of company attributes)
12
+ * @returns True if validation passes, or an error message string if validation fails
13
+ */
14
+ export function validateAttributes(attributes) {
15
+ if (!attributes) {
16
+ return 'Attributes parameter is required';
17
+ }
18
+ if (typeof attributes !== 'object' || Array.isArray(attributes)) {
19
+ return 'Attributes parameter must be an object';
20
+ }
21
+ if (Object.keys(attributes).length === 0) {
22
+ return 'Attributes parameter cannot be empty';
23
+ }
24
+ return true;
25
+ }
26
+ /**
27
+ * Helper function to validate and extract resource ID based on resource type
28
+ *
29
+ * @param resourceType - The type of resource (companies, people, etc.)
30
+ * @param args - The request arguments containing the ID
31
+ * @param apiPath - The API path for error reporting
32
+ * @returns The validated ID or an error response
33
+ */
34
+ export function validateResourceId(resourceType, args, apiPath) {
35
+ const idParamName = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
36
+ const id = args?.[idParamName];
37
+ if (!id) {
38
+ return {
39
+ error: createErrorResult(new Error(`${idParamName} parameter is required`), apiPath, 'GET', {
40
+ status: 400,
41
+ message: `Missing required parameter: ${idParamName}`,
42
+ }),
43
+ };
44
+ }
45
+ return id;
46
+ }
47
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/handlers/tools/dispatcher/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAwD;IAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAA0B,EAC1B,IAAS,EACT,OAAe;IAEf,MAAM,WAAW,GACf,YAAY,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,WAAW,CAAW,CAAC;IAEzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;YACL,KAAK,EAAE,iBAAiB,CACtB,IAAI,KAAK,CAAC,GAAG,WAAW,wBAAwB,CAAC,EACjD,OAAO,EACP,KAAK,EACL;gBACE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,+BAA+B,WAAW,EAAE;aACtD,CACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tool dispatcher module - handles tool execution dispatch and routing
3
+ *
4
+ * This module re-exports from the modular dispatcher implementation for backward compatibility.
5
+ * The actual implementation has been broken down into focused modules under ./dispatcher/
6
+ */
7
+ export { executeToolRequest } from './dispatcher/core.js';
8
+ export { logToolRequest, logToolError } from './dispatcher/logging.js';
9
+ export { validateAttributes, validateResourceId, } from './dispatcher/validation.js';
10
+ export { formatSuccessResponse } from './dispatcher/formatting.js';
11
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/handlers/tools/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tool dispatcher module - handles tool execution dispatch and routing
3
+ *
4
+ * This module re-exports from the modular dispatcher implementation for backward compatibility.
5
+ * The actual implementation has been broken down into focused modules under ./dispatcher/
6
+ */
7
+ // Re-export the main executeToolRequest function from the modular implementation
8
+ export { executeToolRequest } from './dispatcher/core.js';
9
+ // Re-export utility functions from the modular implementation for backward compatibility
10
+ export { logToolRequest, logToolError } from './dispatcher/logging.js';
11
+ export { validateAttributes, validateResourceId, } from './dispatcher/validation.js';
12
+ export { formatSuccessResponse } from './dispatcher/formatting.js';
13
+ // Note: Legacy implementation placeholders below will be moved to dedicated operation modules in Phase 2
14
+ // These are temporarily retained for any unimplemented operations until full modularization is complete
15
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/handlers/tools/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iFAAiF;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,yFAAyF;AACzF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,yGAAyG;AACzG,wGAAwG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Error types for tool operations
3
+ */
4
+ /**
5
+ * Interface for API errors with response data
6
+ */
7
+ export interface ApiError extends Error {
8
+ response?: {
9
+ data: any;
10
+ status: number;
11
+ };
12
+ details?: any;
13
+ }
14
+ /**
15
+ * Interface for ValueMatchError with original error
16
+ */
17
+ export interface ValueMatchApiError extends Error {
18
+ originalError?: ApiError;
19
+ details?: any;
20
+ }
21
+ /**
22
+ * Type guard to check if error is an ApiError
23
+ */
24
+ export declare function isApiError(error: unknown): error is ApiError;
25
+ /**
26
+ * Type guard to check if error has response data
27
+ */
28
+ export declare function hasResponseData(error: unknown): error is {
29
+ response: {
30
+ data: any;
31
+ };
32
+ };
33
+ //# sourceMappingURL=error-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-types.d.ts","sourceRoot":"","sources":["../../../src/handlers/tools/error-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,CAAA;CAAE,CAStC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Error types for tool operations
3
+ */
4
+ /**
5
+ * Type guard to check if error is an ApiError
6
+ */
7
+ export function isApiError(error) {
8
+ return error instanceof Error && 'response' in error;
9
+ }
10
+ /**
11
+ * Type guard to check if error has response data
12
+ */
13
+ export function hasResponseData(error) {
14
+ return (error !== null &&
15
+ typeof error === 'object' &&
16
+ 'response' in error &&
17
+ error.response !== null &&
18
+ typeof error.response === 'object' &&
19
+ 'data' in error.response);
20
+ }
21
+ //# sourceMappingURL=error-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-types.js","sourceRoot":"","sources":["../../../src/handlers/tools/error-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAc;IAEd,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,UAAU,IAAI,KAAK;QACnB,KAAK,CAAC,QAAQ,KAAK,IAAI;QACvB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,MAAM,IAAI,KAAK,CAAC,QAAQ,CACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Result formatting module - handles transformation and formatting of tool results
3
+ */
4
+ import { AttioRecord, AttioListEntry } from '../../types/attio.js';
5
+ /**
6
+ * Format search results for display
7
+ *
8
+ * @param results - Array of search results
9
+ * @param resourceType - The type of resource being searched
10
+ * @returns Formatted string output
11
+ */
12
+ export declare function formatSearchResults(results: AttioRecord[], resourceType: string): string;
13
+ /**
14
+ * Format record details for display
15
+ *
16
+ * @param record - The record to format
17
+ * @returns Formatted string output
18
+ */
19
+ export declare function formatRecordDetails(record: AttioRecord): string;
20
+ /**
21
+ * Format list entries for display
22
+ *
23
+ * @param entries - Array of list entries
24
+ * @returns Formatted string output
25
+ */
26
+ export declare function formatListEntries(entries: AttioListEntry[]): string;
27
+ /**
28
+ * Format batch operation results for display
29
+ *
30
+ * @param result - Batch operation result
31
+ * @param operation - The type of batch operation
32
+ * @returns Formatted string output
33
+ */
34
+ export declare function formatBatchResults(result: any, operation: string): string;
35
+ /**
36
+ * Format standard response content
37
+ *
38
+ * @param content - The content to format
39
+ * @param isError - Whether this is an error response
40
+ * @returns Formatted response object
41
+ */
42
+ export declare function formatResponse(content: string | any, isError?: boolean): any;
43
+ //# sourceMappingURL=formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/handlers/tools/formatters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AAwD/E;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,EAAE,MAAM,GACnB,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAc/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAiBnE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAezE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,GAAG,EACrB,OAAO,GAAE,OAAe,OAoDzB"}
@@ -0,0 +1,170 @@
1
+ import { processListEntries } from '../../utils/record-utils.js';
2
+ import { safeJsonStringify, sanitizeMcpResponse, } from '../../utils/json-serializer.js';
3
+ /**
4
+ * Safely extract value from record attributes
5
+ *
6
+ * This function handles various record formats and extracts values from them,
7
+ * including standard AttioRecord objects and similar record-like structures
8
+ * that may come from different API responses or transformations.
9
+ *
10
+ * @param record - The record to extract the value from, which might be an AttioRecord or a similar structure
11
+ * @param fieldName - The name of the field to extract
12
+ * @returns The extracted value as a string, or 'Unknown' if not found
13
+ */
14
+ function getAttributeValue(record, fieldName) {
15
+ if (!record?.values)
16
+ return 'Unknown';
17
+ const fieldValue = record.values[fieldName];
18
+ if (!fieldValue)
19
+ return 'Unknown';
20
+ // Handle different value formats
21
+ if (Array.isArray(fieldValue) && fieldValue.length > 0) {
22
+ const firstValue = fieldValue[0];
23
+ if (typeof firstValue === 'object' &&
24
+ firstValue !== null &&
25
+ 'value' in firstValue) {
26
+ return firstValue.value || 'Unknown';
27
+ }
28
+ return String(firstValue) || 'Unknown';
29
+ }
30
+ else if (typeof fieldValue === 'object' &&
31
+ fieldValue !== null &&
32
+ 'value' in fieldValue) {
33
+ return fieldValue.value || 'Unknown';
34
+ }
35
+ // Fallback for any other format
36
+ return String(fieldValue) || 'Unknown';
37
+ }
38
+ /**
39
+ * Format search results for display
40
+ *
41
+ * @param results - Array of search results
42
+ * @param resourceType - The type of resource being searched
43
+ * @returns Formatted string output
44
+ */
45
+ export function formatSearchResults(results, resourceType) {
46
+ if (!results || results.length === 0) {
47
+ return `No ${resourceType} found.`;
48
+ }
49
+ return results
50
+ .map((record, index) => {
51
+ const name = getAttributeValue(record, 'name');
52
+ const id = record.id?.record_id || 'Unknown ID';
53
+ return `${index + 1}. ${name} (ID: ${id})`;
54
+ })
55
+ .join('\n');
56
+ }
57
+ /**
58
+ * Format record details for display
59
+ *
60
+ * @param record - The record to format
61
+ * @returns Formatted string output
62
+ */
63
+ export function formatRecordDetails(record) {
64
+ if (!record) {
65
+ return 'No record found.';
66
+ }
67
+ const attributes = record.attributes || {};
68
+ const formattedAttrs = Object.entries(attributes)
69
+ .map(([key, attr]) => {
70
+ const value = attr.value || 'N/A';
71
+ return `${key}: ${value}`;
72
+ })
73
+ .join('\n');
74
+ return `Record Details:\n${formattedAttrs}`;
75
+ }
76
+ /**
77
+ * Format list entries for display
78
+ *
79
+ * @param entries - Array of list entries
80
+ * @returns Formatted string output
81
+ */
82
+ export function formatListEntries(entries) {
83
+ if (!entries || entries.length === 0) {
84
+ return 'No entries found.';
85
+ }
86
+ const processedEntries = processListEntries(entries);
87
+ return processedEntries
88
+ .map((entry, index) => {
89
+ const record = entry.record;
90
+ const name = getAttributeValue(record, 'name');
91
+ const entryId = entry.id?.entry_id || 'Unknown Entry ID';
92
+ const recordId = record?.id?.record_id || 'Unknown ID';
93
+ return `${index + 1}. ${name} (Entry: ${entryId}, Record: ${recordId})`;
94
+ })
95
+ .join('\n');
96
+ }
97
+ /**
98
+ * Format batch operation results for display
99
+ *
100
+ * @param result - Batch operation result
101
+ * @param operation - The type of batch operation
102
+ * @returns Formatted string output
103
+ */
104
+ export function formatBatchResults(result, operation) {
105
+ const summary = result.summary;
106
+ const details = result.results
107
+ .map((r) => r.success
108
+ ? `✅ Record ${r.id}: ${operation} successfully`
109
+ : `❌ Record ${r.id}: Failed - ${r.error?.message || 'Unknown error'}`)
110
+ .join('\n');
111
+ return (`Batch ${operation} operation completed:\n` +
112
+ `Total: ${summary.total}, Succeeded: ${summary.succeeded}, Failed: ${summary.failed}\n` +
113
+ details);
114
+ }
115
+ /**
116
+ * Format standard response content
117
+ *
118
+ * @param content - The content to format
119
+ * @param isError - Whether this is an error response
120
+ * @returns Formatted response object
121
+ */
122
+ export function formatResponse(content, isError = false) {
123
+ // Handle non-string content by converting it to a string
124
+ let formattedContent;
125
+ if (typeof content === 'string') {
126
+ formattedContent = content;
127
+ }
128
+ else if (content === undefined || content === null) {
129
+ // Prevent "undefined" or "null" from being returned as response content
130
+ formattedContent = isError
131
+ ? 'An unknown error occurred'
132
+ : 'Operation completed successfully, but no content was returned';
133
+ }
134
+ else {
135
+ try {
136
+ // Try to convert the content to a string representation using safe serialization
137
+ formattedContent =
138
+ typeof content === 'object'
139
+ ? safeJsonStringify(content, {
140
+ maxDepth: 6,
141
+ includeStackTraces: false,
142
+ })
143
+ : String(content);
144
+ }
145
+ catch (error) {
146
+ if (process.env.DEBUG || process.env.NODE_ENV === 'development') {
147
+ console.error('[formatResponse] Error converting content to string:', error);
148
+ }
149
+ formattedContent = 'Error: Content could not be serialized';
150
+ }
151
+ }
152
+ // Ensure we never return empty content
153
+ if (!formattedContent) {
154
+ formattedContent = isError
155
+ ? 'An unknown error occurred'
156
+ : 'Operation completed successfully';
157
+ }
158
+ const response = {
159
+ content: [
160
+ {
161
+ type: 'text',
162
+ text: formattedContent,
163
+ },
164
+ ],
165
+ isError,
166
+ };
167
+ // Sanitize the final response to ensure it's MCP-compatible
168
+ return sanitizeMcpResponse(response);
169
+ }
170
+ //# sourceMappingURL=formatters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/handlers/tools/formatters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Main entry point for tool handlers - maintains backward compatibility
3
+ */
4
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
5
+ /**
6
+ * Registers tool-related request handlers with the server
7
+ *
8
+ * @param server - The MCP server instance
9
+ */
10
+ export declare function registerToolHandlers(server: Server): void;
11
+ export { TOOL_DEFINITIONS, TOOL_CONFIGS } from './registry.js';
12
+ export { findToolConfig } from './registry.js';
13
+ export { executeToolRequest } from './dispatcher.js';
14
+ export { formatSearchResults, formatRecordDetails, formatListEntries, formatBatchResults, formatResponse, } from './formatters.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAWnE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAkBzD;AAGD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC"}