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,74 @@
1
+ /**
2
+ * Utility functions for working with Attio records and responses
3
+ * Provides functions for processing list entries, extracting record information,
4
+ * and interacting with the Attio API.
5
+ */
6
+ import { AttioListEntry } from '../types/attio.js';
7
+ import { transformFiltersToApiFormat, createDateRangeFilter, createCreatedDateFilter, createModifiedDateFilter, createLastInteractionFilter, createActivityFilter, createNumericFilter } from './filters/index.js';
8
+ export { transformFiltersToApiFormat, createDateRangeFilter, createCreatedDateFilter, createModifiedDateFilter, createLastInteractionFilter, createActivityFilter, createNumericFilter, };
9
+ export declare const API_PARAMS: {
10
+ EXPAND: string;
11
+ RECORD: string;
12
+ LIMIT: string;
13
+ OFFSET: string;
14
+ LIST_ID: string;
15
+ };
16
+ export declare const ATTRIBUTE_SLUGS: {
17
+ CREATED_AT: string;
18
+ UPDATED_AT: string;
19
+ LAST_INTERACTION: string;
20
+ INTERACTION_TYPE: string;
21
+ EMAIL: string;
22
+ PHONE: string;
23
+ NAME: string;
24
+ WEBSITE: string;
25
+ INDUSTRY: string;
26
+ REVENUE: string;
27
+ EMPLOYEE_COUNT: string;
28
+ LIST_ID: string;
29
+ NOTE_CONTENT: string;
30
+ RELATIONSHIP: string;
31
+ };
32
+ /**
33
+ * Extracts and ensures record_id is properly populated in list entries
34
+ *
35
+ * @param entries - Raw list entries from API response
36
+ * @returns Processed list entries with record_id correctly populated
37
+ */
38
+ export declare function processListEntries(entries: AttioListEntry[]): AttioListEntry[];
39
+ /**
40
+ * Safely extracts record name and type from a list entry if available
41
+ *
42
+ * @param entry - List entry that may contain record data
43
+ * @returns An object with record name and type or empty values if not available
44
+ */
45
+ export declare function getRecordNameFromEntry(entry: AttioListEntry): {
46
+ name: string;
47
+ type: string;
48
+ };
49
+ /**
50
+ * Creates a path-based filter for filtering list entries by parent record properties
51
+ *
52
+ * This function constructs a filter that follows paths through related objects,
53
+ * which is necessary for filtering list entries based on properties of their parent records.
54
+ *
55
+ * @param listSlug - The slug of the list (either the API slug or list ID)
56
+ * @param parentObjectType - The type of the parent record (e.g., 'companies', 'people')
57
+ * @param parentAttributeSlug - The attribute of the parent record to filter by
58
+ * @param condition - The filter condition to apply
59
+ * @param value - The value to filter by
60
+ * @returns A filter object compatible with the Attio API for path-based filtering
61
+ *
62
+ * @example
63
+ * // Filter for companies in a list named "prospects" that have "Tech" in their industry
64
+ * const filter = createPathBasedFilter('prospects', 'companies', 'industry', 'contains', 'Tech');
65
+ *
66
+ * @example
67
+ * // Filter for people in a list with ID "list_12345" who have an email from apple.com
68
+ * const filter = createPathBasedFilter('list_12345', 'people', 'email_addresses', 'contains', '@apple.com');
69
+ */
70
+ export declare function createPathBasedFilter(listSlug: string, parentObjectType: string, parentAttributeSlug: string, condition: string, value: any): {
71
+ path: string[][];
72
+ constraints: Record<string, any>;
73
+ };
74
+ //# sourceMappingURL=record-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-utils.d.ts","sourceRoot":"","sources":["../../src/utils/record-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EAGpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,GACpB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;CAAoB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EAAE,GACxB,cAAc,EAAE,CA6JlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CA8CA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,GACT;IAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CA+ExD"}
@@ -0,0 +1,312 @@
1
+ import { transformFiltersToApiFormat, createDateRangeFilter, createCreatedDateFilter, createModifiedDateFilter, createLastInteractionFilter, createActivityFilter, createNumericFilter, FILTER_ATTRIBUTES, } from './filters/index.js';
2
+ // Re-export filter utilities for backwards compatibility
3
+ export { transformFiltersToApiFormat, createDateRangeFilter, createCreatedDateFilter, createModifiedDateFilter, createLastInteractionFilter, createActivityFilter, createNumericFilter, };
4
+ // API parameter constants for better maintainability
5
+ export const API_PARAMS = {
6
+ EXPAND: 'expand',
7
+ RECORD: 'record',
8
+ LIMIT: 'limit',
9
+ OFFSET: 'offset',
10
+ LIST_ID: 'list_id',
11
+ };
12
+ // Re-export attribute slugs for backwards compatibility
13
+ export const ATTRIBUTE_SLUGS = FILTER_ATTRIBUTES;
14
+ /**
15
+ * Extracts and ensures record_id is properly populated in list entries
16
+ *
17
+ * @param entries - Raw list entries from API response
18
+ * @returns Processed list entries with record_id correctly populated
19
+ */
20
+ export function processListEntries(entries) {
21
+ return entries.map((entry) => {
22
+ // Debug logging in development mode
23
+ if (process.env.NODE_ENV === 'development') {
24
+ console.log(`[processListEntries] Processing entry:`, {
25
+ entryId: entry.id?.entry_id || 'unknown',
26
+ hasRecordId: !!entry.record_id,
27
+ hasRecord: !!entry.record,
28
+ hasParentRecordId: !!entry.parent_record_id,
29
+ valueKeys: entry.values ? Object.keys(entry.values) : [],
30
+ });
31
+ }
32
+ // If record_id is already defined and non-empty, no processing needed
33
+ if (entry.record_id &&
34
+ typeof entry.record_id === 'string' &&
35
+ entry.record_id.trim() !== '') {
36
+ return entry;
37
+ }
38
+ // Enhanced record_id extraction from multiple possible locations
39
+ let recordId;
40
+ // Option 1: Direct parent_record_id property
41
+ if (entry.parent_record_id) {
42
+ recordId = entry.parent_record_id;
43
+ }
44
+ // Option 2: Nested in record object
45
+ else if (entry.record?.id?.record_id) {
46
+ recordId = entry.record.id.record_id;
47
+ }
48
+ // Option 3: Nested in values.record_id
49
+ else if (entry.values &&
50
+ typeof entry.values === 'object' &&
51
+ 'record_id' in entry.values) {
52
+ const recordIdValue = entry.values.record_id;
53
+ if (Array.isArray(recordIdValue) && recordIdValue.length > 0) {
54
+ // Handle array of values with possible value property
55
+ if (recordIdValue[0].value) {
56
+ recordId = recordIdValue[0].value;
57
+ }
58
+ else if (typeof recordIdValue[0] === 'string') {
59
+ recordId = recordIdValue[0];
60
+ }
61
+ }
62
+ else if (typeof recordIdValue === 'string') {
63
+ recordId = recordIdValue;
64
+ }
65
+ }
66
+ // Option 4: Nested in values.record
67
+ else if (entry.values &&
68
+ typeof entry.values === 'object' &&
69
+ 'record' in entry.values) {
70
+ const valuesWithRecord = entry.values;
71
+ if (valuesWithRecord.record?.id?.record_id) {
72
+ recordId = valuesWithRecord.record.id.record_id;
73
+ }
74
+ }
75
+ // Option 5: Check for reference_id property
76
+ else if (entry.reference_id) {
77
+ recordId = entry.reference_id;
78
+ }
79
+ // Option 6: Check for object_id property
80
+ else if (entry.object_id) {
81
+ recordId = entry.object_id;
82
+ }
83
+ // Option 7: Search all properties for anything ending with _record_id
84
+ else {
85
+ const possibleKeys = Object.keys(entry);
86
+ for (const key of possibleKeys) {
87
+ if (key.endsWith('_record_id') &&
88
+ typeof entry[key] === 'string' &&
89
+ entry[key]) {
90
+ recordId = entry[key];
91
+ break;
92
+ }
93
+ }
94
+ }
95
+ // Option 8: If record object exists, look for record.reference_id or record.record_id
96
+ if (!recordId && entry.record) {
97
+ if (entry.record.reference_id) {
98
+ recordId = entry.record.reference_id;
99
+ }
100
+ else if (entry.record.record_id) {
101
+ recordId = entry.record.record_id;
102
+ }
103
+ else if (entry.record.id) {
104
+ // Various id object patterns
105
+ const idObj = entry.record.id;
106
+ if (typeof idObj === 'string') {
107
+ recordId = idObj;
108
+ }
109
+ else if (idObj.record_id) {
110
+ recordId = idObj.record_id;
111
+ }
112
+ else if (idObj.id && typeof idObj.id === 'string') {
113
+ recordId = idObj.id;
114
+ }
115
+ else if (idObj.reference_id &&
116
+ typeof idObj.reference_id === 'string') {
117
+ recordId = idObj.reference_id;
118
+ }
119
+ }
120
+ }
121
+ // If a record_id was found, return updated entry
122
+ if (recordId) {
123
+ if (process.env.NODE_ENV === 'development') {
124
+ console.log(`[processListEntries] Found record_id: ${recordId} for entry ${entry.id?.entry_id || 'unknown'}`);
125
+ }
126
+ return {
127
+ ...entry,
128
+ record_id: recordId,
129
+ };
130
+ }
131
+ // Additional fallback: Check if record has a uri property
132
+ if (entry.record?.uri) {
133
+ const uriParts = entry.record.uri.split('/');
134
+ if (uriParts.length > 0) {
135
+ recordId = uriParts[uriParts.length - 1];
136
+ if (process.env.NODE_ENV === 'development') {
137
+ console.log(`[processListEntries] Extracted record_id ${recordId} from URI: ${entry.record.uri}`);
138
+ }
139
+ return {
140
+ ...entry,
141
+ record_id: recordId,
142
+ };
143
+ }
144
+ }
145
+ // Unable to find record_id, log warning and return entry unchanged
146
+ if (process.env.NODE_ENV === 'development') {
147
+ console.warn(`[processListEntries] Could not extract record_id for entry ${entry.id?.entry_id || 'unknown'}`);
148
+ }
149
+ // Return entry unchanged if no record_id found
150
+ return entry;
151
+ });
152
+ }
153
+ /**
154
+ * Safely extracts record name and type from a list entry if available
155
+ *
156
+ * @param entry - List entry that may contain record data
157
+ * @returns An object with record name and type or empty values if not available
158
+ */
159
+ export function getRecordNameFromEntry(entry) {
160
+ const defaultResult = { name: '', type: '' };
161
+ // If no record data is available, return default
162
+ if (!entry.record || !entry.record.values) {
163
+ return defaultResult;
164
+ }
165
+ // Try to determine the record type based on available fields
166
+ // Companies typically have industry or website fields, people typically have email or phone
167
+ const isPerson = 'email' in entry.record.values || 'phone' in entry.record.values;
168
+ const isCompany = 'industry' in entry.record.values || 'website' in entry.record.values;
169
+ // Set the record type based on detected fields
170
+ let recordType = '';
171
+ if (isPerson && !isCompany) {
172
+ recordType = 'Person';
173
+ }
174
+ else if (isCompany && !isPerson) {
175
+ recordType = 'Company';
176
+ }
177
+ else if (entry.record.object_slug) {
178
+ // If we have an object_slug, use it to determine type
179
+ recordType =
180
+ entry.record.object_slug === 'people'
181
+ ? 'Person'
182
+ : entry.record.object_slug === 'companies'
183
+ ? 'Company'
184
+ : '';
185
+ }
186
+ // Extract name from the record values
187
+ const nameValues = entry.record.values.name;
188
+ let recordName = '';
189
+ if (Array.isArray(nameValues) &&
190
+ nameValues.length > 0 &&
191
+ 'value' in nameValues[0]) {
192
+ recordName = nameValues[0].value || '';
193
+ }
194
+ return {
195
+ name: recordName,
196
+ type: recordType,
197
+ };
198
+ }
199
+ /**
200
+ * Creates a path-based filter for filtering list entries by parent record properties
201
+ *
202
+ * This function constructs a filter that follows paths through related objects,
203
+ * which is necessary for filtering list entries based on properties of their parent records.
204
+ *
205
+ * @param listSlug - The slug of the list (either the API slug or list ID)
206
+ * @param parentObjectType - The type of the parent record (e.g., 'companies', 'people')
207
+ * @param parentAttributeSlug - The attribute of the parent record to filter by
208
+ * @param condition - The filter condition to apply
209
+ * @param value - The value to filter by
210
+ * @returns A filter object compatible with the Attio API for path-based filtering
211
+ *
212
+ * @example
213
+ * // Filter for companies in a list named "prospects" that have "Tech" in their industry
214
+ * const filter = createPathBasedFilter('prospects', 'companies', 'industry', 'contains', 'Tech');
215
+ *
216
+ * @example
217
+ * // Filter for people in a list with ID "list_12345" who have an email from apple.com
218
+ * const filter = createPathBasedFilter('list_12345', 'people', 'email_addresses', 'contains', '@apple.com');
219
+ */
220
+ export function createPathBasedFilter(listSlug, parentObjectType, parentAttributeSlug, condition, value) {
221
+ // Create path array for drilling down through objects
222
+ // First path element is [listSlug, "parent_record"] to navigate from list entry to its parent record
223
+ // Second path element is [parentObjectType, parentAttributeSlug] to navigate to specific attribute
224
+ const path = [
225
+ [listSlug, 'parent_record'],
226
+ [parentObjectType, parentAttributeSlug],
227
+ ];
228
+ // Create constraints object based on condition and value
229
+ let constraints = {};
230
+ // Handle different condition types appropriately
231
+ if (condition === 'equals' || condition === 'eq') {
232
+ // For exact equality on simple attributes
233
+ constraints = { value };
234
+ }
235
+ else if (condition === 'contains') {
236
+ // For partial text matching
237
+ constraints = { contains: value };
238
+ }
239
+ else if (condition === 'starts_with') {
240
+ constraints = { starts_with: value };
241
+ }
242
+ else if (condition === 'ends_with') {
243
+ constraints = { ends_with: value };
244
+ }
245
+ else if (condition === 'greater_than' || condition === 'gt') {
246
+ constraints = { gt: value };
247
+ }
248
+ else if (condition === 'less_than' || condition === 'lt') {
249
+ constraints = { lt: value };
250
+ }
251
+ else if (condition === 'greater_than_or_equals' || condition === 'gte') {
252
+ constraints = { gte: value };
253
+ }
254
+ else if (condition === 'less_than_or_equals' || condition === 'lte') {
255
+ constraints = { lte: value };
256
+ }
257
+ else if (condition === 'not_equals' || condition === 'ne') {
258
+ constraints = { ne: value };
259
+ }
260
+ else if (condition === 'is_empty' || condition === 'is_not_set') {
261
+ constraints = { is_empty: true };
262
+ }
263
+ else if (condition === 'is_not_empty' || condition === 'is_set') {
264
+ constraints = { is_not_empty: true };
265
+ }
266
+ else if (condition === 'in') {
267
+ constraints = { in: Array.isArray(value) ? value : [value] };
268
+ }
269
+ else {
270
+ // Default to exact match if condition is unknown
271
+ constraints = { value };
272
+ }
273
+ // Special case for filtering by record ID
274
+ if (parentAttributeSlug === 'id' || parentAttributeSlug === 'record_id') {
275
+ return {
276
+ path: [[listSlug, 'parent_record']],
277
+ constraints: { record_id: value },
278
+ };
279
+ }
280
+ // For filtering by name, we need to use full_name property
281
+ if (parentAttributeSlug === 'name') {
282
+ if (condition === 'equals') {
283
+ constraints = { full_name: value };
284
+ }
285
+ else if (condition === 'contains') {
286
+ constraints = { full_name: { contains: value } };
287
+ }
288
+ else if (condition === 'starts_with') {
289
+ constraints = { full_name: { starts_with: value } };
290
+ }
291
+ else if (condition === 'ends_with') {
292
+ constraints = { full_name: { ends_with: value } };
293
+ }
294
+ }
295
+ // For email addresses, we need to use email_address property
296
+ if (parentAttributeSlug === 'email_addresses') {
297
+ if (condition === 'equals') {
298
+ constraints = { email_address: value };
299
+ }
300
+ else if (condition === 'contains') {
301
+ constraints = { email_address: { contains: value } };
302
+ }
303
+ else if (condition === 'starts_with') {
304
+ constraints = { email_address: { starts_with: value } };
305
+ }
306
+ else if (condition === 'ends_with') {
307
+ constraints = { email_address: { ends_with: value } };
308
+ }
309
+ }
310
+ return { path, constraints };
311
+ }
312
+ //# sourceMappingURL=record-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-utils.js","sourceRoot":"","sources":["../../src/utils/record-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Relationship utility functions for working with related records in Attio
3
+ * Provides functions for creating filters based on relationships between records.
4
+ */
5
+ import { ListEntryFilters } from '../api/operations/index.js';
6
+ import { ResourceType, RelationshipType } from '../types/attio.js';
7
+ export { RelationshipType };
8
+ /**
9
+ * Configuration for a relationship-based filter
10
+ */
11
+ export interface RelationshipFilterConfig {
12
+ sourceType: ResourceType;
13
+ targetType: ResourceType;
14
+ relationshipType: RelationshipType;
15
+ targetFilters: ListEntryFilters;
16
+ }
17
+ /**
18
+ * Creates a filter for people based on their associated company attributes
19
+ *
20
+ * @param companyFilter - Filters to apply to the related companies
21
+ * @returns Filter for finding people based on company attributes
22
+ */
23
+ export declare function createPeopleByCompanyFilter(companyFilter: ListEntryFilters): ListEntryFilters;
24
+ /**
25
+ * Creates a filter for companies based on their associated people attributes
26
+ *
27
+ * @param peopleFilter - Filters to apply to the related people
28
+ * @returns Filter for finding companies based on people attributes
29
+ */
30
+ export declare function createCompaniesByPeopleFilter(peopleFilter: ListEntryFilters): ListEntryFilters;
31
+ /**
32
+ * Creates a filter for records that belong to a specific list
33
+ *
34
+ * @param resourceType - The type of records to filter (people or companies)
35
+ * @param listId - The ID of the list to filter by
36
+ * @returns Filter for finding records that belong to the list
37
+ */
38
+ export declare function createRecordsByListFilter(resourceType: ResourceType, listId: string): ListEntryFilters;
39
+ /**
40
+ * Creates a filter for finding people who work at companies in a specific list
41
+ *
42
+ * @param listId - The ID of the list that contains companies
43
+ * @returns Filter for finding people who work at companies in the specified list
44
+ */
45
+ export declare function createPeopleByCompanyListFilter(listId: string): ListEntryFilters;
46
+ /**
47
+ * Creates a filter for finding companies that have people in a specific list
48
+ *
49
+ * @param listId - The ID of the list that contains people
50
+ * @returns Filter for finding companies that have people in the specified list
51
+ */
52
+ export declare function createCompaniesByPeopleListFilter(listId: string): ListEntryFilters;
53
+ /**
54
+ * Creates a filter for records that have associated notes matching criteria
55
+ *
56
+ * @param resourceType - The type of records to filter (people or companies)
57
+ * @param textSearch - Text to search for in the notes
58
+ * @returns Filter for finding records with matching notes
59
+ */
60
+ export declare function createRecordsByNotesFilter(resourceType: ResourceType, textSearch: string): ListEntryFilters;
61
+ //# sourceMappingURL=relationship-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-utils.d.ts","sourceRoot":"","sources":["../../src/utils/relationship-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,YAAY,EAEZ,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAS5B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAEvC,UAAU,EAAE,YAAY,CAAC;IAGzB,UAAU,EAAE,YAAY,CAAC;IAGzB,gBAAgB,EAAE,gBAAgB,CAAC;IAGnC,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,gBAAgB,GAC9B,gBAAgB,CAsClB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,gBAAgB,GAC7B,gBAAgB,CAsClB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,gBAAgB,CAoClB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,GACb,gBAAgB,CAuBlB;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,GACb,gBAAgB,CAuBlB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,gBAAgB,CA+BlB"}