attio-mcp 1.3.5 → 1.4.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 (305) hide show
  1. package/CHANGELOG.md +263 -9
  2. package/README.md +315 -235
  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 +59 -29
  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.map +1 -1
  14. package/dist/api/operations/batch.js +3 -1
  15. package/dist/api/operations/batch.js.map +1 -1
  16. package/dist/cli/commands/generate-skill.d.ts +28 -0
  17. package/dist/cli/commands/generate-skill.d.ts.map +1 -0
  18. package/dist/cli/commands/generate-skill.js +101 -0
  19. package/dist/cli/commands/generate-skill.js.map +1 -0
  20. package/dist/cli/discover.js +65 -0
  21. package/dist/cli/discover.js.map +1 -1
  22. package/dist/config/deal-defaults.d.ts +2 -2
  23. package/dist/config/deal-defaults.d.ts.map +1 -1
  24. package/dist/config/deal-defaults.js +15 -6
  25. package/dist/config/deal-defaults.js.map +1 -1
  26. package/dist/config/tool-aliases.d.ts +12 -0
  27. package/dist/config/tool-aliases.d.ts.map +1 -1
  28. package/dist/config/tool-aliases.js +213 -69
  29. package/dist/config/tool-aliases.js.map +1 -1
  30. package/dist/constants/tool-names.d.ts +84 -0
  31. package/dist/constants/tool-names.d.ts.map +1 -0
  32. package/dist/constants/tool-names.js +81 -0
  33. package/dist/constants/tool-names.js.map +1 -0
  34. package/dist/constants/universal.constants.d.ts +24 -0
  35. package/dist/constants/universal.constants.d.ts.map +1 -1
  36. package/dist/constants/universal.constants.js +81 -9
  37. package/dist/constants/universal.constants.js.map +1 -1
  38. package/dist/handlers/tool-configs/tasks.d.ts.map +1 -1
  39. package/dist/handlers/tool-configs/tasks.js +28 -0
  40. package/dist/handlers/tool-configs/tasks.js.map +1 -1
  41. package/dist/handlers/tool-configs/universal/batch-search.js +4 -4
  42. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts +26 -4
  43. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
  44. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +181 -21
  45. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
  46. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  47. package/dist/handlers/tool-configs/universal/core/crud-operations.js +52 -13
  48. package/dist/handlers/tool-configs/universal/core/crud-operations.js.map +1 -1
  49. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +3 -3
  50. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
  51. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts +17 -0
  52. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts.map +1 -0
  53. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js +118 -0
  54. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js.map +1 -0
  55. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts +14 -0
  56. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts.map +1 -0
  57. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js +77 -0
  58. package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js.map +1 -0
  59. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts +24 -0
  60. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts.map +1 -0
  61. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js +35 -0
  62. package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js.map +1 -0
  63. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts +15 -0
  64. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts.map +1 -0
  65. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js +108 -0
  66. package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js.map +1 -0
  67. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts +14 -0
  68. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts.map +1 -0
  69. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js +91 -0
  70. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js.map +1 -0
  71. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts +14 -0
  72. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts.map +1 -0
  73. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js +118 -0
  74. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js.map +1 -0
  75. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts +77 -0
  76. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts.map +1 -0
  77. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js +42 -0
  78. package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js.map +1 -0
  79. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts +15 -0
  80. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts.map +1 -0
  81. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js +109 -0
  82. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js.map +1 -0
  83. package/dist/handlers/tool-configs/universal/core/index.d.ts +63 -22
  84. package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
  85. package/dist/handlers/tool-configs/universal/core/index.js +24 -22
  86. package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
  87. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +43 -1
  88. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
  89. package/dist/handlers/tool-configs/universal/core/metadata-operations.js +117 -11
  90. package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
  91. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts.map +1 -1
  92. package/dist/handlers/tool-configs/universal/core/notes-operations.js +27 -12
  93. package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
  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 +20 -3
  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.map +1 -1
  98. package/dist/handlers/tool-configs/universal/core/search-operations.js +11 -4
  99. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  100. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.d.ts.map +1 -1
  101. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js +32 -9
  102. package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js.map +1 -1
  103. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.d.ts.map +1 -1
  104. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js +45 -6
  105. package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js.map +1 -1
  106. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.d.ts.map +1 -1
  107. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js +36 -5
  108. package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js.map +1 -1
  109. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts +1 -1
  110. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts.map +1 -1
  111. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js +17 -1
  112. package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js.map +1 -1
  113. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.d.ts.map +1 -1
  114. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js +3 -1
  115. package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js.map +1 -1
  116. package/dist/handlers/tool-configs/universal/index.d.ts +75 -34
  117. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  118. package/dist/handlers/tool-configs/universal/index.js +58 -58
  119. package/dist/handlers/tool-configs/universal/index.js.map +1 -1
  120. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  121. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +5 -4
  122. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  123. package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
  124. package/dist/handlers/tool-configs/universal/operations/content-search.js +3 -3
  125. package/dist/handlers/tool-configs/universal/operations/index.d.ts +10 -10
  126. package/dist/handlers/tool-configs/universal/operations/index.js +15 -15
  127. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +3 -3
  128. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +3 -3
  129. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
  130. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +5 -2
  131. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
  132. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +29 -0
  133. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
  134. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +28 -0
  135. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
  136. package/dist/handlers/tool-configs/universal/schemas.d.ts +1 -1
  137. package/dist/handlers/tool-configs/universal/schemas.d.ts.map +1 -1
  138. package/dist/handlers/tool-configs/universal/schemas.js +1 -1
  139. package/dist/handlers/tool-configs/universal/schemas.js.map +1 -1
  140. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts +20 -1
  141. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts.map +1 -1
  142. package/dist/handlers/tool-configs/universal/shared-handlers.js +216 -0
  143. package/dist/handlers/tool-configs/universal/shared-handlers.js.map +1 -1
  144. package/dist/handlers/tool-configs/universal/smithery-diagnostics.js +2 -2
  145. package/dist/handlers/tool-configs/universal/types.d.ts +9 -0
  146. package/dist/handlers/tool-configs/universal/types.d.ts.map +1 -1
  147. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts +11 -0
  148. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  149. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +63 -9
  150. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  151. package/dist/handlers/tool-types.d.ts +9 -0
  152. package/dist/handlers/tool-types.d.ts.map +1 -1
  153. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  154. package/dist/handlers/tools/dispatcher/core.js +24 -5
  155. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  156. package/dist/handlers/tools/formatters.d.ts +8 -1
  157. package/dist/handlers/tools/formatters.d.ts.map +1 -1
  158. package/dist/handlers/tools/formatters.js +30 -14
  159. package/dist/handlers/tools/formatters.js.map +1 -1
  160. package/dist/handlers/tools/registry.d.ts +125 -84
  161. package/dist/handlers/tools/registry.d.ts.map +1 -1
  162. package/dist/handlers/tools/registry.js +14 -9
  163. package/dist/handlers/tools/registry.js.map +1 -1
  164. package/dist/handlers/tools/standards/index.d.ts.map +1 -1
  165. package/dist/handlers/tools/standards/index.js +19 -11
  166. package/dist/handlers/tools/standards/index.js.map +1 -1
  167. package/dist/objects/companies/attributes.d.ts +5 -0
  168. package/dist/objects/companies/attributes.d.ts.map +1 -1
  169. package/dist/objects/companies/attributes.js +45 -31
  170. package/dist/objects/companies/attributes.js.map +1 -1
  171. package/dist/server/createServer.d.ts.map +1 -1
  172. package/dist/server/createServer.js +4 -3
  173. package/dist/server/createServer.js.map +1 -1
  174. package/dist/services/ErrorService.js +3 -3
  175. package/dist/services/ErrorService.js.map +1 -1
  176. package/dist/services/UniversalCreateService.d.ts.map +1 -1
  177. package/dist/services/UniversalCreateService.js +136 -12
  178. package/dist/services/UniversalCreateService.js.map +1 -1
  179. package/dist/services/UniversalSearchService.d.ts +4 -25
  180. package/dist/services/UniversalSearchService.d.ts.map +1 -1
  181. package/dist/services/UniversalSearchService.js +14 -324
  182. package/dist/services/UniversalSearchService.js.map +1 -1
  183. package/dist/services/UniversalUpdateService.d.ts +15 -4
  184. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  185. package/dist/services/UniversalUpdateService.js +79 -151
  186. package/dist/services/UniversalUpdateService.js.map +1 -1
  187. package/dist/services/create/factory.d.ts.map +1 -1
  188. package/dist/services/create/factory.js +2 -1
  189. package/dist/services/create/factory.js.map +1 -1
  190. package/dist/services/metadata/AttributeOptionsService.d.ts +38 -0
  191. package/dist/services/metadata/AttributeOptionsService.d.ts.map +1 -0
  192. package/dist/services/metadata/AttributeOptionsService.js +92 -0
  193. package/dist/services/metadata/AttributeOptionsService.js.map +1 -0
  194. package/dist/services/metadata/index.d.ts +1 -0
  195. package/dist/services/metadata/index.d.ts.map +1 -1
  196. package/dist/services/metadata/index.js +1 -0
  197. package/dist/services/metadata/index.js.map +1 -1
  198. package/dist/services/search/QueryApiService.d.ts +27 -0
  199. package/dist/services/search/QueryApiService.d.ts.map +1 -0
  200. package/dist/services/search/QueryApiService.js +144 -0
  201. package/dist/services/search/QueryApiService.js.map +1 -0
  202. package/dist/services/search/RecordsSearchService.d.ts +27 -0
  203. package/dist/services/search/RecordsSearchService.d.ts.map +1 -0
  204. package/dist/services/search/RecordsSearchService.js +122 -0
  205. package/dist/services/search/RecordsSearchService.js.map +1 -0
  206. package/dist/services/search/SearchCoordinator.d.ts +41 -0
  207. package/dist/services/search/SearchCoordinator.d.ts.map +1 -0
  208. package/dist/services/search/SearchCoordinator.js +83 -0
  209. package/dist/services/search/SearchCoordinator.js.map +1 -0
  210. package/dist/services/search/StrategyFactory.d.ts +31 -0
  211. package/dist/services/search/StrategyFactory.d.ts.map +1 -0
  212. package/dist/services/search/StrategyFactory.js +100 -0
  213. package/dist/services/search/StrategyFactory.js.map +1 -0
  214. package/dist/services/skill-generator/OutputWriterService.d.ts +41 -0
  215. package/dist/services/skill-generator/OutputWriterService.d.ts.map +1 -0
  216. package/dist/services/skill-generator/OutputWriterService.js +100 -0
  217. package/dist/services/skill-generator/OutputWriterService.js.map +1 -0
  218. package/dist/services/skill-generator/SchemaFormatterService.d.ts +61 -0
  219. package/dist/services/skill-generator/SchemaFormatterService.d.ts.map +1 -0
  220. package/dist/services/skill-generator/SchemaFormatterService.js +168 -0
  221. package/dist/services/skill-generator/SchemaFormatterService.js.map +1 -0
  222. package/dist/services/skill-generator/WorkspaceSchemaService.d.ts +84 -0
  223. package/dist/services/skill-generator/WorkspaceSchemaService.d.ts.map +1 -0
  224. package/dist/services/skill-generator/WorkspaceSchemaService.js +292 -0
  225. package/dist/services/skill-generator/WorkspaceSchemaService.js.map +1 -0
  226. package/dist/services/skill-generator/index.d.ts +12 -0
  227. package/dist/services/skill-generator/index.d.ts.map +1 -0
  228. package/dist/services/skill-generator/index.js +11 -0
  229. package/dist/services/skill-generator/index.js.map +1 -0
  230. package/dist/services/skill-generator/types.d.ts +137 -0
  231. package/dist/services/skill-generator/types.d.ts.map +1 -0
  232. package/dist/services/skill-generator/types.js +10 -0
  233. package/dist/services/skill-generator/types.js.map +1 -0
  234. package/dist/services/update/FieldPersistenceHandler.d.ts +101 -0
  235. package/dist/services/update/FieldPersistenceHandler.d.ts.map +1 -0
  236. package/dist/services/update/FieldPersistenceHandler.js +198 -0
  237. package/dist/services/update/FieldPersistenceHandler.js.map +1 -0
  238. package/dist/services/update/FieldValidationHandler.d.ts +77 -0
  239. package/dist/services/update/FieldValidationHandler.d.ts.map +1 -0
  240. package/dist/services/update/FieldValidationHandler.js +157 -0
  241. package/dist/services/update/FieldValidationHandler.js.map +1 -0
  242. package/dist/services/update/MetadataResolver.d.ts +50 -0
  243. package/dist/services/update/MetadataResolver.d.ts.map +1 -0
  244. package/dist/services/update/MetadataResolver.js +110 -0
  245. package/dist/services/update/MetadataResolver.js.map +1 -0
  246. package/dist/services/update/UpdateOrchestrator.d.ts +37 -0
  247. package/dist/services/update/UpdateOrchestrator.d.ts.map +1 -0
  248. package/dist/services/update/UpdateOrchestrator.js +58 -0
  249. package/dist/services/update/UpdateOrchestrator.js.map +1 -0
  250. package/dist/services/update/UpdateValidation.d.ts +5 -1
  251. package/dist/services/update/UpdateValidation.d.ts.map +1 -1
  252. package/dist/services/update/UpdateValidation.js +46 -14
  253. package/dist/services/update/UpdateValidation.js.map +1 -1
  254. package/dist/services/value-transformer/index.d.ts +57 -0
  255. package/dist/services/value-transformer/index.d.ts.map +1 -0
  256. package/dist/services/value-transformer/index.js +326 -0
  257. package/dist/services/value-transformer/index.js.map +1 -0
  258. package/dist/services/value-transformer/multi-select-transformer.d.ts +63 -0
  259. package/dist/services/value-transformer/multi-select-transformer.d.ts.map +1 -0
  260. package/dist/services/value-transformer/multi-select-transformer.js +144 -0
  261. package/dist/services/value-transformer/multi-select-transformer.js.map +1 -0
  262. package/dist/services/value-transformer/record-reference-transformer.d.ts +43 -0
  263. package/dist/services/value-transformer/record-reference-transformer.d.ts.map +1 -0
  264. package/dist/services/value-transformer/record-reference-transformer.js +245 -0
  265. package/dist/services/value-transformer/record-reference-transformer.js.map +1 -0
  266. package/dist/services/value-transformer/select-transformer.d.ts +48 -0
  267. package/dist/services/value-transformer/select-transformer.d.ts.map +1 -0
  268. package/dist/services/value-transformer/select-transformer.js +232 -0
  269. package/dist/services/value-transformer/select-transformer.js.map +1 -0
  270. package/dist/services/value-transformer/status-transformer.d.ts +32 -0
  271. package/dist/services/value-transformer/status-transformer.d.ts.map +1 -0
  272. package/dist/services/value-transformer/status-transformer.js +294 -0
  273. package/dist/services/value-transformer/status-transformer.js.map +1 -0
  274. package/dist/services/value-transformer/types.d.ts +100 -0
  275. package/dist/services/value-transformer/types.d.ts.map +1 -0
  276. package/dist/services/value-transformer/types.js +6 -0
  277. package/dist/services/value-transformer/types.js.map +1 -0
  278. package/dist/templates/skill/SKILL.template.md +78 -0
  279. package/dist/templates/skill/attribute-reference.template.md +126 -0
  280. package/dist/templates/skill/complex-types.template.md +255 -0
  281. package/dist/utils/client-resolver.d.ts.map +1 -1
  282. package/dist/utils/client-resolver.js +8 -16
  283. package/dist/utils/client-resolver.js.map +1 -1
  284. package/dist/utils/complex-type-validation.d.ts +16 -0
  285. package/dist/utils/complex-type-validation.d.ts.map +1 -0
  286. package/dist/utils/complex-type-validation.js +196 -0
  287. package/dist/utils/complex-type-validation.js.map +1 -0
  288. package/dist/utils/error-utilities.d.ts.map +1 -1
  289. package/dist/utils/error-utilities.js +16 -9
  290. package/dist/utils/error-utilities.js.map +1 -1
  291. package/dist/utils/location-normalizer.d.ts +26 -0
  292. package/dist/utils/location-normalizer.d.ts.map +1 -0
  293. package/dist/utils/location-normalizer.js +39 -0
  294. package/dist/utils/location-normalizer.js.map +1 -0
  295. package/dist/utils/metadata-utils.d.ts +27 -0
  296. package/dist/utils/metadata-utils.d.ts.map +1 -0
  297. package/dist/utils/metadata-utils.js +59 -0
  298. package/dist/utils/metadata-utils.js.map +1 -0
  299. package/dist/utils/personal-name-parser.d.ts.map +1 -1
  300. package/dist/utils/personal-name-parser.js +26 -17
  301. package/dist/utils/personal-name-parser.js.map +1 -1
  302. package/dist/validators/company/field_detector.d.ts.map +1 -1
  303. package/dist/validators/company/field_detector.js +5 -0
  304. package/dist/validators/company/field_detector.js.map +1 -1
  305. package/package.json +28 -25
@@ -1,74 +1,218 @@
1
+ /**
2
+ * Tool alias registry for backward compatibility.
3
+ *
4
+ * This module provides a data-driven approach to tool aliasing, supporting
5
+ * two alias patterns from the pre-MCP compliance era:
6
+ * 1. Noun-verb snake_case (e.g., records_search → search_records)
7
+ * 2. Kebab-case (e.g., search-records → search_records)
8
+ *
9
+ * @see Issue #1039 for MCP compliance context
10
+ * @see Issue #1040 for dual alias system implementation
11
+ * @see Issue #1041 for refactoring improvements
12
+ */
1
13
  import { warn } from '../utils/logger.js';
14
+ import { TOOL_NAMES } from '../constants/tool-names.js';
2
15
  const TOOL_ALIAS_FLAG = 'MCP_DISABLE_TOOL_ALIASES';
3
- const SINCE_PHASE_1 = '2025-09-30';
4
- const TOOL_ALIAS_REGISTRY = Object.freeze({
5
- 'search-records': {
6
- target: 'records_search',
7
- reason: 'Phase 1 search tool rename (#776)',
8
- since: SINCE_PHASE_1,
9
- removal: 'v1.x (TBD)',
10
- },
11
- 'get-record-details': {
12
- target: 'records_get_details',
13
- reason: 'Phase 1 search tool rename (#776)',
14
- since: SINCE_PHASE_1,
15
- removal: 'v1.x (TBD)',
16
- },
17
- 'get-attributes': {
18
- target: 'records_get_attributes',
19
- reason: 'Phase 1 search tool rename (#776)',
20
- since: SINCE_PHASE_1,
21
- removal: 'v1.x (TBD)',
22
- },
23
- 'discover-attributes': {
24
- target: 'records_discover_attributes',
25
- reason: 'Phase 1 search tool rename (#776)',
26
- since: SINCE_PHASE_1,
27
- removal: 'v1.x (TBD)',
28
- },
29
- 'get-detailed-info': {
30
- target: 'records_get_info',
31
- reason: 'Phase 1 search tool rename (#776)',
32
- since: SINCE_PHASE_1,
33
- removal: 'v1.x (TBD)',
34
- },
35
- 'advanced-search': {
36
- target: 'records_search_advanced',
37
- reason: 'Phase 1 search tool rename (#776)',
38
- since: SINCE_PHASE_1,
39
- removal: 'v1.x (TBD)',
40
- },
41
- 'search-by-relationship': {
42
- target: 'records_search_by_relationship',
43
- reason: 'Phase 1 search tool rename (#776)',
44
- since: SINCE_PHASE_1,
45
- removal: 'v1.x (TBD)',
46
- },
47
- 'search-by-content': {
48
- target: 'records_search_by_content',
49
- reason: 'Phase 1 search tool rename (#776)',
50
- since: SINCE_PHASE_1,
51
- removal: 'v1.x (TBD)',
52
- },
53
- 'search-by-timeframe': {
54
- target: 'records_search_by_timeframe',
55
- reason: 'Phase 1 search tool rename (#776)',
56
- since: SINCE_PHASE_1,
57
- removal: 'v1.x (TBD)',
58
- },
59
- 'batch-operations': {
60
- target: 'records_batch',
61
- reason: 'Phase 1 search tool rename (#776)',
62
- since: SINCE_PHASE_1,
63
- removal: 'v1.x (TBD)',
64
- },
65
- 'batch-search': {
66
- target: 'records_search_batch',
67
- reason: 'Phase 1 search tool rename (#776)',
68
- since: SINCE_PHASE_1,
69
- removal: 'v1.x (TBD)',
70
- },
71
- });
16
+ const SINCE_MCP_COMPLIANCE = '2025-12-16';
17
+ const REMOVAL_VERSION = 'v2.0.0';
18
+ /**
19
+ * Generates noun-verb to verb-first aliases.
20
+ * Pattern: records_{verb} {verb}_records
21
+ *
22
+ * Examples:
23
+ * - records_search → search_records
24
+ * - records_batch → batch_records
25
+ * - records_get_details → get_record_details
26
+ */
27
+ const NOUN_VERB_ALIASES = [
28
+ {
29
+ alias: 'records_search',
30
+ target: TOOL_NAMES.SEARCH_RECORDS,
31
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
32
+ },
33
+ {
34
+ alias: 'records_get_details',
35
+ target: TOOL_NAMES.GET_RECORD_DETAILS,
36
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
37
+ },
38
+ {
39
+ alias: 'records_get_attributes',
40
+ target: TOOL_NAMES.GET_RECORD_ATTRIBUTES,
41
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
42
+ },
43
+ {
44
+ alias: 'records_discover_attributes',
45
+ target: TOOL_NAMES.DISCOVER_RECORD_ATTRIBUTES,
46
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
47
+ },
48
+ {
49
+ alias: 'records_get_attribute_options',
50
+ target: TOOL_NAMES.GET_RECORD_ATTRIBUTE_OPTIONS,
51
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
52
+ },
53
+ {
54
+ alias: 'records_get_info',
55
+ target: TOOL_NAMES.GET_RECORD_INFO,
56
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
57
+ },
58
+ {
59
+ alias: 'records_search_advanced',
60
+ target: TOOL_NAMES.SEARCH_RECORDS_ADVANCED,
61
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
62
+ },
63
+ {
64
+ alias: 'records_search_by_relationship',
65
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_RELATIONSHIP,
66
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
67
+ },
68
+ {
69
+ alias: 'records_search_by_content',
70
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_CONTENT,
71
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
72
+ },
73
+ {
74
+ alias: 'records_search_by_timeframe',
75
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_TIMEFRAME,
76
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
77
+ },
78
+ {
79
+ alias: 'records_batch',
80
+ target: TOOL_NAMES.BATCH_RECORDS,
81
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
82
+ },
83
+ {
84
+ alias: 'records_search_batch',
85
+ target: TOOL_NAMES.BATCH_SEARCH_RECORDS,
86
+ reason: 'MCP compliance: verb-first snake_case (#1039)',
87
+ },
88
+ ];
89
+ /**
90
+ * Generates kebab-case to snake_case aliases.
91
+ * Pattern: {name-with-dashes} → {name_with_underscores}
92
+ *
93
+ * Examples:
94
+ * - search-records → search_records
95
+ * - create-record → create_record
96
+ * - get-record-details → get_record_details
97
+ */
98
+ const KEBAB_CASE_ALIASES = [
99
+ // Search/metadata tools
100
+ {
101
+ alias: 'search-records',
102
+ target: TOOL_NAMES.SEARCH_RECORDS,
103
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
104
+ },
105
+ {
106
+ alias: 'get-record-details',
107
+ target: TOOL_NAMES.GET_RECORD_DETAILS,
108
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
109
+ },
110
+ {
111
+ alias: 'get-attributes',
112
+ target: TOOL_NAMES.GET_RECORD_ATTRIBUTES,
113
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
114
+ },
115
+ {
116
+ alias: 'discover-attributes',
117
+ target: TOOL_NAMES.DISCOVER_RECORD_ATTRIBUTES,
118
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
119
+ },
120
+ {
121
+ alias: 'get-detailed-info',
122
+ target: TOOL_NAMES.GET_RECORD_INFO,
123
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
124
+ },
125
+ // Advanced search tools
126
+ {
127
+ alias: 'advanced-search',
128
+ target: TOOL_NAMES.SEARCH_RECORDS_ADVANCED,
129
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
130
+ },
131
+ {
132
+ alias: 'search-by-relationship',
133
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_RELATIONSHIP,
134
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
135
+ },
136
+ {
137
+ alias: 'search-by-content',
138
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_CONTENT,
139
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
140
+ },
141
+ {
142
+ alias: 'search-by-timeframe',
143
+ target: TOOL_NAMES.SEARCH_RECORDS_BY_TIMEFRAME,
144
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
145
+ },
146
+ // Batch tools
147
+ {
148
+ alias: 'batch-operations',
149
+ target: TOOL_NAMES.BATCH_RECORDS,
150
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
151
+ },
152
+ {
153
+ alias: 'batch-search',
154
+ target: TOOL_NAMES.BATCH_SEARCH_RECORDS,
155
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
156
+ },
157
+ // CRUD tools
158
+ {
159
+ alias: 'create-record',
160
+ target: TOOL_NAMES.CREATE_RECORD,
161
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
162
+ },
163
+ {
164
+ alias: 'update-record',
165
+ target: TOOL_NAMES.UPDATE_RECORD,
166
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
167
+ },
168
+ {
169
+ alias: 'delete-record',
170
+ target: TOOL_NAMES.DELETE_RECORD,
171
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
172
+ },
173
+ // Note tools
174
+ {
175
+ alias: 'create-note',
176
+ target: TOOL_NAMES.CREATE_NOTE,
177
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
178
+ },
179
+ {
180
+ alias: 'list-notes',
181
+ target: TOOL_NAMES.LIST_NOTES,
182
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
183
+ },
184
+ // Debug tools
185
+ {
186
+ alias: 'smithery-debug-config',
187
+ target: TOOL_NAMES.SMITHERY_DEBUG_CONFIG,
188
+ reason: 'MCP compliance: snake_case over kebab-case (#1039)',
189
+ },
190
+ ];
191
+ /**
192
+ * Generates complete alias registry from pattern definitions.
193
+ *
194
+ * @param patterns - Array of alias patterns to convert to registry
195
+ * @returns Frozen registry object with metadata
196
+ */
197
+ function generateAliasRegistry(patterns) {
198
+ const registry = {};
199
+ for (const pattern of patterns) {
200
+ registry[pattern.alias] = {
201
+ target: pattern.target,
202
+ reason: pattern.reason,
203
+ since: SINCE_MCP_COMPLIANCE,
204
+ removal: REMOVAL_VERSION,
205
+ };
206
+ }
207
+ return Object.freeze(registry);
208
+ }
209
+ /**
210
+ * Complete tool alias registry (29 aliases total).
211
+ */
212
+ const TOOL_ALIAS_REGISTRY = generateAliasRegistry([
213
+ ...NOUN_VERB_ALIASES,
214
+ ...KEBAB_CASE_ALIASES,
215
+ ]);
72
216
  function aliasesEnabled() {
73
217
  return process.env[TOOL_ALIAS_FLAG] !== 'true';
74
218
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-aliases.js","sourceRoot":"","sources":["../../src/config/tool-aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-aliases.js","sourceRoot":"","sources":["../../src/config/tool-aliases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Type-safe tool name constants.
3
+ *
4
+ * This module provides centralized tool name constants with TypeScript type safety.
5
+ * Use these constants instead of string literals to:
6
+ * - Prevent typos in tool names
7
+ * - Enable autocomplete/IntelliSense
8
+ * - Easier refactoring across codebase
9
+ * - Type-safe tool name references
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { TOOL_NAMES } from '../constants/tool-names.js';
14
+ *
15
+ * const toolName = TOOL_NAMES.SEARCH_RECORDS; // Type-safe, autocompletes
16
+ * ```
17
+ *
18
+ * @see Issue #1041 for refactoring context
19
+ */
20
+ /**
21
+ * All canonical MCP-compliant tool names (snake_case, verb-first).
22
+ *
23
+ * NOTE: Excludes special tools that use kebab-case by design:
24
+ * - aaa-health-check (health monitoring)
25
+ * - openai-search, openai-fetch (OpenAI integration)
26
+ *
27
+ * These special tools are not included because they intentionally use
28
+ * kebab-case naming for specific integration purposes.
29
+ */
30
+ export declare const TOOL_NAMES: {
31
+ readonly SEARCH_RECORDS: "search_records";
32
+ readonly GET_RECORD_DETAILS: "get_record_details";
33
+ readonly GET_RECORD_ATTRIBUTES: "get_record_attributes";
34
+ readonly DISCOVER_RECORD_ATTRIBUTES: "discover_record_attributes";
35
+ readonly GET_RECORD_ATTRIBUTE_OPTIONS: "get_record_attribute_options";
36
+ readonly GET_RECORD_INFO: "get_record_info";
37
+ readonly SEARCH_RECORDS_ADVANCED: "search_records_advanced";
38
+ readonly SEARCH_RECORDS_BY_RELATIONSHIP: "search_records_by_relationship";
39
+ readonly SEARCH_RECORDS_BY_CONTENT: "search_records_by_content";
40
+ readonly SEARCH_RECORDS_BY_TIMEFRAME: "search_records_by_timeframe";
41
+ readonly BATCH_RECORDS: "batch_records";
42
+ readonly BATCH_SEARCH_RECORDS: "batch_search_records";
43
+ readonly CREATE_RECORD: "create_record";
44
+ readonly UPDATE_RECORD: "update_record";
45
+ readonly DELETE_RECORD: "delete_record";
46
+ readonly CREATE_NOTE: "create_note";
47
+ readonly LIST_NOTES: "list_notes";
48
+ readonly SMITHERY_DEBUG_CONFIG: "smithery_debug_config";
49
+ };
50
+ /**
51
+ * Union type of all valid tool names.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * function processTool(name: ToolName) {
56
+ * // name is guaranteed to be one of the valid tool names
57
+ * }
58
+ * ```
59
+ */
60
+ export type ToolName = (typeof TOOL_NAMES)[keyof typeof TOOL_NAMES];
61
+ /**
62
+ * Type guard to check if a string is a valid tool name.
63
+ *
64
+ * @param name - The string to check
65
+ * @returns True if the string is a valid tool name
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * if (isToolName(userInput)) {
70
+ * // userInput is now typed as ToolName
71
+ * processTool(userInput);
72
+ * }
73
+ * ```
74
+ */
75
+ export declare function isToolName(name: string): name is ToolName;
76
+ /**
77
+ * Array of all canonical tool names (for iteration).
78
+ */
79
+ export declare const ALL_TOOL_NAMES: ("list_notes" | "create_record" | "update_record" | "delete_record" | "create_note" | "search_records" | "get_record_details" | "get_record_attributes" | "discover_record_attributes" | "get_record_attribute_options" | "get_record_info" | "search_records_advanced" | "search_records_by_relationship" | "search_records_by_content" | "search_records_by_timeframe" | "batch_records" | "batch_search_records" | "smithery_debug_config")[];
80
+ /**
81
+ * Total count of canonical tools in the system.
82
+ */
83
+ export declare const TOOL_COUNT: number;
84
+ //# sourceMappingURL=tool-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../src/constants/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CA8Bb,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,QAAQ,CAEzD;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,kbAA4B,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,UAAU,QAAwB,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Type-safe tool name constants.
3
+ *
4
+ * This module provides centralized tool name constants with TypeScript type safety.
5
+ * Use these constants instead of string literals to:
6
+ * - Prevent typos in tool names
7
+ * - Enable autocomplete/IntelliSense
8
+ * - Easier refactoring across codebase
9
+ * - Type-safe tool name references
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { TOOL_NAMES } from '../constants/tool-names.js';
14
+ *
15
+ * const toolName = TOOL_NAMES.SEARCH_RECORDS; // Type-safe, autocompletes
16
+ * ```
17
+ *
18
+ * @see Issue #1041 for refactoring context
19
+ */
20
+ /**
21
+ * All canonical MCP-compliant tool names (snake_case, verb-first).
22
+ *
23
+ * NOTE: Excludes special tools that use kebab-case by design:
24
+ * - aaa-health-check (health monitoring)
25
+ * - openai-search, openai-fetch (OpenAI integration)
26
+ *
27
+ * These special tools are not included because they intentionally use
28
+ * kebab-case naming for specific integration purposes.
29
+ */
30
+ export const TOOL_NAMES = {
31
+ // Core search/metadata tools
32
+ SEARCH_RECORDS: 'search_records',
33
+ GET_RECORD_DETAILS: 'get_record_details',
34
+ GET_RECORD_ATTRIBUTES: 'get_record_attributes',
35
+ DISCOVER_RECORD_ATTRIBUTES: 'discover_record_attributes',
36
+ GET_RECORD_ATTRIBUTE_OPTIONS: 'get_record_attribute_options',
37
+ GET_RECORD_INFO: 'get_record_info',
38
+ // Advanced search tools
39
+ SEARCH_RECORDS_ADVANCED: 'search_records_advanced',
40
+ SEARCH_RECORDS_BY_RELATIONSHIP: 'search_records_by_relationship',
41
+ SEARCH_RECORDS_BY_CONTENT: 'search_records_by_content',
42
+ SEARCH_RECORDS_BY_TIMEFRAME: 'search_records_by_timeframe',
43
+ // Batch tools
44
+ BATCH_RECORDS: 'batch_records',
45
+ BATCH_SEARCH_RECORDS: 'batch_search_records',
46
+ // CRUD tools
47
+ CREATE_RECORD: 'create_record',
48
+ UPDATE_RECORD: 'update_record',
49
+ DELETE_RECORD: 'delete_record',
50
+ // Note tools
51
+ CREATE_NOTE: 'create_note',
52
+ LIST_NOTES: 'list_notes',
53
+ // Debug tools
54
+ SMITHERY_DEBUG_CONFIG: 'smithery_debug_config',
55
+ };
56
+ /**
57
+ * Type guard to check if a string is a valid tool name.
58
+ *
59
+ * @param name - The string to check
60
+ * @returns True if the string is a valid tool name
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * if (isToolName(userInput)) {
65
+ * // userInput is now typed as ToolName
66
+ * processTool(userInput);
67
+ * }
68
+ * ```
69
+ */
70
+ export function isToolName(name) {
71
+ return Object.values(TOOL_NAMES).includes(name);
72
+ }
73
+ /**
74
+ * Array of all canonical tool names (for iteration).
75
+ */
76
+ export const ALL_TOOL_NAMES = Object.values(TOOL_NAMES);
77
+ /**
78
+ * Total count of canonical tools in the system.
79
+ */
80
+ export const TOOL_COUNT = ALL_TOOL_NAMES.length;
81
+ //# sourceMappingURL=tool-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../src/constants/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,6BAA6B;IAC7B,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,0BAA0B,EAAE,4BAA4B;IACxD,4BAA4B,EAAE,8BAA8B;IAC5D,eAAe,EAAE,iBAAiB;IAElC,wBAAwB;IACxB,uBAAuB,EAAE,yBAAyB;IAClD,8BAA8B,EAAE,gCAAgC;IAChE,yBAAyB,EAAE,2BAA2B;IACtD,2BAA2B,EAAE,6BAA6B;IAE1D,cAAc;IACd,aAAa,EAAE,eAAe;IAC9B,oBAAoB,EAAE,sBAAsB;IAE5C,aAAa;IACb,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAE9B,aAAa;IACb,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IAExB,cAAc;IACd,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAcX;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAgB,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC"}
@@ -61,6 +61,18 @@ export declare const COMPANY_FIELD_MAPPINGS: {
61
61
  employee_count: string;
62
62
  headcount: string;
63
63
  staff_count: string;
64
+ linkedin_url: string;
65
+ linkedin_link: string;
66
+ linkedinUrl: string;
67
+ linkedIn: string;
68
+ twitter_url: string;
69
+ twitter_handle: string;
70
+ twitter_link: string;
71
+ twitterHandle: string;
72
+ twitterUrl: string;
73
+ facebook_url: string;
74
+ facebook_link: string;
75
+ facebookUrl: string;
64
76
  };
65
77
  export declare const COMPANY_VALID_FIELDS: string[];
66
78
  export declare const COMPANY_COMMON_MISTAKES: {
@@ -96,6 +108,18 @@ export declare const PEOPLE_FIELD_MAPPINGS: {
96
108
  job_role: string;
97
109
  occupation: string;
98
110
  designation: string;
111
+ linkedin_url: string;
112
+ linkedin_link: string;
113
+ linkedinUrl: string;
114
+ linkedIn: string;
115
+ twitter_url: string;
116
+ twitter_handle: string;
117
+ twitter_link: string;
118
+ twitterHandle: string;
119
+ twitterUrl: string;
120
+ facebook_url: string;
121
+ facebook_link: string;
122
+ facebookUrl: string;
99
123
  };
100
124
  export declare const PEOPLE_VALID_FIELDS: string[];
101
125
  export declare const PEOPLE_COMMON_MISTAKES: {
@@ -1 +1 @@
1
- {"version":3,"file":"universal.constants.d.ts","sourceRoot":"","sources":["../../src/constants/universal.constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAMpF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAMtC,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,mDAAmD;AACnD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAMrC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CA4BxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQlD,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;CA8BlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAehC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;CAMnC,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAY/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;CAKlC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAyB/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAW7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;CAIjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAwB/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;CAMhC,CAAC;AAMF,eAAO,MAAM,cAAc;kCACK,MAAM;oCACJ,MAAM;gCACV,MAAM,YAAY,MAAM,YAAY,MAAM;8BAE5C,MAAM,EAAE,UAAU,MAAM;+CAEP,MAAM;;sCAGf,MAAM;CAEzC,CAAC;AAMF,iEAAiE;AACjE,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D,mEAAmE;AACnE,eAAO,MAAM,aAAa,QAAqB,CAAC;AAEhD,mCAAmC;AACnC,eAAO,MAAM,WAAW,QAAoB,CAAC;AAE7C,0CAA0C;AAC1C,eAAO,MAAM,YAAY,QACqD,CAAC;AAM/E,8CAA8C;AAC9C,eAAO,MAAM,aAAa,UAWzB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,YAAY,UAWxB,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,gCAAgC;AAChC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC"}
1
+ {"version":3,"file":"universal.constants.d.ts","sourceRoot":"","sources":["../../src/constants/universal.constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAMpF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAMtC,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,mDAAmD;AACnD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAMrC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CA4BxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQlD,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,UA8ChC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;CAMnC,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAkC/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;CAKlC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAyB/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAW7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;CAIjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAwB/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;CAMhC,CAAC;AAMF,eAAO,MAAM,cAAc;kCACK,MAAM;oCACJ,MAAM;gCACV,MAAM,YAAY,MAAM,YAAY,MAAM;8BAE5C,MAAM,EAAE,UAAU,MAAM;+CAEP,MAAM;;sCAGf,MAAM;CAEzC,CAAC;AAMF,iEAAiE;AACjE,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D,mEAAmE;AACnE,eAAO,MAAM,aAAa,QAAqB,CAAC;AAEhD,mCAAmC;AACnC,eAAO,MAAM,WAAW,QAAoB,CAAC;AAE7C,0CAA0C;AAC1C,eAAO,MAAM,YAAY,QACqD,CAAC;AAM/E,8CAA8C;AAC9C,eAAO,MAAM,aAAa,UAWzB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,YAAY,UAWxB,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,gCAAgC;AAChC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC"}
@@ -111,22 +111,62 @@ export const COMPANY_FIELD_MAPPINGS = {
111
111
  employee_count: 'team_size',
112
112
  headcount: 'team_size',
113
113
  staff_count: 'team_size',
114
+ // LinkedIn aliases (common mistakes)
115
+ linkedin_url: 'linkedin',
116
+ linkedin_link: 'linkedin',
117
+ linkedinUrl: 'linkedin',
118
+ linkedIn: 'linkedin',
119
+ // Twitter aliases (common mistakes)
120
+ twitter_url: 'twitter',
121
+ twitter_handle: 'twitter',
122
+ twitter_link: 'twitter',
123
+ twitterHandle: 'twitter',
124
+ twitterUrl: 'twitter',
125
+ // Facebook aliases
126
+ facebook_url: 'facebook',
127
+ facebook_link: 'facebook',
128
+ facebookUrl: 'facebook',
114
129
  };
115
130
  export const COMPANY_VALID_FIELDS = [
131
+ // Core fields
116
132
  'name',
117
133
  'domains',
118
134
  'description',
135
+ 'categories',
119
136
  'industry',
137
+ 'type',
138
+ 'typpe', // Valid Attio field (not a typo)
139
+ // Size and financials
120
140
  'team_size',
141
+ 'employee_count',
142
+ 'estimated_arr',
143
+ 'revenue',
144
+ 'founded',
121
145
  'founded_at',
146
+ // Location fields
147
+ 'location',
148
+ 'locations',
149
+ 'primary_location',
122
150
  'headquarters',
151
+ // Social media - canonical names
152
+ 'linkedin',
153
+ 'twitter',
154
+ 'facebook',
155
+ 'instagram',
156
+ 'angellist',
157
+ 'crunchbase',
158
+ // Social media - alias forms (for validation acceptance)
123
159
  'linkedin_url',
160
+ 'twitter_url',
124
161
  'twitter_handle',
125
162
  'facebook_url',
126
- 'crunchbase_url',
127
- 'annual_revenue',
128
- 'categories',
129
- 'locations',
163
+ // Relationships
164
+ 'team', // Associated people
165
+ 'associated_deals',
166
+ 'associated_workspaces',
167
+ // Other standard fields
168
+ 'notes',
169
+ 'primary_domain',
130
170
  ];
131
171
  export const COMPANY_COMMON_MISTAKES = {
132
172
  website: 'Use "domains" for company websites (as an array of strings)',
@@ -168,19 +208,51 @@ export const PEOPLE_FIELD_MAPPINGS = {
168
208
  job_role: 'title',
169
209
  occupation: 'title',
170
210
  designation: 'title',
211
+ // LinkedIn aliases (common mistakes)
212
+ linkedin_url: 'linkedin',
213
+ linkedin_link: 'linkedin',
214
+ linkedinUrl: 'linkedin',
215
+ linkedIn: 'linkedin',
216
+ // Twitter aliases (common mistakes)
217
+ twitter_url: 'twitter',
218
+ twitter_handle: 'twitter',
219
+ twitter_link: 'twitter',
220
+ twitterHandle: 'twitter',
221
+ twitterUrl: 'twitter',
222
+ // Facebook aliases
223
+ facebook_url: 'facebook',
224
+ facebook_link: 'facebook',
225
+ facebookUrl: 'facebook',
171
226
  };
172
227
  export const PEOPLE_VALID_FIELDS = [
228
+ // Core fields
173
229
  'name',
230
+ 'first_name',
231
+ 'last_name',
174
232
  'email_addresses',
175
233
  'phone_numbers',
176
234
  'title',
177
- 'linkedin_url',
178
- 'twitter_handle',
179
- 'location',
180
- 'avatar_url',
181
- 'timezone',
235
+ 'description',
236
+ // Primary contact fields
182
237
  'primary_email_address',
183
238
  'primary_phone_number',
239
+ // Profile fields
240
+ 'avatar_url',
241
+ 'timezone',
242
+ 'location',
243
+ // Social media - canonical names
244
+ 'linkedin',
245
+ 'twitter',
246
+ 'facebook',
247
+ 'instagram',
248
+ // Social media - alias forms (for validation acceptance)
249
+ 'linkedin_url',
250
+ 'twitter_url',
251
+ 'twitter_handle',
252
+ 'facebook_url',
253
+ // Relationships
254
+ 'company',
255
+ 'associated_deals',
184
256
  ];
185
257
  export const PEOPLE_COMMON_MISTAKES = {
186
258
  email: 'Use "email_addresses" as an array of email strings',