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,336 @@
1
+ import { safeJsonStringify, sanitizeMcpResponse } from './json-serializer.js';
2
+ /**
3
+ * Enum for categorizing different types of errors
4
+ */
5
+ export var ErrorType;
6
+ (function (ErrorType) {
7
+ ErrorType["VALIDATION_ERROR"] = "validation_error";
8
+ ErrorType["API_ERROR"] = "api_error";
9
+ ErrorType["AUTHENTICATION_ERROR"] = "authentication_error";
10
+ ErrorType["RATE_LIMIT_ERROR"] = "rate_limit_error";
11
+ ErrorType["NETWORK_ERROR"] = "network_error";
12
+ ErrorType["NOT_FOUND_ERROR"] = "not_found_error";
13
+ ErrorType["SERVER_ERROR"] = "server_error";
14
+ ErrorType["PARAMETER_ERROR"] = "parameter_error";
15
+ ErrorType["SERIALIZATION_ERROR"] = "serialization_error";
16
+ ErrorType["FORMAT_ERROR"] = "format_error";
17
+ ErrorType["UNKNOWN_ERROR"] = "unknown_error";
18
+ })(ErrorType || (ErrorType = {}));
19
+ /**
20
+ * Custom error class for Attio API errors
21
+ */
22
+ export class AttioApiError extends Error {
23
+ status;
24
+ detail;
25
+ path;
26
+ method;
27
+ responseData;
28
+ type;
29
+ constructor(message, status, detail, path, method, type = ErrorType.API_ERROR, responseData = {}) {
30
+ super(message);
31
+ this.name = 'AttioApiError';
32
+ this.status = status;
33
+ this.detail = detail;
34
+ this.path = path;
35
+ this.method = method;
36
+ this.type = type;
37
+ this.responseData = responseData;
38
+ }
39
+ }
40
+ /**
41
+ * Creates a specific API error based on status code and context
42
+ *
43
+ * @param status - HTTP status code
44
+ * @param path - API path
45
+ * @param method - HTTP method
46
+ * @param responseData - Response data from API
47
+ * @returns Appropriate error instance
48
+ */
49
+ export function createAttioError(error) {
50
+ // If it's already an AttioApiError, return it
51
+ if (error instanceof AttioApiError) {
52
+ return error;
53
+ }
54
+ // Handle Axios errors
55
+ if (error.isAxiosError && error.response) {
56
+ const { status, data, config } = error.response;
57
+ const path = config?.url || 'unknown';
58
+ const method = config?.method?.toUpperCase() || 'UNKNOWN';
59
+ return createApiError(status, path, method, data);
60
+ }
61
+ // Return the original error if we can't enhance it
62
+ return error;
63
+ }
64
+ /**
65
+ * Creates a specific API error based on status code and context
66
+ *
67
+ * @param status - HTTP status code
68
+ * @param path - API path
69
+ * @param method - HTTP method
70
+ * @param responseData - Response data from API
71
+ * @returns Appropriate error instance
72
+ */
73
+ export function createApiError(status, path, method, responseData = {}) {
74
+ const defaultMessage = responseData?.error?.message ||
75
+ responseData?.message ||
76
+ 'Unknown API error';
77
+ const detail = responseData?.error?.detail ||
78
+ responseData?.detail ||
79
+ 'No additional details';
80
+ let errorType = ErrorType.API_ERROR;
81
+ let message = '';
82
+ // Create specific error messages based on status code and context
83
+ switch (status) {
84
+ case 400:
85
+ // Detect common parameter and format errors in the 400 response
86
+ if (defaultMessage.includes('parameter') ||
87
+ defaultMessage.includes('param') ||
88
+ responseData?.error?.details?.includes('parameter')) {
89
+ errorType = ErrorType.PARAMETER_ERROR;
90
+ message = `Parameter Error: ${defaultMessage}`;
91
+ }
92
+ else if (defaultMessage.includes('format') ||
93
+ defaultMessage.includes('invalid')) {
94
+ errorType = ErrorType.FORMAT_ERROR;
95
+ message = `Format Error: ${defaultMessage}`;
96
+ }
97
+ else if (defaultMessage.includes('serialize') ||
98
+ defaultMessage.includes('parse')) {
99
+ errorType = ErrorType.SERIALIZATION_ERROR;
100
+ message = `Serialization Error: ${defaultMessage}`;
101
+ }
102
+ else {
103
+ errorType = ErrorType.VALIDATION_ERROR;
104
+ message = `Bad Request: ${defaultMessage}`;
105
+ }
106
+ break;
107
+ case 401:
108
+ case 403:
109
+ errorType = ErrorType.AUTHENTICATION_ERROR;
110
+ message =
111
+ status === 401
112
+ ? 'Authentication failed. Please check your API key.'
113
+ : 'Permission denied. Your API key lacks the necessary permissions.';
114
+ break;
115
+ case 404:
116
+ errorType = ErrorType.NOT_FOUND_ERROR;
117
+ // Customize 404 message based on path
118
+ if (path.includes('/objects/people/')) {
119
+ message = `Person not found: ${path.split('/').pop()}`;
120
+ }
121
+ else if (path.includes('/objects/companies/')) {
122
+ message = `Company not found: ${path.split('/').pop()}`;
123
+ }
124
+ else if (path.includes('/lists/')) {
125
+ const listId = path.split('/').pop();
126
+ if (path.includes('/entries')) {
127
+ message = `List entry not found in list ${path.split('/')[2]}`;
128
+ }
129
+ else {
130
+ message = `List not found: ${listId}`;
131
+ }
132
+ }
133
+ else {
134
+ message = `Resource not found: ${path}`;
135
+ }
136
+ break;
137
+ case 422:
138
+ errorType = ErrorType.PARAMETER_ERROR;
139
+ message = `Unprocessable Entity: ${defaultMessage}`;
140
+ break;
141
+ case 429:
142
+ errorType = ErrorType.RATE_LIMIT_ERROR;
143
+ message = 'Rate limit exceeded. Please try again later.';
144
+ break;
145
+ case 500:
146
+ case 502:
147
+ case 503:
148
+ case 504:
149
+ errorType = ErrorType.SERVER_ERROR;
150
+ message = `Attio API server error (${status}): ${defaultMessage}`;
151
+ break;
152
+ default:
153
+ if (status >= 500) {
154
+ errorType = ErrorType.SERVER_ERROR;
155
+ }
156
+ else if (status >= 400) {
157
+ errorType = ErrorType.API_ERROR;
158
+ }
159
+ else {
160
+ errorType = ErrorType.UNKNOWN_ERROR;
161
+ }
162
+ message = `API Error (${status}): ${defaultMessage}`;
163
+ break;
164
+ }
165
+ return new AttioApiError(message, status, detail, path, method, errorType, responseData);
166
+ }
167
+ /**
168
+ * Format an error into a standardized response based on error type
169
+ *
170
+ * @param error - The error to format
171
+ * @param type - The error type
172
+ * @param details - Additional error details
173
+ * @returns Formatted error response
174
+ */
175
+ export function formatErrorResponse(error, type = ErrorType.UNKNOWN_ERROR, details) {
176
+ // Ensure we have a valid error object
177
+ const normalizedError = error instanceof Error
178
+ ? error
179
+ : new Error(typeof error === 'string' ? error : 'Unknown error');
180
+ // Prevent "undefined" from being returned as an error message
181
+ const errorMessage = normalizedError.message || 'An unknown error occurred';
182
+ // Determine appropriate status code based on error type
183
+ const errorCode = type === ErrorType.VALIDATION_ERROR
184
+ ? 400
185
+ : type === ErrorType.AUTHENTICATION_ERROR
186
+ ? 401
187
+ : type === ErrorType.RATE_LIMIT_ERROR
188
+ ? 429
189
+ : type === ErrorType.NOT_FOUND_ERROR
190
+ ? 404
191
+ : type === ErrorType.SERVER_ERROR
192
+ ? 500
193
+ : type === ErrorType.PARAMETER_ERROR
194
+ ? 400
195
+ : type === ErrorType.FORMAT_ERROR
196
+ ? 400
197
+ : type === ErrorType.SERIALIZATION_ERROR
198
+ ? 400
199
+ : 500;
200
+ // Enhance error message with helpful tips for specific error types
201
+ let helpfulTip = '';
202
+ if (type === ErrorType.PARAMETER_ERROR) {
203
+ helpfulTip =
204
+ '\n\nTIP: Check parameter names and formats. Use direct string parameters instead of constants or placeholders.';
205
+ }
206
+ else if (type === ErrorType.FORMAT_ERROR) {
207
+ helpfulTip =
208
+ '\n\nTIP: Ensure all parameters use the correct format as specified in the API documentation.';
209
+ }
210
+ else if (type === ErrorType.SERIALIZATION_ERROR) {
211
+ helpfulTip =
212
+ '\n\nTIP: Verify objects are properly serialized to strings where needed.';
213
+ }
214
+ // Create a safe copy of details to prevent circular reference issues during JSON serialization
215
+ let safeDetails = null;
216
+ if (details) {
217
+ try {
218
+ // Use createSafeCopy which handles circular references and non-serializable values
219
+ safeDetails = JSON.parse(safeJsonStringify(details, {
220
+ includeStackTraces: process.env.NODE_ENV === 'development',
221
+ }));
222
+ }
223
+ catch (err) {
224
+ console.error('[formatErrorResponse] Error with safe stringification:', err instanceof Error ? err.message : String(err));
225
+ // Ultimate fallback
226
+ safeDetails = {
227
+ note: 'Error details could not be serialized',
228
+ error: String(err),
229
+ detailsType: typeof details,
230
+ };
231
+ }
232
+ }
233
+ // Log the error for debugging purposes
234
+ if (process.env.DEBUG || process.env.NODE_ENV === 'development') {
235
+ console.error(`[formatErrorResponse] Formatted error [${type}]:`, errorMessage);
236
+ }
237
+ // Return properly formatted MCP error response
238
+ const errorResponse = {
239
+ content: [
240
+ {
241
+ type: 'text',
242
+ text: `ERROR [${type}]: ${errorMessage}${helpfulTip}${safeDetails
243
+ ? '\n\nDetails: ' + safeJsonStringify(safeDetails, { indent: 0 })
244
+ : ''}`,
245
+ },
246
+ ],
247
+ isError: true,
248
+ error: {
249
+ code: errorCode,
250
+ message: errorMessage,
251
+ type,
252
+ details: safeDetails,
253
+ },
254
+ };
255
+ // Sanitize the final error response to ensure it's MCP-compatible
256
+ return sanitizeMcpResponse(errorResponse);
257
+ }
258
+ /**
259
+ * Creates a detailed error response for API errors, suitable for returning to MCP clients
260
+ *
261
+ * @param error - The caught error
262
+ * @param url - The API URL that was called
263
+ * @param method - The HTTP method used
264
+ * @param responseData - Any response data received
265
+ * @returns Formatted error result
266
+ */
267
+ export function createErrorResult(error, url, method, responseData = {}) {
268
+ // Ensure we have a valid error object to work with
269
+ const normalizedError = error instanceof Error
270
+ ? error
271
+ : new Error(typeof error === 'string' ? error : 'Unknown error');
272
+ if (process.env.DEBUG || process.env.NODE_ENV === 'development') {
273
+ console.error(`[createErrorResult] Processing error for ${method} ${url}:`, normalizedError.message);
274
+ }
275
+ // If it's already an AttioApiError, use it directly
276
+ if (error instanceof AttioApiError) {
277
+ const errorDetails = {
278
+ status: error.status,
279
+ method: error.method,
280
+ path: error.path,
281
+ detail: error.detail,
282
+ responseData: error.responseData,
283
+ };
284
+ return formatErrorResponse(error, error.type, errorDetails);
285
+ }
286
+ // For Axios errors with response data
287
+ if (responseData && responseData.status) {
288
+ try {
289
+ // Create a specific API error
290
+ const apiError = createApiError(responseData.status, url, method, responseData);
291
+ const errorDetails = {
292
+ status: apiError.status,
293
+ method: apiError.method,
294
+ path: apiError.path,
295
+ detail: apiError.detail,
296
+ responseData: apiError.responseData,
297
+ originalError: normalizedError.message,
298
+ };
299
+ return formatErrorResponse(apiError, apiError.type, errorDetails);
300
+ }
301
+ catch (formattingError) {
302
+ // If error formatting fails, preserve the original error
303
+ console.error('Error while formatting API error:', formattingError);
304
+ const originalErrorDetails = {
305
+ url,
306
+ method,
307
+ status: responseData.status,
308
+ originalError: normalizedError.message,
309
+ formattingError: formattingError instanceof Error
310
+ ? formattingError.message
311
+ : 'Unknown formatting error',
312
+ };
313
+ return formatErrorResponse(normalizedError, ErrorType.UNKNOWN_ERROR, originalErrorDetails);
314
+ }
315
+ }
316
+ // For network or unknown errors
317
+ let errorType = ErrorType.UNKNOWN_ERROR;
318
+ // Try to determine error type based on message or instance
319
+ if (normalizedError.message.includes('network') ||
320
+ normalizedError.message.includes('connection')) {
321
+ errorType = ErrorType.NETWORK_ERROR;
322
+ }
323
+ else if (normalizedError.message.includes('timeout')) {
324
+ errorType = ErrorType.NETWORK_ERROR;
325
+ }
326
+ const errorDetails = {
327
+ method,
328
+ url,
329
+ status: responseData.status || 'Unknown',
330
+ headers: responseData.headers || {},
331
+ data: responseData.data || {},
332
+ rawError: typeof error === 'object' ? JSON.stringify(error) : String(error),
333
+ };
334
+ return formatErrorResponse(normalizedError, errorType, errorDetails);
335
+ }
336
+ //# sourceMappingURL=error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Activity related filter builders.
3
+ */
4
+ import { ListEntryFilters, DateRange, ActivityFilter, InteractionType } from './types.js';
5
+ /**
6
+ * Creates an activity filter for finding records with specific interaction types within a date range.
7
+ */
8
+ export declare function createActivityFilter(activityFilter: ActivityFilter): ListEntryFilters;
9
+ /**
10
+ * Creates a filter for records based on their last interaction date.
11
+ */
12
+ export declare function createLastInteractionFilter(dateRange: DateRange, interactionType?: InteractionType): ListEntryFilters;
13
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../src/utils/filters/builders/activity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAGL,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,eAAe,EAEhB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,GAC7B,gBAAgB,CAqBlB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,eAAe,GAChC,gBAAgB,CAoClB"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Activity related filter builders.
3
+ */
4
+ // External imports
5
+ import { FilterValidationError } from '../../../errors/api-errors.js';
6
+ import { resolveDateRange } from '../../date-utils.js';
7
+ // Internal imports
8
+ import { FilterConditionType, InteractionType, ATTRIBUTES, } from './types.js';
9
+ import { validateActivityFilter } from '../validators.js';
10
+ import { createDateRangeFilter } from './date.js';
11
+ /**
12
+ * Creates an activity filter for finding records with specific interaction types within a date range.
13
+ */
14
+ export function createActivityFilter(activityFilter) {
15
+ const validated = validateActivityFilter(activityFilter);
16
+ const filters = [];
17
+ const dateFilter = createDateRangeFilter(ATTRIBUTES.LAST_INTERACTION, validated.dateRange);
18
+ if (dateFilter.filters) {
19
+ filters.push(...dateFilter.filters);
20
+ }
21
+ if (validated.interactionType) {
22
+ filters.push({
23
+ attribute: { slug: ATTRIBUTES.INTERACTION_TYPE },
24
+ condition: FilterConditionType.EQUALS,
25
+ value: validated.interactionType,
26
+ });
27
+ }
28
+ return { filters, matchAny: false };
29
+ }
30
+ /**
31
+ * Creates a filter for records based on their last interaction date.
32
+ */
33
+ export function createLastInteractionFilter(dateRange, interactionType) {
34
+ try {
35
+ const filters = [];
36
+ const resolvedRange = resolveDateRange(dateRange);
37
+ if (resolvedRange.start) {
38
+ filters.push({
39
+ attribute: { slug: ATTRIBUTES.LAST_INTERACTION },
40
+ condition: FilterConditionType.GREATER_THAN_OR_EQUALS,
41
+ value: resolvedRange.start,
42
+ });
43
+ }
44
+ if (resolvedRange.end) {
45
+ filters.push({
46
+ attribute: { slug: ATTRIBUTES.LAST_INTERACTION },
47
+ condition: FilterConditionType.LESS_THAN_OR_EQUALS,
48
+ value: resolvedRange.end,
49
+ });
50
+ }
51
+ if (interactionType && interactionType !== InteractionType.ANY) {
52
+ filters.push({
53
+ attribute: { slug: ATTRIBUTES.INTERACTION_TYPE },
54
+ condition: FilterConditionType.EQUALS,
55
+ value: interactionType,
56
+ });
57
+ }
58
+ return { filters, matchAny: false };
59
+ }
60
+ catch (error) {
61
+ const message = error instanceof Error ? error.message : String(error);
62
+ throw new FilterValidationError(`Failed to create interaction filter: ${message}`);
63
+ }
64
+ }
65
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../src/utils/filters/builders/activity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EAKnB,eAAe,EACf,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B;IAE9B,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAG,qBAAqB,CACtC,UAAU,CAAC,gBAAgB,EAC3B,SAAS,CAAC,SAAS,CACpB,CAAC;IACF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAChD,SAAS,EAAE,mBAAmB,CAAC,MAAM;YACrC,KAAK,EAAE,SAAS,CAAC,eAAe;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB,EACpB,eAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE;gBAChD,SAAS,EAAE,mBAAmB,CAAC,sBAAsB;gBACrD,KAAK,EAAE,aAAa,CAAC,KAAK;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE;gBAChD,SAAS,EAAE,mBAAmB,CAAC,mBAAmB;gBAClD,KAAK,EAAE,aAAa,CAAC,GAAG;aACzB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,eAAe,IAAI,eAAe,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE;gBAChD,SAAS,EAAE,mBAAmB,CAAC,MAAM;gBACrC,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,OAAO,EAAE,CAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Basic comparison filter builders.
3
+ */
4
+ import { ListEntryFilters } from './types.js';
5
+ /**
6
+ * Creates a simple equals filter for any attribute.
7
+ */
8
+ export declare function createEqualsFilter(attributeSlug: string, value: any): ListEntryFilters;
9
+ /**
10
+ * Creates a simple contains filter for text attributes.
11
+ */
12
+ export declare function createContainsFilter(attributeSlug: string, value: string): ListEntryFilters;
13
+ //# sourceMappingURL=basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../src/utils/filters/builders/basic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,GAAG,GACT,gBAAgB,CAWlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,gBAAgB,CAWlB"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Basic comparison filter builders.
3
+ */
4
+ // Internal imports
5
+ import { FilterConditionType } from './types.js';
6
+ /**
7
+ * Creates a simple equals filter for any attribute.
8
+ */
9
+ export function createEqualsFilter(attributeSlug, value) {
10
+ return {
11
+ filters: [
12
+ {
13
+ attribute: { slug: attributeSlug },
14
+ condition: FilterConditionType.EQUALS,
15
+ value,
16
+ },
17
+ ],
18
+ matchAny: false,
19
+ };
20
+ }
21
+ /**
22
+ * Creates a simple contains filter for text attributes.
23
+ */
24
+ export function createContainsFilter(attributeSlug, value) {
25
+ return {
26
+ filters: [
27
+ {
28
+ attribute: { slug: attributeSlug },
29
+ condition: FilterConditionType.CONTAINS,
30
+ value,
31
+ },
32
+ ],
33
+ matchAny: false,
34
+ };
35
+ }
36
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../src/utils/filters/builders/basic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EAAE,mBAAmB,EAAoB,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,KAAU;IAEV,OAAO;QACL,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,SAAS,EAAE,mBAAmB,CAAC,MAAM;gBACrC,KAAK;aACN;SACF;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,aAAqB,EACrB,KAAa;IAEb,OAAO;QACL,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,SAAS,EAAE,mBAAmB,CAAC,QAAQ;gBACvC,KAAK;aACN;SACF;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Complex and utility filter builders.
3
+ */
4
+ import { ListEntryFilters } from './types.js';
5
+ /**
6
+ * Creates a filter for objects in a specific list.
7
+ */
8
+ export declare function createListFilter(listId: string): ListEntryFilters;
9
+ /**
10
+ * Creates filters using special field handling rules.
11
+ */
12
+ export declare function createFilterWithSpecialHandling(attributeSlug: string, operator: string, value: any): ListEntryFilters;
13
+ /**
14
+ * Combines multiple filter sets using OR logic.
15
+ */
16
+ export declare function createOrFilter(...filterSets: ListEntryFilters[]): ListEntryFilters;
17
+ /**
18
+ * Combines multiple filter sets using AND logic.
19
+ */
20
+ export declare function createAndFilter(...filterSets: ListEntryFilters[]): ListEntryFilters;
21
+ /**
22
+ * Combines multiple filters with AND logic.
23
+ */
24
+ export declare function combineWithAnd(...filters: ListEntryFilters[]): ListEntryFilters;
25
+ /**
26
+ * Combines multiple filters with OR logic.
27
+ */
28
+ export declare function combineWithOr(...filters: ListEntryFilters[]): ListEntryFilters;
29
+ export declare const combineFiltersWithAnd: typeof combineWithAnd;
30
+ export declare const combineFiltersWithOr: typeof combineWithOr;
31
+ //# sourceMappingURL=complex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complex.d.ts","sourceRoot":"","sources":["../../../../src/utils/filters/builders/complex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAGL,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAWjE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,GACT,gBAAgB,CAiClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,UAAU,EAAE,gBAAgB,EAAE,GAChC,gBAAgB,CAQlB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,UAAU,EAAE,gBAAgB,EAAE,GAChC,gBAAgB,CAQlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAC7B,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAC7B,gBAAgB,CAElB;AAED,eAAO,MAAM,qBAAqB,uBAAiB,CAAC;AACpD,eAAO,MAAM,oBAAoB,sBAAgB,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Complex and utility filter builders.
3
+ */
4
+ // Internal imports
5
+ import { FilterConditionType, ATTRIBUTES, FIELD_SPECIAL_HANDLING, } from './types.js';
6
+ /**
7
+ * Creates a filter for objects in a specific list.
8
+ */
9
+ export function createListFilter(listId) {
10
+ return {
11
+ filters: [
12
+ {
13
+ attribute: { slug: ATTRIBUTES.LIST_ID },
14
+ condition: FilterConditionType.EQUALS,
15
+ value: listId,
16
+ },
17
+ ],
18
+ matchAny: false,
19
+ };
20
+ }
21
+ /**
22
+ * Creates filters using special field handling rules.
23
+ */
24
+ export function createFilterWithSpecialHandling(attributeSlug, operator, value) {
25
+ const specialHandling = FIELD_SPECIAL_HANDLING[attributeSlug];
26
+ if (!specialHandling) {
27
+ return {
28
+ filters: [
29
+ {
30
+ attribute: { slug: attributeSlug },
31
+ condition: operator,
32
+ value,
33
+ },
34
+ ],
35
+ matchAny: false,
36
+ };
37
+ }
38
+ const mappedOperator = specialHandling[operator] || operator;
39
+ let processedValue = value;
40
+ if (specialHandling.allowStringValue && typeof value === 'string') {
41
+ processedValue = value;
42
+ }
43
+ return {
44
+ filters: [
45
+ {
46
+ attribute: { slug: attributeSlug },
47
+ condition: mappedOperator,
48
+ value: processedValue,
49
+ },
50
+ ],
51
+ matchAny: false,
52
+ };
53
+ }
54
+ /**
55
+ * Combines multiple filter sets using OR logic.
56
+ */
57
+ export function createOrFilter(...filterSets) {
58
+ const allFilters = [];
59
+ filterSets.forEach((filterSet) => {
60
+ if (filterSet.filters) {
61
+ allFilters.push(...filterSet.filters);
62
+ }
63
+ });
64
+ return { filters: allFilters, matchAny: true };
65
+ }
66
+ /**
67
+ * Combines multiple filter sets using AND logic.
68
+ */
69
+ export function createAndFilter(...filterSets) {
70
+ const allFilters = [];
71
+ filterSets.forEach((filterSet) => {
72
+ if (filterSet.filters) {
73
+ allFilters.push(...filterSet.filters);
74
+ }
75
+ });
76
+ return { filters: allFilters, matchAny: false };
77
+ }
78
+ /**
79
+ * Combines multiple filters with AND logic.
80
+ */
81
+ export function combineWithAnd(...filters) {
82
+ return createAndFilter(...filters);
83
+ }
84
+ /**
85
+ * Combines multiple filters with OR logic.
86
+ */
87
+ export function combineWithOr(...filters) {
88
+ return createOrFilter(...filters);
89
+ }
90
+ export const combineFiltersWithAnd = combineWithAnd;
91
+ export const combineFiltersWithOr = combineWithOr;
92
+ //# sourceMappingURL=complex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complex.js","sourceRoot":"","sources":["../../../../src/utils/filters/builders/complex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EAGnB,UAAU,EACV,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;gBACvC,SAAS,EAAE,mBAAmB,CAAC,MAAM;gBACrC,KAAK,EAAE,MAAM;aACd;SACF;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,aAAqB,EACrB,QAAgB,EAChB,KAAU;IAEV,MAAM,eAAe,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAE9D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;oBAClC,SAAS,EAAE,QAA+B;oBAC1C,KAAK;iBACN;aACF;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IAC7D,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,eAAe,CAAC,gBAAgB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClE,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,SAAS,EAAE,cAAqC;gBAChD,KAAK,EAAE,cAAc;aACtB;SACF;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAG,UAA8B;IAEjC,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAG,UAA8B;IAEjC,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAG,OAA2B;IAE9B,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAG,OAA2B;IAE9B,OAAO,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Date related filter builders.
3
+ */
4
+ import { ListEntryFilters, DateRange } from './types.js';
5
+ /**
6
+ * Creates a date range filter for a specific attribute.
7
+ */
8
+ export declare function createDateRangeFilter(attributeSlug: string, dateRange: DateRange): ListEntryFilters;
9
+ /**
10
+ * Creates a filter for records based on their creation date.
11
+ */
12
+ export declare function createCreatedDateFilter(dateRange: DateRange): ListEntryFilters;
13
+ /**
14
+ * Creates a filter for records based on their last modification date.
15
+ */
16
+ export declare function createModifiedDateFilter(dateRange: DateRange): ListEntryFilters;
17
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../src/utils/filters/builders/date.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAGL,gBAAgB,EAChB,SAAS,EAEV,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,GACnB,gBAAgB,CA6BlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,GACnB,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,gBAAgB,CAElB"}