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 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/handlers/tools/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAwB9C;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAC3C;IACE,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD,SAAS,CAoFZ"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Tool registry module - handles tool registration mechanics and discovery
3
+ */
4
+ import { ResourceType } from '../../types/attio.js';
5
+ // Import consolidated tool configurations from modular files
6
+ import { companyToolConfigs, companyToolDefinitions, } from '../tool-configs/companies/index.js';
7
+ import { peopleToolConfigs, peopleToolDefinitions, } from '../tool-configs/people/index.js';
8
+ import { listsToolConfigs, listsToolDefinitions, } from '../tool-configs/lists.js';
9
+ import { tasksToolConfigs, tasksToolDefinitions, } from '../tool-configs/tasks.js';
10
+ import { recordToolConfigs, recordToolDefinitions, } from '../tool-configs/records/index.js';
11
+ /**
12
+ * Consolidated tool configurations from modular files
13
+ */
14
+ export const TOOL_CONFIGS = {
15
+ [ResourceType.COMPANIES]: companyToolConfigs,
16
+ [ResourceType.PEOPLE]: peopleToolConfigs,
17
+ [ResourceType.LISTS]: listsToolConfigs,
18
+ [ResourceType.TASKS]: tasksToolConfigs,
19
+ [ResourceType.RECORDS]: recordToolConfigs,
20
+ // Add other resource types as needed
21
+ };
22
+ /**
23
+ * Consolidated tool definitions from modular files
24
+ */
25
+ export const TOOL_DEFINITIONS = {
26
+ [ResourceType.COMPANIES]: companyToolDefinitions,
27
+ [ResourceType.PEOPLE]: peopleToolDefinitions,
28
+ [ResourceType.LISTS]: listsToolDefinitions,
29
+ [ResourceType.TASKS]: tasksToolDefinitions,
30
+ [ResourceType.RECORDS]: recordToolDefinitions,
31
+ // Add other resource types as needed
32
+ };
33
+ /**
34
+ * Find the tool config for a given tool name
35
+ *
36
+ * @param toolName - The name of the tool
37
+ * @returns Tool configuration or undefined if not found
38
+ */
39
+ export function findToolConfig(toolName) {
40
+ // Debug logging for tool lookup in development
41
+ const debugMode = process.env.NODE_ENV === 'development' || process.env.DEBUG;
42
+ // Debug logging for all tool lookups in development
43
+ if (debugMode) {
44
+ console.error(`[findToolConfig] Looking for tool: ${toolName}`);
45
+ }
46
+ for (const resourceType of Object.values(ResourceType)) {
47
+ const resourceConfig = TOOL_CONFIGS[resourceType];
48
+ if (!resourceConfig) {
49
+ if (debugMode) {
50
+ console.error(`[findToolConfig] No config found for resource type: ${resourceType}`);
51
+ }
52
+ continue;
53
+ }
54
+ // For debugging, log all available tools for a resource type
55
+ if (debugMode) {
56
+ const toolTypes = Object.keys(resourceConfig);
57
+ if (toolTypes.includes(toolName.replace(/-/g, ''))) {
58
+ console.error(`[findToolConfig] Tool might be found under a different name. Available tool types:`, toolTypes);
59
+ }
60
+ // Specific logging for commonly problematic tools
61
+ const commonProblematicTools = [
62
+ 'discover-company-attributes',
63
+ 'get-company-basic-info',
64
+ ];
65
+ if (commonProblematicTools.includes(toolName) &&
66
+ resourceType === ResourceType.COMPANIES) {
67
+ const toolTypeKey = toolName === 'discover-company-attributes'
68
+ ? 'discoverAttributes'
69
+ : 'basicInfo';
70
+ // Use a type-safe way to check for existence
71
+ const hasToolType = Object.keys(resourceConfig).includes(toolTypeKey);
72
+ if (hasToolType) {
73
+ const config = resourceConfig[toolTypeKey];
74
+ console.error(`[findToolConfig] Found ${toolTypeKey} config:`, {
75
+ name: config.name,
76
+ hasHandler: typeof config.handler === 'function',
77
+ hasFormatter: typeof config.formatResult === 'function',
78
+ });
79
+ }
80
+ else {
81
+ console.warn(`[findToolConfig] ${toolTypeKey} not found in ${resourceType} configs!`);
82
+ }
83
+ }
84
+ }
85
+ for (const [toolType, config] of Object.entries(resourceConfig)) {
86
+ if (config && config.name === toolName) {
87
+ if (debugMode) {
88
+ console.error(`[findToolConfig] Found tool: ${toolName}, type: ${toolType}, resource: ${resourceType}`);
89
+ }
90
+ return {
91
+ resourceType: resourceType,
92
+ toolConfig: config,
93
+ toolType,
94
+ };
95
+ }
96
+ }
97
+ }
98
+ if (debugMode) {
99
+ console.warn(`[findToolConfig] Tool not found: ${toolName}`);
100
+ }
101
+ return undefined;
102
+ }
103
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/handlers/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import http from 'http';
2
+ /**
3
+ * Interface for health server options
4
+ */
5
+ interface HealthServerOptions {
6
+ port: number;
7
+ maxRetries: number;
8
+ maxRetryTime: number;
9
+ retryBackoff: number;
10
+ }
11
+ /**
12
+ * Start a simple HTTP server for health checks
13
+ * This is primarily for Docker container health checks
14
+ *
15
+ * @param options - Configuration options for the health server
16
+ * @param options.port - The port to listen on (default: 3000)
17
+ * @param options.maxRetries - Maximum number of alternative ports to try (default: 3)
18
+ * @param options.maxRetryTime - Maximum time in ms to keep retrying (default: 10000)
19
+ * @param options.retryBackoff - Base backoff time in ms between retries (default: 500)
20
+ * @returns The HTTP server instance with shutdown method
21
+ */
22
+ export declare function startHealthServer(options?: Partial<HealthServerOptions>): http.Server;
23
+ export {};
24
+ //# sourceMappingURL=http-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/health/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACrC,IAAI,CAAC,MAAM,CAqHb"}
@@ -0,0 +1,106 @@
1
+ import http from 'http';
2
+ /**
3
+ * Start a simple HTTP server for health checks
4
+ * This is primarily for Docker container health checks
5
+ *
6
+ * @param options - Configuration options for the health server
7
+ * @param options.port - The port to listen on (default: 3000)
8
+ * @param options.maxRetries - Maximum number of alternative ports to try (default: 3)
9
+ * @param options.maxRetryTime - Maximum time in ms to keep retrying (default: 10000)
10
+ * @param options.retryBackoff - Base backoff time in ms between retries (default: 500)
11
+ * @returns The HTTP server instance with shutdown method
12
+ */
13
+ export function startHealthServer(options) {
14
+ // Set default options
15
+ const config = {
16
+ port: 3000,
17
+ maxRetries: 3,
18
+ maxRetryTime: 10000,
19
+ retryBackoff: 500,
20
+ ...options,
21
+ };
22
+ const server = http.createServer((req, res) => {
23
+ if (req.url === '/health' || req.url === '/') {
24
+ // Ensure proper JSON formatting with correct content type
25
+ const healthResponse = {
26
+ status: 'ok',
27
+ timestamp: new Date().toISOString(),
28
+ uptime: process.uptime(),
29
+ };
30
+ const jsonResponse = JSON.stringify(healthResponse);
31
+ res.writeHead(200, {
32
+ 'Content-Type': 'application/json',
33
+ 'Content-Length': Buffer.byteLength(jsonResponse),
34
+ });
35
+ res.end(jsonResponse);
36
+ }
37
+ else {
38
+ res.writeHead(404);
39
+ res.end();
40
+ }
41
+ });
42
+ // Store timeout for cleanup
43
+ let retryTimeout = null;
44
+ // Try to start the server with port fallback
45
+ const tryListen = (currentPort, retriesLeft, startTime = Date.now()) => {
46
+ // Check if max retry time exceeded
47
+ if (Date.now() - startTime > config.maxRetryTime &&
48
+ retriesLeft < config.maxRetries) {
49
+ console.error(`Maximum retry time exceeded (${config.maxRetryTime}ms), stopping retries`);
50
+ return;
51
+ }
52
+ server.listen(currentPort, () => {
53
+ // Use stderr for health server logs to avoid interfering with JSON-RPC stdout
54
+ console.error(`Health check server listening on port ${currentPort}`);
55
+ });
56
+ // Handle port in use errors
57
+ server.on('error', (err) => {
58
+ if (err.code === 'EADDRINUSE' && retriesLeft > 0) {
59
+ console.error(`Port ${currentPort} is already in use, trying port ${currentPort + 1}`);
60
+ // Clean up listeners from the current attempt before retrying
61
+ server.removeAllListeners('listening');
62
+ server.removeAllListeners('error');
63
+ // server.close(); // Ensure server is closed before trying again or new listeners are added.
64
+ // Note: close is async. The critical part is removing listeners to prevent leaks for the SAME server instance.
65
+ // If we create a NEW server instance on each retry, this close would be vital.
66
+ // Since we reuse the `server` instance, removing listeners is key.
67
+ if (retryTimeout)
68
+ clearTimeout(retryTimeout);
69
+ // Try the next port with an exponential backoff
70
+ const backoff = Math.min(config.retryBackoff * (config.maxRetries - retriesLeft + 1), 2000);
71
+ retryTimeout = setTimeout(() => {
72
+ tryListen(currentPort + 1, retriesLeft - 1, startTime);
73
+ }, backoff);
74
+ }
75
+ else {
76
+ console.error(`Health check server error: ${err}`);
77
+ }
78
+ });
79
+ };
80
+ // Start trying ports
81
+ tryListen(config.port, config.maxRetries);
82
+ // Add graceful shutdown method to server
83
+ const shutdownServer = (callback) => {
84
+ console.error('Health check server: Initiating shutdown...');
85
+ if (retryTimeout) {
86
+ clearTimeout(retryTimeout);
87
+ retryTimeout = null;
88
+ console.error('Health check server: Cleared retry timeout.');
89
+ }
90
+ server.close((err) => {
91
+ if (err) {
92
+ console.error('Health check server: Error during close:', err);
93
+ }
94
+ else {
95
+ console.error('Health check server: Successfully closed.');
96
+ }
97
+ if (callback) {
98
+ callback(err);
99
+ }
100
+ });
101
+ };
102
+ // Add shutdown method to server
103
+ server.shutdown = shutdownServer;
104
+ return server;
105
+ }
106
+ //# sourceMappingURL=http-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/health/http-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,238 @@
1
+ #!/usr/bin/env node
2
+ // Load environment variables from .env file
3
+ import dotenv from 'dotenv';
4
+ dotenv.config();
5
+ import fs from 'fs'; // Added for PID file
6
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
+ import { startHealthServer } from './health/http-server.js';
9
+ import { initializeAttioClient } from './api/attio-client.js';
10
+ import { registerResourceHandlers } from './handlers/resources.js';
11
+ import { registerToolHandlers } from './handlers/tools/index.js';
12
+ import { registerPromptHandlers } from './prompts/handlers.js';
13
+ // Use /tmp directory for PID file, which is generally writable
14
+ const PID_FILE_PATH = '/tmp/attio-mcp-server.pid'; // Define PID file path
15
+ // Function to read PID from file
16
+ function readPidFile() {
17
+ try {
18
+ if (fs.existsSync(PID_FILE_PATH)) {
19
+ const pid = parseInt(fs.readFileSync(PID_FILE_PATH, 'utf-8'), 10);
20
+ return isNaN(pid) ? null : pid;
21
+ }
22
+ }
23
+ catch (error) {
24
+ console.warn('[PID] Error reading PID file:', error); // Changed to console.warn
25
+ }
26
+ return null;
27
+ }
28
+ // Function to write PID to file
29
+ function writePidFile(pid) {
30
+ try {
31
+ fs.writeFileSync(PID_FILE_PATH, pid.toString(), 'utf-8');
32
+ }
33
+ catch (error) {
34
+ console.error('[PID] Error writing PID file:', error); // Changed to console.error
35
+ }
36
+ }
37
+ // Function to delete PID file
38
+ function deletePidFile() {
39
+ try {
40
+ if (fs.existsSync(PID_FILE_PATH)) {
41
+ fs.unlinkSync(PID_FILE_PATH);
42
+ }
43
+ }
44
+ catch (error) {
45
+ console.warn('[PID] Error deleting PID file:', error); // Changed to console.warn
46
+ }
47
+ }
48
+ // Function to check if a process is running
49
+ function isProcessRunning(pid) {
50
+ try {
51
+ process.kill(pid, 0); // Sending signal 0 tests if process exists
52
+ return true;
53
+ }
54
+ catch (error) {
55
+ return false; // Typically ESRCH (no such process) or EPERM (permission denied, but still exists)
56
+ }
57
+ }
58
+ // Main function
59
+ async function main() {
60
+ console.error('[Main] Main function started. Current PID:', process.pid);
61
+ try {
62
+ const oldPid = readPidFile();
63
+ if (oldPid) {
64
+ console.error(`[Main] Found PID file. PID in file: ${oldPid}. Current PID: ${process.pid}.`);
65
+ if (oldPid !== process.pid && isProcessRunning(oldPid)) {
66
+ console.error(`[Main] Old server instance (PID: ${oldPid}) is running. Attempting to send SIGTERM.`);
67
+ try {
68
+ process.kill(oldPid, 'SIGTERM');
69
+ console.error(`[Main] SIGTERM sent to PID ${oldPid}. Waiting for it to shut down...`);
70
+ await new Promise((resolve) => setTimeout(resolve, 3000));
71
+ if (isProcessRunning(oldPid)) {
72
+ console.warn(`[Main] Old process ${oldPid} still running after SIGTERM and wait.`);
73
+ }
74
+ else {
75
+ console.error(`[Main] Old process ${oldPid} successfully terminated.`);
76
+ deletePidFile();
77
+ }
78
+ }
79
+ catch (signalError) {
80
+ console.warn(`[Main] Error sending SIGTERM to PID ${oldPid}: ${signalError}.`);
81
+ deletePidFile();
82
+ }
83
+ }
84
+ else if (oldPid === process.pid) {
85
+ console.warn(`[Main] PID file contains current process PID (${oldPid}). This might happen after an unclean shutdown. Deleting PID file.`);
86
+ deletePidFile();
87
+ }
88
+ else if (!isProcessRunning(oldPid)) {
89
+ console.error(`[Main] Old process PID ${oldPid} from PID file is not running. Stale PID file. Deleting it.`);
90
+ deletePidFile();
91
+ }
92
+ }
93
+ else {
94
+ console.error('[Main] No PID file found. Proceeding with startup.');
95
+ }
96
+ if (!process.env.ATTIO_API_KEY) {
97
+ throw new Error('ATTIO_API_KEY environment variable not found');
98
+ }
99
+ // Initialize API client
100
+ initializeAttioClient(process.env.ATTIO_API_KEY);
101
+ // Register handlers
102
+ const mcpServer = new Server({
103
+ name: 'attio-mcp-server',
104
+ version: '0.0.2',
105
+ }, {
106
+ capabilities: {
107
+ resources: {},
108
+ tools: {},
109
+ // Declare both prompts/list and prompts/get capabilities
110
+ prompts: {
111
+ list: {},
112
+ get: {},
113
+ },
114
+ },
115
+ });
116
+ registerResourceHandlers(mcpServer);
117
+ registerToolHandlers(mcpServer);
118
+ registerPromptHandlers(mcpServer);
119
+ // Start health check server (for Docker)
120
+ let healthCheckPort = 3000; // Default port
121
+ if (process.env.HEALTH_PORT) {
122
+ healthCheckPort = parseInt(process.env.HEALTH_PORT, 10);
123
+ }
124
+ else {
125
+ // Optional: log a warning if HEALTH_PORT is expected but not found
126
+ console.warn('[Main] HEALTH_PORT environment variable not set, defaulting health check to port 3000. Set HEALTH_PORT in your environment if a specific port is needed.'); // Changed to console.warn
127
+ }
128
+ const healthServer = startHealthServer({
129
+ port: healthCheckPort, // Use the determined healthCheckPort
130
+ maxRetries: 2, // Reduced retries, e.g., try initial + 2 alternatives
131
+ maxRetryTime: 10000, // Shorter retry window
132
+ retryBackoff: 500,
133
+ });
134
+ // If health server started successfully, write current PID
135
+ // We need to confirm the server is listening before writing the PID.
136
+ // The startHealthServer would need to be modified to return a promise that resolves on successful listen,
137
+ // or emit an event. For now, let's assume if no error is thrown by startHealthServer and it returns,
138
+ // we can write the PID. A more robust approach would involve a callback or promise from startHealthServer.
139
+ let healthServerSuccessfullyStarted = false;
140
+ if (healthServer) {
141
+ // Check if healthServer object exists
142
+ healthServer.on('listening', () => {
143
+ if (!healthServerSuccessfullyStarted) {
144
+ // Ensure this runs only once
145
+ const address = healthServer.address();
146
+ let listeningPort = 'unknown';
147
+ if (address && typeof address !== 'string') {
148
+ // Type guard for AddressInfo
149
+ listeningPort = address.port.toString();
150
+ }
151
+ console.error(`[Main] Health server confirmed listening on port ${listeningPort}. Writing PID: ${process.pid}`); // Changed to console.error
152
+ writePidFile(process.pid);
153
+ healthServerSuccessfullyStarted = true;
154
+ }
155
+ });
156
+ // Handle the case where it might error out immediately if port is taken and no retries succeed.
157
+ healthServer.on('error', (err) => {
158
+ if (!healthServer.listening && !healthServerSuccessfullyStarted) {
159
+ // Check if it never started listening
160
+ console.error('[Main] Health server failed to start listening. PID file will not be written.', err); // Changed to console.error
161
+ }
162
+ });
163
+ }
164
+ else {
165
+ console.error('[Main] Health server instance was not created. PID file will not be written.'); // Changed to console.error
166
+ }
167
+ // Handle graceful shutdown
168
+ const shutdown = (signal) => {
169
+ // Add signal for logging
170
+ console.error(`[Shutdown] Received ${signal}. Shutting down servers...`); // Changed to console.error
171
+ const healthSrv = healthServer; // Cast to any to access our custom 'shutdown'
172
+ // Create a promise that resolves when shutdown is complete or times out
173
+ new Promise((resolve, reject) => {
174
+ const timeoutId = setTimeout(() => {
175
+ console.error('[Shutdown] Health server shutdown timed out after 5 seconds. Forcing exit.'); // Changed to console.error
176
+ reject(new Error('Shutdown timeout')); // Reject on timeout
177
+ }, 5000);
178
+ if (healthSrv && typeof healthSrv.shutdown === 'function') {
179
+ healthSrv.shutdown((err) => {
180
+ clearTimeout(timeoutId);
181
+ if (err) {
182
+ console.error('[Shutdown] Health server shutdown reported an error:', err); // Changed to console.error
183
+ reject(err); // Propagate error
184
+ }
185
+ else {
186
+ console.error('[Shutdown] Health server shutdown complete.'); // Changed to console.error
187
+ resolve();
188
+ }
189
+ });
190
+ }
191
+ else if (healthSrv && typeof healthSrv.close === 'function') {
192
+ // Fallback if our custom shutdown isn't there for some reason
193
+ console.error('[Shutdown] Health server: Using direct close method.'); // Changed to console.error
194
+ healthSrv.close((err) => {
195
+ clearTimeout(timeoutId);
196
+ if (err) {
197
+ console.error('[Shutdown] Health server direct close reported an error:', err); // Changed to console.error
198
+ reject(err);
199
+ }
200
+ else {
201
+ console.error('[Shutdown] Health server direct close complete.'); // Changed to console.error
202
+ resolve();
203
+ }
204
+ });
205
+ }
206
+ else {
207
+ console.warn('[Shutdown] Health server or its shutdown/close method not found. Exiting directly.'); // Changed to console.warn
208
+ clearTimeout(timeoutId);
209
+ resolve(); // Nothing to shut down, resolve immediately
210
+ }
211
+ })
212
+ .catch((error) => {
213
+ console.error('[Shutdown] Error during shutdown sequence:', error); // Changed to console.error
214
+ })
215
+ .finally(() => {
216
+ console.error('[Shutdown] Exiting process.'); // Changed to console.error
217
+ deletePidFile(); // Ensure PID file is deleted on exit
218
+ process.exit(0);
219
+ });
220
+ };
221
+ process.on('SIGINT', () => shutdown('SIGINT')); // Pass signal name
222
+ process.on('SIGTERM', () => shutdown('SIGTERM')); // Pass signal name
223
+ // Connect to transport
224
+ const transport = new StdioServerTransport();
225
+ await mcpServer.connect(transport);
226
+ }
227
+ catch (error) {
228
+ console.error('[Main] Error starting server:', error); // Changed to console.error
229
+ deletePidFile(); // Ensure PID file is deleted on error
230
+ process.exit(1);
231
+ }
232
+ }
233
+ main().catch((error) => {
234
+ console.error('[Main] Unhandled error in main:', error); // Changed log message
235
+ deletePidFile(); // Ensure PID file is deleted on error
236
+ process.exit(1);
237
+ });
238
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { ResourceType, AttioRecord } from '../types/attio.js';
2
+ /**
3
+ * Creates a new object record with dynamic field formatting
4
+ *
5
+ * @param objectType - The type of object (companies, people, etc.)
6
+ * @param attributes - Raw attributes for object creation
7
+ * @param validator - Optional validator function
8
+ * @returns Created object record
9
+ */
10
+ export declare function createObjectWithDynamicFields<T extends AttioRecord>(objectType: ResourceType, attributes: any, validator?: (attrs: any) => Promise<any>): Promise<T>;
11
+ /**
12
+ * Updates an existing object record with dynamic field formatting
13
+ *
14
+ * @param objectType - The type of object (companies, people, etc.)
15
+ * @param recordId - ID of the record to update
16
+ * @param attributes - Raw attributes to update
17
+ * @param validator - Optional validator function
18
+ * @returns Updated object record
19
+ */
20
+ export declare function updateObjectWithDynamicFields<T extends AttioRecord>(objectType: ResourceType, recordId: string, attributes: any, validator?: (id: string, attrs: any) => Promise<any>): Promise<T>;
21
+ /**
22
+ * Updates a specific attribute of an object with dynamic field formatting
23
+ *
24
+ * @param objectType - The type of object (companies, people, etc.)
25
+ * @param recordId - ID of the record to update
26
+ * @param attributeName - Name of the attribute to update
27
+ * @param attributeValue - New value for the attribute
28
+ * @param updateFn - The update function to use
29
+ * @returns Updated object record
30
+ */
31
+ export declare function updateObjectAttributeWithDynamicFields<T extends AttioRecord>(objectType: ResourceType, recordId: string, attributeName: string, attributeValue: any, updateFn: (id: string, attrs: any) => Promise<T>): Promise<T>;
32
+ /**
33
+ * Deletes an object record
34
+ *
35
+ * @param objectType - The type of object (companies, people, etc.)
36
+ * @param recordId - ID of the record to delete
37
+ * @param validator - Optional validator function
38
+ * @returns True if deletion was successful
39
+ */
40
+ export declare function deleteObjectWithValidation(objectType: ResourceType, recordId: string, validator?: (id: string) => void): Promise<boolean>;
41
+ //# sourceMappingURL=base-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-operations.d.ts","sourceRoot":"","sources":["../../src/objects/base-operations.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiC9D;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,WAAW,EACvE,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,GAAG,EACf,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC,CA4CZ;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,WAAW,EACvE,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,EACf,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC,CAuCZ;AAED;;;;;;;;;GASG;AACH,wBAAsB,sCAAsC,CAC1D,CAAC,SAAS,WAAW,EAErB,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,GAAG,EACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAIZ;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,OAAO,CAAC,CAQlB"}