attio-mcp 1.3.6 → 1.4.1

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 (440) hide show
  1. package/CHANGELOG.md +284 -3
  2. package/README.md +143 -334
  3. package/dist/api/attio-client.d.ts +13 -3
  4. package/dist/api/attio-client.d.ts.map +1 -1
  5. package/dist/api/attio-client.js +37 -7
  6. package/dist/api/attio-client.js.map +1 -1
  7. package/dist/api/attribute-types.d.ts.map +1 -1
  8. package/dist/api/attribute-types.js +42 -20
  9. package/dist/api/attribute-types.js.map +1 -1
  10. package/dist/api/client-context.d.ts.map +1 -1
  11. package/dist/api/client-context.js +28 -42
  12. package/dist/api/client-context.js.map +1 -1
  13. package/dist/api/operations/batch.d.ts +3 -3
  14. package/dist/api/operations/batch.d.ts.map +1 -1
  15. package/dist/api/operations/batch.js.map +1 -1
  16. package/dist/api/operations/crud.d.ts.map +1 -1
  17. package/dist/api/operations/crud.js.map +1 -1
  18. package/dist/api/operations/search.d.ts.map +1 -1
  19. package/dist/api/operations/search.js.map +1 -1
  20. package/dist/cli/commands/generate-skill.d.ts +28 -0
  21. package/dist/cli/commands/generate-skill.d.ts.map +1 -0
  22. package/dist/cli/commands/generate-skill.js +101 -0
  23. package/dist/cli/commands/generate-skill.js.map +1 -0
  24. package/dist/cli/discover.js +65 -0
  25. package/dist/cli/discover.js.map +1 -1
  26. package/dist/cli.js.map +1 -1
  27. package/dist/config/deal-defaults.d.ts +2 -2
  28. package/dist/config/deal-defaults.d.ts.map +1 -1
  29. package/dist/config/deal-defaults.js +15 -6
  30. package/dist/config/deal-defaults.js.map +1 -1
  31. package/dist/config/tool-aliases.d.ts +12 -0
  32. package/dist/config/tool-aliases.d.ts.map +1 -1
  33. package/dist/config/tool-aliases.js +213 -69
  34. package/dist/config/tool-aliases.js.map +1 -1
  35. package/dist/constants/tool-names.d.ts +84 -0
  36. package/dist/constants/tool-names.d.ts.map +1 -0
  37. package/dist/constants/tool-names.js +81 -0
  38. package/dist/constants/tool-names.js.map +1 -0
  39. package/dist/constants/universal.constants.d.ts +24 -0
  40. package/dist/constants/universal.constants.d.ts.map +1 -1
  41. package/dist/constants/universal.constants.js +81 -9
  42. package/dist/constants/universal.constants.js.map +1 -1
  43. package/dist/errors/value-match-error.js +1 -1
  44. package/dist/handlers/tool-configs/lists.d.ts +142 -19
  45. package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
  46. package/dist/handlers/tool-configs/lists.js +319 -25
  47. package/dist/handlers/tool-configs/lists.js.map +1 -1
  48. package/dist/handlers/tool-configs/universal/batch-search.d.ts +1 -1
  49. package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
  50. package/dist/handlers/tool-configs/universal/batch-search.js +17 -13
  51. package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
  52. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts +26 -4
  53. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
  54. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +181 -21
  55. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
  56. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +4 -4
  57. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  58. package/dist/handlers/tool-configs/universal/core/crud-operations.js +37 -24
  59. package/dist/handlers/tool-configs/universal/core/crud-operations.js.map +1 -1
  60. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +3 -3
  61. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
  62. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts +17 -0
  63. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts.map +1 -0
  64. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js +118 -0
  65. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js.map +1 -0
  66. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts +14 -0
  67. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts.map +1 -0
  68. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js +77 -0
  69. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js.map +1 -0
  70. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts +24 -0
  71. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts.map +1 -0
  72. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js +35 -0
  73. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js.map +1 -0
  74. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts +15 -0
  75. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts.map +1 -0
  76. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js +108 -0
  77. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js.map +1 -0
  78. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts +14 -0
  79. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts.map +1 -0
  80. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js +91 -0
  81. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js.map +1 -0
  82. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts +14 -0
  83. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts.map +1 -0
  84. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js +118 -0
  85. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js.map +1 -0
  86. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts +77 -0
  87. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts.map +1 -0
  88. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js +42 -0
  89. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js.map +1 -0
  90. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts +15 -0
  91. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts.map +1 -0
  92. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js +109 -0
  93. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js.map +1 -0
  94. package/dist/handlers/tool-configs/universal/core/index.d.ts +63 -22
  95. package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
  96. package/dist/handlers/tool-configs/universal/core/index.js +24 -22
  97. package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
  98. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +43 -1
  99. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
  100. package/dist/handlers/tool-configs/universal/core/metadata-operations.js +117 -11
  101. package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
  102. package/dist/handlers/tool-configs/universal/core/notes-operations.js +12 -12
  103. package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
  104. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +6 -3
  105. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
  106. package/dist/handlers/tool-configs/universal/core/record-details-operations.js +35 -10
  107. package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
  108. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +4 -3
  109. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
  110. package/dist/handlers/tool-configs/universal/core/search-operations.js +31 -12
  111. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  112. package/dist/handlers/tool-configs/universal/core/utils.d.ts +1 -0
  113. package/dist/handlers/tool-configs/universal/core/utils.d.ts.map +1 -1
  114. package/dist/handlers/tool-configs/universal/core/utils.js +3 -0
  115. package/dist/handlers/tool-configs/universal/core/utils.js.map +1 -1
  116. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.d.ts.map +1 -1
  117. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js +32 -9
  118. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js.map +1 -1
  119. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.d.ts.map +1 -1
  120. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js +45 -6
  121. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js.map +1 -1
  122. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.d.ts.map +1 -1
  123. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js +36 -5
  124. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js.map +1 -1
  125. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts +1 -1
  126. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts.map +1 -1
  127. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js +17 -1
  128. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js.map +1 -1
  129. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.d.ts.map +1 -1
  130. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js +3 -1
  131. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js.map +1 -1
  132. package/dist/handlers/tool-configs/universal/index.d.ts +75 -34
  133. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  134. package/dist/handlers/tool-configs/universal/index.js +58 -58
  135. package/dist/handlers/tool-configs/universal/index.js.map +1 -1
  136. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts +3 -3
  137. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  138. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +17 -10
  139. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  140. package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts +1 -1
  141. package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts.map +1 -1
  142. package/dist/handlers/tool-configs/universal/operations/batch-format.js +31 -10
  143. package/dist/handlers/tool-configs/universal/operations/batch-format.js.map +1 -1
  144. package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
  145. package/dist/handlers/tool-configs/universal/operations/content-search.d.ts +3 -3
  146. package/dist/handlers/tool-configs/universal/operations/content-search.d.ts.map +1 -1
  147. package/dist/handlers/tool-configs/universal/operations/content-search.js +15 -9
  148. package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
  149. package/dist/handlers/tool-configs/universal/operations/index.d.ts +10 -10
  150. package/dist/handlers/tool-configs/universal/operations/index.js +15 -15
  151. package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts +3 -3
  152. package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts.map +1 -1
  153. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +11 -8
  154. package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
  155. package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts +3 -3
  156. package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts.map +1 -1
  157. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +16 -10
  158. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
  159. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
  160. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +5 -2
  161. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
  162. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +29 -0
  163. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
  164. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +28 -0
  165. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
  166. package/dist/handlers/tool-configs/universal/schemas.d.ts +1 -1
  167. package/dist/handlers/tool-configs/universal/schemas.d.ts.map +1 -1
  168. package/dist/handlers/tool-configs/universal/schemas.js +1 -1
  169. package/dist/handlers/tool-configs/universal/schemas.js.map +1 -1
  170. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts +27 -7
  171. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts.map +1 -1
  172. package/dist/handlers/tool-configs/universal/shared-handlers.js +221 -25
  173. package/dist/handlers/tool-configs/universal/shared-handlers.js.map +1 -1
  174. package/dist/handlers/tool-configs/universal/smithery-diagnostics.js +2 -2
  175. package/dist/handlers/tool-configs/universal/smithery-diagnostics.js.map +1 -1
  176. package/dist/handlers/tool-configs/universal/types.d.ts +17 -7
  177. package/dist/handlers/tool-configs/universal/types.d.ts.map +1 -1
  178. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts +11 -0
  179. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  180. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +80 -17
  181. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  182. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  183. package/dist/handlers/tools/dispatcher/core.js +9 -2
  184. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  185. package/dist/handlers/tools/dispatcher/operations/lists.d.ts +20 -1
  186. package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -1
  187. package/dist/handlers/tools/dispatcher/operations/lists.js +366 -17
  188. package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -1
  189. package/dist/handlers/tools/formatters.d.ts +8 -1
  190. package/dist/handlers/tools/formatters.d.ts.map +1 -1
  191. package/dist/handlers/tools/formatters.js +30 -14
  192. package/dist/handlers/tools/formatters.js.map +1 -1
  193. package/dist/handlers/tools/registry.d.ts +409 -122
  194. package/dist/handlers/tools/registry.d.ts.map +1 -1
  195. package/dist/handlers/tools/registry.js +14 -9
  196. package/dist/handlers/tools/registry.js.map +1 -1
  197. package/dist/handlers/tools/standards/index.d.ts.map +1 -1
  198. package/dist/handlers/tools/standards/index.js +19 -11
  199. package/dist/handlers/tools/standards/index.js.map +1 -1
  200. package/dist/objects/companies/attributes.d.ts +5 -0
  201. package/dist/objects/companies/attributes.d.ts.map +1 -1
  202. package/dist/objects/companies/attributes.js +45 -31
  203. package/dist/objects/companies/attributes.js.map +1 -1
  204. package/dist/objects/companies/basic.d.ts.map +1 -1
  205. package/dist/objects/companies/basic.js.map +1 -1
  206. package/dist/objects/lists/base.d.ts.map +1 -1
  207. package/dist/objects/lists/base.js +6 -2
  208. package/dist/objects/lists/base.js.map +1 -1
  209. package/dist/objects/lists/shared.d.ts.map +1 -1
  210. package/dist/objects/lists/shared.js +12 -1
  211. package/dist/objects/lists/shared.js.map +1 -1
  212. package/dist/objects/records/index.d.ts.map +1 -1
  213. package/dist/objects/records/index.js.map +1 -1
  214. package/dist/server/createServer.d.ts.map +1 -1
  215. package/dist/server/createServer.js +4 -3
  216. package/dist/server/createServer.js.map +1 -1
  217. package/dist/services/ErrorService.js +3 -3
  218. package/dist/services/ErrorService.js.map +1 -1
  219. package/dist/services/OpenAiCompatibilityService.d.ts.map +1 -1
  220. package/dist/services/OpenAiCompatibilityService.js +12 -8
  221. package/dist/services/OpenAiCompatibilityService.js.map +1 -1
  222. package/dist/services/UniversalCreateService.d.ts +3 -3
  223. package/dist/services/UniversalCreateService.d.ts.map +1 -1
  224. package/dist/services/UniversalCreateService.js +162 -38
  225. package/dist/services/UniversalCreateService.js.map +1 -1
  226. package/dist/services/UniversalMetadataService.d.ts +8 -0
  227. package/dist/services/UniversalMetadataService.d.ts.map +1 -1
  228. package/dist/services/UniversalMetadataService.js +21 -0
  229. package/dist/services/UniversalMetadataService.js.map +1 -1
  230. package/dist/services/UniversalRetrievalService.d.ts +7 -5
  231. package/dist/services/UniversalRetrievalService.d.ts.map +1 -1
  232. package/dist/services/UniversalRetrievalService.js +31 -29
  233. package/dist/services/UniversalRetrievalService.js.map +1 -1
  234. package/dist/services/UniversalSearchService.d.ts +8 -27
  235. package/dist/services/UniversalSearchService.d.ts.map +1 -1
  236. package/dist/services/UniversalSearchService.js +19 -327
  237. package/dist/services/UniversalSearchService.js.map +1 -1
  238. package/dist/services/UniversalUpdateService.d.ts +25 -7
  239. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  240. package/dist/services/UniversalUpdateService.js +132 -157
  241. package/dist/services/UniversalUpdateService.js.map +1 -1
  242. package/dist/services/UniversalUtilityService.d.ts +9 -1
  243. package/dist/services/UniversalUtilityService.d.ts.map +1 -1
  244. package/dist/services/UniversalUtilityService.js +13 -0
  245. package/dist/services/UniversalUtilityService.js.map +1 -1
  246. package/dist/services/ValidationService.js +4 -4
  247. package/dist/services/ValidationService.js.map +1 -1
  248. package/dist/services/create/attio-create.service.d.ts.map +1 -1
  249. package/dist/services/create/attio-create.service.js +2 -1
  250. package/dist/services/create/attio-create.service.js.map +1 -1
  251. package/dist/services/create/creators/company-creator.js.map +1 -1
  252. package/dist/services/create/creators/note-creator.d.ts.map +1 -1
  253. package/dist/services/create/creators/note-creator.js +4 -2
  254. package/dist/services/create/creators/note-creator.js.map +1 -1
  255. package/dist/services/create/factory.d.ts.map +1 -1
  256. package/dist/services/create/factory.js +2 -1
  257. package/dist/services/create/factory.js.map +1 -1
  258. package/dist/services/create/mock-create.service.d.ts.map +1 -1
  259. package/dist/services/create/mock-create.service.js.map +1 -1
  260. package/dist/services/create/strategies/BaseCreateStrategy.d.ts +2 -2
  261. package/dist/services/create/strategies/BaseCreateStrategy.d.ts.map +1 -1
  262. package/dist/services/create/strategies/ListCreateStrategy.d.ts +3 -3
  263. package/dist/services/create/strategies/ListCreateStrategy.d.ts.map +1 -1
  264. package/dist/services/create/strategies/ListCreateStrategy.js +2 -16
  265. package/dist/services/create/strategies/ListCreateStrategy.js.map +1 -1
  266. package/dist/services/create/strategies/TaskCreateStrategy.d.ts.map +1 -1
  267. package/dist/services/create/strategies/TaskCreateStrategy.js.map +1 -1
  268. package/dist/services/metadata/AttributeOptionsService.d.ts +38 -0
  269. package/dist/services/metadata/AttributeOptionsService.d.ts.map +1 -0
  270. package/dist/services/metadata/AttributeOptionsService.js +92 -0
  271. package/dist/services/metadata/AttributeOptionsService.js.map +1 -0
  272. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  273. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  274. package/dist/services/metadata/MetadataTransformService.d.ts.map +1 -1
  275. package/dist/services/metadata/MetadataTransformService.js.map +1 -1
  276. package/dist/services/metadata/index.d.ts +1 -0
  277. package/dist/services/metadata/index.d.ts.map +1 -1
  278. package/dist/services/metadata/index.js +1 -0
  279. package/dist/services/metadata/index.js.map +1 -1
  280. package/dist/services/search/QueryApiService.d.ts +27 -0
  281. package/dist/services/search/QueryApiService.d.ts.map +1 -0
  282. package/dist/services/search/QueryApiService.js +144 -0
  283. package/dist/services/search/QueryApiService.js.map +1 -0
  284. package/dist/services/search/RecordsSearchService.d.ts +27 -0
  285. package/dist/services/search/RecordsSearchService.d.ts.map +1 -0
  286. package/dist/services/search/RecordsSearchService.js +122 -0
  287. package/dist/services/search/RecordsSearchService.js.map +1 -0
  288. package/dist/services/search/SearchCoordinator.d.ts +41 -0
  289. package/dist/services/search/SearchCoordinator.d.ts.map +1 -0
  290. package/dist/services/search/SearchCoordinator.js +83 -0
  291. package/dist/services/search/SearchCoordinator.js.map +1 -0
  292. package/dist/services/search/StrategyFactory.d.ts +31 -0
  293. package/dist/services/search/StrategyFactory.d.ts.map +1 -0
  294. package/dist/services/search/StrategyFactory.js +100 -0
  295. package/dist/services/search/StrategyFactory.js.map +1 -0
  296. package/dist/services/search-strategies/BaseSearchStrategy.d.ts +5 -5
  297. package/dist/services/search-strategies/BaseSearchStrategy.d.ts.map +1 -1
  298. package/dist/services/search-strategies/BaseSearchStrategy.js.map +1 -1
  299. package/dist/services/search-strategies/CompanySearchStrategy.d.ts +4 -4
  300. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  301. package/dist/services/search-strategies/CompanySearchStrategy.js +1 -1
  302. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  303. package/dist/services/search-strategies/DealSearchStrategy.d.ts +4 -4
  304. package/dist/services/search-strategies/DealSearchStrategy.d.ts.map +1 -1
  305. package/dist/services/search-strategies/DealSearchStrategy.js +1 -1
  306. package/dist/services/search-strategies/DealSearchStrategy.js.map +1 -1
  307. package/dist/services/search-strategies/ListSearchStrategy.d.ts +34 -7
  308. package/dist/services/search-strategies/ListSearchStrategy.d.ts.map +1 -1
  309. package/dist/services/search-strategies/ListSearchStrategy.js +65 -24
  310. package/dist/services/search-strategies/ListSearchStrategy.js.map +1 -1
  311. package/dist/services/search-strategies/NoteSearchStrategy.d.ts +4 -4
  312. package/dist/services/search-strategies/NoteSearchStrategy.d.ts.map +1 -1
  313. package/dist/services/search-strategies/NoteSearchStrategy.js +6 -7
  314. package/dist/services/search-strategies/NoteSearchStrategy.js.map +1 -1
  315. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts +4 -4
  316. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  317. package/dist/services/search-strategies/PeopleSearchStrategy.js +1 -1
  318. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  319. package/dist/services/search-strategies/TaskSearchStrategy.d.ts +4 -4
  320. package/dist/services/search-strategies/TaskSearchStrategy.d.ts.map +1 -1
  321. package/dist/services/search-strategies/TaskSearchStrategy.js +7 -8
  322. package/dist/services/search-strategies/TaskSearchStrategy.js.map +1 -1
  323. package/dist/services/search-strategies/interfaces.d.ts +7 -6
  324. package/dist/services/search-strategies/interfaces.d.ts.map +1 -1
  325. package/dist/services/search-utilities/SearchUtilities.d.ts +22 -7
  326. package/dist/services/search-utilities/SearchUtilities.d.ts.map +1 -1
  327. package/dist/services/search-utilities/SearchUtilities.js +52 -4
  328. package/dist/services/search-utilities/SearchUtilities.js.map +1 -1
  329. package/dist/services/skill-generator/OutputWriterService.d.ts +41 -0
  330. package/dist/services/skill-generator/OutputWriterService.d.ts.map +1 -0
  331. package/dist/services/skill-generator/OutputWriterService.js +100 -0
  332. package/dist/services/skill-generator/OutputWriterService.js.map +1 -0
  333. package/dist/services/skill-generator/SchemaFormatterService.d.ts +61 -0
  334. package/dist/services/skill-generator/SchemaFormatterService.d.ts.map +1 -0
  335. package/dist/services/skill-generator/SchemaFormatterService.js +168 -0
  336. package/dist/services/skill-generator/SchemaFormatterService.js.map +1 -0
  337. package/dist/services/skill-generator/WorkspaceSchemaService.d.ts +84 -0
  338. package/dist/services/skill-generator/WorkspaceSchemaService.d.ts.map +1 -0
  339. package/dist/services/skill-generator/WorkspaceSchemaService.js +292 -0
  340. package/dist/services/skill-generator/WorkspaceSchemaService.js.map +1 -0
  341. package/dist/services/skill-generator/index.d.ts +12 -0
  342. package/dist/services/skill-generator/index.d.ts.map +1 -0
  343. package/dist/services/skill-generator/index.js +11 -0
  344. package/dist/services/skill-generator/index.js.map +1 -0
  345. package/dist/services/skill-generator/types.d.ts +137 -0
  346. package/dist/services/skill-generator/types.d.ts.map +1 -0
  347. package/dist/services/skill-generator/types.js +10 -0
  348. package/dist/services/skill-generator/types.js.map +1 -0
  349. package/dist/services/update/FieldPersistenceHandler.d.ts +101 -0
  350. package/dist/services/update/FieldPersistenceHandler.d.ts.map +1 -0
  351. package/dist/services/update/FieldPersistenceHandler.js +207 -0
  352. package/dist/services/update/FieldPersistenceHandler.js.map +1 -0
  353. package/dist/services/update/FieldValidationHandler.d.ts +77 -0
  354. package/dist/services/update/FieldValidationHandler.d.ts.map +1 -0
  355. package/dist/services/update/FieldValidationHandler.js +157 -0
  356. package/dist/services/update/FieldValidationHandler.js.map +1 -0
  357. package/dist/services/update/MetadataResolver.d.ts +50 -0
  358. package/dist/services/update/MetadataResolver.d.ts.map +1 -0
  359. package/dist/services/update/MetadataResolver.js +110 -0
  360. package/dist/services/update/MetadataResolver.js.map +1 -0
  361. package/dist/services/update/ResponseNormalizer.d.ts +4 -4
  362. package/dist/services/update/ResponseNormalizer.d.ts.map +1 -1
  363. package/dist/services/update/ResponseNormalizer.js +18 -9
  364. package/dist/services/update/ResponseNormalizer.js.map +1 -1
  365. package/dist/services/update/UpdateOrchestrator.d.ts +37 -0
  366. package/dist/services/update/UpdateOrchestrator.d.ts.map +1 -0
  367. package/dist/services/update/UpdateOrchestrator.js +58 -0
  368. package/dist/services/update/UpdateOrchestrator.js.map +1 -0
  369. package/dist/services/update/UpdateValidation.d.ts +7 -3
  370. package/dist/services/update/UpdateValidation.d.ts.map +1 -1
  371. package/dist/services/update/UpdateValidation.js +56 -32
  372. package/dist/services/update/UpdateValidation.js.map +1 -1
  373. package/dist/services/update/strategies/BaseUpdateStrategy.d.ts +2 -2
  374. package/dist/services/update/strategies/BaseUpdateStrategy.d.ts.map +1 -1
  375. package/dist/services/update/strategies/ListUpdateStrategy.d.ts +3 -3
  376. package/dist/services/update/strategies/ListUpdateStrategy.d.ts.map +1 -1
  377. package/dist/services/update/strategies/ListUpdateStrategy.js +4 -14
  378. package/dist/services/update/strategies/ListUpdateStrategy.js.map +1 -1
  379. package/dist/services/value-transformer/index.d.ts +57 -0
  380. package/dist/services/value-transformer/index.d.ts.map +1 -0
  381. package/dist/services/value-transformer/index.js +326 -0
  382. package/dist/services/value-transformer/index.js.map +1 -0
  383. package/dist/services/value-transformer/multi-select-transformer.d.ts +63 -0
  384. package/dist/services/value-transformer/multi-select-transformer.d.ts.map +1 -0
  385. package/dist/services/value-transformer/multi-select-transformer.js +144 -0
  386. package/dist/services/value-transformer/multi-select-transformer.js.map +1 -0
  387. package/dist/services/value-transformer/record-reference-transformer.d.ts +43 -0
  388. package/dist/services/value-transformer/record-reference-transformer.d.ts.map +1 -0
  389. package/dist/services/value-transformer/record-reference-transformer.js +245 -0
  390. package/dist/services/value-transformer/record-reference-transformer.js.map +1 -0
  391. package/dist/services/value-transformer/select-transformer.d.ts +48 -0
  392. package/dist/services/value-transformer/select-transformer.d.ts.map +1 -0
  393. package/dist/services/value-transformer/select-transformer.js +232 -0
  394. package/dist/services/value-transformer/select-transformer.js.map +1 -0
  395. package/dist/services/value-transformer/status-transformer.d.ts +32 -0
  396. package/dist/services/value-transformer/status-transformer.d.ts.map +1 -0
  397. package/dist/services/value-transformer/status-transformer.js +329 -0
  398. package/dist/services/value-transformer/status-transformer.js.map +1 -0
  399. package/dist/services/value-transformer/types.d.ts +100 -0
  400. package/dist/services/value-transformer/types.d.ts.map +1 -0
  401. package/dist/services/value-transformer/types.js +6 -0
  402. package/dist/services/value-transformer/types.js.map +1 -0
  403. package/dist/templates/skill/SKILL.template.md +78 -0
  404. package/dist/templates/skill/attribute-reference.template.md +126 -0
  405. package/dist/templates/skill/complex-types.template.md +255 -0
  406. package/dist/types/attio.d.ts +55 -0
  407. package/dist/types/attio.d.ts.map +1 -1
  408. package/dist/types/attio.js +36 -0
  409. package/dist/types/attio.js.map +1 -1
  410. package/dist/utils/client-resolver.d.ts.map +1 -1
  411. package/dist/utils/client-resolver.js +8 -16
  412. package/dist/utils/client-resolver.js.map +1 -1
  413. package/dist/utils/complex-type-validation.d.ts +16 -0
  414. package/dist/utils/complex-type-validation.d.ts.map +1 -0
  415. package/dist/utils/complex-type-validation.js +196 -0
  416. package/dist/utils/complex-type-validation.js.map +1 -0
  417. package/dist/utils/error-response-utils.js +3 -3
  418. package/dist/utils/error-response-utils.js.map +1 -1
  419. package/dist/utils/error-utilities.d.ts.map +1 -1
  420. package/dist/utils/error-utilities.js +16 -9
  421. package/dist/utils/error-utilities.js.map +1 -1
  422. package/dist/utils/location-normalizer.d.ts +26 -0
  423. package/dist/utils/location-normalizer.d.ts.map +1 -0
  424. package/dist/utils/location-normalizer.js +39 -0
  425. package/dist/utils/location-normalizer.js.map +1 -0
  426. package/dist/utils/metadata-utils.d.ts +27 -0
  427. package/dist/utils/metadata-utils.d.ts.map +1 -0
  428. package/dist/utils/metadata-utils.js +59 -0
  429. package/dist/utils/metadata-utils.js.map +1 -0
  430. package/dist/utils/normalization/record-data-normalization.d.ts +47 -0
  431. package/dist/utils/normalization/record-data-normalization.d.ts.map +1 -0
  432. package/dist/utils/normalization/record-data-normalization.js +103 -0
  433. package/dist/utils/normalization/record-data-normalization.js.map +1 -0
  434. package/dist/utils/personal-name-parser.d.ts.map +1 -1
  435. package/dist/utils/personal-name-parser.js +26 -17
  436. package/dist/utils/personal-name-parser.js.map +1 -1
  437. package/dist/validators/company/field_detector.d.ts.map +1 -1
  438. package/dist/validators/company/field_detector.js +5 -0
  439. package/dist/validators/company/field_detector.js.map +1 -1
  440. package/package.json +35 -33
@@ -0,0 +1,144 @@
1
+ /**
2
+ * QueryApiService - Attio Query API operations for advanced search
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles relationship, timeframe, and content searches using the Query API
6
+ */
7
+ import { UniversalResourceType } from '../../handlers/tool-configs/universal/types.js';
8
+ import { debug, createScopedLogger, OperationType } from '../../utils/logger.js';
9
+ import { AuthenticationError, AuthorizationError, NetworkError, RateLimitError, ServerError, ResourceNotFoundError, createApiErrorFromAxiosError, } from '../../errors/api-errors.js';
10
+ import { createRelationshipQuery, createTimeframeQuery, createContentSearchQuery, } from '../../utils/filters/index.js';
11
+ import { getLazyAttioClient } from '../../api/lazy-client.js';
12
+ import * as AttioClientModule from '../../api/attio-client.js';
13
+ /**
14
+ * Resolve Query API client (prefers mocked version in tests)
15
+ */
16
+ function resolveQueryApiClient() {
17
+ const mod = AttioClientModule;
18
+ if (typeof mod.getAttioClient === 'function') {
19
+ return mod.getAttioClient();
20
+ }
21
+ return getLazyAttioClient();
22
+ }
23
+ /**
24
+ * Handle Query API errors consistently across methods
25
+ * Issue #935: Extracted to reduce code duplication
26
+ */
27
+ function handleQueryApiError(error, path, context) {
28
+ const apiError = createApiErrorFromAxiosError(error, path, 'POST');
29
+ // Re-throw critical errors that should bubble up
30
+ if (apiError instanceof AuthenticationError ||
31
+ apiError instanceof AuthorizationError ||
32
+ apiError instanceof NetworkError ||
33
+ apiError instanceof RateLimitError ||
34
+ apiError instanceof ServerError) {
35
+ throw apiError;
36
+ }
37
+ // Handle not found gracefully - return empty results
38
+ if (apiError instanceof ResourceNotFoundError) {
39
+ debug('QueryApiService', `No results for ${context.operation}`, context.metadata);
40
+ return [];
41
+ }
42
+ // Log and return empty for other errors
43
+ createScopedLogger('QueryApiService', context.operation, OperationType.API_CALL).error(`${context.operation} failed for ${context.resourceType}`, error);
44
+ return [];
45
+ }
46
+ /**
47
+ * Query API Service for advanced search operations
48
+ */
49
+ export class QueryApiService {
50
+ /**
51
+ * Search records by relationship to another record
52
+ */
53
+ static async searchByRelationship(sourceResourceType, targetResourceType, targetRecordId, limit, offset) {
54
+ const relationshipQuery = {
55
+ sourceObjectType: sourceResourceType,
56
+ targetObjectType: targetResourceType,
57
+ targetAttribute: 'id',
58
+ condition: 'equals',
59
+ value: targetRecordId,
60
+ };
61
+ const queryApiFilter = createRelationshipQuery(relationshipQuery);
62
+ const path = `/objects/${sourceResourceType}/records/query`;
63
+ try {
64
+ const client = resolveQueryApiClient();
65
+ const requestBody = {
66
+ ...queryApiFilter,
67
+ limit: limit || 10,
68
+ offset: offset || 0,
69
+ };
70
+ const response = await client.post(path, requestBody);
71
+ return response?.data?.data || [];
72
+ }
73
+ catch (error) {
74
+ return handleQueryApiError(error, path, {
75
+ resourceType: sourceResourceType,
76
+ operation: 'searchByRelationship',
77
+ metadata: { targetResourceType, targetRecordId },
78
+ });
79
+ }
80
+ }
81
+ /**
82
+ * Search records within a specific timeframe
83
+ */
84
+ static async searchByTimeframe(resourceType, timeframeConfig, limit, offset) {
85
+ const queryApiFilter = createTimeframeQuery(timeframeConfig);
86
+ const path = `/objects/${resourceType}/records/query`;
87
+ try {
88
+ const client = resolveQueryApiClient();
89
+ const requestBody = {
90
+ ...queryApiFilter,
91
+ limit: limit || 10,
92
+ offset: offset || 0,
93
+ };
94
+ const response = await client.post(path, requestBody);
95
+ return response?.data?.data || [];
96
+ }
97
+ catch (error) {
98
+ return handleQueryApiError(error, path, {
99
+ resourceType,
100
+ operation: 'searchByTimeframe',
101
+ metadata: { timeframeConfig },
102
+ });
103
+ }
104
+ }
105
+ /**
106
+ * Search records by content across multiple fields
107
+ */
108
+ static async searchByContent(resourceType, query, searchFields = [], useOrLogic = true, limit, offset) {
109
+ let fields = searchFields;
110
+ if (fields.length === 0) {
111
+ switch (resourceType) {
112
+ case UniversalResourceType.COMPANIES:
113
+ fields = ['name', 'description', 'domains'];
114
+ break;
115
+ case UniversalResourceType.PEOPLE:
116
+ fields = ['name', 'email_addresses', 'job_title'];
117
+ break;
118
+ default:
119
+ fields = ['name'];
120
+ break;
121
+ }
122
+ }
123
+ const queryApiFilter = createContentSearchQuery(fields, query, useOrLogic);
124
+ const path = `/objects/${resourceType}/records/query`;
125
+ try {
126
+ const client = resolveQueryApiClient();
127
+ const requestBody = {
128
+ ...queryApiFilter,
129
+ limit: limit || 10,
130
+ offset: offset || 0,
131
+ };
132
+ const response = await client.post(path, requestBody);
133
+ return response?.data?.data || [];
134
+ }
135
+ catch (error) {
136
+ return handleQueryApiError(error, path, {
137
+ resourceType,
138
+ operation: 'searchByContent',
139
+ metadata: { query, fields },
140
+ });
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=QueryApiService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryApiService.js","sourceRoot":"","sources":["../../../src/services/search/QueryApiService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * RecordsSearchService - Generic records and custom objects search
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles generic records and custom object searches
6
+ */
7
+ import type { UniversalRecord } from '../../types/attio.js';
8
+ /**
9
+ * Records Search Service for generic records and custom objects
10
+ */
11
+ export declare class RecordsSearchService {
12
+ /**
13
+ * Search records using object records API with filter support
14
+ */
15
+ static searchRecordsObjectType(limit?: number, offset?: number, filters?: Record<string, unknown>): Promise<UniversalRecord[]>;
16
+ /**
17
+ * Search custom objects using generic records API
18
+ * Enables support for user-defined custom objects (Issue #918)
19
+ *
20
+ * @param objectSlug - The custom object type (e.g., "funds", "investment_opportunities")
21
+ * @param limit - Maximum results
22
+ * @param offset - Pagination offset
23
+ * @param filters - Optional filters to apply to the search
24
+ */
25
+ static searchCustomObject(objectSlug: string, limit?: number, offset?: number, filters?: Record<string, unknown>): Promise<UniversalRecord[]>;
26
+ }
27
+ //# sourceMappingURL=RecordsSearchService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordsSearchService.d.ts","sourceRoot":"","sources":["../../../src/services/search/RecordsSearchService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAuExD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;WACU,uBAAuB,CAClC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC;IAoB7B;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC;CA0D9B"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * RecordsSearchService - Generic records and custom objects search
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles generic records and custom object searches
6
+ */
7
+ import { getLazyAttioClient } from '../../api/lazy-client.js';
8
+ import * as AttioClientModule from '../../api/attio-client.js';
9
+ import { listObjectRecords } from '../../objects/records/index.js';
10
+ import { ValidationService } from '../../services/ValidationService.js';
11
+ import { debug, createScopedLogger, OperationType } from '../../utils/logger.js';
12
+ import { AuthenticationError, AuthorizationError, NetworkError, RateLimitError, ServerError, ResourceNotFoundError, createApiErrorFromAxiosError, } from '../../errors/api-errors.js';
13
+ /**
14
+ * Resolve API client (prefers mocked version in tests)
15
+ */
16
+ function resolveApiClient() {
17
+ const mod = AttioClientModule;
18
+ if (typeof mod.getAttioClient === 'function') {
19
+ return mod.getAttioClient();
20
+ }
21
+ return getLazyAttioClient();
22
+ }
23
+ /**
24
+ * Handle API errors consistently
25
+ * Issue #935: Matches QueryApiService error handling pattern
26
+ */
27
+ function handleRecordsApiError(error, path, context) {
28
+ const apiError = createApiErrorFromAxiosError(error, path, 'POST');
29
+ // Re-throw critical errors that should bubble up
30
+ if (apiError instanceof AuthenticationError ||
31
+ apiError instanceof AuthorizationError ||
32
+ apiError instanceof NetworkError ||
33
+ apiError instanceof RateLimitError ||
34
+ apiError instanceof ServerError) {
35
+ throw apiError;
36
+ }
37
+ // Handle not found gracefully - return empty results
38
+ if (apiError instanceof ResourceNotFoundError) {
39
+ debug('RecordsSearchService', `No results for ${context.operation}`, context.metadata);
40
+ return [];
41
+ }
42
+ // Log and return empty for other errors
43
+ createScopedLogger('RecordsSearchService', context.operation, OperationType.API_CALL).error(`${context.operation} failed`, error);
44
+ return [];
45
+ }
46
+ /**
47
+ * Records Search Service for generic records and custom objects
48
+ */
49
+ export class RecordsSearchService {
50
+ /**
51
+ * Search records using object records API with filter support
52
+ */
53
+ static async searchRecordsObjectType(limit, offset, filters) {
54
+ // Handle list_membership filters - invalid UUID should return empty array
55
+ if (filters?.list_membership) {
56
+ const listId = String(filters.list_membership);
57
+ if (!ValidationService.validateUUIDForSearch(listId)) {
58
+ return []; // Return empty success for invalid UUID
59
+ }
60
+ createScopedLogger('RecordsSearchService', 'searchRecordsObjectType', OperationType.DATA_PROCESSING).warn('list_membership filter not yet supported in listObjectRecords');
61
+ }
62
+ return await listObjectRecords('records', {
63
+ pageSize: limit,
64
+ page: Math.floor((offset || 0) / (limit || 10)) + 1,
65
+ });
66
+ }
67
+ /**
68
+ * Search custom objects using generic records API
69
+ * Enables support for user-defined custom objects (Issue #918)
70
+ *
71
+ * @param objectSlug - The custom object type (e.g., "funds", "investment_opportunities")
72
+ * @param limit - Maximum results
73
+ * @param offset - Pagination offset
74
+ * @param filters - Optional filters to apply to the search
75
+ */
76
+ static async searchCustomObject(objectSlug, limit, offset, filters) {
77
+ // Handle list_membership filters - invalid UUID should return empty array
78
+ if (filters?.list_membership) {
79
+ const listId = String(filters.list_membership);
80
+ if (!ValidationService.validateUUIDForSearch(listId)) {
81
+ return []; // Return empty success for invalid UUID
82
+ }
83
+ createScopedLogger('RecordsSearchService', 'searchCustomObject', OperationType.DATA_PROCESSING).warn('list_membership filter not yet supported for custom objects');
84
+ }
85
+ createScopedLogger('RecordsSearchService', 'searchCustomObject', OperationType.DATA_PROCESSING).info('Searching custom object', {
86
+ objectSlug,
87
+ limit,
88
+ offset,
89
+ hasFilters: !!filters,
90
+ });
91
+ // Custom objects require POST to /objects/{slug}/records/query
92
+ // The GET endpoint (/objects/{slug}/records) returns 404 for custom objects
93
+ const path = `/objects/${objectSlug}/records/query`;
94
+ const requestBody = {
95
+ limit: limit || 20,
96
+ };
97
+ // Add offset if provided
98
+ if (offset && offset > 0) {
99
+ requestBody.offset = offset;
100
+ }
101
+ // Issue #935: Forward filters to request body (was silently dropped before)
102
+ if (filters && Object.keys(filters).length > 0) {
103
+ // Exclude list_membership from filter object as it's handled separately
104
+ const { list_membership, ...remainingFilters } = filters;
105
+ if (Object.keys(remainingFilters).length > 0) {
106
+ requestBody.filter = remainingFilters;
107
+ }
108
+ }
109
+ try {
110
+ const api = resolveApiClient();
111
+ const response = await api.post(path, requestBody);
112
+ return Array.isArray(response?.data?.data) ? response.data.data : [];
113
+ }
114
+ catch (error) {
115
+ return handleRecordsApiError(error, path, {
116
+ operation: 'searchCustomObject',
117
+ metadata: { objectSlug, limit, offset, hasFilters: !!filters },
118
+ });
119
+ }
120
+ }
121
+ }
122
+ //# sourceMappingURL=RecordsSearchService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordsSearchService.js","sourceRoot":"","sources":["../../../src/services/search/RecordsSearchService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * SearchCoordinator - Coordinates search type routing and execution
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles search type detection and routing to appropriate services
6
+ */
7
+ import type { UniversalRecordResult } from '../../types/attio.js';
8
+ import { UniversalResourceType, SearchType, MatchType, SortType } from '../../handlers/tool-configs/universal/types.js';
9
+ /**
10
+ * Parameters for search routing
11
+ */
12
+ export interface SearchRoutingParams {
13
+ resource_type: UniversalResourceType;
14
+ query?: string;
15
+ filters?: Record<string, unknown>;
16
+ limit?: number;
17
+ offset?: number;
18
+ search_type?: SearchType;
19
+ fields?: string[];
20
+ match_type?: MatchType;
21
+ sort?: SortType;
22
+ relationship_target_type?: UniversalResourceType;
23
+ relationship_target_id?: string;
24
+ timeframe_attribute?: string;
25
+ start_date?: string;
26
+ end_date?: string;
27
+ date_operator?: 'greater_than' | 'less_than' | 'between' | 'equals';
28
+ content_fields?: string[];
29
+ use_or_logic?: boolean;
30
+ }
31
+ /**
32
+ * Coordinates search execution by routing to appropriate services
33
+ */
34
+ export declare class SearchCoordinator {
35
+ /**
36
+ * Route search to appropriate service based on search type
37
+ * Issue #935: Performance tracking is handled at the UniversalSearchService level
38
+ */
39
+ static executeSearch(params: SearchRoutingParams): Promise<UniversalRecordResult[]>;
40
+ }
41
+ //# sourceMappingURL=SearchCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchCoordinator.d.ts","sourceRoot":"","sources":["../../../src/services/search/SearchCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,4CAA4C,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,qBAAqB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wBAAwB,CAAC,EAAE,qBAAqB,CAAC;IACjD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;OAGG;WACU,aAAa,CACxB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAsHpC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * SearchCoordinator - Coordinates search type routing and execution
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles search type detection and routing to appropriate services
6
+ */
7
+ import { UniversalResourceType, SearchType, } from '../../handlers/tool-configs/universal/types.js';
8
+ import { QueryApiService } from '../../services/search/QueryApiService.js';
9
+ import { RecordsSearchService } from '../../services/search/RecordsSearchService.js';
10
+ import { StrategyFactory } from '../../services/search/StrategyFactory.js';
11
+ /**
12
+ * Coordinates search execution by routing to appropriate services
13
+ */
14
+ export class SearchCoordinator {
15
+ /**
16
+ * Route search to appropriate service based on search type
17
+ * Issue #935: Performance tracking is handled at the UniversalSearchService level
18
+ */
19
+ static async executeSearch(params) {
20
+ const { resource_type, query, filters, limit, offset, search_type, fields, match_type, sort, relationship_target_type, relationship_target_id, timeframe_attribute, start_date, end_date, date_operator, content_fields, use_or_logic, } = params;
21
+ // Handle special search types first
22
+ switch (search_type) {
23
+ case SearchType.RELATIONSHIP:
24
+ if (relationship_target_type && relationship_target_id) {
25
+ return QueryApiService.searchByRelationship(resource_type, relationship_target_type, relationship_target_id, limit, offset);
26
+ }
27
+ throw new Error('Relationship search requires target_type and target_id parameters');
28
+ case SearchType.TIMEFRAME:
29
+ if (timeframe_attribute) {
30
+ const timeframeConfig = {
31
+ resourceType: resource_type,
32
+ attribute: timeframe_attribute,
33
+ startDate: start_date,
34
+ endDate: end_date,
35
+ operator: date_operator || 'between',
36
+ };
37
+ return QueryApiService.searchByTimeframe(resource_type, timeframeConfig, limit, offset);
38
+ }
39
+ throw new Error('Timeframe search requires timeframe_attribute parameter');
40
+ case SearchType.CONTENT:
41
+ // Use Query API if content_fields is explicitly provided
42
+ if (content_fields && content_fields.length > 0) {
43
+ if (!query) {
44
+ throw new Error('Content search requires query parameter');
45
+ }
46
+ return QueryApiService.searchByContent(resource_type, query, content_fields, use_or_logic !== false, limit, offset);
47
+ }
48
+ // Fall through to strategy-based content search
49
+ break;
50
+ }
51
+ // Use strategy pattern for resource-specific searches
52
+ const strategy = await StrategyFactory.getStrategy(resource_type);
53
+ if (strategy) {
54
+ return await strategy.search({
55
+ query,
56
+ filters,
57
+ limit,
58
+ offset,
59
+ search_type,
60
+ fields,
61
+ match_type,
62
+ sort,
63
+ timeframeParams: {
64
+ timeframe_attribute,
65
+ start_date,
66
+ end_date,
67
+ date_operator,
68
+ },
69
+ });
70
+ }
71
+ // Fallback for resources without strategies
72
+ // This handles both 'records' type AND custom objects
73
+ switch (resource_type) {
74
+ case UniversalResourceType.RECORDS:
75
+ return RecordsSearchService.searchRecordsObjectType(limit, offset, filters);
76
+ default:
77
+ // Custom objects: route through generic records API with object slug
78
+ // This enables support for user-defined custom objects (Issue #918)
79
+ return RecordsSearchService.searchCustomObject(resource_type, limit, offset, filters);
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=SearchCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchCoordinator.js","sourceRoot":"","sources":["../../../src/services/search/SearchCoordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * StrategyFactory - Creates and initializes search strategies
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles strategy initialization with dependencies
6
+ */
7
+ import { UniversalResourceType } from '../../handlers/tool-configs/universal/types.js';
8
+ import { ISearchStrategy } from '../../services/search-strategies/index.js';
9
+ /**
10
+ * Factory for creating and managing search strategies
11
+ */
12
+ export declare class StrategyFactory {
13
+ private static strategies;
14
+ /**
15
+ * Get or create a strategy for a resource type
16
+ */
17
+ static getStrategy(resourceType: UniversalResourceType): Promise<ISearchStrategy | undefined>;
18
+ /**
19
+ * Initialize all search strategies with their dependencies
20
+ */
21
+ private static initializeStrategies;
22
+ /**
23
+ * Check if a resource type has a strategy
24
+ */
25
+ static hasStrategy(resourceType: UniversalResourceType): boolean;
26
+ /**
27
+ * Clear all strategies (useful for testing)
28
+ */
29
+ static clearStrategies(): void;
30
+ }
31
+ //# sourceMappingURL=StrategyFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrategyFactory.d.ts","sourceRoot":"","sources":["../../../src/services/search/StrategyFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EACL,eAAe,EAQhB,MAAM,uCAAuC,CAAC;AAuB/C;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqD;IAE9E;;OAEG;WACU,WAAW,CACtB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAOvC;;OAEG;mBACkB,oBAAoB;IAiFzC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,qBAAqB,GAAG,OAAO;IAIhE;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,IAAI;CAG/B"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * StrategyFactory - Creates and initializes search strategies
3
+ *
4
+ * Issue #935: Extracted from UniversalSearchService.ts to reduce file size
5
+ * Handles strategy initialization with dependencies
6
+ */
7
+ import { UniversalResourceType } from '../../handlers/tool-configs/universal/types.js';
8
+ import { CompanySearchStrategy, PeopleSearchStrategy, DealSearchStrategy, TaskSearchStrategy, ListSearchStrategy, NoteSearchStrategy, } from '../../services/search-strategies/index.js';
9
+ import { SearchUtilities } from '../../services/search-utilities/SearchUtilities.js';
10
+ import { ensureFunctionAvailability } from '../../services/search-utilities/FunctionValidator.js';
11
+ import { advancedSearchCompanies } from '../../objects/companies/index.js';
12
+ import { advancedSearchPeople } from '../../objects/people/index.js';
13
+ import { advancedSearchDeals } from '../../objects/deals/index.js';
14
+ import { searchLists } from '../../objects/lists.js';
15
+ import { listTasks } from '../../objects/tasks.js';
16
+ import { listNotes } from '../../objects/notes.js';
17
+ // Dynamic imports for better error handling
18
+ const ensureAdvancedSearchCompanies = () => ensureFunctionAvailability(advancedSearchCompanies, 'advancedSearchCompanies');
19
+ const ensureAdvancedSearchPeople = () => ensureFunctionAvailability(advancedSearchPeople, 'advancedSearchPeople');
20
+ const ensureAdvancedSearchDeals = () => ensureFunctionAvailability(advancedSearchDeals, 'advancedSearchDeals');
21
+ /**
22
+ * Factory for creating and managing search strategies
23
+ */
24
+ export class StrategyFactory {
25
+ static strategies = new Map();
26
+ /**
27
+ * Get or create a strategy for a resource type
28
+ */
29
+ static async getStrategy(resourceType) {
30
+ if (this.strategies.size === 0) {
31
+ await this.initializeStrategies();
32
+ }
33
+ return this.strategies.get(resourceType);
34
+ }
35
+ /**
36
+ * Initialize all search strategies with their dependencies
37
+ */
38
+ static async initializeStrategies() {
39
+ if (this.strategies.size > 0) {
40
+ return; // Already initialized
41
+ }
42
+ // Create dependencies for strategies
43
+ const companyDependencies = {
44
+ advancedSearchFunction: await ensureAdvancedSearchCompanies(),
45
+ createDateFilter: SearchUtilities.createDateFilter,
46
+ mergeFilters: SearchUtilities.mergeFilters,
47
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
48
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
49
+ };
50
+ const peopleDependencies = {
51
+ paginatedSearchFunction: await ensureAdvancedSearchPeople(),
52
+ createDateFilter: SearchUtilities.createDateFilter,
53
+ mergeFilters: SearchUtilities.mergeFilters,
54
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
55
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
56
+ };
57
+ const dealDependencies = {
58
+ advancedSearchFunction: await ensureAdvancedSearchDeals(),
59
+ createDateFilter: SearchUtilities.createDateFilter,
60
+ mergeFilters: SearchUtilities.mergeFilters,
61
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
62
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
63
+ };
64
+ const listDependencies = {
65
+ listFunction: (query, limit, offset) => searchLists(query || '', limit, offset),
66
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
67
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
68
+ };
69
+ const taskDependencies = {
70
+ taskFunction: (status, assigneeId, page, pageSize) => listTasks(status, assigneeId, page, pageSize),
71
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
72
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
73
+ };
74
+ const noteDependencies = {
75
+ noteFunction: (query) => listNotes(query || {}),
76
+ rankByRelevance: SearchUtilities.rankByRelevance.bind(SearchUtilities),
77
+ getFieldValue: SearchUtilities.getFieldValue.bind(SearchUtilities),
78
+ };
79
+ // Initialize strategies
80
+ this.strategies.set(UniversalResourceType.COMPANIES, new CompanySearchStrategy(companyDependencies));
81
+ this.strategies.set(UniversalResourceType.PEOPLE, new PeopleSearchStrategy(peopleDependencies));
82
+ this.strategies.set(UniversalResourceType.DEALS, new DealSearchStrategy(dealDependencies));
83
+ this.strategies.set(UniversalResourceType.LISTS, new ListSearchStrategy(listDependencies));
84
+ this.strategies.set(UniversalResourceType.TASKS, new TaskSearchStrategy(taskDependencies));
85
+ this.strategies.set(UniversalResourceType.NOTES, new NoteSearchStrategy(noteDependencies));
86
+ }
87
+ /**
88
+ * Check if a resource type has a strategy
89
+ */
90
+ static hasStrategy(resourceType) {
91
+ return this.strategies.has(resourceType);
92
+ }
93
+ /**
94
+ * Clear all strategies (useful for testing)
95
+ */
96
+ static clearStrategies() {
97
+ this.strategies.clear();
98
+ }
99
+ }
100
+ //# sourceMappingURL=StrategyFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrategyFactory.js","sourceRoot":"","sources":["../../../src/services/search/StrategyFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,4CAA4C;AAC5C,MAAM,6BAA6B,GAAG,GAAG,EAAE,CACzC,0BAA0B,CACxB,uBAAuB,EACvB,yBAAyB,CAC1B,CAAC;AAEJ,MAAM,0BAA0B,GAAG,GAAG,EAAE,CACtC,0BAA0B,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;AAE3E,MAAM,yBAAyB,GAAG,GAAG,EAAE,CACrC,0BAA0B,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,EAA0C,CAAC;IAE9E;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,YAAmC;QAEnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,sBAAsB;QAChC,CAAC;QAED,qCAAqC;QACrC,MAAM,mBAAmB,GAAyB;YAChD,sBAAsB,EAAE,MAAM,6BAA6B,EAAE;YAC7D,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;YAClD,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,MAAM,kBAAkB,GAAyB;YAC/C,uBAAuB,EAAE,MAAM,0BAA0B,EAAE;YAC3D,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;YAClD,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,MAAM,gBAAgB,GAAyB;YAC7C,sBAAsB,EAAE,MAAM,yBAAyB,EAAE;YACzD,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;YAClD,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,MAAM,gBAAgB,GAAyB;YAC7C,YAAY,EAAE,CAAC,KAAc,EAAE,KAAc,EAAE,MAAe,EAAE,EAAE,CAChE,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;YACzC,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,MAAM,gBAAgB,GAAyB;YAC7C,YAAY,EAAE,CACZ,MAAe,EACf,UAAmB,EACnB,IAAa,EACb,QAAiB,EACjB,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;YAClD,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,MAAM,gBAAgB,GAAyB;YAC7C,YAAY,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACzE,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YACtE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;SACnE,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,SAAS,EAC/B,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,MAAM,EAC5B,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAC7C,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,KAAK,EAC3B,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,KAAK,EAC3B,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,KAAK,EAC3B,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,qBAAqB,CAAC,KAAK,EAC3B,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,YAAmC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC"}
@@ -2,16 +2,16 @@
2
2
  * Base search strategy class with common functionality
3
3
  * Issue #574: Extract resource-specific search strategies
4
4
  */
5
- import { AttioRecord } from '../../types/attio.js';
5
+ import type { UniversalRecordResult } from '../../types/attio.js';
6
6
  import { MatchType, SortType } from '../../handlers/tool-configs/universal/types.js';
7
- import { ISearchStrategy, SearchStrategyParams, StrategyDependencies, TimeframeParams } from './interfaces.js';
7
+ import { ISearchStrategy, SearchStrategyParams, StrategyDependencies, TimeframeParams } from '../../services/search-strategies/interfaces.js';
8
8
  /**
9
9
  * Abstract base class for search strategies
10
10
  */
11
11
  export declare abstract class BaseSearchStrategy implements ISearchStrategy {
12
12
  protected dependencies: StrategyDependencies;
13
13
  constructor(dependencies: StrategyDependencies);
14
- abstract search(params: SearchStrategyParams): Promise<AttioRecord[]>;
14
+ abstract search(params: SearchStrategyParams): Promise<UniversalRecordResult[]>;
15
15
  abstract getResourceType(): string;
16
16
  abstract supportsAdvancedFiltering(): boolean;
17
17
  abstract supportsQuerySearch(): boolean;
@@ -22,7 +22,7 @@ export declare abstract class BaseSearchStrategy implements ISearchStrategy {
22
22
  /**
23
23
  * Apply relevance ranking to results
24
24
  */
25
- protected applyRelevanceRanking(results: AttioRecord[], query: string, searchFields: string[], sort?: SortType): AttioRecord[];
25
+ protected applyRelevanceRanking<T extends UniversalRecordResult>(results: T[], query: string, searchFields: string[], sort?: SortType): T[];
26
26
  /**
27
27
  * Check if a search looks like a domain
28
28
  */
@@ -42,6 +42,6 @@ export declare abstract class BaseSearchStrategy implements ISearchStrategy {
42
42
  /**
43
43
  * Handle empty filters for pagination
44
44
  */
45
- protected handleEmptyFilters(searchFunction: (filters: Record<string, unknown>, limit?: number, offset?: number) => Promise<AttioRecord[]>, limit?: number, offset?: number): Promise<AttioRecord[]>;
45
+ protected handleEmptyFilters(searchFunction: (filters: Record<string, unknown>, limit?: number, offset?: number) => Promise<UniversalRecordResult[]>, limit?: number, offset?: number): Promise<UniversalRecordResult[]>;
46
46
  }
47
47
  //# sourceMappingURL=BaseSearchStrategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSearchStrategy.d.ts","sourceRoot":"","sources":["../../../src/services/search-strategies/BaseSearchStrategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACL,SAAS,EACT,QAAQ,EACT,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IACjE,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBAEjC,YAAY,EAAE,oBAAoB;IAI9C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACrE,QAAQ,CAAC,eAAe,IAAI,MAAM;IAClC,QAAQ,CAAC,yBAAyB,IAAI,OAAO;IAC7C,QAAQ,CAAC,mBAAmB,IAAI,OAAO;IAEvC;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,eAAe,CAAC,EAAE,eAAe,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAwBtC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,GAAE,QAAwB,GAC7B,WAAW,EAAE;IAOhB;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASjD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAC5B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,GAAE,SAA6B,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW1B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,SAA6B,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAY1B;;OAEG;cACa,kBAAkB,CAChC,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,WAAW,EAAE,CAAC,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,EAAE,CAAC;CAe1B"}
1
+ {"version":3,"file":"BaseSearchStrategy.d.ts","sourceRoot":"","sources":["../../../src/services/search-strategies/BaseSearchStrategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,SAAS,EACT,QAAQ,EACT,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAChB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IACjE,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBAEjC,YAAY,EAAE,oBAAoB;IAI9C,QAAQ,CAAC,MAAM,CACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACnC,QAAQ,CAAC,eAAe,IAAI,MAAM;IAClC,QAAQ,CAAC,yBAAyB,IAAI,OAAO;IAC7C,QAAQ,CAAC,mBAAmB,IAAI,OAAO;IAEvC;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,eAAe,CAAC,EAAE,eAAe,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAwBtC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,CAAC,SAAS,qBAAqB,EAC7D,OAAO,EAAE,CAAC,EAAE,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,GAAE,QAAwB,GAC7B,CAAC,EAAE;IAON;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASjD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAC5B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,GAAE,SAA6B,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW1B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,SAA6B,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAY1B;;OAEG;cACa,kBAAkB,CAChC,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,qBAAqB,EAAE,CAAC,EACrC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAepC"}