attio-mcp 1.0.0 → 1.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 (359) hide show
  1. package/CHANGELOG.md +102 -3
  2. package/README.md +77 -1
  3. package/dist/api/attio-client.d.ts +25 -5
  4. package/dist/api/attio-client.d.ts.map +1 -1
  5. package/dist/api/attio-client.js +119 -125
  6. package/dist/api/attio-client.js.map +1 -1
  7. package/dist/api/client-cache.d.ts +43 -0
  8. package/dist/api/client-cache.d.ts.map +1 -0
  9. package/dist/api/client-cache.js +71 -0
  10. package/dist/api/client-cache.js.map +1 -0
  11. package/dist/api/client-config.d.ts +53 -0
  12. package/dist/api/client-config.d.ts.map +1 -0
  13. package/dist/api/client-config.js +101 -0
  14. package/dist/api/client-config.js.map +1 -0
  15. package/dist/api/client-context.js +1 -1
  16. package/dist/api/client-context.js.map +1 -1
  17. package/dist/api/client-strategies.d.ts +76 -0
  18. package/dist/api/client-strategies.d.ts.map +1 -0
  19. package/dist/api/client-strategies.js +218 -0
  20. package/dist/api/client-strategies.js.map +1 -0
  21. package/dist/api/lazy-client.d.ts +4 -3
  22. package/dist/api/lazy-client.d.ts.map +1 -1
  23. package/dist/api/lazy-client.js +20 -8
  24. package/dist/api/lazy-client.js.map +1 -1
  25. package/dist/api/operations/notes.d.ts +3 -2
  26. package/dist/api/operations/notes.d.ts.map +1 -1
  27. package/dist/api/operations/notes.js +4 -3
  28. package/dist/api/operations/notes.js.map +1 -1
  29. package/dist/api/operations/query-parser.d.ts +27 -0
  30. package/dist/api/operations/query-parser.d.ts.map +1 -0
  31. package/dist/api/operations/query-parser.js +123 -0
  32. package/dist/api/operations/query-parser.js.map +1 -0
  33. package/dist/api/operations/search.d.ts +2 -2
  34. package/dist/api/operations/search.d.ts.map +1 -1
  35. package/dist/api/operations/search.js +77 -22
  36. package/dist/api/operations/search.js.map +1 -1
  37. package/dist/api/operations/tasks.js +9 -15
  38. package/dist/api/operations/tasks.js.map +1 -1
  39. package/dist/api/operations/workspace-members.js +9 -15
  40. package/dist/api/operations/workspace-members.js.map +1 -1
  41. package/dist/cli.js +7 -1
  42. package/dist/cli.js.map +1 -1
  43. package/dist/config/tool-aliases.d.ts +21 -0
  44. package/dist/config/tool-aliases.d.ts.map +1 -0
  45. package/dist/config/tool-aliases.js +98 -0
  46. package/dist/config/tool-aliases.js.map +1 -0
  47. package/dist/config/tool-mode.d.ts.map +1 -1
  48. package/dist/config/tool-mode.js +1 -6
  49. package/dist/config/tool-mode.js.map +1 -1
  50. package/dist/errors/enhanced-api-errors.d.ts +21 -7
  51. package/dist/errors/enhanced-api-errors.d.ts.map +1 -1
  52. package/dist/errors/enhanced-api-errors.js +18 -1
  53. package/dist/errors/enhanced-api-errors.js.map +1 -1
  54. package/dist/handlers/tool-configs/lists.d.ts +48 -0
  55. package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
  56. package/dist/handlers/tool-configs/lists.js +126 -22
  57. package/dist/handlers/tool-configs/lists.js.map +1 -1
  58. package/dist/handlers/tool-configs/openai/index.d.ts +1 -1
  59. package/dist/handlers/tool-configs/openai/index.d.ts.map +1 -1
  60. package/dist/handlers/tool-configs/openai/index.js +1 -1
  61. package/dist/handlers/tool-configs/openai/index.js.map +1 -1
  62. package/dist/handlers/tool-configs/people/crud.d.ts +5 -0
  63. package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -1
  64. package/dist/handlers/tool-configs/people/crud.js +7 -2
  65. package/dist/handlers/tool-configs/people/crud.js.map +1 -1
  66. package/dist/handlers/tool-configs/people/index.d.ts +5 -0
  67. package/dist/handlers/tool-configs/people/index.d.ts.map +1 -1
  68. package/dist/handlers/tool-configs/universal/batch-search.d.ts +10 -0
  69. package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
  70. package/dist/handlers/tool-configs/universal/batch-search.js +18 -5
  71. package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
  72. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
  73. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +39 -1
  74. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
  75. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +22 -0
  76. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  77. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts +4 -0
  78. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts.map +1 -1
  79. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +10 -4
  80. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
  81. package/dist/handlers/tool-configs/universal/core/index.d.ts +61 -11
  82. package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
  83. package/dist/handlers/tool-configs/universal/core/index.js +10 -10
  84. package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
  85. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +8 -0
  86. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
  87. package/dist/handlers/tool-configs/universal/core/metadata-operations.js +19 -8
  88. package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
  89. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts +10 -4
  90. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts.map +1 -1
  91. package/dist/handlers/tool-configs/universal/core/notes-operations.js +69 -51
  92. package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
  93. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +5 -0
  94. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
  95. package/dist/handlers/tool-configs/universal/core/record-details-operations.js +10 -4
  96. package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
  97. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +5 -0
  98. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
  99. package/dist/handlers/tool-configs/universal/core/search-operations.js +10 -4
  100. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  101. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts +14 -0
  102. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts.map +1 -0
  103. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js +92 -0
  104. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js.map +1 -0
  105. package/dist/handlers/tool-configs/universal/index.d.ts +118 -98
  106. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  107. package/dist/handlers/tool-configs/universal/index.js +43 -73
  108. package/dist/handlers/tool-configs/universal/index.js.map +1 -1
  109. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  110. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +3 -3
  111. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  112. package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
  113. package/dist/handlers/tool-configs/universal/operations/batch-operations.js.map +1 -1
  114. package/dist/handlers/tool-configs/universal/operations/content-search.js +3 -3
  115. package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
  116. package/dist/handlers/tool-configs/universal/operations/index.d.ts +49 -10
  117. package/dist/handlers/tool-configs/universal/operations/index.d.ts.map +1 -1
  118. package/dist/handlers/tool-configs/universal/operations/index.js +47 -20
  119. package/dist/handlers/tool-configs/universal/operations/index.js.map +1 -1
  120. package/dist/handlers/tool-configs/universal/operations/operations-array.d.ts.map +1 -1
  121. package/dist/handlers/tool-configs/universal/operations/operations-array.js +3 -1
  122. package/dist/handlers/tool-configs/universal/operations/operations-array.js.map +1 -1
  123. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +4 -4
  124. package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
  125. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +3 -3
  126. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
  127. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts +43 -0
  128. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts.map +1 -1
  129. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js +55 -0
  130. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js.map +1 -1
  131. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts +32 -0
  132. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts.map +1 -1
  133. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js +40 -0
  134. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js.map +1 -1
  135. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts +8 -2
  136. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
  137. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +9 -2
  138. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
  139. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +8 -0
  140. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
  141. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +12 -0
  142. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
  143. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  144. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +38 -3
  145. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  146. package/dist/handlers/tool-configs/workspace-members.d.ts +25 -0
  147. package/dist/handlers/tool-configs/workspace-members.d.ts.map +1 -1
  148. package/dist/handlers/tool-configs/workspace-members.js +73 -40
  149. package/dist/handlers/tool-configs/workspace-members.js.map +1 -1
  150. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  151. package/dist/handlers/tools/dispatcher/core.js +24 -31
  152. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  153. package/dist/handlers/tools/dispatcher/logging.d.ts +2 -10
  154. package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -1
  155. package/dist/handlers/tools/dispatcher/logging.js +3 -2
  156. package/dist/handlers/tools/dispatcher/logging.js.map +1 -1
  157. package/dist/handlers/tools/index.d.ts.map +1 -1
  158. package/dist/handlers/tools/index.js +35 -39
  159. package/dist/handlers/tools/index.js.map +1 -1
  160. package/dist/handlers/tools/registry.d.ts +269 -57
  161. package/dist/handlers/tools/registry.d.ts.map +1 -1
  162. package/dist/handlers/tools/registry.js +21 -13
  163. package/dist/handlers/tools/registry.js.map +1 -1
  164. package/dist/handlers/tools/standards/index.d.ts +17 -0
  165. package/dist/handlers/tools/standards/index.d.ts.map +1 -0
  166. package/dist/handlers/tools/standards/index.js +32 -0
  167. package/dist/handlers/tools/standards/index.js.map +1 -0
  168. package/dist/middleware/performance-enhanced.d.ts +4 -0
  169. package/dist/middleware/performance-enhanced.d.ts.map +1 -1
  170. package/dist/middleware/performance-enhanced.js +63 -3
  171. package/dist/middleware/performance-enhanced.js.map +1 -1
  172. package/dist/objects/batch-companies.d.ts.map +1 -1
  173. package/dist/objects/batch-companies.js +6 -2
  174. package/dist/objects/batch-companies.js.map +1 -1
  175. package/dist/objects/companies/search.d.ts.map +1 -1
  176. package/dist/objects/companies/search.js +6 -1
  177. package/dist/objects/companies/search.js.map +1 -1
  178. package/dist/objects/notes.d.ts.map +1 -1
  179. package/dist/objects/notes.js +21 -7
  180. package/dist/objects/notes.js.map +1 -1
  181. package/dist/prompts/error-handler.d.ts +8 -2
  182. package/dist/prompts/error-handler.d.ts.map +1 -1
  183. package/dist/prompts/error-handler.js +63 -4
  184. package/dist/prompts/error-handler.js.map +1 -1
  185. package/dist/prompts/handlers.d.ts +4 -1
  186. package/dist/prompts/handlers.d.ts.map +1 -1
  187. package/dist/prompts/handlers.js +146 -48
  188. package/dist/prompts/handlers.js.map +1 -1
  189. package/dist/prompts/v1/add-to-list.v1.d.ts +38 -0
  190. package/dist/prompts/v1/add-to-list.v1.d.ts.map +1 -0
  191. package/dist/prompts/v1/add-to-list.v1.js +91 -0
  192. package/dist/prompts/v1/add-to-list.v1.js.map +1 -0
  193. package/dist/prompts/v1/advance-deal.v1.d.ts +41 -0
  194. package/dist/prompts/v1/advance-deal.v1.d.ts.map +1 -0
  195. package/dist/prompts/v1/advance-deal.v1.js +100 -0
  196. package/dist/prompts/v1/advance-deal.v1.js.map +1 -0
  197. package/dist/prompts/v1/company-search.v1.d.ts +44 -0
  198. package/dist/prompts/v1/company-search.v1.d.ts.map +1 -0
  199. package/dist/prompts/v1/company-search.v1.js +114 -0
  200. package/dist/prompts/v1/company-search.v1.js.map +1 -0
  201. package/dist/prompts/v1/constants.d.ts +112 -0
  202. package/dist/prompts/v1/constants.d.ts.map +1 -0
  203. package/dist/prompts/v1/constants.js +119 -0
  204. package/dist/prompts/v1/constants.js.map +1 -0
  205. package/dist/prompts/v1/create-task.v1.d.ts +50 -0
  206. package/dist/prompts/v1/create-task.v1.d.ts.map +1 -0
  207. package/dist/prompts/v1/create-task.v1.js +136 -0
  208. package/dist/prompts/v1/create-task.v1.js.map +1 -0
  209. package/dist/prompts/v1/deal-search.v1.d.ts +44 -0
  210. package/dist/prompts/v1/deal-search.v1.d.ts.map +1 -0
  211. package/dist/prompts/v1/deal-search.v1.js +114 -0
  212. package/dist/prompts/v1/deal-search.v1.js.map +1 -0
  213. package/dist/prompts/v1/index.d.ts +56 -0
  214. package/dist/prompts/v1/index.d.ts.map +1 -0
  215. package/dist/prompts/v1/index.js +81 -0
  216. package/dist/prompts/v1/index.js.map +1 -0
  217. package/dist/prompts/v1/log-activity.v1.d.ts +48 -0
  218. package/dist/prompts/v1/log-activity.v1.d.ts.map +1 -0
  219. package/dist/prompts/v1/log-activity.v1.js +124 -0
  220. package/dist/prompts/v1/log-activity.v1.js.map +1 -0
  221. package/dist/prompts/v1/meeting-prep.v1.d.ts +42 -0
  222. package/dist/prompts/v1/meeting-prep.v1.d.ts.map +1 -0
  223. package/dist/prompts/v1/meeting-prep.v1.js +105 -0
  224. package/dist/prompts/v1/meeting-prep.v1.js.map +1 -0
  225. package/dist/prompts/v1/people-search.v1.d.ts +45 -0
  226. package/dist/prompts/v1/people-search.v1.d.ts.map +1 -0
  227. package/dist/prompts/v1/people-search.v1.js +115 -0
  228. package/dist/prompts/v1/people-search.v1.js.map +1 -0
  229. package/dist/prompts/v1/pipeline-health.v1.d.ts +48 -0
  230. package/dist/prompts/v1/pipeline-health.v1.d.ts.map +1 -0
  231. package/dist/prompts/v1/pipeline-health.v1.js +131 -0
  232. package/dist/prompts/v1/pipeline-health.v1.js.map +1 -0
  233. package/dist/prompts/v1/qualify-lead.v1.d.ts +51 -0
  234. package/dist/prompts/v1/qualify-lead.v1.d.ts.map +1 -0
  235. package/dist/prompts/v1/qualify-lead.v1.js +157 -0
  236. package/dist/prompts/v1/qualify-lead.v1.js.map +1 -0
  237. package/dist/prompts/v1/types.d.ts +134 -0
  238. package/dist/prompts/v1/types.d.ts.map +1 -0
  239. package/dist/prompts/v1/types.js +36 -0
  240. package/dist/prompts/v1/types.js.map +1 -0
  241. package/dist/prompts/v1/utils/telemetry.d.ts +64 -0
  242. package/dist/prompts/v1/utils/telemetry.d.ts.map +1 -0
  243. package/dist/prompts/v1/utils/telemetry.js +88 -0
  244. package/dist/prompts/v1/utils/telemetry.js.map +1 -0
  245. package/dist/prompts/v1/utils/token-metadata.d.ts +43 -0
  246. package/dist/prompts/v1/utils/token-metadata.d.ts.map +1 -0
  247. package/dist/prompts/v1/utils/token-metadata.js +90 -0
  248. package/dist/prompts/v1/utils/token-metadata.js.map +1 -0
  249. package/dist/prompts/v1/utils/validation.d.ts +69 -0
  250. package/dist/prompts/v1/utils/validation.d.ts.map +1 -0
  251. package/dist/prompts/v1/utils/validation.js +140 -0
  252. package/dist/prompts/v1/utils/validation.js.map +1 -0
  253. package/dist/server/createServer.d.ts +2 -2
  254. package/dist/server/createServer.d.ts.map +1 -1
  255. package/dist/server/createServer.js +2 -2
  256. package/dist/server/createServer.js.map +1 -1
  257. package/dist/services/ErrorService.d.ts +27 -0
  258. package/dist/services/ErrorService.d.ts.map +1 -1
  259. package/dist/services/ErrorService.js +92 -1
  260. package/dist/services/ErrorService.js.map +1 -1
  261. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  262. package/dist/services/UniversalUpdateService.js +32 -2
  263. package/dist/services/UniversalUpdateService.js.map +1 -1
  264. package/dist/services/create/data-normalizers.d.ts.map +1 -1
  265. package/dist/services/create/data-normalizers.js +18 -1
  266. package/dist/services/create/data-normalizers.js.map +1 -1
  267. package/dist/services/metadata/MetadataDiscoveryService.d.ts +4 -2
  268. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  269. package/dist/services/metadata/MetadataDiscoveryService.js +69 -157
  270. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  271. package/dist/services/metadata/discovery-runner.d.ts +25 -0
  272. package/dist/services/metadata/discovery-runner.d.ts.map +1 -0
  273. package/dist/services/metadata/discovery-runner.js +66 -0
  274. package/dist/services/metadata/discovery-runner.js.map +1 -0
  275. package/dist/services/metadata/task-metadata.d.ts +13 -0
  276. package/dist/services/metadata/task-metadata.d.ts.map +1 -0
  277. package/dist/services/metadata/task-metadata.js +84 -0
  278. package/dist/services/metadata/task-metadata.js.map +1 -0
  279. package/dist/services/normalizers/AttributeAwareNormalizer.d.ts.map +1 -1
  280. package/dist/services/normalizers/AttributeAwareNormalizer.js +99 -5
  281. package/dist/services/normalizers/AttributeAwareNormalizer.js.map +1 -1
  282. package/dist/services/normalizers/PhoneNormalizer.d.ts +2 -2
  283. package/dist/services/normalizers/PhoneNormalizer.d.ts.map +1 -1
  284. package/dist/services/normalizers/PhoneNormalizer.js +1 -7
  285. package/dist/services/normalizers/PhoneNormalizer.js.map +1 -1
  286. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  287. package/dist/services/search-strategies/CompanySearchStrategy.js +10 -4
  288. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  289. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  290. package/dist/services/search-strategies/PeopleSearchStrategy.js +21 -15
  291. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  292. package/dist/services/search-strategies/query-filter-builder.d.ts +5 -0
  293. package/dist/services/search-strategies/query-filter-builder.d.ts.map +1 -0
  294. package/dist/services/search-strategies/query-filter-builder.js +129 -0
  295. package/dist/services/search-strategies/query-filter-builder.js.map +1 -0
  296. package/dist/services/utils/attribute-metadata.d.ts +7 -0
  297. package/dist/services/utils/attribute-metadata.d.ts.map +1 -0
  298. package/dist/services/utils/attribute-metadata.js +84 -0
  299. package/dist/services/utils/attribute-metadata.js.map +1 -0
  300. package/dist/smithery.d.ts +2 -2
  301. package/dist/smithery.d.ts.map +1 -1
  302. package/dist/smithery.js +4 -2
  303. package/dist/smithery.js.map +1 -1
  304. package/dist/types/attio.d.ts +32 -11
  305. package/dist/types/attio.d.ts.map +1 -1
  306. package/dist/types/attio.js.map +1 -1
  307. package/dist/types/list-types.d.ts +2 -0
  308. package/dist/types/list-types.d.ts.map +1 -1
  309. package/dist/types/list-types.js.map +1 -1
  310. package/dist/utils/attribute-format-helpers.d.ts.map +1 -1
  311. package/dist/utils/attribute-format-helpers.js +22 -0
  312. package/dist/utils/attribute-format-helpers.js.map +1 -1
  313. package/dist/utils/axios-error-mapper.d.ts +1 -0
  314. package/dist/utils/axios-error-mapper.d.ts.map +1 -1
  315. package/dist/utils/axios-error-mapper.js.map +1 -1
  316. package/dist/utils/client-resolver.d.ts +3 -3
  317. package/dist/utils/client-resolver.d.ts.map +1 -1
  318. package/dist/utils/client-resolver.js +28 -21
  319. package/dist/utils/client-resolver.js.map +1 -1
  320. package/dist/utils/error-handler.js +2 -2
  321. package/dist/utils/error-handler.js.map +1 -1
  322. package/dist/utils/error-sanitizer.d.ts.map +1 -1
  323. package/dist/utils/error-sanitizer.js +52 -3
  324. package/dist/utils/error-sanitizer.js.map +1 -1
  325. package/dist/utils/json-serializer.d.ts.map +1 -1
  326. package/dist/utils/json-serializer.js +55 -6
  327. package/dist/utils/json-serializer.js.map +1 -1
  328. package/dist/utils/log-sanitizer.d.ts +14 -0
  329. package/dist/utils/log-sanitizer.d.ts.map +1 -0
  330. package/dist/utils/log-sanitizer.js +248 -0
  331. package/dist/utils/log-sanitizer.js.map +1 -0
  332. package/dist/utils/logger.d.ts +15 -9
  333. package/dist/utils/logger.d.ts.map +1 -1
  334. package/dist/utils/logger.js +74 -42
  335. package/dist/utils/logger.js.map +1 -1
  336. package/dist/utils/mcp-discovery.d.ts +16 -0
  337. package/dist/utils/mcp-discovery.d.ts.map +1 -0
  338. package/dist/utils/mcp-discovery.js +36 -0
  339. package/dist/utils/mcp-discovery.js.map +1 -0
  340. package/dist/utils/secure-error-handler.d.ts +16 -1
  341. package/dist/utils/secure-error-handler.d.ts.map +1 -1
  342. package/dist/utils/secure-error-handler.js +91 -12
  343. package/dist/utils/secure-error-handler.js.map +1 -1
  344. package/dist/utils/token-count.d.ts +5 -0
  345. package/dist/utils/token-count.d.ts.map +1 -0
  346. package/dist/utils/token-count.js +57 -0
  347. package/dist/utils/token-count.js.map +1 -0
  348. package/dist/utils/token-footprint-analyzer.d.ts +46 -0
  349. package/dist/utils/token-footprint-analyzer.d.ts.map +1 -0
  350. package/dist/utils/token-footprint-analyzer.js +221 -0
  351. package/dist/utils/token-footprint-analyzer.js.map +1 -0
  352. package/dist/utils/validation/phone-validation.d.ts +25 -0
  353. package/dist/utils/validation/phone-validation.d.ts.map +1 -0
  354. package/dist/utils/validation/phone-validation.js +133 -0
  355. package/dist/utils/validation/phone-validation.js.map +1 -0
  356. package/dist/utils/validation/uuid-validation.d.ts.map +1 -1
  357. package/dist/utils/validation/uuid-validation.js +1 -0
  358. package/dist/utils/validation/uuid-validation.js.map +1 -1
  359. package/package.json +19 -1
@@ -1 +1 @@
1
- {"version":3,"file":"attio-client.js","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attio-client.js","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Unified cache management for Attio client instances and context
3
+ * Consolidates cache clearing from multiple modules into single interface
4
+ */
5
+ import { AxiosInstance } from 'axios';
6
+ /**
7
+ * Cache management for client instances
8
+ */
9
+ export declare class ClientCache {
10
+ /**
11
+ * Set the cached client instance
12
+ */
13
+ static setInstance(client: AxiosInstance): void;
14
+ /**
15
+ * Get the cached client instance
16
+ */
17
+ static getInstance(): AxiosInstance | null;
18
+ /**
19
+ * Clear the cached client instance
20
+ */
21
+ static clearInstance(): void;
22
+ /**
23
+ * Check if a cached instance exists
24
+ */
25
+ static hasInstance(): boolean;
26
+ }
27
+ /**
28
+ * Unified cache clearing interface
29
+ * Consolidates all cache clearing operations into a single function
30
+ */
31
+ export declare function clearAllCaches(): void;
32
+ /**
33
+ * Memory management utility for clearing caches on process exit
34
+ */
35
+ export declare function setupCacheCleanup(): void;
36
+ /**
37
+ * Get cache status for debugging
38
+ */
39
+ export declare function getCacheStatus(): {
40
+ hasClientInstance: boolean;
41
+ cacheSize: number;
42
+ };
43
+ //# sourceMappingURL=client-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-cache.d.ts","sourceRoot":"","sources":["../../src/api/client-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa,GAAG,IAAI;IAI1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;CAG9B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAKA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Unified cache management for Attio client instances and context
3
+ * Consolidates cache clearing from multiple modules into single interface
4
+ */
5
+ import { clearClientContext } from './client-context.js';
6
+ // Global client instance cache
7
+ let apiInstanceCache = null;
8
+ /**
9
+ * Cache management for client instances
10
+ */
11
+ export class ClientCache {
12
+ /**
13
+ * Set the cached client instance
14
+ */
15
+ static setInstance(client) {
16
+ apiInstanceCache = client;
17
+ }
18
+ /**
19
+ * Get the cached client instance
20
+ */
21
+ static getInstance() {
22
+ return apiInstanceCache;
23
+ }
24
+ /**
25
+ * Clear the cached client instance
26
+ */
27
+ static clearInstance() {
28
+ apiInstanceCache = null;
29
+ }
30
+ /**
31
+ * Check if a cached instance exists
32
+ */
33
+ static hasInstance() {
34
+ return apiInstanceCache !== null;
35
+ }
36
+ }
37
+ /**
38
+ * Unified cache clearing interface
39
+ * Consolidates all cache clearing operations into a single function
40
+ */
41
+ export function clearAllCaches() {
42
+ // Clear client instance cache
43
+ ClientCache.clearInstance();
44
+ // Clear client context (from client-context.ts)
45
+ clearClientContext();
46
+ // Note: Additional caches can be added here as needed
47
+ // Example: clearInterceptorCache(), clearFailedRequestCache(), etc.
48
+ }
49
+ /**
50
+ * Memory management utility for clearing caches on process exit
51
+ */
52
+ export function setupCacheCleanup() {
53
+ const cleanup = () => {
54
+ clearAllCaches();
55
+ };
56
+ // Handle various exit scenarios
57
+ process.on('exit', cleanup);
58
+ process.on('SIGINT', cleanup);
59
+ process.on('SIGTERM', cleanup);
60
+ process.on('uncaughtException', cleanup);
61
+ }
62
+ /**
63
+ * Get cache status for debugging
64
+ */
65
+ export function getCacheStatus() {
66
+ return {
67
+ hasClientInstance: ClientCache.hasInstance(),
68
+ cacheSize: apiInstanceCache ? 1 : 0,
69
+ };
70
+ }
71
+ //# sourceMappingURL=client-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-cache.js","sourceRoot":"","sources":["../../src/api/client-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,+BAA+B;AAC/B,IAAI,gBAAgB,GAAyB,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAqB;QACtC,gBAAgB,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,gBAAgB,KAAK,IAAI,CAAC;IACnC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,8BAA8B;IAC9B,WAAW,CAAC,aAAa,EAAE,CAAC;IAE5B,gDAAgD;IAChD,kBAAkB,EAAE,CAAC;IAErB,sDAAsD;IACtD,oEAAoE;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,gCAAgC;IAChC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAI5B,OAAO;QACL,iBAAiB,EAAE,WAAW,CAAC,WAAW,EAAE;QAC5C,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Unified client configuration and environment mode handling
3
+ * Consolidates complex environment logic from getAttioClient into clean patterns
4
+ */
5
+ export declare enum ClientMode {
6
+ PRODUCTION = "production",
7
+ E2E = "e2e",
8
+ E2E_RAW = "e2e_raw",
9
+ TEST = "test"
10
+ }
11
+ export interface InterceptorConfig {
12
+ prefix?: string;
13
+ enableDiagnostics?: boolean;
14
+ enableErrorHandling?: boolean;
15
+ }
16
+ export interface ClientConfig {
17
+ apiKey?: string;
18
+ baseURL?: string;
19
+ timeout?: number;
20
+ mode?: ClientMode;
21
+ interceptors?: InterceptorConfig;
22
+ /** Force bypass of cached instances (used in E2E) */
23
+ bypassCache?: boolean;
24
+ }
25
+ /**
26
+ * Handles environment mode detection and client configuration
27
+ * Extracted from the 80+ line getAttioClient function
28
+ */
29
+ export declare class EnvironmentModeHandler {
30
+ /**
31
+ * Determines the client mode based on environment variables
32
+ */
33
+ static determineMode(): ClientMode;
34
+ /**
35
+ * Should we use the real Attio API client (not mocks)
36
+ */
37
+ static shouldUseRealClient(): boolean;
38
+ /**
39
+ * Get the appropriate client configuration based on environment
40
+ */
41
+ static getClientConfig(opts?: {
42
+ rawE2E?: boolean;
43
+ }): ClientConfig;
44
+ /**
45
+ * Get standard timeout value (eliminates 30s vs 20s inconsistency)
46
+ */
47
+ static getStandardTimeout(): number;
48
+ /**
49
+ * Get default base URL
50
+ */
51
+ static getDefaultBaseURL(): string;
52
+ }
53
+ //# sourceMappingURL=client-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/api/client-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;IAkBlC;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,OAAO;IASrC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY;IAqDjE;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAInC;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;CAMnC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Unified client configuration and environment mode handling
3
+ * Consolidates complex environment logic from getAttioClient into clean patterns
4
+ */
5
+ export var ClientMode;
6
+ (function (ClientMode) {
7
+ ClientMode["PRODUCTION"] = "production";
8
+ ClientMode["E2E"] = "e2e";
9
+ ClientMode["E2E_RAW"] = "e2e_raw";
10
+ ClientMode["TEST"] = "test";
11
+ })(ClientMode || (ClientMode = {}));
12
+ /**
13
+ * Handles environment mode detection and client configuration
14
+ * Extracted from the 80+ line getAttioClient function
15
+ */
16
+ export class EnvironmentModeHandler {
17
+ /**
18
+ * Determines the client mode based on environment variables
19
+ */
20
+ static determineMode() {
21
+ const isE2E = process.env.E2E_MODE === 'true';
22
+ const useMocks = process.env.USE_MOCK_DATA === 'true' ||
23
+ process.env.OFFLINE_MODE === 'true';
24
+ const isTest = process.env.NODE_ENV === 'test';
25
+ if (isE2E && !useMocks) {
26
+ return ClientMode.E2E;
27
+ }
28
+ if (isTest || useMocks) {
29
+ return ClientMode.TEST;
30
+ }
31
+ return ClientMode.PRODUCTION;
32
+ }
33
+ /**
34
+ * Should we use the real Attio API client (not mocks)
35
+ */
36
+ static shouldUseRealClient() {
37
+ const isE2E = process.env.E2E_MODE === 'true';
38
+ const useMocks = process.env.USE_MOCK_DATA === 'true' ||
39
+ process.env.OFFLINE_MODE === 'true';
40
+ return isE2E && !useMocks;
41
+ }
42
+ /**
43
+ * Get the appropriate client configuration based on environment
44
+ */
45
+ static getClientConfig(opts) {
46
+ const mode = this.determineMode();
47
+ const shouldBypassCache = this.shouldUseRealClient() || opts?.rawE2E;
48
+ // Determine if we need raw E2E mode (no interceptors, bypass cache)
49
+ const actualMode = opts?.rawE2E ? ClientMode.E2E_RAW : mode;
50
+ const baseConfig = {
51
+ baseURL: (process.env.ATTIO_BASE_URL || 'https://api.attio.com/v2').replace(/\/+$/, ''),
52
+ timeout: 20000, // Standardized timeout
53
+ mode: actualMode,
54
+ bypassCache: shouldBypassCache,
55
+ };
56
+ // Configure interceptors based on mode
57
+ switch (actualMode) {
58
+ case ClientMode.E2E:
59
+ baseConfig.interceptors = {
60
+ prefix: 'E2E',
61
+ enableDiagnostics: true,
62
+ enableErrorHandling: true,
63
+ };
64
+ break;
65
+ case ClientMode.E2E_RAW:
66
+ baseConfig.interceptors = {
67
+ prefix: 'E2E-RAW',
68
+ enableDiagnostics: true,
69
+ enableErrorHandling: true,
70
+ };
71
+ break;
72
+ case ClientMode.TEST:
73
+ baseConfig.interceptors = {
74
+ prefix: 'TEST',
75
+ enableDiagnostics: false,
76
+ enableErrorHandling: true,
77
+ };
78
+ break;
79
+ default:
80
+ baseConfig.interceptors = {
81
+ prefix: '',
82
+ enableDiagnostics: true,
83
+ enableErrorHandling: true,
84
+ };
85
+ }
86
+ return baseConfig;
87
+ }
88
+ /**
89
+ * Get standard timeout value (eliminates 30s vs 20s inconsistency)
90
+ */
91
+ static getStandardTimeout() {
92
+ return 20000;
93
+ }
94
+ /**
95
+ * Get default base URL
96
+ */
97
+ static getDefaultBaseURL() {
98
+ return (process.env.ATTIO_BASE_URL || 'https://api.attio.com/v2').replace(/\/+$/, '');
99
+ }
100
+ }
101
+ //# sourceMappingURL=client-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/api/client-config.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@ export function getContextApiKey() {
88
88
  return key;
89
89
  }
90
90
  }
91
- catch (error) {
91
+ catch {
92
92
  // Cache this failure to avoid repeated exceptions
93
93
  // Clear existing timer if present to prevent duplicates
94
94
  const existingTimer = failedContextCache.get(getApiKeyIdentifier);
@@ -1 +1 @@
1
- {"version":3,"file":"client-context.js","sourceRoot":"","sources":["../../src/api/client-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-context.js","sourceRoot":"","sources":["../../src/api/client-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Client creation strategies for different environments
3
+ * Implements strategy pattern to handle production, E2E, and test modes
4
+ */
5
+ import { AxiosInstance } from 'axios';
6
+ import { ClientConfig, ClientMode, InterceptorConfig } from './client-config.js';
7
+ /**
8
+ * Strategy interface for client creation
9
+ */
10
+ export interface ClientStrategy {
11
+ createClient(config: ClientConfig): AxiosInstance;
12
+ getDefaultConfig(): Partial<ClientConfig>;
13
+ }
14
+ /**
15
+ * Base strategy with common client setup logic
16
+ */
17
+ declare abstract class BaseClientStrategy implements ClientStrategy {
18
+ abstract createClient(config: ClientConfig): AxiosInstance;
19
+ abstract getDefaultConfig(): Partial<ClientConfig>;
20
+ /**
21
+ * Creates the base Axios instance with common configuration
22
+ */
23
+ protected createBaseClient(config: ClientConfig): AxiosInstance;
24
+ /**
25
+ * Configure standard error handling for Attio API responses
26
+ */
27
+ protected configureErrorHandling(client: AxiosInstance): void;
28
+ /**
29
+ * Configure interceptors based on provided configuration
30
+ */
31
+ protected configureInterceptors(client: AxiosInstance, interceptorConfig?: InterceptorConfig): void;
32
+ }
33
+ /**
34
+ * Production client strategy - full interceptors, standard configuration
35
+ */
36
+ export declare class ProductionClientStrategy extends BaseClientStrategy {
37
+ createClient(config: ClientConfig): AxiosInstance;
38
+ getDefaultConfig(): Partial<ClientConfig>;
39
+ }
40
+ /**
41
+ * E2E client strategy - full interceptors with E2E prefix
42
+ */
43
+ export declare class E2EClientStrategy extends BaseClientStrategy {
44
+ createClient(config: ClientConfig): AxiosInstance;
45
+ getDefaultConfig(): Partial<ClientConfig>;
46
+ }
47
+ /**
48
+ * E2E Raw client strategy - minimal interceptors for raw testing
49
+ */
50
+ export declare class E2ERawClientStrategy extends BaseClientStrategy {
51
+ createClient(config: ClientConfig): AxiosInstance;
52
+ getDefaultConfig(): Partial<ClientConfig>;
53
+ }
54
+ /**
55
+ * Test client strategy - minimal logging, optimized for test performance
56
+ */
57
+ export declare class TestClientStrategy extends BaseClientStrategy {
58
+ createClient(config: ClientConfig): AxiosInstance;
59
+ getDefaultConfig(): Partial<ClientConfig>;
60
+ }
61
+ /**
62
+ * Strategy factory - determines the appropriate strategy based on mode
63
+ */
64
+ export declare class ClientStrategyFactory {
65
+ private static strategies;
66
+ /**
67
+ * Get the appropriate strategy for the given mode
68
+ */
69
+ static getStrategy(mode: ClientMode): ClientStrategy;
70
+ /**
71
+ * Create a client using the appropriate strategy
72
+ */
73
+ static createClient(config: ClientConfig): AxiosInstance;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=client-strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-strategies.d.ts","sourceRoot":"","sources":["../../src/api/client-strategies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,aAAa,EAA6B,MAAM,OAAO,CAAC;AAGxE,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC;IAClD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,uBAAe,kBAAmB,YAAW,cAAc;IACzD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAC1D,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IA0B/D;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAqB7D;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,aAAa,EACrB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,IAAI;CAWR;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAWjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAKtB;IAEH;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc;IAQpD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;CAiBzD"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Client creation strategies for different environments
3
+ * Implements strategy pattern to handle production, E2E, and test modes
4
+ */
5
+ import axios from 'axios';
6
+ import { debug } from '../utils/logger.js';
7
+ import { configureStandardInterceptors } from './client-interceptors.js';
8
+ import { ClientMode, EnvironmentModeHandler, } from './client-config.js';
9
+ import { isAttioErrorData } from './types.js';
10
+ /**
11
+ * Base strategy with common client setup logic
12
+ */
13
+ class BaseClientStrategy {
14
+ /**
15
+ * Creates the base Axios instance with common configuration
16
+ */
17
+ createBaseClient(config) {
18
+ const client = axios.create({
19
+ baseURL: config.baseURL || EnvironmentModeHandler.getDefaultBaseURL(),
20
+ timeout: config.timeout || EnvironmentModeHandler.getStandardTimeout(),
21
+ headers: {
22
+ Authorization: `Bearer ${config.apiKey}`,
23
+ 'Content-Type': 'application/json',
24
+ Accept: 'application/json',
25
+ },
26
+ // Preserve raw server JSON response
27
+ transformResponse: [
28
+ (data) => {
29
+ try {
30
+ return JSON.parse(data);
31
+ }
32
+ catch {
33
+ return data;
34
+ }
35
+ },
36
+ ],
37
+ validateStatus: (status) => status >= 200 && status < 300,
38
+ });
39
+ this.configureErrorHandling(client);
40
+ return client;
41
+ }
42
+ /**
43
+ * Configure standard error handling for Attio API responses
44
+ */
45
+ configureErrorHandling(client) {
46
+ client.interceptors.response.use((response) => response, (error) => {
47
+ const data = error?.response?.data;
48
+ if (isAttioErrorData(data)) {
49
+ // Mirror serverData onto the error so wrappers can preserve it
50
+ const attioError = error;
51
+ attioError.serverData = {
52
+ status_code: data.status_code ?? error.response?.status,
53
+ type: data.type,
54
+ code: data.code,
55
+ message: data.message,
56
+ };
57
+ return Promise.reject(attioError);
58
+ }
59
+ return Promise.reject(error);
60
+ });
61
+ }
62
+ /**
63
+ * Configure interceptors based on provided configuration
64
+ */
65
+ configureInterceptors(client, interceptorConfig) {
66
+ if (!interceptorConfig)
67
+ return;
68
+ debug('client-strategies', 'Configuring client interceptors', {
69
+ prefix: interceptorConfig.prefix,
70
+ enableDiagnostics: interceptorConfig.enableDiagnostics,
71
+ enableErrorHandling: interceptorConfig.enableErrorHandling,
72
+ });
73
+ configureStandardInterceptors(client, interceptorConfig);
74
+ }
75
+ }
76
+ /**
77
+ * Production client strategy - full interceptors, standard configuration
78
+ */
79
+ export class ProductionClientStrategy extends BaseClientStrategy {
80
+ createClient(config) {
81
+ debug('client-strategies', 'Creating production client', {
82
+ hasApiKey: Boolean(config.apiKey),
83
+ baseURL: config.baseURL,
84
+ timeout: config.timeout,
85
+ });
86
+ const client = this.createBaseClient(config);
87
+ this.configureInterceptors(client, config.interceptors);
88
+ return client;
89
+ }
90
+ getDefaultConfig() {
91
+ return {
92
+ mode: ClientMode.PRODUCTION,
93
+ timeout: EnvironmentModeHandler.getStandardTimeout(),
94
+ interceptors: {
95
+ prefix: '',
96
+ enableDiagnostics: true,
97
+ enableErrorHandling: true,
98
+ },
99
+ };
100
+ }
101
+ }
102
+ /**
103
+ * E2E client strategy - full interceptors with E2E prefix
104
+ */
105
+ export class E2EClientStrategy extends BaseClientStrategy {
106
+ createClient(config) {
107
+ debug('client-strategies', 'Creating E2E client', {
108
+ hasApiKey: Boolean(config.apiKey),
109
+ baseURL: config.baseURL,
110
+ mode: config.mode,
111
+ });
112
+ const client = this.createBaseClient(config);
113
+ this.configureInterceptors(client, config.interceptors);
114
+ return client;
115
+ }
116
+ getDefaultConfig() {
117
+ return {
118
+ mode: ClientMode.E2E,
119
+ timeout: EnvironmentModeHandler.getStandardTimeout(),
120
+ interceptors: {
121
+ prefix: 'E2E',
122
+ enableDiagnostics: true,
123
+ enableErrorHandling: true,
124
+ },
125
+ };
126
+ }
127
+ }
128
+ /**
129
+ * E2E Raw client strategy - minimal interceptors for raw testing
130
+ */
131
+ export class E2ERawClientStrategy extends BaseClientStrategy {
132
+ createClient(config) {
133
+ debug('client-strategies', 'Creating E2E raw client', {
134
+ hasApiKey: Boolean(config.apiKey),
135
+ baseURL: config.baseURL,
136
+ });
137
+ // Create minimal client for raw E2E testing
138
+ const client = this.createBaseClient(config);
139
+ this.configureInterceptors(client, config.interceptors);
140
+ return client;
141
+ }
142
+ getDefaultConfig() {
143
+ return {
144
+ mode: ClientMode.E2E_RAW,
145
+ timeout: EnvironmentModeHandler.getStandardTimeout(),
146
+ interceptors: {
147
+ prefix: 'E2E-RAW',
148
+ enableDiagnostics: true,
149
+ enableErrorHandling: true,
150
+ },
151
+ };
152
+ }
153
+ }
154
+ /**
155
+ * Test client strategy - minimal logging, optimized for test performance
156
+ */
157
+ export class TestClientStrategy extends BaseClientStrategy {
158
+ createClient(config) {
159
+ debug('client-strategies', 'Creating test client', {
160
+ hasApiKey: Boolean(config.apiKey),
161
+ baseURL: config.baseURL,
162
+ });
163
+ const client = this.createBaseClient(config);
164
+ this.configureInterceptors(client, config.interceptors);
165
+ return client;
166
+ }
167
+ getDefaultConfig() {
168
+ return {
169
+ mode: ClientMode.TEST,
170
+ timeout: EnvironmentModeHandler.getStandardTimeout(),
171
+ interceptors: {
172
+ prefix: 'TEST',
173
+ enableDiagnostics: false,
174
+ enableErrorHandling: true,
175
+ },
176
+ };
177
+ }
178
+ }
179
+ /**
180
+ * Strategy factory - determines the appropriate strategy based on mode
181
+ */
182
+ export class ClientStrategyFactory {
183
+ static strategies = new Map([
184
+ [ClientMode.PRODUCTION, new ProductionClientStrategy()],
185
+ [ClientMode.E2E, new E2EClientStrategy()],
186
+ [ClientMode.E2E_RAW, new E2ERawClientStrategy()],
187
+ [ClientMode.TEST, new TestClientStrategy()],
188
+ ]);
189
+ /**
190
+ * Get the appropriate strategy for the given mode
191
+ */
192
+ static getStrategy(mode) {
193
+ const strategy = this.strategies.get(mode);
194
+ if (!strategy) {
195
+ throw new Error(`Unsupported client mode: ${mode}`);
196
+ }
197
+ return strategy;
198
+ }
199
+ /**
200
+ * Create a client using the appropriate strategy
201
+ */
202
+ static createClient(config) {
203
+ const mode = config.mode || EnvironmentModeHandler.determineMode();
204
+ const strategy = this.getStrategy(mode);
205
+ // Merge strategy defaults with provided config
206
+ const defaultConfig = strategy.getDefaultConfig();
207
+ const mergedConfig = {
208
+ ...defaultConfig,
209
+ ...config,
210
+ interceptors: {
211
+ ...defaultConfig.interceptors,
212
+ ...config.interceptors,
213
+ },
214
+ };
215
+ return strategy.createClient(mergedConfig);
216
+ }
217
+ }
218
+ //# sourceMappingURL=client-strategies.js.map