attio-mcp 1.4.0 → 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 (230) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +38 -69
  3. package/dist/api/operations/batch.d.ts +3 -3
  4. package/dist/api/operations/batch.d.ts.map +1 -1
  5. package/dist/api/operations/batch.js.map +1 -1
  6. package/dist/api/operations/crud.d.ts.map +1 -1
  7. package/dist/api/operations/crud.js.map +1 -1
  8. package/dist/api/operations/search.d.ts.map +1 -1
  9. package/dist/api/operations/search.js.map +1 -1
  10. package/dist/cli.js.map +1 -1
  11. package/dist/config/deal-defaults.d.ts.map +1 -1
  12. package/dist/config/deal-defaults.js.map +1 -1
  13. package/dist/errors/value-match-error.js +1 -1
  14. package/dist/handlers/tool-configs/lists.d.ts +142 -19
  15. package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
  16. package/dist/handlers/tool-configs/lists.js +319 -25
  17. package/dist/handlers/tool-configs/lists.js.map +1 -1
  18. package/dist/handlers/tool-configs/universal/batch-search.d.ts +1 -1
  19. package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
  20. package/dist/handlers/tool-configs/universal/batch-search.js +13 -9
  21. package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
  22. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +4 -4
  23. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  24. package/dist/handlers/tool-configs/universal/core/crud-operations.js +24 -11
  25. package/dist/handlers/tool-configs/universal/core/crud-operations.js.map +1 -1
  26. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts.map +1 -1
  27. package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js.map +1 -1
  28. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts.map +1 -1
  29. package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js.map +1 -1
  30. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts.map +1 -1
  31. package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js.map +1 -1
  32. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts.map +1 -1
  33. package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js.map +1 -1
  34. package/dist/handlers/tool-configs/universal/core/index.d.ts +4 -4
  35. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +6 -3
  36. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
  37. package/dist/handlers/tool-configs/universal/core/record-details-operations.js +32 -7
  38. package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
  39. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +4 -3
  40. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
  41. package/dist/handlers/tool-configs/universal/core/search-operations.js +27 -8
  42. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  43. package/dist/handlers/tool-configs/universal/core/utils.d.ts +1 -0
  44. package/dist/handlers/tool-configs/universal/core/utils.d.ts.map +1 -1
  45. package/dist/handlers/tool-configs/universal/core/utils.js +3 -0
  46. package/dist/handlers/tool-configs/universal/core/utils.js.map +1 -1
  47. package/dist/handlers/tool-configs/universal/index.d.ts +8 -8
  48. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts +3 -3
  49. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  50. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +13 -7
  51. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  52. package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts +1 -1
  53. package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts.map +1 -1
  54. package/dist/handlers/tool-configs/universal/operations/batch-format.js +31 -10
  55. package/dist/handlers/tool-configs/universal/operations/batch-format.js.map +1 -1
  56. package/dist/handlers/tool-configs/universal/operations/content-search.d.ts +3 -3
  57. package/dist/handlers/tool-configs/universal/operations/content-search.d.ts.map +1 -1
  58. package/dist/handlers/tool-configs/universal/operations/content-search.js +12 -6
  59. package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
  60. package/dist/handlers/tool-configs/universal/operations/index.d.ts +4 -4
  61. package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts +3 -3
  62. package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts.map +1 -1
  63. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +8 -5
  64. package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
  65. package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts +3 -3
  66. package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts.map +1 -1
  67. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +13 -7
  68. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
  69. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts +8 -7
  70. package/dist/handlers/tool-configs/universal/shared-handlers.d.ts.map +1 -1
  71. package/dist/handlers/tool-configs/universal/shared-handlers.js +5 -25
  72. package/dist/handlers/tool-configs/universal/shared-handlers.js.map +1 -1
  73. package/dist/handlers/tool-configs/universal/smithery-diagnostics.js.map +1 -1
  74. package/dist/handlers/tool-configs/universal/types.d.ts +8 -7
  75. package/dist/handlers/tool-configs/universal/types.d.ts.map +1 -1
  76. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  77. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +17 -8
  78. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  79. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  80. package/dist/handlers/tools/dispatcher/core.js +4 -1
  81. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  82. package/dist/handlers/tools/dispatcher/operations/lists.d.ts +20 -1
  83. package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -1
  84. package/dist/handlers/tools/dispatcher/operations/lists.js +366 -17
  85. package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -1
  86. package/dist/handlers/tools/registry.d.ts +292 -46
  87. package/dist/handlers/tools/registry.d.ts.map +1 -1
  88. package/dist/objects/companies/basic.d.ts.map +1 -1
  89. package/dist/objects/companies/basic.js.map +1 -1
  90. package/dist/objects/lists/base.d.ts.map +1 -1
  91. package/dist/objects/lists/base.js +6 -2
  92. package/dist/objects/lists/base.js.map +1 -1
  93. package/dist/objects/lists/shared.d.ts.map +1 -1
  94. package/dist/objects/lists/shared.js +12 -1
  95. package/dist/objects/lists/shared.js.map +1 -1
  96. package/dist/objects/records/index.d.ts.map +1 -1
  97. package/dist/objects/records/index.js.map +1 -1
  98. package/dist/services/OpenAiCompatibilityService.d.ts.map +1 -1
  99. package/dist/services/OpenAiCompatibilityService.js +12 -8
  100. package/dist/services/OpenAiCompatibilityService.js.map +1 -1
  101. package/dist/services/UniversalCreateService.d.ts +3 -3
  102. package/dist/services/UniversalCreateService.d.ts.map +1 -1
  103. package/dist/services/UniversalCreateService.js +26 -26
  104. package/dist/services/UniversalCreateService.js.map +1 -1
  105. package/dist/services/UniversalMetadataService.d.ts +8 -0
  106. package/dist/services/UniversalMetadataService.d.ts.map +1 -1
  107. package/dist/services/UniversalMetadataService.js +21 -0
  108. package/dist/services/UniversalMetadataService.js.map +1 -1
  109. package/dist/services/UniversalRetrievalService.d.ts +7 -5
  110. package/dist/services/UniversalRetrievalService.d.ts.map +1 -1
  111. package/dist/services/UniversalRetrievalService.js +31 -29
  112. package/dist/services/UniversalRetrievalService.js.map +1 -1
  113. package/dist/services/UniversalSearchService.d.ts +4 -2
  114. package/dist/services/UniversalSearchService.d.ts.map +1 -1
  115. package/dist/services/UniversalSearchService.js +6 -4
  116. package/dist/services/UniversalSearchService.js.map +1 -1
  117. package/dist/services/UniversalUpdateService.d.ts +10 -3
  118. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  119. package/dist/services/UniversalUpdateService.js +60 -13
  120. package/dist/services/UniversalUpdateService.js.map +1 -1
  121. package/dist/services/UniversalUtilityService.d.ts +9 -1
  122. package/dist/services/UniversalUtilityService.d.ts.map +1 -1
  123. package/dist/services/UniversalUtilityService.js +13 -0
  124. package/dist/services/UniversalUtilityService.js.map +1 -1
  125. package/dist/services/ValidationService.js +4 -4
  126. package/dist/services/ValidationService.js.map +1 -1
  127. package/dist/services/create/attio-create.service.d.ts.map +1 -1
  128. package/dist/services/create/attio-create.service.js +2 -1
  129. package/dist/services/create/attio-create.service.js.map +1 -1
  130. package/dist/services/create/creators/company-creator.js.map +1 -1
  131. package/dist/services/create/creators/note-creator.d.ts.map +1 -1
  132. package/dist/services/create/creators/note-creator.js +4 -2
  133. package/dist/services/create/creators/note-creator.js.map +1 -1
  134. package/dist/services/create/mock-create.service.d.ts.map +1 -1
  135. package/dist/services/create/mock-create.service.js.map +1 -1
  136. package/dist/services/create/strategies/BaseCreateStrategy.d.ts +2 -2
  137. package/dist/services/create/strategies/BaseCreateStrategy.d.ts.map +1 -1
  138. package/dist/services/create/strategies/ListCreateStrategy.d.ts +3 -3
  139. package/dist/services/create/strategies/ListCreateStrategy.d.ts.map +1 -1
  140. package/dist/services/create/strategies/ListCreateStrategy.js +2 -16
  141. package/dist/services/create/strategies/ListCreateStrategy.js.map +1 -1
  142. package/dist/services/create/strategies/TaskCreateStrategy.d.ts.map +1 -1
  143. package/dist/services/create/strategies/TaskCreateStrategy.js.map +1 -1
  144. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  145. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  146. package/dist/services/metadata/MetadataTransformService.d.ts.map +1 -1
  147. package/dist/services/metadata/MetadataTransformService.js.map +1 -1
  148. package/dist/services/search/QueryApiService.d.ts +4 -4
  149. package/dist/services/search/QueryApiService.d.ts.map +1 -1
  150. package/dist/services/search/RecordsSearchService.d.ts +3 -3
  151. package/dist/services/search/RecordsSearchService.d.ts.map +1 -1
  152. package/dist/services/search/RecordsSearchService.js +2 -2
  153. package/dist/services/search/RecordsSearchService.js.map +1 -1
  154. package/dist/services/search/SearchCoordinator.d.ts +2 -2
  155. package/dist/services/search/SearchCoordinator.d.ts.map +1 -1
  156. package/dist/services/search/SearchCoordinator.js +3 -3
  157. package/dist/services/search/SearchCoordinator.js.map +1 -1
  158. package/dist/services/search-strategies/BaseSearchStrategy.d.ts +5 -5
  159. package/dist/services/search-strategies/BaseSearchStrategy.d.ts.map +1 -1
  160. package/dist/services/search-strategies/BaseSearchStrategy.js.map +1 -1
  161. package/dist/services/search-strategies/CompanySearchStrategy.d.ts +4 -4
  162. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  163. package/dist/services/search-strategies/CompanySearchStrategy.js +1 -1
  164. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  165. package/dist/services/search-strategies/DealSearchStrategy.d.ts +4 -4
  166. package/dist/services/search-strategies/DealSearchStrategy.d.ts.map +1 -1
  167. package/dist/services/search-strategies/DealSearchStrategy.js +1 -1
  168. package/dist/services/search-strategies/DealSearchStrategy.js.map +1 -1
  169. package/dist/services/search-strategies/ListSearchStrategy.d.ts +34 -7
  170. package/dist/services/search-strategies/ListSearchStrategy.d.ts.map +1 -1
  171. package/dist/services/search-strategies/ListSearchStrategy.js +65 -24
  172. package/dist/services/search-strategies/ListSearchStrategy.js.map +1 -1
  173. package/dist/services/search-strategies/NoteSearchStrategy.d.ts +4 -4
  174. package/dist/services/search-strategies/NoteSearchStrategy.d.ts.map +1 -1
  175. package/dist/services/search-strategies/NoteSearchStrategy.js +6 -7
  176. package/dist/services/search-strategies/NoteSearchStrategy.js.map +1 -1
  177. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts +4 -4
  178. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  179. package/dist/services/search-strategies/PeopleSearchStrategy.js +1 -1
  180. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  181. package/dist/services/search-strategies/TaskSearchStrategy.d.ts +4 -4
  182. package/dist/services/search-strategies/TaskSearchStrategy.d.ts.map +1 -1
  183. package/dist/services/search-strategies/TaskSearchStrategy.js +7 -8
  184. package/dist/services/search-strategies/TaskSearchStrategy.js.map +1 -1
  185. package/dist/services/search-strategies/interfaces.d.ts +7 -6
  186. package/dist/services/search-strategies/interfaces.d.ts.map +1 -1
  187. package/dist/services/search-utilities/SearchUtilities.d.ts +22 -7
  188. package/dist/services/search-utilities/SearchUtilities.d.ts.map +1 -1
  189. package/dist/services/search-utilities/SearchUtilities.js +52 -4
  190. package/dist/services/search-utilities/SearchUtilities.js.map +1 -1
  191. package/dist/services/update/FieldPersistenceHandler.d.ts.map +1 -1
  192. package/dist/services/update/FieldPersistenceHandler.js +11 -2
  193. package/dist/services/update/FieldPersistenceHandler.js.map +1 -1
  194. package/dist/services/update/FieldValidationHandler.d.ts.map +1 -1
  195. package/dist/services/update/FieldValidationHandler.js.map +1 -1
  196. package/dist/services/update/MetadataResolver.d.ts.map +1 -1
  197. package/dist/services/update/MetadataResolver.js.map +1 -1
  198. package/dist/services/update/ResponseNormalizer.d.ts +4 -4
  199. package/dist/services/update/ResponseNormalizer.d.ts.map +1 -1
  200. package/dist/services/update/ResponseNormalizer.js +18 -9
  201. package/dist/services/update/ResponseNormalizer.js.map +1 -1
  202. package/dist/services/update/UpdateOrchestrator.d.ts +2 -2
  203. package/dist/services/update/UpdateOrchestrator.d.ts.map +1 -1
  204. package/dist/services/update/UpdateOrchestrator.js +5 -5
  205. package/dist/services/update/UpdateOrchestrator.js.map +1 -1
  206. package/dist/services/update/UpdateValidation.d.ts +2 -2
  207. package/dist/services/update/UpdateValidation.d.ts.map +1 -1
  208. package/dist/services/update/UpdateValidation.js +10 -18
  209. package/dist/services/update/UpdateValidation.js.map +1 -1
  210. package/dist/services/update/strategies/BaseUpdateStrategy.d.ts +2 -2
  211. package/dist/services/update/strategies/BaseUpdateStrategy.d.ts.map +1 -1
  212. package/dist/services/update/strategies/ListUpdateStrategy.d.ts +3 -3
  213. package/dist/services/update/strategies/ListUpdateStrategy.d.ts.map +1 -1
  214. package/dist/services/update/strategies/ListUpdateStrategy.js +4 -14
  215. package/dist/services/update/strategies/ListUpdateStrategy.js.map +1 -1
  216. package/dist/services/value-transformer/status-transformer.d.ts.map +1 -1
  217. package/dist/services/value-transformer/status-transformer.js +53 -18
  218. package/dist/services/value-transformer/status-transformer.js.map +1 -1
  219. package/dist/templates/skill/attribute-reference.template.md +1 -1
  220. package/dist/types/attio.d.ts +55 -0
  221. package/dist/types/attio.d.ts.map +1 -1
  222. package/dist/types/attio.js +36 -0
  223. package/dist/types/attio.js.map +1 -1
  224. package/dist/utils/error-response-utils.js +3 -3
  225. package/dist/utils/error-response-utils.js.map +1 -1
  226. package/dist/utils/normalization/record-data-normalization.d.ts +47 -0
  227. package/dist/utils/normalization/record-data-normalization.d.ts.map +1 -0
  228. package/dist/utils/normalization/record-data-normalization.js +103 -0
  229. package/dist/utils/normalization/record-data-normalization.js.map +1 -0
  230. package/package.json +23 -23
@@ -6,10 +6,24 @@
6
6
  import { createErrorResult } from '../../../../utils/error-handler.js';
7
7
  import { formatResponse } from '../../formatters.js';
8
8
  import { hasResponseData } from '../../error-types.js';
9
+ import { filterListEntries, advancedFilterListEntries, filterListEntriesByParent, filterListEntriesByParentId, } from '../../../../objects/lists/filtering.js';
10
+ import { addRecordToList, removeRecordFromList, updateListEntry, } from '../../../../objects/lists/entries.js';
11
+ import { warn, OperationType } from '../../../../utils/logger.js';
12
+ // Deprecation metadata constants (Issue #1071)
13
+ const DEPRECATION_VERSION = 'v2.0.0';
14
+ const MIGRATION_GUIDE_PATH = '/docs/migration/v2-list-tools.md';
9
15
  /**
10
16
  * Handle getLists operations
11
17
  */
12
18
  export async function handleGetListsOperation(request, toolConfig) {
19
+ // DEPRECATION WARNING (Issue #1071)
20
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'get-lists' invoked. Use universal 'search_records' with resource_type="lists" instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
21
+ deprecatedTool: 'get-lists',
22
+ replacement: 'search_records',
23
+ migrationMode: 'resource_type="lists"',
24
+ removalVersion: DEPRECATION_VERSION,
25
+ migrationGuide: MIGRATION_GUIDE_PATH,
26
+ }, 'get-lists', OperationType.TOOL_EXECUTION);
13
27
  try {
14
28
  const lists = await toolConfig.handler();
15
29
  const formattedResult = toolConfig.formatResult(lists);
@@ -31,6 +45,14 @@ export async function handleGetListsOperation(request, toolConfig) {
31
45
  * @returns Formatted response with success or error information
32
46
  */
33
47
  export async function handleAddRecordToListOperation(request, toolConfig) {
48
+ // DEPRECATION WARNING (Issue #1071)
49
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'add-record-to-list' invoked. Use 'manage-list-entry' Mode 1 (Add) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
50
+ deprecatedTool: 'add-record-to-list',
51
+ replacement: 'manage-list-entry',
52
+ migrationMode: 'Mode 1 (Add)',
53
+ removalVersion: DEPRECATION_VERSION,
54
+ migrationGuide: MIGRATION_GUIDE_PATH,
55
+ }, 'add-record-to-list', OperationType.TOOL_EXECUTION);
34
56
  const listId = request.params.arguments?.listId;
35
57
  const recordId = request.params.arguments?.recordId;
36
58
  const objectType = request.params.arguments?.objectType;
@@ -57,6 +79,14 @@ export async function handleAddRecordToListOperation(request, toolConfig) {
57
79
  * Handle removeRecordFromList operations
58
80
  */
59
81
  export async function handleRemoveRecordFromListOperation(request, toolConfig) {
82
+ // DEPRECATION WARNING (Issue #1071)
83
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'remove-record-from-list' invoked. Use 'manage-list-entry' Mode 2 (Remove) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
84
+ deprecatedTool: 'remove-record-from-list',
85
+ replacement: 'manage-list-entry',
86
+ migrationMode: 'Mode 2 (Remove)',
87
+ removalVersion: DEPRECATION_VERSION,
88
+ migrationGuide: MIGRATION_GUIDE_PATH,
89
+ }, 'remove-record-from-list', OperationType.TOOL_EXECUTION);
60
90
  const listId = request.params.arguments?.listId;
61
91
  const entryId = request.params.arguments?.entryId;
62
92
  if (!listId) {
@@ -80,6 +110,14 @@ export async function handleRemoveRecordFromListOperation(request, toolConfig) {
80
110
  * Handle updateListEntry operations
81
111
  */
82
112
  export async function handleUpdateListEntryOperation(request, toolConfig) {
113
+ // DEPRECATION WARNING (Issue #1071)
114
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'update-list-entry' invoked. Use 'manage-list-entry' Mode 3 (Update) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
115
+ deprecatedTool: 'update-list-entry',
116
+ replacement: 'manage-list-entry',
117
+ migrationMode: 'Mode 3 (Update)',
118
+ removalVersion: DEPRECATION_VERSION,
119
+ migrationGuide: MIGRATION_GUIDE_PATH,
120
+ }, 'update-list-entry', OperationType.TOOL_EXECUTION);
83
121
  const listId = request.params.arguments?.listId;
84
122
  const entryId = request.params.arguments?.entryId;
85
123
  const attributes = request.params.arguments?.attributes;
@@ -103,6 +141,146 @@ export async function handleUpdateListEntryOperation(request, toolConfig) {
103
141
  return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/lists/${listId}/entries/${entryId}`, 'PUT', hasResponseData(error) ? error.response.data : {});
104
142
  }
105
143
  }
144
+ /**
145
+ * Detects which management mode to use based on parameters provided
146
+ *
147
+ * Mode detection priority (most specific to least specific):
148
+ * 1. Add (recordId + objectType) - Mode 1
149
+ * 2. Update (entryId + attributes) - Mode 3
150
+ * 3. Remove (entryId only) - Mode 2
151
+ *
152
+ * @param params - Request parameters
153
+ * @returns ManagementMode
154
+ * @throws Error if no mode or multiple modes detected
155
+ */
156
+ function detectManagementMode(params) {
157
+ const hasRecordId = 'recordId' in params && params.recordId !== undefined;
158
+ const hasObjectType = 'objectType' in params && params.objectType !== undefined;
159
+ const hasEntryId = 'entryId' in params && params.entryId !== undefined;
160
+ const hasAttributes = 'attributes' in params && params.attributes !== undefined;
161
+ // Count mode indicators
162
+ const isAddMode = hasRecordId && hasObjectType;
163
+ const isUpdateMode = hasEntryId && hasAttributes;
164
+ const isRemoveMode = hasEntryId && !hasAttributes;
165
+ const modesDetected = [isAddMode, isUpdateMode, isRemoveMode].filter(Boolean).length;
166
+ if (modesDetected === 0) {
167
+ // Provide more helpful error messages for common edge cases
168
+ if (hasRecordId && !hasObjectType) {
169
+ throw new Error('Mode 1 (Add) requires both recordId AND objectType.\n' +
170
+ 'You provided recordId but missing objectType (must be "companies" or "people").\n' +
171
+ 'Example: { listId: "...", recordId: "...", objectType: "companies" }');
172
+ }
173
+ if (hasObjectType && !hasRecordId) {
174
+ throw new Error('Mode 1 (Add) requires both recordId AND objectType.\n' +
175
+ 'You provided objectType but missing recordId.\n' +
176
+ 'Example: { listId: "...", recordId: "...", objectType: "companies" }');
177
+ }
178
+ throw new Error('No management mode detected. Must provide parameters for one of:\n' +
179
+ ' - Mode 1 (Add): recordId, objectType, [initialValues]\n' +
180
+ ' - Mode 2 (Remove): entryId (only)\n' +
181
+ ' - Mode 3 (Update): entryId, attributes\n' +
182
+ 'See tool description for details on each mode.');
183
+ }
184
+ if (modesDetected > 1) {
185
+ throw new Error('Multiple management modes detected. Provide parameters for exactly ONE mode.\n' +
186
+ 'See tool description for details on parameter requirements for each mode.');
187
+ }
188
+ // Priority: add > update > remove
189
+ if (isAddMode)
190
+ return 'add';
191
+ if (isUpdateMode)
192
+ return 'update';
193
+ return 'remove';
194
+ }
195
+ /**
196
+ * Handle manageListEntry operations (unified with 3 action modes)
197
+ *
198
+ * This unified handler supports 3 management modes:
199
+ * - Mode 1 (Add): Add record to list
200
+ * - Mode 2 (Remove): Remove entry from list
201
+ * - Mode 3 (Update): Update entry attributes
202
+ *
203
+ * Mode is auto-detected based on parameters provided.
204
+ */
205
+ export async function handleManageListEntryOperation(request, toolConfig) {
206
+ const params = request.params.arguments || {};
207
+ const listId = params.listId;
208
+ // Validate required listId parameter (common to all modes)
209
+ if (!listId) {
210
+ return createErrorResult(new Error('listId parameter is required'), '/lists', 'POST', { status: 400, message: 'Missing required parameter: listId' });
211
+ }
212
+ // Track HTTP method for error reporting (will be set based on detected mode)
213
+ let httpMethod = 'POST';
214
+ try {
215
+ // Detect management mode
216
+ const mode = detectManagementMode(params);
217
+ // Map mode to HTTP method for error reporting
218
+ httpMethod =
219
+ mode === 'add' ? 'POST' : mode === 'remove' ? 'DELETE' : 'PATCH';
220
+ // Route to appropriate handler based on mode
221
+ let result;
222
+ switch (mode) {
223
+ case 'add': {
224
+ // Mode 1: Add record to list
225
+ const recordId = params.recordId;
226
+ const objectType = params.objectType;
227
+ const initialValues = params.initialValues;
228
+ // Validate Mode 1 parameters
229
+ if (!recordId) {
230
+ return createErrorResult(new Error('Mode 1 (Add): recordId parameter is required'), `/lists/${listId}/entries`, 'POST', { status: 400, message: 'Mode 1 requires: recordId, objectType' });
231
+ }
232
+ if (!objectType) {
233
+ return createErrorResult(new Error('Mode 1 (Add): objectType parameter is required'), `/lists/${listId}/entries`, 'POST', { status: 400, message: 'Mode 1 requires: recordId, objectType' });
234
+ }
235
+ result = await addRecordToList(listId, recordId, objectType, initialValues);
236
+ break;
237
+ }
238
+ case 'remove': {
239
+ // Mode 2: Remove entry from list
240
+ const entryId = params.entryId;
241
+ // Validate Mode 2 parameters
242
+ if (!entryId) {
243
+ return createErrorResult(new Error('Mode 2 (Remove): entryId parameter is required'), `/lists/${listId}/entries`, 'DELETE', { status: 400, message: 'Mode 2 requires: entryId' });
244
+ }
245
+ result = await removeRecordFromList(listId, entryId);
246
+ break;
247
+ }
248
+ case 'update': {
249
+ // Mode 3: Update entry attributes
250
+ const entryId = params.entryId;
251
+ const attributes = params.attributes;
252
+ // Validate Mode 3 parameters
253
+ if (!entryId) {
254
+ return createErrorResult(new Error('Mode 3 (Update): entryId parameter is required'), `/lists/${listId}/entries`, 'PATCH', { status: 400, message: 'Mode 3 requires: entryId, attributes' });
255
+ }
256
+ if (!attributes ||
257
+ typeof attributes !== 'object' ||
258
+ Array.isArray(attributes)) {
259
+ return createErrorResult(new Error('Mode 3 (Update): attributes parameter is required and must be an object'), `/lists/${listId}/entries`, 'PATCH', {
260
+ status: 400,
261
+ message: 'Mode 3 requires: entryId, attributes (object)',
262
+ });
263
+ }
264
+ result = await updateListEntry(listId, entryId, attributes);
265
+ break;
266
+ }
267
+ }
268
+ // Format result based on mode
269
+ // Add and Update return AttioListEntry, Remove returns boolean
270
+ const formattedResult = toolConfig.formatResult
271
+ ? toolConfig.formatResult(result)
272
+ : mode === 'remove'
273
+ ? JSON.stringify({
274
+ success: true,
275
+ message: `Entry removed from list ${listId}`,
276
+ })
277
+ : result;
278
+ return formatResponse(formattedResult);
279
+ }
280
+ catch (error) {
281
+ return createErrorResult(error instanceof Error ? error : new Error('Unknown error'), `/lists/${listId}/entries`, httpMethod, hasResponseData(error) ? error.response.data : {});
282
+ }
283
+ }
106
284
  /**
107
285
  * Handle filterListEntriesByParent operations
108
286
  *
@@ -110,6 +288,14 @@ export async function handleUpdateListEntryOperation(request, toolConfig) {
110
288
  * to the handler function for filtering list entries based on parent record properties.
111
289
  */
112
290
  export async function handleFilterListEntriesByParentOperation(request, toolConfig) {
291
+ // DEPRECATION WARNING (Issue #1071)
292
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'filter-list-entries-by-parent' invoked. Use 'filter-list-entries' Mode 3 (Parent Attr) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
293
+ deprecatedTool: 'filter-list-entries-by-parent',
294
+ replacement: 'filter-list-entries',
295
+ migrationMode: 'Mode 3 (Parent Attr)',
296
+ removalVersion: DEPRECATION_VERSION,
297
+ migrationGuide: MIGRATION_GUIDE_PATH,
298
+ }, 'filter-list-entries-by-parent', OperationType.TOOL_EXECUTION);
113
299
  const listId = request.params.arguments?.listId;
114
300
  const parentObjectType = request.params.arguments?.parentObjectType;
115
301
  const parentAttributeSlug = request.params.arguments
@@ -157,6 +343,14 @@ export async function handleFilterListEntriesByParentOperation(request, toolConf
157
343
  * to the handler function for filtering list entries by parent record ID.
158
344
  */
159
345
  export async function handleFilterListEntriesByParentIdOperation(request, toolConfig) {
346
+ // DEPRECATION WARNING (Issue #1071)
347
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'filter-list-entries-by-parent-id' invoked. Use 'filter-list-entries' Mode 4 (Parent UUID) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
348
+ deprecatedTool: 'filter-list-entries-by-parent-id',
349
+ replacement: 'filter-list-entries',
350
+ migrationMode: 'Mode 4 (Parent UUID)',
351
+ removalVersion: DEPRECATION_VERSION,
352
+ migrationGuide: MIGRATION_GUIDE_PATH,
353
+ }, 'filter-list-entries-by-parent-id', OperationType.TOOL_EXECUTION);
160
354
  const listId = request.params.arguments?.listId;
161
355
  const recordId = request.params.arguments?.recordId;
162
356
  const limit = request.params.arguments?.limit;
@@ -185,6 +379,14 @@ export async function handleFilterListEntriesByParentIdOperation(request, toolCo
185
379
  * Handle getListDetails operations
186
380
  */
187
381
  export async function handleGetListDetailsOperation(request, toolConfig) {
382
+ // DEPRECATION WARNING (Issue #1071)
383
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'get-list-details' invoked. Use universal 'get_record_details' with resource_type="lists" instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
384
+ deprecatedTool: 'get-list-details',
385
+ replacement: 'get_record_details',
386
+ migrationMode: 'resource_type="lists"',
387
+ removalVersion: DEPRECATION_VERSION,
388
+ migrationGuide: MIGRATION_GUIDE_PATH,
389
+ }, 'get-list-details', OperationType.TOOL_EXECUTION);
188
390
  const listId = request.params.arguments?.listId;
189
391
  if (!listId) {
190
392
  return createErrorResult(new Error('listId parameter is required'), '/lists', 'GET', { status: 400, message: 'Missing required parameter: listId' });
@@ -223,29 +425,168 @@ export async function handleGetListEntriesOperation(request, toolConfig) {
223
425
  }
224
426
  }
225
427
  /**
226
- * Handle filterListEntries operations
428
+ * Detects which filter mode to use based on parameters provided
429
+ *
430
+ * Mode detection priority (most specific to least specific):
431
+ * 1. Parent UUID (parentRecordId) - Mode 4
432
+ * 2. Parent Attribute (parentObjectType + parentAttributeSlug) - Mode 3
433
+ * 3. Advanced (filters object) - Mode 2
434
+ * 4. Simple (attributeSlug) - Mode 1
435
+ *
436
+ * @param params - Request parameters
437
+ * @returns FilterMode
438
+ * @throws Error if no mode or multiple modes detected
439
+ */
440
+ function detectFilterMode(params) {
441
+ const hasParentRecordId = 'parentRecordId' in params && params.parentRecordId !== undefined;
442
+ const hasParentAttrs = 'parentObjectType' in params &&
443
+ params.parentObjectType !== undefined &&
444
+ 'parentAttributeSlug' in params &&
445
+ params.parentAttributeSlug !== undefined;
446
+ const hasFilters = 'filters' in params &&
447
+ typeof params.filters === 'object' &&
448
+ params.filters !== null;
449
+ const hasAttributeSlug = 'attributeSlug' in params && params.attributeSlug !== undefined;
450
+ // Count how many modes detected
451
+ const modesDetected = [
452
+ hasParentRecordId,
453
+ hasParentAttrs,
454
+ hasFilters,
455
+ hasAttributeSlug,
456
+ ].filter(Boolean).length;
457
+ if (modesDetected === 0) {
458
+ throw new Error('No filter mode detected. Must provide parameters for one of:\n' +
459
+ ' - Mode 1 (Simple): attributeSlug, condition, value\n' +
460
+ ' - Mode 2 (Advanced): filters (object with filters array)\n' +
461
+ ' - Mode 3 (Parent Attribute): parentObjectType, parentAttributeSlug, condition, value\n' +
462
+ ' - Mode 4 (Parent UUID): parentRecordId\n' +
463
+ 'See tool description for details on each mode.');
464
+ }
465
+ if (modesDetected > 1) {
466
+ throw new Error('Multiple filter modes detected. Provide parameters for exactly ONE mode.\n' +
467
+ 'See tool description for details on parameter requirements for each mode.');
468
+ }
469
+ // Return detected mode (priority order: most specific to least specific)
470
+ if (hasParentRecordId)
471
+ return 'parent-uuid';
472
+ if (hasParentAttrs)
473
+ return 'parent-attribute';
474
+ if (hasFilters)
475
+ return 'advanced';
476
+ return 'simple';
477
+ }
478
+ /**
479
+ * Handle filterListEntries operations (unified with 4 parameter modes)
480
+ *
481
+ * This unified handler supports 4 filtering modes:
482
+ * - Mode 1 (Simple): Single attribute filtering
483
+ * - Mode 2 (Advanced): Multi-condition AND/OR filtering
484
+ * - Mode 3 (Parent Attribute): Filter by parent record attributes
485
+ * - Mode 4 (Parent UUID): Filter by exact parent record UUID
486
+ *
487
+ * Mode is auto-detected based on parameters provided.
227
488
  */
228
489
  export async function handleFilterListEntriesOperation(request, toolConfig) {
229
- const listId = request.params.arguments?.listId;
230
- const attributeSlug = request.params.arguments?.attributeSlug;
231
- const condition = request.params.arguments?.condition;
232
- const value = request.params.arguments?.value;
233
- const limit = request.params.arguments?.limit;
234
- const offset = request.params.arguments?.offset;
490
+ const params = request.params.arguments || {};
491
+ const listId = params.listId;
492
+ const limit = params.limit;
493
+ const offset = params.offset;
494
+ // Validate required listId parameter (common to all modes)
235
495
  if (!listId) {
236
496
  return createErrorResult(new Error('listId parameter is required'), '/lists', 'GET', { status: 400, message: 'Missing required parameter: listId' });
237
497
  }
238
- if (!attributeSlug) {
239
- return createErrorResult(new Error('attributeSlug parameter is required'), `/lists/${listId}/entries`, 'GET', { status: 400, message: 'Missing required parameter: attributeSlug' });
240
- }
241
- if (!condition) {
242
- return createErrorResult(new Error('condition parameter is required'), `/lists/${listId}/entries`, 'GET', { status: 400, message: 'Missing required parameter: condition' });
243
- }
244
- if (value === undefined) {
245
- return createErrorResult(new Error('value parameter is required'), `/lists/${listId}/entries`, 'GET', { status: 400, message: 'Missing required parameter: value' });
246
- }
247
498
  try {
248
- const result = await toolConfig.handler(listId, attributeSlug, condition, value, limit, offset);
499
+ // Detect filter mode
500
+ const mode = detectFilterMode(params);
501
+ // Route to appropriate handler based on mode
502
+ let result;
503
+ switch (mode) {
504
+ case 'simple': {
505
+ // Mode 1: Simple filtering
506
+ const attributeSlug = params.attributeSlug;
507
+ const condition = params.condition;
508
+ const value = params.value;
509
+ // Validate Mode 1 parameters
510
+ if (!attributeSlug) {
511
+ return createErrorResult(new Error('Mode 1 (Simple): attributeSlug parameter is required'), `/lists/${listId}/entries`, 'GET', {
512
+ status: 400,
513
+ message: 'Mode 1 requires: attributeSlug, condition, value',
514
+ });
515
+ }
516
+ if (!condition) {
517
+ return createErrorResult(new Error('Mode 1 (Simple): condition parameter is required'), `/lists/${listId}/entries`, 'GET', {
518
+ status: 400,
519
+ message: 'Mode 1 requires: attributeSlug, condition, value',
520
+ });
521
+ }
522
+ if (value === undefined) {
523
+ return createErrorResult(new Error('Mode 1 (Simple): value parameter is required'), `/lists/${listId}/entries`, 'GET', {
524
+ status: 400,
525
+ message: 'Mode 1 requires: attributeSlug, condition, value',
526
+ });
527
+ }
528
+ result = await filterListEntries(listId, attributeSlug, condition, value, limit, offset);
529
+ break;
530
+ }
531
+ case 'advanced': {
532
+ // Mode 2: Advanced multi-condition filtering
533
+ const filters = params.filters;
534
+ // Validate Mode 2 parameters
535
+ if (!filters || typeof filters !== 'object') {
536
+ return createErrorResult(new Error('Mode 2 (Advanced): filters parameter is required and must be an object'), `/lists/${listId}/entries`, 'GET', {
537
+ status: 400,
538
+ message: 'Mode 2 requires: filters (object with filters array)',
539
+ });
540
+ }
541
+ result = await advancedFilterListEntries(listId, filters, limit, offset);
542
+ break;
543
+ }
544
+ case 'parent-attribute': {
545
+ // Mode 3: Parent attribute filtering
546
+ const parentObjectType = params.parentObjectType;
547
+ const parentAttributeSlug = params.parentAttributeSlug;
548
+ const condition = params.condition;
549
+ const value = params.value;
550
+ // Validate Mode 3 parameters
551
+ if (!parentObjectType) {
552
+ return createErrorResult(new Error('Mode 3 (Parent Attribute): parentObjectType parameter is required'), `/lists/${listId}/entries`, 'GET', {
553
+ status: 400,
554
+ message: 'Mode 3 requires: parentObjectType, parentAttributeSlug, condition, value',
555
+ });
556
+ }
557
+ if (!parentAttributeSlug) {
558
+ return createErrorResult(new Error('Mode 3 (Parent Attribute): parentAttributeSlug parameter is required'), `/lists/${listId}/entries`, 'GET', {
559
+ status: 400,
560
+ message: 'Mode 3 requires: parentObjectType, parentAttributeSlug, condition, value',
561
+ });
562
+ }
563
+ if (!condition) {
564
+ return createErrorResult(new Error('Mode 3 (Parent Attribute): condition parameter is required'), `/lists/${listId}/entries`, 'GET', {
565
+ status: 400,
566
+ message: 'Mode 3 requires: parentObjectType, parentAttributeSlug, condition, value',
567
+ });
568
+ }
569
+ if (value === undefined) {
570
+ return createErrorResult(new Error('Mode 3 (Parent Attribute): value parameter is required'), `/lists/${listId}/entries`, 'GET', {
571
+ status: 400,
572
+ message: 'Mode 3 requires: parentObjectType, parentAttributeSlug, condition, value',
573
+ });
574
+ }
575
+ result = await filterListEntriesByParent(listId, parentObjectType, parentAttributeSlug, condition, value, limit, offset);
576
+ break;
577
+ }
578
+ case 'parent-uuid': {
579
+ // Mode 4: Parent UUID filtering
580
+ const parentRecordId = params.parentRecordId;
581
+ // Validate Mode 4 parameters
582
+ if (!parentRecordId) {
583
+ return createErrorResult(new Error('Mode 4 (Parent UUID): parentRecordId parameter is required'), `/lists/${listId}/entries`, 'GET', { status: 400, message: 'Mode 4 requires: parentRecordId (UUID)' });
584
+ }
585
+ result = await filterListEntriesByParentId(listId, parentRecordId, limit, offset);
586
+ break;
587
+ }
588
+ }
589
+ // Format result using tool config formatter
249
590
  const formattedResult = toolConfig.formatResult
250
591
  ? toolConfig.formatResult(result)
251
592
  : result;
@@ -259,6 +600,14 @@ export async function handleFilterListEntriesOperation(request, toolConfig) {
259
600
  * Handle advancedFilterListEntries operations
260
601
  */
261
602
  export async function handleAdvancedFilterListEntriesOperation(request, toolConfig) {
603
+ // DEPRECATION WARNING (Issue #1071)
604
+ warn('handlers/tools/dispatcher/operations/lists', `Deprecated tool 'advanced-filter-list-entries' invoked. Use 'filter-list-entries' Mode 2 (Advanced) instead. Removal in ${DEPRECATION_VERSION}. Migration guide: ${MIGRATION_GUIDE_PATH}`, {
605
+ deprecatedTool: 'advanced-filter-list-entries',
606
+ replacement: 'filter-list-entries',
607
+ migrationMode: 'Mode 2 (Advanced)',
608
+ removalVersion: DEPRECATION_VERSION,
609
+ migrationGuide: MIGRATION_GUIDE_PATH,
610
+ }, 'advanced-filter-list-entries', OperationType.TOOL_EXECUTION);
262
611
  const listId = request.params.arguments?.listId;
263
612
  const filters = request.params.arguments?.filters;
264
613
  const limit = request.params.arguments?.limit;
@@ -1 +1 @@
1
- {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/lists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../../../../src/handlers/tools/dispatcher/operations/lists.ts"],"names":[],"mappings":"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"}