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,137 @@
1
+ /**
2
+ * Batch operation handlers for tool execution
3
+ *
4
+ * Handles batch operations for multiple records
5
+ */
6
+ import { createErrorResult } from '../../../../utils/error-handler.js';
7
+ import { formatResponse } from '../../formatters.js';
8
+ import { hasResponseData } from '../../error-types.js';
9
+ /**
10
+ * Handle batchUpdate operations
11
+ */
12
+ export async function handleBatchUpdateOperation(request, toolConfig, resourceType) {
13
+ const updates = request.params.arguments?.updates;
14
+ const config = request.params.arguments?.config;
15
+ if (!updates || !Array.isArray(updates)) {
16
+ return createErrorResult(new Error('updates parameter is required and must be an array'), `/${resourceType}/batch`, 'PUT', { status: 400, message: 'Missing or invalid updates parameter' });
17
+ }
18
+ if (updates.length === 0) {
19
+ return createErrorResult(new Error('updates array cannot be empty'), `/${resourceType}/batch`, 'PUT', { status: 400, message: 'Empty updates array' });
20
+ }
21
+ // Validate each update has required fields
22
+ for (let i = 0; i < updates.length; i++) {
23
+ const update = updates[i];
24
+ if (!update.id || !update.attributes) {
25
+ return createErrorResult(new Error(`Update at index ${i} must have 'id' and 'attributes' properties`), `/${resourceType}/batch`, 'PUT', { status: 400, message: 'Invalid update structure' });
26
+ }
27
+ }
28
+ try {
29
+ const result = await toolConfig.handler(updates, config);
30
+ const formattedResult = toolConfig.formatResult
31
+ ? toolConfig.formatResult(result)
32
+ : result;
33
+ return formatResponse(formattedResult);
34
+ }
35
+ catch (error) {
36
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/batch`, 'PUT', hasResponseData(error) ? error.response.data : {});
37
+ }
38
+ }
39
+ /**
40
+ * Handle batchCreate operations
41
+ */
42
+ export async function handleBatchCreateOperation(request, toolConfig, resourceType) {
43
+ const items = request.params.arguments?.companies ||
44
+ request.params.arguments?.people ||
45
+ request.params.arguments?.items;
46
+ const config = request.params.arguments?.config;
47
+ if (!items || !Array.isArray(items)) {
48
+ return createErrorResult(new Error('items parameter is required and must be an array'), `/${resourceType}/batch`, 'POST', { status: 400, message: 'Missing or invalid items parameter' });
49
+ }
50
+ if (items.length === 0) {
51
+ return createErrorResult(new Error('items array cannot be empty'), `/${resourceType}/batch`, 'POST', { status: 400, message: 'Empty items array' });
52
+ }
53
+ try {
54
+ const result = await toolConfig.handler(items, config);
55
+ const formattedResult = toolConfig.formatResult
56
+ ? toolConfig.formatResult(result)
57
+ : result;
58
+ return formatResponse(formattedResult);
59
+ }
60
+ catch (error) {
61
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/batch`, 'POST', hasResponseData(error) ? error.response.data : {});
62
+ }
63
+ }
64
+ /**
65
+ * Handle batchDelete operations
66
+ */
67
+ export async function handleBatchDeleteOperation(request, toolConfig, resourceType) {
68
+ const ids = request.params.arguments?.companyIds ||
69
+ request.params.arguments?.personIds ||
70
+ request.params.arguments?.ids;
71
+ const config = request.params.arguments?.config;
72
+ if (!ids || !Array.isArray(ids)) {
73
+ return createErrorResult(new Error('ids parameter is required and must be an array'), `/${resourceType}/batch`, 'DELETE', { status: 400, message: 'Missing or invalid ids parameter' });
74
+ }
75
+ if (ids.length === 0) {
76
+ return createErrorResult(new Error('ids array cannot be empty'), `/${resourceType}/batch`, 'DELETE', { status: 400, message: 'Empty ids array' });
77
+ }
78
+ try {
79
+ const result = await toolConfig.handler(ids, config);
80
+ const formattedResult = toolConfig.formatResult
81
+ ? toolConfig.formatResult(result)
82
+ : result;
83
+ return formatResponse(formattedResult);
84
+ }
85
+ catch (error) {
86
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/batch`, 'DELETE', hasResponseData(error) ? error.response.data : {});
87
+ }
88
+ }
89
+ /**
90
+ * Handle batchSearch operations
91
+ */
92
+ export async function handleBatchSearchOperation(request, toolConfig, resourceType) {
93
+ const queries = request.params.arguments?.queries;
94
+ const config = request.params.arguments?.config;
95
+ if (!queries || !Array.isArray(queries)) {
96
+ return createErrorResult(new Error('queries parameter is required and must be an array'), `/${resourceType}/batch/search`, 'POST', { status: 400, message: 'Missing or invalid queries parameter' });
97
+ }
98
+ if (queries.length === 0) {
99
+ return createErrorResult(new Error('queries array cannot be empty'), `/${resourceType}/batch/search`, 'POST', { status: 400, message: 'Empty queries array' });
100
+ }
101
+ try {
102
+ const result = await toolConfig.handler(queries, config);
103
+ const formattedResult = toolConfig.formatResult
104
+ ? toolConfig.formatResult(result)
105
+ : result;
106
+ return formatResponse(formattedResult);
107
+ }
108
+ catch (error) {
109
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/batch/search`, 'POST', hasResponseData(error) ? error.response.data : {});
110
+ }
111
+ }
112
+ /**
113
+ * Handle batchGetDetails operations
114
+ */
115
+ export async function handleBatchGetDetailsOperation(request, toolConfig, resourceType) {
116
+ const ids = request.params.arguments?.companyIds ||
117
+ request.params.arguments?.personIds ||
118
+ request.params.arguments?.ids;
119
+ const config = request.params.arguments?.config;
120
+ if (!ids || !Array.isArray(ids)) {
121
+ return createErrorResult(new Error('ids parameter is required and must be an array'), `/${resourceType}/batch/details`, 'POST', { status: 400, message: 'Missing or invalid ids parameter' });
122
+ }
123
+ if (ids.length === 0) {
124
+ return createErrorResult(new Error('ids array cannot be empty'), `/${resourceType}/batch/details`, 'POST', { status: 400, message: 'Empty ids array' });
125
+ }
126
+ try {
127
+ const result = await toolConfig.handler(ids, config);
128
+ const formattedResult = toolConfig.formatResult
129
+ ? toolConfig.formatResult(result)
130
+ : result;
131
+ return formatResponse(formattedResult);
132
+ }
133
+ catch (error) {
134
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/batch/details`, 'POST', hasResponseData(error) ? error.response.data : {});
135
+ }
136
+ }
137
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/batch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CRUD operation handlers for tool execution
3
+ *
4
+ * Handles create, read, update, delete, and related operations
5
+ */
6
+ import { CallToolRequest } from '@modelcontextprotocol/sdk/types.js';
7
+ import { ResourceType } from '../../../../types/attio.js';
8
+ import { ToolConfig } from '../../../tool-types.js';
9
+ /**
10
+ * Handle create operations
11
+ */
12
+ export declare function handleCreateOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
13
+ /**
14
+ * Handle update operations
15
+ */
16
+ export declare function handleUpdateOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
17
+ /**
18
+ * Handle updateAttribute operations
19
+ */
20
+ export declare function handleUpdateAttributeOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
21
+ /**
22
+ * Handle delete operations
23
+ */
24
+ export declare function handleDeleteOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
25
+ //# sourceMappingURL=crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/crud.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBA4B3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBA4C3B;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBA0D3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBAsC3B"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * CRUD operation handlers for tool execution
3
+ *
4
+ * Handles create, read, update, delete, and related operations
5
+ */
6
+ import { createErrorResult } from '../../../../utils/error-handler.js';
7
+ import { ResourceType } from '../../../../types/attio.js';
8
+ import { formatResponse } from '../../formatters.js';
9
+ import { hasResponseData } from '../../error-types.js';
10
+ /**
11
+ * Handle create operations
12
+ */
13
+ export async function handleCreateOperation(request, toolConfig, resourceType) {
14
+ try {
15
+ const attributes = request.params.arguments?.attributes;
16
+ if (!attributes) {
17
+ return createErrorResult(new Error('Attributes parameter is required for create operation'), `/${resourceType}`, 'POST', { status: 400, message: 'Missing required parameter: attributes' });
18
+ }
19
+ const result = await toolConfig.handler(attributes);
20
+ const formattedResult = toolConfig.formatResult
21
+ ? toolConfig.formatResult(result)
22
+ : `${resourceType.slice(0, -1)} created successfully`;
23
+ return formatResponse(formattedResult);
24
+ }
25
+ catch (error) {
26
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}`, 'POST', hasResponseData(error) ? error.response.data : {});
27
+ }
28
+ }
29
+ /**
30
+ * Handle update operations
31
+ */
32
+ export async function handleUpdateOperation(request, toolConfig, resourceType) {
33
+ try {
34
+ const id = resourceType === ResourceType.COMPANIES
35
+ ? request.params.arguments?.companyId
36
+ : request.params.arguments?.personId;
37
+ const attributes = request.params.arguments?.attributes;
38
+ if (!id) {
39
+ const idParamName = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
40
+ return createErrorResult(new Error(`${idParamName} parameter is required for update operation`), `/${resourceType}`, 'PUT', { status: 400, message: `Missing required parameter: ${idParamName}` });
41
+ }
42
+ if (!attributes) {
43
+ return createErrorResult(new Error('Attributes parameter is required for update operation'), `/${resourceType}/${id}`, 'PUT', { status: 400, message: 'Missing required parameter: attributes' });
44
+ }
45
+ const result = await toolConfig.handler(id, attributes);
46
+ const formattedResult = toolConfig.formatResult
47
+ ? toolConfig.formatResult(result)
48
+ : `${resourceType.slice(0, -1)} updated successfully`;
49
+ return formatResponse(formattedResult);
50
+ }
51
+ catch (error) {
52
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}`, 'PUT', hasResponseData(error) ? error.response.data : {});
53
+ }
54
+ }
55
+ /**
56
+ * Handle updateAttribute operations
57
+ */
58
+ export async function handleUpdateAttributeOperation(request, toolConfig, resourceType) {
59
+ try {
60
+ const id = resourceType === ResourceType.COMPANIES
61
+ ? request.params.arguments?.companyId
62
+ : request.params.arguments?.personId;
63
+ const attributeName = request.params.arguments?.attributeName;
64
+ const value = request.params.arguments?.value;
65
+ if (!id) {
66
+ const idParamName = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
67
+ return createErrorResult(new Error(`${idParamName} parameter is required for updateAttribute operation`), `/${resourceType}`, 'PATCH', { status: 400, message: `Missing required parameter: ${idParamName}` });
68
+ }
69
+ if (!attributeName) {
70
+ return createErrorResult(new Error('attributeName parameter is required for updateAttribute operation'), `/${resourceType}/${id}`, 'PATCH', { status: 400, message: 'Missing required parameter: attributeName' });
71
+ }
72
+ if (value === undefined) {
73
+ return createErrorResult(new Error('value parameter is required for updateAttribute operation'), `/${resourceType}/${id}`, 'PATCH', { status: 400, message: 'Missing required parameter: value' });
74
+ }
75
+ const result = await toolConfig.handler(id, attributeName, value);
76
+ const formattedResult = toolConfig.formatResult
77
+ ? toolConfig.formatResult(result)
78
+ : `${resourceType.slice(0, -1)} attribute updated successfully`;
79
+ return formatResponse(formattedResult);
80
+ }
81
+ catch (error) {
82
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}`, 'PATCH', hasResponseData(error) ? error.response.data : {});
83
+ }
84
+ }
85
+ /**
86
+ * Handle delete operations
87
+ */
88
+ export async function handleDeleteOperation(request, toolConfig, resourceType) {
89
+ try {
90
+ const id = resourceType === ResourceType.COMPANIES
91
+ ? request.params.arguments?.companyId
92
+ : request.params.arguments?.personId;
93
+ if (!id) {
94
+ const idParamName = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
95
+ return createErrorResult(new Error(`${idParamName} parameter is required for delete operation`), `/${resourceType}`, 'DELETE', { status: 400, message: `Missing required parameter: ${idParamName}` });
96
+ }
97
+ const result = await toolConfig.handler(id);
98
+ const formattedResult = toolConfig.formatResult
99
+ ? toolConfig.formatResult(result)
100
+ : `${resourceType.slice(0, -1)} deleted successfully`;
101
+ return formatResponse(formattedResult);
102
+ }
103
+ catch (error) {
104
+ const id = resourceType === ResourceType.COMPANIES
105
+ ? request.params.arguments?.companyId
106
+ : request.params.arguments?.personId;
107
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/${id || 'unknown'}`, 'DELETE', hasResponseData(error) ? error.response.data : {});
108
+ }
109
+ }
110
+ //# sourceMappingURL=crud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/crud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Details operation handlers for tool execution
3
+ *
4
+ * Handles details operations for retrieving detailed record information
5
+ */
6
+ import { CallToolRequest } from '@modelcontextprotocol/sdk/types.js';
7
+ import { ResourceType } from '../../../../types/attio.js';
8
+ import { DetailsToolConfig } from '../../../tool-types.js';
9
+ /**
10
+ * Handle details operations
11
+ */
12
+ export declare function handleDetailsOperation(request: CallToolRequest, toolConfig: DetailsToolConfig, resourceType: ResourceType): Promise<any>;
13
+ //# sourceMappingURL=details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,YAAY,gBAyD3B"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Details operation handlers for tool execution
3
+ *
4
+ * Handles details operations for retrieving detailed record information
5
+ */
6
+ import { createErrorResult } from '../../../../utils/error-handler.js';
7
+ import { parseResourceUri } from '../../../../utils/uri-parser.js';
8
+ import { ResourceType } from '../../../../types/attio.js';
9
+ import { formatResponse } from '../../formatters.js';
10
+ import { hasResponseData } from '../../error-types.js';
11
+ /**
12
+ * Handle details operations
13
+ */
14
+ export async function handleDetailsOperation(request, toolConfig, resourceType) {
15
+ let id;
16
+ let uri;
17
+ // Check which parameter is provided
18
+ const directId = resourceType === ResourceType.COMPANIES
19
+ ? request.params.arguments?.companyId
20
+ : request.params.arguments?.personId;
21
+ uri = request.params.arguments?.uri;
22
+ // Use either direct ID or URI, with priority to URI if both are provided
23
+ if (uri) {
24
+ try {
25
+ const [uriType, uriId] = parseResourceUri(uri);
26
+ if (uriType !== resourceType) {
27
+ throw new Error(`URI type mismatch: Expected ${resourceType}, got ${uriType}`);
28
+ }
29
+ id = uriId;
30
+ }
31
+ catch (error) {
32
+ return createErrorResult(error instanceof Error ? error : new Error('Invalid URI format'), uri, 'GET', { status: 400, message: 'Invalid URI format' });
33
+ }
34
+ }
35
+ else if (directId) {
36
+ id = directId;
37
+ // For logging purposes
38
+ uri = `attio://${resourceType}/${directId}`;
39
+ }
40
+ else {
41
+ return createErrorResult(new Error('Either companyId/personId or uri parameter is required'), `/${resourceType}`, 'GET', { status: 400, message: 'Missing required parameter' });
42
+ }
43
+ try {
44
+ const record = await toolConfig.handler(id);
45
+ const formattedResult = toolConfig.formatResult(record);
46
+ return formatResponse(formattedResult);
47
+ }
48
+ catch (error) {
49
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), uri, 'GET', hasResponseData(error) ? error.response.data : {});
50
+ }
51
+ }
52
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAwB,EACxB,UAA6B,EAC7B,YAA0B;IAE1B,IAAI,EAAU,CAAC;IACf,IAAI,GAAW,CAAC;IAEhB,oCAAoC;IACpC,MAAM,QAAQ,GACZ,YAAY,KAAK,YAAY,CAAC,SAAS;QACrC,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAoB;QACjD,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAmB,CAAC;IAErD,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAa,CAAC;IAE9C,yEAAyE;IACzE,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,SAAS,OAAO,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAChE,GAAG,EACH,KAAK,EACL,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,EAAE,GAAG,QAAQ,CAAC;QACd,uBAAuB;QACvB,GAAG,GAAG,WAAW,YAAY,IAAI,QAAQ,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,iBAAiB,CACtB,IAAI,KAAK,CAAC,wDAAwD,CAAC,EACnE,IAAI,YAAY,EAAE,EAClB,KAAK,EACL,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,UAAU,CAAC,YAAa,CAAC,MAAM,CAAC,CAAC;QAEzD,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,iBAAiB,CACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,EAC3D,GAAG,EACH,KAAK,EACL,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Info operation handlers for tool execution
3
+ *
4
+ * Handles information retrieval operations (basicInfo, fields, attributes, etc.)
5
+ */
6
+ import { CallToolRequest } from '@modelcontextprotocol/sdk/types.js';
7
+ import { ResourceType } from '../../../../types/attio.js';
8
+ import { ToolConfig } from '../../../tool-types.js';
9
+ /**
10
+ * Handle basicInfo and other info operations (basicInfo, businessInfo, contactInfo, socialInfo, json)
11
+ */
12
+ export declare function handleInfoOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
13
+ /**
14
+ * Handle fields operations
15
+ */
16
+ export declare function handleFieldsOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
17
+ /**
18
+ * Handle getAttributes operations
19
+ */
20
+ export declare function handleGetAttributesOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
21
+ /**
22
+ * Handle discoverAttributes operations
23
+ */
24
+ export declare function handleDiscoverAttributesOperation(request: CallToolRequest, toolConfig: ToolConfig, resourceType: ResourceType): Promise<any>;
25
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/info.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBA2B3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBAqC3B;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBA4B3B;AAED;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,gBAe3B"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Info operation handlers for tool execution
3
+ *
4
+ * Handles information retrieval operations (basicInfo, fields, attributes, etc.)
5
+ */
6
+ import { createErrorResult } from '../../../../utils/error-handler.js';
7
+ import { ResourceType } from '../../../../types/attio.js';
8
+ import { formatResponse } from '../../formatters.js';
9
+ import { hasResponseData } from '../../error-types.js';
10
+ /**
11
+ * Handle basicInfo and other info operations (basicInfo, businessInfo, contactInfo, socialInfo, json)
12
+ */
13
+ export async function handleInfoOperation(request, toolConfig, resourceType) {
14
+ const idParam = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
15
+ const id = request.params.arguments?.[idParam];
16
+ if (!id) {
17
+ return createErrorResult(new Error(`${idParam} parameter is required`), `/${resourceType}`, 'GET', { status: 400, message: 'Missing required parameter' });
18
+ }
19
+ try {
20
+ const result = await toolConfig.handler(id);
21
+ const formattedResult = toolConfig.formatResult ? toolConfig.formatResult(result) : result;
22
+ return formatResponse(formattedResult);
23
+ }
24
+ catch (error) {
25
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/${id}`, 'GET', hasResponseData(error) ? error.response.data : {});
26
+ }
27
+ }
28
+ /**
29
+ * Handle fields operations
30
+ */
31
+ export async function handleFieldsOperation(request, toolConfig, resourceType) {
32
+ const idParam = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
33
+ const id = request.params.arguments?.[idParam];
34
+ const fields = request.params.arguments?.fields;
35
+ if (!id) {
36
+ return createErrorResult(new Error(`${idParam} parameter is required`), `/${resourceType}`, 'GET', { status: 400, message: 'Missing required parameter' });
37
+ }
38
+ if (!fields || !Array.isArray(fields)) {
39
+ return createErrorResult(new Error('fields parameter is required and must be an array'), `/${resourceType}/${id}`, 'GET', { status: 400, message: 'Missing or invalid fields parameter' });
40
+ }
41
+ try {
42
+ const result = await toolConfig.handler(id, fields);
43
+ const formattedResult = toolConfig.formatResult ? toolConfig.formatResult(result) : result;
44
+ return formatResponse(formattedResult);
45
+ }
46
+ catch (error) {
47
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/${id}/fields`, 'GET', hasResponseData(error) ? error.response.data : {});
48
+ }
49
+ }
50
+ /**
51
+ * Handle getAttributes operations
52
+ */
53
+ export async function handleGetAttributesOperation(request, toolConfig, resourceType) {
54
+ const idParam = resourceType === ResourceType.COMPANIES ? 'companyId' : 'personId';
55
+ const id = request.params.arguments?.[idParam];
56
+ const attributeName = request.params.arguments?.attributeName;
57
+ if (!id) {
58
+ return createErrorResult(new Error(`${idParam} parameter is required`), `/${resourceType}`, 'GET', { status: 400, message: 'Missing required parameter' });
59
+ }
60
+ try {
61
+ const result = await toolConfig.handler(id, attributeName);
62
+ const formattedResult = toolConfig.formatResult ? toolConfig.formatResult(result) : result;
63
+ return formatResponse(formattedResult);
64
+ }
65
+ catch (error) {
66
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/${id}/attributes`, 'GET', hasResponseData(error) ? error.response.data : {});
67
+ }
68
+ }
69
+ /**
70
+ * Handle discoverAttributes operations
71
+ */
72
+ export async function handleDiscoverAttributesOperation(request, toolConfig, resourceType) {
73
+ try {
74
+ const result = await toolConfig.handler();
75
+ const formattedResult = toolConfig.formatResult ? toolConfig.formatResult(result) : result;
76
+ return formatResponse(formattedResult);
77
+ }
78
+ catch (error) {
79
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/${resourceType}/attributes/discover`, 'GET', hasResponseData(error) ? error.response.data : {});
80
+ }
81
+ }
82
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * List operation handlers for tool execution
3
+ *
4
+ * Handles list-related operations including adding/removing records from lists
5
+ */
6
+ import { CallToolRequest } from '@modelcontextprotocol/sdk/types.js';
7
+ import { ToolConfig, GetListsToolConfig } from '../../../tool-types.js';
8
+ /**
9
+ * Handle getLists operations
10
+ */
11
+ export declare function handleGetListsOperation(request: CallToolRequest, toolConfig: GetListsToolConfig): Promise<any>;
12
+ /**
13
+ * Handle addRecordToList operations
14
+ *
15
+ * This function extracts parameters from the tool request and passes them to the handler.
16
+ * It supports both required parameters (listId, recordId) and optional parameters
17
+ * (objectType, initialValues) needed for proper API payload construction.
18
+ *
19
+ * @param request - The tool request containing parameters
20
+ * @param toolConfig - The tool configuration with handler function
21
+ * @returns Formatted response with success or error information
22
+ */
23
+ export declare function handleAddRecordToListOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
24
+ /**
25
+ * Handle removeRecordFromList operations
26
+ */
27
+ export declare function handleRemoveRecordFromListOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
28
+ /**
29
+ * Handle updateListEntry operations
30
+ */
31
+ export declare function handleUpdateListEntryOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
32
+ /**
33
+ * Handle filterListEntriesByParent operations
34
+ *
35
+ * This handler extracts the required parameters from the tool request and passes them
36
+ * to the handler function for filtering list entries based on parent record properties.
37
+ */
38
+ export declare function handleFilterListEntriesByParentOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
39
+ /**
40
+ * Handle filterListEntriesByParentId operations
41
+ *
42
+ * This handler extracts the required parameters from the tool request and passes them
43
+ * to the handler function for filtering list entries by parent record ID.
44
+ */
45
+ export declare function handleFilterListEntriesByParentIdOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
46
+ /**
47
+ * Handle getListDetails operations
48
+ */
49
+ export declare function handleGetListDetailsOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
50
+ /**
51
+ * Handle getListEntries operations
52
+ */
53
+ export declare function handleGetListEntriesOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
54
+ /**
55
+ * Handle filterListEntries operations
56
+ */
57
+ export declare function handleFilterListEntriesOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
58
+ /**
59
+ * Handle advancedFilterListEntries operations
60
+ */
61
+ export declare function handleAdvancedFilterListEntriesOperation(request: CallToolRequest, toolConfig: ToolConfig): Promise<any>;
62
+ //# sourceMappingURL=lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/lists.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIxE;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,kBAAkB,gBAe/B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAgDvB;AAED;;GAEG;AACH,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAsCvB;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAgDvB;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAsFvB;AAED;;;;;GAKG;AACH,wBAAsB,0CAA0C,CAC9D,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBA4CvB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBA4BvB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBA+BvB;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAmEvB;AAED;;GAEG;AACH,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,gBAwCvB"}